Coding
Assigning an OIFM finding identifier and an anatomic location identifier to a finding that extraction produced as free text. “Coding assigns OIFM finding codes and anatomic location codes to extracted findings. It is an independent job, fully decoupled from extraction. Extraction output persists without codes; coding is triggered separately and can be re-run with different models or settings.”1
The documented pipeline has five phases, two of which call a language model. A fast path resolves exact and synonym matches by index lookup for both axes, and findings that resolve skip the model entirely. For the rest, two parallel agents generate two or three diverse search terms each for finding and for location; batched index search returns candidates; per-finding selector agents choose a finding code and a location code in parallel; and assembly merges fast-path and model results. Each phase degrades independently, and one finding’s failure does not block the others.1
Location coding follows its own precedence rules rather than free judgment; see anatomic location assignment rules. Codes are resolved by direct lookup rather than semantic search for a named target organ, “to avoid retrieval misses,” and “every assigned locationId must exist in the ontology,” with unrepresented structures left unassigned rather than forced onto a wrong code.2
Synonyms and near-synonyms
- Labelling and mapping name the same step in the earlier MVP pipeline, which used embedding cosine similarity against a small curated model set with a confidence threshold.3
- Extraction is the upstream job and is deliberately separate.
- Enrichment is a different activity: it adds metadata to finding model definitions, not codes to observations.
- Index code assignment means adding ontology codes to a definition, not coding an observation.
Identifier form
The output identifiers are OIFM_[A-Z]{3,4}_[0-9]{6} for the finding and a RadLex RID for the location.
Where it is used
Finding and location coding and Report extraction platform.
Conflicts
Coding assigns a finding code but not attribute codes. Extracted attributes remain open key-value pairs, so an Exam Finding List built from an extraction carries coded findings and locations with uncoded attribute keys, except for presence.