# Endometrial carcinoma: the classification the checklist applies Primary source: College of American Pathologists, *Protocol for the Examination of Specimens from Patients with Carcinoma of the Endometrium*, version 5.1.0.0, December 2024. Content is drawn from the reporting template and from Explanatory Notes C, D, E, F, J, L, M and N. The FIGO 2023 staging system is taken from Berek et al. 2023. The mapping from FIGO 1988 to FIGO 2009 is taken from Abu-Rustum et al. 2011. Every source is listed with its identifier at the end of this document. The registry under `data/taxonomy/` is transcribed from this document. It records every judgment the transcription depends on, so that nobody has to make one again while transcribing. `docs/taxonomy_agent_prd.md` tracks candidate additions against the wider reference literature and queues them as tickets. Nothing there is ground truth until a ticket lands here. --- ## Conventions A **dimension** is one question the checklist asks. A **value** is one permitted answer to that question. In the trees below, a dimension appears as a folder and a value as a leaf. Every dimension carries a **closure tag** stating how many values a single case may take. | tag | meaning | |---|---| | `exactly one` | the values are mutually exclusive and exhaustive | | `exactly one, residual: X` | the values are exhaustive only because `X` absorbs everything unnamed | | `overlapping` | more than one value may hold, and a precedence rule is stated | | `zero or one` | the dimension is optional | Three relations connect dimensions and values. No tree in this document draws more than one of them. - **is-a** relates a value to the dimension it belongs to. The trees below draw this relation. - **gated-by** relates a dimension to a condition on another dimension. Histologic type gates FIGO grade, which places FIGO grade beneath endometrioid carcinoma without making it a kind of endometrioid carcinoma. An `applies when:` line writes this relation. - **derived-from** relates a computed value to the values it is computed from. These appear in section 2 and never in a tree. --- ## 1. Asserted values A reviewer reads each value in this section from the report and confirms or corrects it. No value in this section is computed. ### 1.1 Histologic type Dimension `histologic_type`. **Closure: exactly one, residual: `other_nos`.** ``` histologic_type/ ├── endometrioid ├── serous ├── clear_cell ├── undifferentiated ├── dedifferentiated ├── carcinosarcoma ├── mesonephric_like ├── squamous_cell ├── gastric_type gastric / gastrointestinal type ├── small_cell_neuroendocrine ├── large_cell_neuroendocrine ├── mixed two distinct types, one usually serous or clear cell └── other_nos residual: the value that makes the set exhaustive ``` `mixed` names a value rather than a grouping of values. "Non-endometrioid" names no value. Prose uses the phrase, no coding system assigns it a code, and it never becomes a row. `undifferentiated` and `dedifferentiated` name two separate values. CAP version 5.1.0.0 does not list mucinous carcinoma as a type. WHO 2020 treats extensive mucinous differentiation as a feature of endometrioid carcinoma rather than as a separate type. ### 1.2 FIGO grade Dimension `figo_grade`. **Closure: exactly one.** ``` figo_grade/ applies when: histologic_type = endometrioid ├── 1 ├── 2 └── 3 ``` CAP Note D restricts FIGO grading to endometrioid carcinoma, and defines every other type as high-grade. Requesting a grade for another type therefore commits a category error rather than reporting a missing value, and the field carries the absence reason given in section 6.1. *How it is decided (not extracted).* The percentage of non-squamous solid growth determines the grade, at cut-offs of 5 percent and 50 percent. Severe cytologic atypia in more than half of the tumour cells raises the grade by one and points toward serous carcinoma, TP53-mutated carcinoma and POLE-mutated carcinoma. ### 1.3 Myometrial invasion Dimensions `invasion_depth` and `myometrial_thickness`. Both are quantities measured in millimetres. Neither carries a closure tag, because a quantity forms no value set. The registry stores both numbers, and section 2 computes the percentage and the category from them. A report that states "less than one-half" without measurements asserts the category directly, and a report that states "5 mm in a 21 mm wall" asserts the two quantities. Each records faithfully what the report said. Only the quantities survive a change of staging convention. The derived category takes three values rather than two, separating zero invasion from shallow invasion. FIGO 2023 draws that separation between stage IA1 and stage IA2, and clinical risk assessment draws it as well. A report that states no depth has not asserted a depth of zero, and conflating the two loses the distinction. *How it is decided (CAP Note F, not extracted).* The pathologist measures depth from the endomyometrial junction to the deepest point of invasion, and excludes exophytic tumour and polyps from the thickness. An invaded leiomyoma contributes to both the depth and the thickness. Foci of lymphovascular invasion contribute to neither. The pathologist does not assess depth at the cornu unless tumour reaches it. ### 1.4 Cervical involvement Dimension `cervical_stromal_invasion`. **Closure: exactly one.** ``` cervical_stromal_invasion/ ├── present ├── absent └── cannot_be_assessed ``` Endocervical glandular involvement falls outside stromal invasion. A retrieval anchor that matches the phrase "cervical involvement" conflates the two. `cervical_invasion_depth` and `cervical_wall_thickness` measure quantities in millimetres. They feed the same ratio formula the two myometrial quantities feed. The registry holds that formula once and binds it twice, because one formula applies to two different organs. ### 1.5 Lymphovascular space invasion This dimension carries one asserted status, one asserted quantity and one derived extent. The corpus and the reference standards share no vocabulary for it. ``` lvsi_status/ Closure: exactly one ├── present ├── not_identified ├── suspicious used by the corpus; present in no reference value set └── cannot_be_determined ``` ``` lvsi_foci_count/ Quantity: the number of involved vessels applies when: lvsi_status = present ``` Pathologists write `suspicious` as a hedge, and no reference standard names it. `data/taxonomy/induced/lvsi_lexicon.csv` records how often the corpus uses it. The registry assigns it an extension concept in a local `endopath/1` coding system and crosswalks it to CAP and FIGO with the predicate `noMatch`, so that it survives an export and never collapses into `present`. The foci count alone makes the extent reprojectable between staging conventions, and no report in this corpus states one. Section 5 gives the consequence. ### 1.6 Regional lymph nodes Dimension `pn_category`. **Closure: exactly one.** ``` pn_category/ ├── pN0 │ └── pN0_i_plus isolated tumour cells, ≤0.2 mm and ≤200 cells │ applies when: no micrometastasis and no macrometastasis ├── pN1mi pelvic node, >0.2 mm and ≤2.0 mm ├── pN1a pelvic node, >2.0 mm ├── pN2mi para-aortic node, micrometastasis └── pN2a para-aortic node, macrometastasis ``` `pN0_i_plus` sits beneath `pN0` because it refines "no metastasis" under a gate on the absence of its siblings. It does not sit peer to `pN1mi`. A regional node belongs either to the pelvic group (parametrial, obturator, internal iliac, external iliac, common iliac, sacral and presacral) or to the para-aortic group. An involved node outside those groups takes the code `pM1` and counts as no regional node. ### 1.7 Molecular class Two coding systems describe the same biology. Both are optional reporting elements. ProMisE reads three assays and derives a surrogate-marker class from their results. ``` assay results/ each: zero or one ├── pole_exonuclease_mutation sequencing ├── mmr_ihc MLH1, PMS2, MSH2, MSH6 └── p53_ihc ``` The four ProMisE categories do not partition the set of abnormal assays, because more than one assay may be abnormal in the same tumour. Section 3.1 gives the precedence rule. The categories partition the set of assay result *combinations*. ``` promise_class/ Closure: exactly one ├── pole_mutated POLE abnormal, others normal ├── mmr_deficient MMR abnormal, others normal ├── p53_abnormal p53 abnormal, others normal ├── nsmp all three normal ("no specific molecular profile") └── double_classifier two or more abnormal ``` The TCGA scheme is based on sequencing. **Closure: exactly one.** ``` tcga_class/ ├── pole_ultramutated about 7% of cases, excellent prognosis ├── msi_hypermutated about 28%, variable outcome ├── copy_number_low about 39%, variable outcome └── copy_number_high about 26%, about 95% TP53-mutated, poor prognosis ``` The two systems are related rather than identical. The mapping from `copy_number_high` to `p53_abnormal` is recorded with the predicate `broadMatch`, because CAP Note E reports that copy-number high tumours are TP53-mutated in approximately 95 percent of cases. The remaining 5 percent propagates into the confidence of any stage projected through that mapping. *Interpretation notes.* MMR immunohistochemistry is read as intact, lost, or subclonally lost. Subclonal loss describes discrete areas of complete loss beside areas of retained expression, occurs in about 7 percent of endometrioid carcinomas, and must not be read as patchy but intact. p53 immunohistochemistry is read as wild-type or abnormal. Abnormal has three patterns, which are overexpression, null and cytoplasmic, and a subclonal form occurs in up to 21 percent of cases. --- ## 2. Derived values No value in this section is read from a report or entered by a reviewer. Each is computed from the values in section 1 by a named rule. Each rule has a `rule_kind` of `formula`, `threshold` or `membership`. | derived value | computed from | rule | note | |---|---|---|---| | `myometrial_invasion_percent` | `invasion_depth`, `myometrial_thickness` | `formula: ratio_percent` | the same formula is bound a second time to the two cervical quantities | | `myometrial_invasion_category` | `myometrial_invasion_percent` | `threshold` at 0% and at 50% | three categories: none, less than half, half or more. FIGO 1988, 2009 and 2023 share the 50 percent boundary and differ only in the stage label. FIGO 2023 additionally separates zero invasion from shallow invasion, at stage IA1 against IA2, and clinical risk assessment makes the same separation | | `cervical_wall_percent` | `cervical_invasion_depth`, `cervical_wall_thickness` | `formula: ratio_percent` | CAP requests this as a reporting element in its own right | | `grade_binary` | `figo_grade` | `membership`: {1,2} low, {3} high | endorsed by ISGyP, ICCR and WHO 2020 for reproducibility. CAP records that it is not widely adopted | | `histotype_aggressiveness` | `histologic_type`, `figo_grade` | `membership` | non-aggressive is low-grade endometrioid, and aggressive is every other combination. The rule is partial: endometrioid carcinoma of unknown grade is `indeterminate` rather than aggressive | | `lvsi_extent` | `lvsi_foci_count` | `threshold`, scoped by coding system | see section 5. Without a count the rule returns `constrained({focal, substantial})` | | `figo_stage` | all of the above | an algorithm, one per edition | see section 4 | The reason for separating asserted values from derived values is that a quantity can be reprojected into any convention and a category cannot. A report that states four foci is recorded as four foci, and FIGO 2009 then calls that extent substantial while FIGO 2023 calls it focal. A record that stores the word "substantial" has discarded the ability to answer the other question. --- ## 3. Dimensions whose values are not mutually exclusive Sibling values are mutually exclusive everywhere else in this document. The three dimensions below are exceptions, and each requires a precedence rule that is stated here before any code selects one answer. ### 3.1 The ProMisE double classifier Two or three assays may be abnormal in the same tumour, and CAP assigns no precedence order among them. A tumour that is p53-abnormal and MMR-deficient, one that is p53-abnormal and POLE-mutated, and one that is POLE-mutated and MMR-deficient are all reported as `double_classifier`. The prognosis of a double classifier differs from that of the pure categories. The rule is to count the abnormal assays. Zero abnormal assays is `nsmp`, one abnormal assay names itself, and two or more is `double_classifier`. No winner is selected among abnormal assays. ### 3.2 The FIGO 2023 molecular modifier `IAmPOLEmut` and `IICmp53abn` are not siblings of the anatomic substages. A POLE-mutated tumour confined to the corpus with less than half myometrial invasion satisfies the plain reading of both `IA2` and `IAmPOLEmut`. The rule is that the molecular modifier supersedes the anatomic substage, and that it applies only to stages I and II. Stages III and IV are anatomic and take no modifier. A case whose molecular class is unknown is staged anatomically, and FIGO states this explicitly: high-grade endometrioid carcinomas are in that case grouped with the aggressive types. The modifier is therefore a layer applied last, and only over stages I and II. ``` stage I or II, staged anatomically └── then, if molecular class is known: ├── pole_mutated → IAmPOLEmut downstage ├── p53_abnormal → IICmp53abn upstage └── otherwise → keep the anatomic substage ``` ### 3.3 `pN0(i+)` Isolated tumour cells are reported only when there is neither a micrometastasis nor a macrometastasis. `pN0_i_plus` refines `pN0` under a gate on the absence of its siblings. It does not join `pN1mi` and `pN1a` as a fourth peer. --- ## 4. Derivation of FIGO stage `T1b` and `IB` denote opposite disease extents in different reports of this corpus, because the reports use different FIGO editions and none of them records which edition was used. A stage code has no meaning without its edition. Concepts are therefore keyed on the triple `(system, dimension, code)`, and `figo_endo/1988.IB` and `figo_endo/2009.IB` are two different concepts that share three characters. The remapping below drives this project to store assertions and project a stage from them, rather than to store a stage. | extent | FIGO 1988 | FIGO 2009 | |---|---|---| | limited to the endometrium | `IA` | `IA` | | invades less than half the myometrium | `IB` | `IA` | | invades half or more of the myometrium | `IC` | `IB` | FIGO 2023 incorporates histologic type, grade, lymphovascular space invasion and molecular class into the stage itself. A FIGO 2023 stage therefore cannot be recovered from a FIGO 2009 stage label, and must be projected from the asserted values. `derive_stage(assertions, edition)` returns one of three results, and the second one succeeds. - A stage, when the asserted values determine one. - `constrained(candidates, reason)`, when the asserted values narrow the answer to a set and no further. This corpus supplies one instance: `IB` against `IIB`, where lymphovascular space invasion is present but unquantified. - `indeterminate(reason)`, when a required assertion is missing, or when the report states that the required value cannot be assessed. --- ## 5. The threshold for substantial lymphovascular space invasion Substantial lymphovascular space invasion is defined by a vessel count. Four bodies have adopted three different cut-offs, which CAP records in Note J. | coding system | substantial at | evidence cited by CAP | |---|---|---| | ICCR 2022, ISGyP 2019 | 3 or more vessels | Matias-Guiu et al. 2024; Singh et al. 2019 | | AJCC 8 and FIGO 2009, as read by CAP | 4 or more vessels | Peters et al. 2022; Turashvili and Hanley 2024 | | FIGO 2023, WHO 2020, ESGO/ESTRO/ESP 2021 | 5 or more vessels | Berek et al. 2023; Concin et al. 2021 | CAP adopts 4, the only numeric threshold that outcome data supports: the PORTEC-1 and PORTEC-2 trials (926 cases) together with a Danish cohort of 401 cases, scored by four pathologists. A report that states four foci therefore describes substantial invasion under FIGO 2009 and focal invasion under FIGO 2023. No report in this corpus states a foci count. `lvsi_extent` is consequently `constrained` for every case in which lymphovascular space invasion is present, and is determined only for cases in which it is not identified. --- ## 6. Fields without a plain value An empty field takes one of several states. A reviewer performs a different action for each, and an export that cannot distinguish them loses its provenance link. The states divide into three groups, and only the first group describes an absent value. ### 6.1 The field has no value These two states are coded against the HL7 `dataAbsentReason` code system, whose canonical URL is `http://terminology.hl7.org/CodeSystem/data-absent-reason`. | code | meaning | example | |---|---|---| | `not-applicable` | there is no proper value for this element | FIGO grade on a serous carcinoma, which section 1.2 gates away | | `asked-unknown` | the source was asked but does not know the value | the field applies, the report is silent, and the escalating search confirmed the silence | The state is `asked-unknown` rather than `not-asked`, because the escalating search does ask. `dataAbsentReason` defines `not-asked` as "The workflow didn't lead to this value being known", which claims something else about a different situation. A gate is itself a reviewed value. Histologic type is drafted by the same model that may be wrong about it. Suppressing the grade of a case whose type is drafted as serous must therefore preserve the drafted grade, and correcting the type to endometrioid must restore it. ### 6.2 Values that resist a single code Neither of these states describes an absence, and no code system for absent values expresses either. | state | meaning | |---|---| | `indeterminate` | the report states that the value cannot be assessed. This is an assertion the pathologist made, and CAP prints `Cannot be determined` as a checklist choice | | `constrained` | the value is derived, and the asserted values narrow it to a set and no further | Recording `indeterminate` as an absent value discards the assertion. Recording `constrained` as an absent value discards the set, and the set carries the answer. ### 6.3 The value is obtained from another source | state | meaning | |---|---| | `determined_by_join` | the value exists and is not in the report. Molecular class is obtained from cBioPortal | This state describes the provenance of a value rather than the absence of one. --- ## Sources Each identifier below names a `source_id` in `data/taxonomy/sources.csv`, which records the retrieval URL, the SHA-256 of the retrieved bytes, and the licence. Copyright keeps most of the source documents uncommitted. | source_id | document | |---|---| | `cap_uterus/5.1.0.0` | CAP, Protocol for the Examination of Specimens from Patients with Carcinoma of the Endometrium, v5.1.0.0, December 2024 | | `figo_endo/2023` | Berek JS, Matias-Guiu X, Creutzberg C, et al. FIGO staging of endometrial cancer: 2023 | | `figo_endo/2023-corrigendum` | Correction to "FIGO staging of endometrial cancer", 2024 | | `abu_rustum/2011` | Abu-Rustum NR, Zhou Q, Iasonos A, et al. The Revised 2009 FIGO Staging System for Endometrial Cancer. The 1988 to 2009 remapping | | `who_fgt/2020` | WHO Classification of Tumours Editorial Board. Female genital tumours. 5th ed. Histologic type definitions | | `ajcc/8` | AJCC Cancer Staging Manual, 8th edition. The pT, pN and pM categories | | `tcga_ucec/2013` | Cancer Genome Atlas Research Network, Kandoth C, Schultz N, et al. Integrated genomic characterization of endometrial carcinoma. The four molecular groups | | `promise/2017` | Talhouk A, McConechy MK, Leung S, et al. Confirmation of ProMisE | | `mccluggage/2023` | McCluggage WG, Bosse T, Gilks CB, et al. FIGO 2023 endometrial cancer staging: too much, too soon? The critique CAP cites when declining to mandate FIGO 2023, which is why both FIGO systems remain optional elements | | `huvila/2024` | Huvila J, Jamieson A, Pors J, et al. Endometrial carcinosarcomas are almost exclusively of p53abn molecular subtype after exclusion of mimics | | `fhir_dar/1.0.0` | HL7 `dataAbsentReason` code system, used in section 6.1 | The AJCC manual and the WHO classification sit behind paywalls. The CAP protocol reproduces every pT, pN and pM category, and in Note C the histologic type definitions, so the registry transcribes their content from CAP. Nobody can obtain the FIGO 2023 corrigendum. It sits behind a paywall and PubMed Central holds no copy. The open-access co-publication of the FIGO 2023 paper recovers the threshold it corrects, stating the isolated tumour cell bound correctly in body text on page 7. The footnote to Table 1 of that same paper reproduces the original error, and no extraction may cite it. CAP cites the following in support of its classification content. This project retrieves none of them, and lists them so that a reader can follow CAP's reasoning. - Kommoss S, McConechy MK, Kommoss F, et al. Final validation of the ProMisE classifier. *Ann Oncol*. 2018;29:1180-1188. - León-Castillo A, de Boer SM, Powell ME, et al. Molecular classification of the PORTEC-3 trial. *J Clin Oncol*. 2020;38:3388-3397. The TransPORTEC classifier. - Peters EEM, León-Castillo A, Smit VTHBM, et al. Defining substantial lymphovascular space invasion in endometrial cancer. *Int J Gynecol Pathol*. 2022;41:220-226. - Concin N, Matias-Guiu X, Vergote I, et al. ESGO/ESTRO/ESP guidelines for the management of patients with endometrial carcinoma. *Int J Gynecol Cancer*. 2021;31:12-39.