Radiology Transcript Interpreter · research proof of concept
Documentation
These sections are rendered directly from the checked-in specifications, plans, and operator documents. The Markdown files remain authoritative.
Linguistic and semantic refinement specification
The example-driven linguistic profile, construction vocabulary, semantic frames, IR obligations, and source-to-semantics rules.
# Radiology Transcript Linguistic and Semantic Refinement Specification
## Status
This document is an example-driven draft.
It is a lower-level refinement of the project-level
`RADIOLOGY-TRANSCRIPT-INTERPRETATION-CONCEPTUAL-SPEC.md`. It assumes the
concepts, boundaries, and invariants established by that specification. If the
two documents conflict, the project-level conceptual specification is
authoritative.
This document begins to define the linguistic annotation profile, initial
construction vocabulary, semantic frame vocabulary, intermediate
representation, and source-to-semantics translation obligations needed for an
implementation.
It is not yet an implementation plan. Names and structures marked
**provisional** are hypotheses to test against the corpus before they become
normative interfaces.
---
# Table of Contents
1. Vision
2. Technical Introduction
3. Survey of Decisions and Translation Rules
4. Reference Appendices
---
# 1. Vision
## 1.1 Purpose of This Refinement
The conceptual specification says what a valid transcript interpretation
means. This refinement describes how representative radiology language is
decomposed into those concepts closely enough to guide implementation.
The refinement proceeds from examples rather than from an attempt to enumerate
English grammar in advance:
```text
representative transcript expression
↓
source-anchored linguistic observations
↓
recognized construction and bound elements
↓
candidate discourse and frame interpretation
↓
domain grounding candidates
↓
validated semantic result, ambiguity, or diagnostic
```
The governing principle is:
> Define only as much linguistic and semantic machinery as is required to
> explain representative corpus examples without losing source evidence or
> inventing transcript-level facts.
## 1.2 Relationship to the Conceptual Specification
This document does not redefine `Source`, `Mention`, `Construct`,
`Construction Element`, `Referent`, `Frame`, `Composition`, `Grounding`,
`Ambiguity`, `Provenance`, `Diagnostic`, or `Validation`.
It refines them by specifying:
- which corpus expressions initially exercise them;
- which linguistic evidence may support them;
- which construction and frame roles are required;
- how objects are represented in an implementation-facing IR;
- which external authority informs each decision;
- which mappings are normative, provisional, or deliberately unresolved.
The conceptual transformation order remains authoritative:
```text
R0 Source Transcript
↓
R1 Linguistically Annotated Source
↓
R2 Construction-Annotated Source
↓
R3 Discourse and Frame Model
↓
R4 Domain-Grounded Semantic Model
↓
R5 Validated Structured Output
```
These are semantic representation levels. An implementation is not required to
materialize five files, make five network calls, or execute five isolated
processes.
## 1.3 Initial Empirical Boundary
This refinement uses only the locally retained generated transcription inputs.
The reports from which those inputs were historically derived are not retained
and are not part of an interpretation execution.
The initial corpus is sufficient for:
- discovering recurring language forms;
- proposing construction and frame vocabularies;
- creating executable interpretation examples;
- testing source preservation, ambiguity, diagnostics, and validation;
- demonstrating architectural viability.
It is not sufficient for claiming production performance on real human
dictation or speech-recognition output.
Real dictation may introduce repairs, hesitations, punctuation commands,
speaker-specific shorthand, abandoned clauses, recognition substitutions, and
other forms that are not adequately represented by the current corpus. Those
phenomena will extend this profile later; they must not silently change the
meaning of existing annotations.
## 1.4 Non-Goals
This draft does not attempt to:
- define a complete grammar of radiology dictation;
- annotate all 3,573 generated inputs before implementation begins;
- treat heuristic corpus labels as gold annotations;
- decide every possible FrameNet or MoCCA alignment;
- infer clinical truth beyond the transcript;
- validate robustness to real human transcription;
- prescribe service boundaries, programming languages, or deployment topology.
---
# 2. Technical Introduction
## 2.1 Corpus Inventory and Evidential Status
The checked-in corpus contains 3,573 generated transcription inputs in JSON
Lines form. The records use two generated surface variants:
| Variant | Records | Meaning |
| --- | ---: | --- |
| `sectionless_dictation` | 1,982 | A deterministic removal of selected section labels. |
| `spoken_punctuation` | 1,591 | A deterministic replacement of selected punctuation with comma-like forms. |
The current artifact was produced by the historical derivation procedure in
`research/radiology-corpus/generated/generate_transcript_corpus.py`. It is a
deterministically generated corpus, not an LLM-generated corpus. The upstream
source material has been removed by project decision. Its historical hash is
retained as provenance, but its content is unavailable to the interpreter.
Future LLM-generated inputs may be added as a distinct provenance tier. Such
records should identify the source report, model, model version, prompt or
prompt version, generation parameters, generation date, and any human review.
The current `phenomena` and `expected_constructs` fields are regular-expression
selection aids. They are neither linguistic analysis nor gold semantic
annotation. In particular, the current heuristic label `ambiguous_attachment`
means only that a measurement and selected spatial language co-occur; it does
not establish actual ambiguity.
## 2.2 Corpus Roles
The project distinguishes two corpus roles:
```text
DEVELOPMENT INPUT CORPUS
─────────────────────────────────────
Generated transcription records, including deterministic variants
now and possible LLM-generated transcriptions later.
Used as executable interpreter input.
VALIDATION CORPUS
─────────────────────────────────────
Future real human transcriptions with appropriate authority and handling.
Used to evaluate generalization to actual dictation.
```
The input boundary is exact:
```text
source(execution) = record.transcript_text
```
Only characters in `transcript_text` may supply linguistic evidence. Historical
lineage fields, generation metadata, and unavailable upstream material may be
used for provenance or test selection, but may not influence interpretation.
Generated text may contain words that resemble report headings or other report
structure. They are ordinary source tokens unless the transcription itself
licenses a spoken discourse function. The system has no hidden Findings or
Impression sections.
Evaluation claims must identify whether their evidence comes from generated or
future human transcription.
## 2.3 Example Selection
The first annotated development set should be small and stratified. It should
contain the simplest positive example and progressively add one linguistic
complication at a time.
The initial selection should cover at least:
| Family | Representative form |
| --- | --- |
| Finding description | `Borderline cardiomegaly.` |
| Normality | `The lungs are clear.` |
| Negation | `No pneumothorax.` |
| Negated coordination | `There is no pneumothorax or pleural effusion.` |
| Location | `opacities in the left lung apex` |
| Finding size | `an 8mm nodule in the left lower lobe` |
| Device distance | `tube tip is 5 cm above the carina` |
| Comparison | `stable from prior radiographs` |
| Uncertainty | `could represent a cavitary lesion` |
| Alternative interpretation | `probably scarring ... difficult to exclude a cavitary lesion` |
| Recommendation | `CT chest with contrast is recommended` |
| Cross-sentence identity | `There is a nodule. It measures 6 mm.` |
| Repeated reference | a later utterance that redescribes an earlier finding |
| Redaction damage | a construction containing `[REDACTED]` |
Heuristic labels may retrieve candidates. A human must inspect each selected
span before it becomes a normative example.
## 2.4 Annotation Units
### 2.4.1 Document and source span
A document is one interpreter input. A source span is a half-open character
interval in the exact input text:
```text
span = [start, end)
```
The source is exactly the record's `transcript_text` value. Neither the record's
historical `source_row` nor any pre-generation document is part of the source.
The stored text for the span must equal the corresponding substring of the
immutable source. Tokens and sentences may be associated with spans, but they
do not replace character anchoring.
### 2.4.2 Linguistic observation
A linguistic observation records imported or derived language analysis such
as tokenization, lemma, part of speech, morphology, dependency relation,
sentence boundary, or candidate normalization.
Universal Dependencies is the initial authority for morphosyntactic labels.
Parser output is evidence, not unquestionable fact. A later rule may disagree
with a parser analysis only by recording an alternative observation or a
diagnostic; it must not silently mutate the imported analysis.
### 2.4.3 Mention
A mention is a source-anchored expression that participates in interpretation.
Initial mention categories are **provisional annotation conveniences**, not new
ontological kinds:
```text
entity expression
anatomical expression
quantity expression
unit expression
state expression
relation trigger
discourse expression
action expression
```
A mention may have more than one applicable category. Mention categorization
does not establish discourse identity, ontology identity, polarity, or patient-
world existence.
### 2.4.4 Construct and construction element
A construct is a recognized form–meaning pattern over source-backed linguistic
material. Every construct binds named construction elements licensed by its
construction type.
UCxn supplies the annotation model for construction instances and elements.
MoCCA may classify or align a construction when an appropriate comparative
concept exists. A radiology-specific construction remains locally defined when
no external category expresses the needed distinction.
### 2.4.5 Referent
A referent records discourse identity. Mentions can introduce, redescribe, or
refer back to a referent.
A referent under the scope of negation or uncertainty remains a discourse
object, not a positive assertion of a patient-world entity. Assertion status is
represented by a frame rather than encoded into referent identity.
### 2.4.6 Frame
A frame represents a semantic situation with named roles. FrameNet is a source
of candidate general frames and role vocabularies. The initial internal frame
profile is a small hybrid: it may reuse FrameNet alignments, but local frames
are normative when radiology examples require distinctions not cleanly supplied
by FrameNet.
### 2.4.7 Grounding
Grounding relates a mention or referent to one or more RadLex concept
candidates. RadLex governs medical concept identity and ontology context. It
does not govern source spans, discourse identity, assertion status, or the
creation of transcript referents.
### 2.4.8 Interpretation alternative
An interpretation alternative is a complete or partial candidate structure
supported by evidence. Alternatives may differ in attachment, referent
identity, frame type, role filler, grounding, scope, or semantic projection.
An ambiguity groups supported alternatives when current rules do not justify a
single choice.
## 2.5 Authority Map
| Question | Primary authority | Local responsibility |
| --- | --- | --- |
| What morphosyntactic relation was observed? | Universal Dependencies | Preserve parser evidence and alternatives. |
| What form–meaning construction occurred? | UCxn conventions | Define the radiology constructicon and recognition rules. |
| How is a construction classified cross-linguistically? | MoCCA where suitable | Record alignment without forcing a match. |
| What semantic situation and roles are expressed? | FrameNet where suitable | Define a minimal radiology frame profile and mappings. |
| Which medical concept is denoted? | RadLex | Generate and constrain grounded candidates. |
| Which mentions share discourse identity? | This specification | Define referent formation and resolution rules. |
| What does polarity, certainty, or comparison scope over? | This specification, informed by linguistic evidence | Define frame composition and ambiguity rules. |
| Which relations appear in final output? | This project | Define canonical projections and validation. |
No authority is allowed to answer a question merely because it has a nearby
concept. Authority follows semantic responsibility.
## 2.6 Initial Construction Families
The initial constructicon is organized by linguistic function rather than by
individual lexical triggers.
| Construction family | Core elements | Initial examples |
| --- | --- | --- |
| `finding_predication` | `finding`, optional `state` | `The lungs are clear.` |
| `telegraphic_finding` | `finding`, optional modifiers | `Borderline cardiomegaly.` |
| `existential_presentation` | `presented` | `There is a nodule.` |
| `negated_finding` | `negator`, `scope` | `No pneumothorax.` |
| `coordination` | `conjuncts`, `coordinator` | `pneumothorax or effusion` |
| `located_finding` | `figure`, `spatial_relation`, `ground` | `opacities in the left apex` |
| `measured_entity` | `entity`, `quantity`, optional `dimension` | `8 mm nodule` |
| `spatial_measurement` | `figure`, `distance`, `relation`, `ground` | `tip 5 cm above the carina` |
| `comparison` | `entity`, `attribute`, `direction`, optional `baseline` | `stable from prior` |
| `epistemic_qualification` | `content`, `cue`, `strength` | `could represent ...` |
| `alternative_characterization` | `subject`, `alternatives`, cues | `probably X ... difficult to exclude Y` |
| `recommendation` | `action`, optional `target`, `rationale` | `CT ... is recommended` |
| `anaphoric_reference` | `anaphor`, candidate `antecedent` | `It measures 6 mm.` |
The names are provisional. Each accepted construction type must eventually
have a definition, licensed elements, recognition tests, counterexamples, and
semantic contribution.
## 2.7 Initial Frame Profile
The first implementation should require only frames demonstrated by accepted
examples.
| Frame | Roles | Purpose |
| --- | --- | --- |
| `FindingAssertion` | `content`, `polarity`, `certainty` | States whether and with what commitment finding content is presented. |
| `PropertyState` | `entity`, `property`, `value` | Represents states such as normal, enlarged, or clear. |
| `Location` | `figure`, `relation`, `ground` | Represents spatial organization. |
| `Measurement` | `entity`, `value`, `unit`, optional `dimension` | Represents an entity attribute measurement. |
| `SpatialMeasurement` | `figure`, `value`, `unit`, `relation`, `ground` | Represents a measured spatial relation. |
| `Comparison` | `entity`, `attribute`, `direction`, optional `baseline` | Represents change or stability relative to a comparison context. |
| `Characterization` | `subject`, `characterization`, `certainty` | Represents an interpretation of an observed finding. |
| `Recommendation` | `action`, optional `target`, `rationale`, `certainty` | Represents a recommended future action. |
`certainty` initially preserves a normalized category and the exact lexical cue.
The first category vocabulary is provisional:
```text
asserted
probable
possible
cannot_exclude
```
These categories must not erase distinctions among source cues. A later corpus
study may require a richer ordered or multidimensional model. This is an
empirical refinement task, not an owner-level design decision: retain the cue,
use the smallest vocabulary that explains accepted examples, and extend it when
a counterexample requires a semantic distinction.
An internal frame directly uses a FrameNet identity only when its meaning and
role constraints match the corpus interpretation. Otherwise the project defines
a local frame and records any useful FrameNet relationship as an alignment.
This rule avoids requiring an advance choice between wholly external and wholly
local frame vocabularies.
## 2.8 Intermediate Representation Shape
The IR is a typed, versioned graph. Its serialization format is secondary to
its concepts and invariants. JSON is the initial external interchange form;
Prolog terms may realize the same model inside the semantic interpreter.
An interpretation execution has the following provisional shape:
```json
{
"ir_version": "draft-0",
"execution_id": "exec-...",
"source": {
"document_id": "kaggle-rad-reports-000048-sectionless_dictation",
"text": "...",
"provenance": {"corpus": "generated-transcript-corpus", "variant": "sectionless_dictation"}
},
"linguistic_observations": [],
"mentions": [],
"constructs": [],
"referents": [],
"frames": [],
"groundings": [],
"ambiguities": [],
"diagnostics": [],
"assertions": [],
"validation": {}
}
```
Every derived object contains:
```text
id
type
status
evidence[]
derived_by
```
where `status` is one of:
```text
accepted
candidate
rejected
unresolved
```
A rejected candidate is retained when its rejection explains a consequential
choice. Implementations need not retain every mechanically generated candidate.
## 2.9 Provenance Graph
Provenance is represented as edges among identified objects rather than as an
unstructured explanation string.
Initial edge types are:
```text
anchored_in(mention, source_span)
observed_in(linguistic_observation, source_span)
recognized_from(construct, linguistic_observation_or_span)
binds(construct, role, object)
evokes(frame, construct)
fills(frame, role, object)
refers_to(mention, referent)
grounded_as(mention_or_referent, ontology_concept)
derived_from(assertion, object)
validated_by(object, validation_rule)
```
An implementation may serialize these relationships inline or as explicit
edges, provided their identity and direction remain recoverable.
---
# 3. Survey of Decisions and Translation Rules
## 3.1 Example Method
Each example distinguishes five things:
```text
SOURCE EXPRESSION
What the transcript contains.
LINGUISTIC EVIDENCE
What observable form supports an interpretation.
CONSTRUCTION
Which conventional form–meaning pattern is recognized.
SEMANTIC CONTRIBUTION
Which candidate referents, frames, roles, or assertions are licensed.
LIMIT
What the example does not license.
```
The examples below specify semantic obligations. They do not prescribe exact
Grew rules, Prolog predicates, parser calls, or JSON layout.
## 3.2 Telegraphic Finding Description
### Source example
From `kaggle-rad-reports-000002-sectionless_dictation`:
```text
Borderline cardiomegaly.
```
### Linguistic interpretation
The expression is a verbless radiology clause. Its head denotes a finding or
state; `borderline` qualifies its degree or category boundary. The absence of a
finite verb is licensed by the radiology dictation sublanguage and is not, by itself, an
incomplete parse diagnostic.
### Design decision
The local `telegraphic_finding` construction licenses a finding assertion from
a nominal or adjectival fragment when transcript context and lexical evidence
support that reading.
Illustrative annotation:
```text
Construct telegraphic_finding
finding → "cardiomegaly"
qualifier → "Borderline"
Frame FindingAssertion
content → cardiomegaly discourse referent
polarity → positive
certainty → asserted
```
`borderline` is preserved as source-backed qualification. Whether it becomes a
`PropertyState`, a degree value, or part of RadLex grounding is open pending
additional examples.
### Formal obligation
```text
telegraphic_finding(c) ∧ binds(c,finding,m)
∧ radiology_transcript_context(c)
→ ∃ r,a : refers_to(m,r) ∧ FindingAssertion(a,r,positive)
```
### Does not entail
The construction does not establish that cardiomegaly is clinically true. It
records that the transcript positively presents that content.
## 3.3 Negation and Coordination
### Source example
From `kaggle-rad-reports-000005-sectionless_dictation`:
```text
There is no pneumothorax or pleural effusion.
```
### Linguistic interpretation
An existential/presentational clause contains a negator whose scope includes a
coordination. The coordination introduces two finding descriptions. The shared
negation distributes to both conjuncts unless syntactic or constructional
evidence supports a narrower scope.
### Design decision
Coordination is represented before polarity is projected. Negation applies to
the coordinated semantic contents, producing two negative finding assertions
with shared scope provenance.
```text
Construct coordination c1
conjunct → "pneumothorax"
conjunct → "pleural effusion"
coordinator → "or"
Construct negated_finding c2
negator → "no"
scope → c1
Frame FindingAssertion a1
content → pneumothorax content
polarity → negative
Frame FindingAssertion a2
content → pleural-effusion content
polarity → negative
```
### Formal obligation
```text
neg_scope(n, coordination(c,{x₁,...,xₙ}))
→ ∀ xᵢ ∈ {x₁,...,xₙ} : negative_assertion(xᵢ,n)
```
This rule applies only to a coordination licensed as wholly inside negation
scope.
### Does not entail
The mentions do not create positive pneumothorax or effusion findings. RadLex
concept matches do not reverse the polarity supplied by the construction.
## 3.4 Finding Measurement and Location
### Source example
From `kaggle-rad-reports-000048-sectionless_dictation`:
```text
There is an 8mm nodule in the left lower lobe.
```
### Linguistic interpretation
The noun phrase contains a measured finding and a prepositional location
modifier. The measurement and location share the nodule as their semantic
participant.
### Design decision
The expression evokes separate `Measurement` and `Location` frames. Composition
unifies their entity/figure roles through one finding referent.
```text
Mentions
m1 → "8mm"
m2 → "nodule"
m3 → "left lower lobe"
Referents
f1 → introduced by m2
a1 → introduced by m3
Frame Measurement
entity → f1
value → 8
unit → mm
dimension → size, unresolved subtype
Frame Location
figure → f1
relation → in
ground → a1
```
The raw quantity text, normalized numeric value, and normalized unit are all
preserved. A normalization is a derived representation, not a replacement for
the source mention.
### Formal obligations
```text
measured_entity(c,m_entity,m_quantity)
→ ∃ r,f : refers_to(m_entity,r) ∧
Measurement(f,entity=r,quantity=m_quantity)
located_finding(c,m_figure,m_relation,m_ground)
→ ∃ r₁,r₂,f : refers_to(m_figure,r₁) ∧
refers_to(m_ground,r₂) ∧
Location(f,figure=r₁,relation=m_relation,ground=r₂)
```
### Does not entail
The preposition `in` does not automatically become a RadLex object property.
The measurement does not establish which anatomical dimension was measured
unless the construction or domain evidence licenses that conclusion.
The working rule is conservative: a dimension is accepted only when it is
explicit in the transcription or licensed by a tested construction rule.
Ontology knowledge alone does not supply a transcript-level dimension.
## 3.5 Spatial Measurement Is Not Entity Size
### Source example
From `kaggle-rad-reports-000057-sectionless_dictation`:
```text
The tracheostomy tube tip is 5 cm above the carina.
```
### Linguistic interpretation
The quantity measures the distance expressed by the spatial relation `above`.
It does not measure the tube tip itself.
### Design decision
This example requires a `spatial_measurement` construction and a
`SpatialMeasurement` frame distinct from `measured_entity` and `Measurement`.
```text
Frame SpatialMeasurement
figure → tube-tip referent
value → 5
unit → cm
relation → above
ground → carina referent
```
### Formal obligation
```text
spatial_measurement(c,figure,q,relation,ground)
→ SpatialMeasurement(figure,q,relation,ground)
∧ ¬ entity_size(q,figure)
```
The final negative term expresses a translation prohibition, not necessarily a
stored negative assertion.
### Does not entail
The tube tip is not five centimetres in size. The carina is not a measured
entity. Linear proximity in the sentence is insufficient to determine the
measurement target.
## 3.6 Comparison and Stability
### Source example
From `kaggle-rad-reports-000057-sectionless_dictation`:
```text
There are prominent diffuse bilateral interstitial opacities, stable from
prior radiographs.
```
### Linguistic interpretation
The participial/adjectival comparison expression predicates stability of the
opacities relative to a prior-study baseline. `prominent`, `diffuse`, and
`bilateral` describe the current finding; `stable` relates an attribute or
overall state across observations.
### Design decision
The comparison is represented independently from the positive finding
assertion:
```text
Frame FindingAssertion
content → interstitial-opacities referent
polarity → positive
Frame Comparison
entity → same referent
attribute → unresolved overall finding state
direction → unchanged
baseline → prior radiographs
```
The exact baseline may remain a discourse description rather than a fully
grounded study referent when redaction or missing context prevents resolution.
### Formal obligation
```text
comparison(c,entity,cue="stable",baseline)
→ Comparison(entity,attribute=?,direction=unchanged,baseline)
```
The unresolved attribute is explicit and valid.
### Does not entail
`stable` does not mean normal, benign, absent, or clinically insignificant. It
does not identify the baseline date when the source does not supply one.
## 3.7 Epistemic Qualification and Alternative Characterization
### Source example
From `kaggle-rad-reports-000004-sectionless_dictation`:
```text
Probably scarring in the left apex, although difficult to exclude a cavitary
lesion.
```
### Linguistic interpretation
The expression offers at least two characterizations of an observed finding
with different epistemic cues. `probably` supports scarring more strongly;
`difficult to exclude` keeps a cavitary lesion as a live alternative. The
second characterization is not negated merely because `exclude` occurs in the
phrase.
### Design decision
Negation detection must operate over constructions and scope, not keyword
presence. The interpretation contains two `Characterization` candidates linked
to the same observed-content referent, preserving the different cues.
```text
Characterization c1
subject → observed apical abnormality
characterization → scarring
certainty → probable
cue → "Probably"
Characterization c2
subject → same observed abnormality
characterization → cavitary lesion
certainty → cannot_exclude
cue → "difficult to exclude"
```
The relationship between these candidates is represented as an alternative-
characterization set. A downstream application may order the alternatives but
must retain both and their source wording.
### Formal obligation
```text
alternative_characterization(subject,{(x,cue₁),(y,cue₂)})
→ Characterization(subject,x,normalize(cue₁))
∧ Characterization(subject,y,normalize(cue₂))
∧ alternatives(x,y)
```
### Does not entail
The transcript does not positively establish either diagnosis as clinical
truth. `difficult to exclude` does not establish absence. An ontology hierarchy
between the candidates does not authorize collapsing the alternatives.
## 3.8 Recommendation Is Not a Finding
### Source example
From `kaggle-rad-reports-000009-sectionless_dictation`:
```text
CT chest with contrast is recommended.
```
### Linguistic interpretation
The passive predicate presents a recommended future imaging action. It does not
state that the CT has occurred.
### Design decision
The `recommendation` construction evokes a `Recommendation` frame. Its action
may be medically grounded, but it is not projected as a current examination or
finding.
```text
Frame Recommendation
action → CT chest
manner_or_protocol → with contrast
rationale → unresolved or linked from discourse context
certainty → asserted recommendation
```
### Formal obligation
```text
recommendation(c,action,target,rationale?)
→ Recommendation(action,target,rationale?)
∧ ¬ performed(action)
```
Again, the final term is a prohibited inference rather than a required stored
negative assertion.
### Does not entail
The recommended examination has not necessarily been ordered, scheduled, or
performed. The recommendation does not itself validate its clinical rationale.
## 3.9 Cross-Sentence Reference
### Canonical example
```text
There is a nodule in the right upper lobe. It measures 6 mm.
```
### Linguistic interpretation
`a nodule` introduces a discourse referent. `It` is a distinct mention whose
candidate antecedent is that referent. The measurement frame uses the resolved
referent as its entity.
### Design decision
Anaphora resolution is candidate-based. Agreement, discourse salience,
constructional role, semantic type, and locality may constrain candidates. No
single token-distance heuristic is authoritative.
```text
Mention m1 → "a nodule"
Mention m2 → "It"
Referent f1
introduced_by → m1
referred_to_by → m2
Frame Measurement
entity → f1
value → 6
unit → mm
```
### Formal obligation
```text
anaphor(m) ∧ candidates(m)={r₁,...,rₙ}
∧ uniquely_preferred(rᵢ)
→ refers_to(m,rᵢ)
anaphor(m) ∧ multiple_undominated_candidates(m)
→ ambiguity(reference,m,candidates(m))
```
### Does not entail
The pronoun does not introduce a second finding merely because it is a second
mention. A nearby noun is not necessarily its antecedent.
## 3.10 Repetition Does Not Supply Hidden Report Identity
The current input may repeat similar expressions, but the interpreter sees
only a transcription character stream. It may not consult a source report or
infer a Findings→Impression relationship from the historical origin of the
record.
Two repeated expressions are distinct mentions. They resolve to one referent
only when transcript-internal discourse evidence uniquely supports that
identity. Otherwise identity remains unresolved.
```text
same wording + compatible grounding
⇏ same referent
```
╔════════════════════════════════════════════════════════╗
║ INPUT BOUNDARY ║
║ ║
║ Historical report structure supplies no evidence ║
║ for transcript mention identity. ║
╚════════════════════════════════════════════════════════╝
An actual generated or human transcription exhibiting repeated reference must
be annotated before stronger identity rules are specified.
## 3.11 Redaction and Damaged Constructions
### Source examples
The corpus preserves `[REDACTED]` markers, sometimes inside expressions needed
for interpretation.
### Design decision
`[REDACTED]` is an opaque source token. It is never normalized into guessed
content. A construction may bind an explicitly unresolved element when the
remaining source supplies enough evidence to recognize the construction.
```text
Construction element
role → baseline
filler → unresolved
evidence → [REDACTED] source span
Diagnostic
type → redacted_required_element
severity → partial_interpretation
```
If the redaction prevents recognition itself, the system emits a diagnostic
rather than fabricating a construction.
### Does not entail
The redaction marker does not denote a person, date, finding, anatomy, or other
domain entity merely because one of those would make the sentence grammatical.
## 3.12 Mention and Referent Grounding
### Upstream meaning
RadLex provides abstract medical concepts, labels, synonyms, hierarchy, and
ontology relations. A source expression may lexically evoke one or more RadLex
concepts. A discourse referent may be characterized by one or more mentions.
### Provisional decision
The IR permits both mention grounding and referent grounding with distinct
meanings:
```text
mention grounding
This expression is a lexical/contextual realization candidate
for this RadLex concept.
referent grounding
The composed discourse interpretation characterizes this
referent using this RadLex concept.
```
Mention grounding supplies evidence for referent grounding; it is not
automatically copied. Composition, polarity, qualification, and competing
mentions may affect the referent-level result.
### Formal obligations
```text
mention_grounding(m,c)
→ Mention(m) ∧ RadLexConcept(c)
referent_grounding(r,c)
→ Referent(r) ∧ RadLexConcept(c)
∧ supported_by_composed_evidence(r,c)
```
### Does not entail
A lexical match does not prove a unique grounding. Neither kind of grounding
creates a referent. Grounding does not change assertion polarity or certainty.
╔════════════════════════════════════════════════════════╗
║ WORKING RULE ║
║ ║
║ Accept grounding only at uniquely supported semantic ║
║ specificity; otherwise preserve the candidates. ║
╚════════════════════════════════════════════════════════╝
The working test combines source-backed lexical or semantic evidence,
construction-role compatibility, composed-context compatibility, and the
absence of an undominated incompatible candidate at the claimed specificity.
Concrete examples may refine this rule without requiring a project-scope
decision.
## 3.13 Candidate Preservation and Resolution
### Design decision
Interpretation is candidate-producing. A pass may:
- introduce a candidate supported by identified evidence;
- accept a candidate because a stated rule is satisfied;
- reject a candidate with a stated reason;
- group undominated candidates into an ambiguity;
- leave a role unresolved with a diagnostic.
A pass may not silently discard a materially supported candidate.
Candidate preference is represented as an evidence-bearing relation:
```text
preferred(candidate_a, candidate_b, rule, evidence)
```
Acceptance requires either a unique supported candidate or an explicit rule
that permits several compatible candidates to coexist.
### Formal obligation
```text
supported(c₁) ∧ supported(c₂)
∧ ¬ dominates(c₁,c₂)
∧ ¬ dominates(c₂,c₁)
∧ incompatible(c₁,c₂)
→ preserve_ambiguity({c₁,c₂})
```
## 3.14 Validation Profile
The initial validator checks at least the following obligations.
### Source integrity
- Every source span is within the document boundary.
- Every stored span text equals the immutable source substring.
- Every mention has at least one source span.
### Construction integrity
- Every construct has exactly one defined construction type.
- Every construction element uses a role licensed by that type.
- Required roles are filled or explicitly unresolved.
- Recognition evidence is retained.
### Discourse and frame integrity
- Every `refers_to` target is a defined referent.
- Every referent is licensed by at least one mention or permitted derivation.
- Every frame role is licensed by its frame type.
- Every frame is evoked by a construct or permitted semantic rule.
- Polarity and certainty attach to semantic content, not ontology concepts.
### Grounding integrity
- Every grounding target exists in the pinned RadLex bundle.
- Candidate and accepted groundings are distinguishable.
- No grounding operation creates a referent.
- Ontology implications do not populate transcript individuals.
### Ambiguity and diagnostic integrity
- Every ambiguity contains at least two supported alternatives.
- Every alternative identifies its distinguishing choice.
- Rejected consequential alternatives retain a reason.
- Every diagnostic identifies a source span or interpretation object.
### Provenance integrity
- Every accepted frame and output assertion has a derivation path to source.
- Normalized values retain the source expression from which they were derived.
- External resource versions used by the execution are recorded.
Validation success means that the representation obeys this contract. It does
not mean every expression was interpreted or every ambiguity resolved.
## 3.15 Annotation Workflow
Examples progress through the following states:
```text
selected
↓
span-annotated
↓
construction-annotated
↓
semantically annotated
↓
reviewed
↓
accepted as executable example
```
Each transition records the annotation-profile version and author or process.
Automated parser and grounding suggestions remain distinguishable from human-
accepted annotations.
Disagreement is represented as alternatives or an adjudication record. It is
not overwritten without history.
## 3.16 Refinement Acceptance Criteria
This draft is ready to become the first implementation contract when:
- an initial stratified set of examples has been selected from the corpus;
- every selected example has exact source-span annotations;
- each accepted construction type has licensed roles and counterexamples;
- each required frame has a defined role inventory;
- at least one complete example traverses R0 through R5;
- mention and referent grounding are tested against concrete examples;
- negation, uncertainty, comparison, recommendation, and redaction remain
semantically distinct;
- ambiguity and partial interpretation have machine-representable examples;
- the IR can represent every accepted example without ad hoc fields;
- validators enforce the conceptual specification's cross-cutting invariants;
- external knowledge and rule versions are recorded in every execution;
- open decisions that block the first vertical slice are resolved, while later
decisions are explicitly deferred.
---
# 4. Reference Appendices
## Appendix A. Provisional Object Schemas
The schemas below define semantic fields, not a required physical
serialization.
### A.1 Source span
```text
SourceSpan
id
document_id
start_character
end_character
text
```
### A.2 Mention
```text
Mention
id
spans[1..n]
categories[0..n]
normalization_candidates[0..n]
evidence[1..n]
```
### A.3 Construct
```text
Construct
id
construction_type
elements[1..n]
recognition_evidence[1..n]
authority_alignment[0..n]
status
ConstructionElement
role
filler
evidence[1..n]
```
### A.4 Referent
```text
Referent
id
introduced_by[1..n]
referred_to_by[0..n]
grounding_candidates[0..n]
status
```
### A.5 Frame
```text
Frame
id
frame_type
roles[1..n]
evoked_by[1..n]
authority_alignment[0..n]
status
```
### A.6 Grounding
```text
Grounding
id
subject
ontology
concept_id
status
lexical_evidence[0..n]
contextual_evidence[0..n]
constraint_evidence[0..n]
resource_version
```
### A.7 Ambiguity
```text
Ambiguity
id
kind
subject
alternatives[2..n]
unresolved_because[1..n]
```
### A.8 Diagnostic
```text
Diagnostic
id
type
severity
subject
evidence[1..n]
detail
```
## Appendix B. Required Counterexample Pairs
Each construction family should be tested with contrasts that prevent shallow
keyword translation.
| Superficially similar forms | Required distinction |
| --- | --- |
| `8 mm nodule` / `tip 5 cm above carina` | Entity measurement / spatial-relation measurement |
| `No pneumothorax` / `difficult to exclude pneumothorax` | Negative assertion / live uncertain alternative |
| `stable opacity` / `normal lung` | Unchanged state / normal state |
| `CT is recommended` / `CT demonstrates` | Future recommended action / evidential examination statement |
| `nodule in the lobe` / `nodule near the fissure measuring 6 mm` | Clear shared participant / potentially ambiguous attachment |
| repeated `nodule` / two explicitly enumerated nodules | Coreferent mentions / distinct same-type referents |
| `[REDACTED] lobe` / `left lobe` | Unresolved anatomy / grounded anatomy |
## Appendix C. Version Metadata
Every interpretation execution should record the materially relevant versions:
```text
IR profile version
source corpus and record version
UD parser and model version
UD specification version
UCxn schema and rule version
local constructicon version
MoCCA database version
FrameNet version
local frame-profile version
RadLex bundle version and checksum
semantic-rule version
validation-rule version
```
## Appendix D. Open Design Decision
╔═══════════════════════════════════════════════════════╗
║ ⚠ OPEN DESIGN DECISION ║
║ ║
║ Define which frames project into canonical R5 output ║
║ predicates and which remain frame structures. ║
╚════════════════════════════════════════════════════════╝
This is genuinely product-defining because it determines the public semantic
contract of validated output. It does not block the first examples: until a
projection is accepted, R5 may preserve the validated frame structure itself.
## Appendix E. Design Provenance
This appendix is non-normative.
### E.1 Refinement Before Implementation
**Joint refinement.** The design conversation identified the need for a layer
between the conceptual specification and an implementation plan. That layer is
example-driven and defines a machine-representable semantic contract by
decomposing corpus expressions through the appropriate linguistic and domain
authorities.
### E.2 Lower-Level Dependency
**Human-led clarification.** This document is explicitly a lower-level
specification that assumes the higher-level conceptual specification. It does
not reopen the established ontology or duplicate its full argument.
### E.3 Initial Corpus Sufficiency
**Human-led scope decision.** The retained generated transcriptions are accepted
as sufficient development input to get the interpreter running, without
productionizing it or making claims about future real human transcriptions.
### E.4 Authorities Have Bounded Roles
**Joint refinement.** The corpus is decomposed using UD, UCxn, MoCCA, FrameNet,
and RadLex where each is authoritative. External vocabulary is reused without
allowing one authority to absorb responsibilities belonging to another layer.
### E.5 Transcription Is the Complete Input
**Human-led correction.** An example incorrectly treated Findings and
Impression sections from a radiology report as transcript structure. The source
reports were removed, normalized report-copy records were removed from the
generated corpus, and the interpretation boundary was restated: only the
generated `transcript_text` character stream supplies linguistic evidence.