CDE-labeled FHIR Observation

The project’s founding representation of a radiology finding: a FHIR Observation whose code identifies a CDE set and whose component codes identify the CDE elements inside it, each component’s value giving the chosen value code. The phrase comes from the project’s own About page and from the 2023 post that set the direction.12

The lung screening sample implements it exactly. A radiologist’s finding Observation carries code as RDES195 Pulmonary Nodule with system https://radelement.org, references the imaging study through derivedFrom, and carries element codes such as RDE1717 in components with valueCodeableConcept giving codes such as RDE1717.1.3 The reference implementation models the same shape in Python, with a discriminated union of codeable-concept, string, integer, and boolean components.4

Synonyms and near-synonyms

  • Observation is the OIDM object; this is one way to encode it.
  • Structured finding and coded observation are looser terms for the same idea.
  • The pattern differs from an OIFM-coded observation only in which vocabulary labels it: RDES/RDE codes here, OIFM/OIFMA codes in the current Exam Finding List.

Identifier form

None of its own. The identifiers are those of the coding systems used, most often RadElement.

Where it is used

FHIR mapping, Site articles, and Lineage repositories.

Conflicts

IHE IDR rejects the component pattern for this purpose. It states that Observation.component “is not used,” because FHIR limits components to values “not useful on their own” and using it “has the potential to significantly complicate queries,” preferring a root Observation with hasMember references to associated observations.5 Every OIDM artifact that encodes attributes today, including the documented Exam Finding List mapping and these lineage samples, uses components. Reconciling the two is an open item; see IHE IDR alignment.

Footnotes

  1. openimagingdata.org About page ↩

  2. “Findings, CDEs, and Observations”, 2023-06-24 ↩

  3. Radiologist finding Observation ↩

  4. Observation model in OpenImagingDataModel.py ↩

  5. IHE IDR Phase II extract ↩