Relationships among definitions
Definitions relate to one another through a small, typed family of relationships, each declared once in the shared graph with its domain, range, inverse, and symmetry: subtype, component, manifestation, causation, co-occurrence, progression, and assessment. The family is still being worked out.
| Relationship | From → to | Reads backward as | Example |
|---|---|---|---|
| SUBTYPE_OF | FindingClass, Diagnosis, Grouping, or Measurement → a node of the same kind | HAS_SUBTYPE | part-solid pulmonary nodule → pulmonary nodule |
| HAS_COMPONENT | FindingClass → FindingClass | COMPONENT_OF | part-solid pulmonary nodule → solid component |
| MAY_MANIFEST_AS | Diagnosis → FindingClass | MAY_REPRESENT | acute pyelonephritis → striated nephrogram |
| MAY_CAUSE | Diagnosis → FindingClass or Diagnosis | MAY_BE_CAUSED_BY | acute pyelonephritis → renal abscess |
| MAY_PROGRESS_TO | FindingClass or Diagnosis → FindingClass or Diagnosis | MAY_PROGRESS_FROM | parapneumonic effusion → empyema |
| OCCURS_WITH | FindingClass or Diagnosis ↔ the same kind | (symmetric) | pleural effusion ↔ atelectasis |
| ASSESSED_BY | FindingClass or Diagnosis → AssessmentScheme | ASSESSES | pulmonary nodule → Lung-RADS |
(click the image for full size)
Hierarchy
Definitions form hierarchies through SUBTYPE_OF: a part-solid pulmonary nodule is a kind of pulmonary nodule. Findings form hierarchies with findings, and diagnoses with diagnoses; a diagnosis is never a subtype of a finding. At the top of a branch, a Grouping such as “renal abnormality” gathers findings and diagnoses alike, mostly so that a report can say none of them is present.
Findings ↔ Diagnoses: manifestation and causation
A diagnosis connects to findings in two ways. A finding can be the diagnosis as it appears on imaging: pyelonephritis appears as a striated nephrogram, and when the pyelonephritis resolves, the striation goes with it. Or a diagnosis can bring about a separate entity with its own course: pyelonephritis may cause a renal abscess, a complication rather than an appearance, which may have sequela beyond the course of the acute pyelonephritis episode. The schema records these as two edges, MAY_MANIFEST_AS and MAY_CAUSE.
Progression
A finding or diagnosis can also develop into another over time: a parapneumonic effusion may progress to empyema. The schema records this as a MAY_PROGRESS_TO edge.
Associated findings
Findings and diagnoses also occur together whether or not one causes the other: pleural effusion and atelectasis each occur alone and often occur together. The schema records this as an OCCURS_WITH edge. An associated finding is distinct from a component, which is an intrinsic part of another finding, such as the solid component of a part-solid nodule, and is joined by a HAS_COMPONENT edge.
How strongly
The edges themselves carry properties that say how commonly the relationship holds. A manifestation edge can carry a typicality, from obligate through very frequent, frequent, and occasional to very rare, and a specificity, whether the finding is pathognomonic for the diagnosis, highly suggestive of it, or merely suggestive. A property left off means no judgment has been recorded, not that the relationship is rare.
Deriving the differential
The schema distinguishes manifestation and causation to enable inference: a manifestation edge can be read backward, from a finding to the diagnoses that appear that way, while a causation edge is read forward, from a diagnosis to the complications to watch for. The differential for a finding is therefore derived, not stored: the diagnoses reachable over manifestation edges in reverse, ranked by the typicality and specificity on those edges, on the precedent of the Radiology Gamuts Ontology. No edge type called “differential” exists.
Assessment schemes
A pulmonary nodule definition specifies how a pulmonary nodule will be described. The assessment is a separate assertion, defined by the AssessmentScheme definition, which allows for evaluation of the nodule according to the defined criteria. The scheme is its own node, joined to the definitions it evaluates by an ASSESSED_BY edge.