NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Page info
title
title

This document describes changes from the AIM 3.0 to AIM 4.0 foundation information model.

Panel
titleContents of this Page
Table of Contents
minLevel2

...

AIM 4.0 has eighty new classes. We Twelve were renamed twelve classes and deleted four classes. This document describes changes from the AIM 3.0 to AIM 4.0 foundation information model.

...

four were deleted.

ISO 21090 Data Types

The following table shows the renamed data types.

AIM 3.0 Data TypeISO 21090
booleanBL
CalculationResultIdentifierNot Applicable
ComparisonOperatorsNot Applicable
DateTS
DoubleREAL
IntegerINT or II
StringST or Uid

Four attributes in AIM The following four AIM 3.0 attributes are now mapped to a single ISO 21090 CD data type.

AIM 3.0 Data TypeISO 21090
codeValueCD
codeMeaningCD
codingSchemeDesignatorCD
codingSchemeVersionCD

New AIM 4.0 Classes

AnnotationCollection

The AIM 3.0 model does not support a collection concept. In AIM 3.0, each AIM annotation is stored as a single AIM XML document or AIM DICOM SR.  A typical imaging study generates more than one AIM annotation. Managing AIM annotations of the same study becomes an extra activity that AIM implementers have to deal with. The AIM 4.0 foundation model has adopted the ability to store the same type of related AIM annotations as a single source. AIM has two types of annotations: image annotation and annotation-of-annotation. Image annotations annotate images. Annotation-of-annotations annotate other annotations, including image annotations and annotation-of-annotations. AIM 4.0 foundation, therefore, has a mechanism to manage collections of the same type of AIM annotations.

...

An adjudicator wants to compute an average size of the mass from the three markups created by three readers. 

Assumptions:

  1. Three image annotations for a target lesion were created earlier from three different readers.
  2. There is a system capable of reading and extracting information from the three annotations for further computational and manipulation purposes.

 

Working with AIM:

  1. Create an annotation-of-annotation instance.
  2. Create three AnnotationOfAnnotationHasImageAnnotationStatements linking annotation-of-annotation (subjects) to image annotations (objects).
  3. Extract the mass size from each image annotation and calculate an average.
  4. Create CalculationEntity and store the average result calculation and other required information.
  5. Create AnnotationOfAnnotationHasCalculationEntityStatement to link the annotation-of-annotation (subject) to the calculation entity (object).

...

...

AnnotationOfAnnotationHasImageAnnotationStatement

An instance of AnnotationOfAnnotation can reference existing image annotations. Results from image annotations can be used for further analysis, computation, comparison, reference, etc.

 

A use case:

An adjudicator wants to annotate a study read by three different readers. 

Assumption:

  1. Three image annotations for a target lesion were created earlier from three different readers.
  2. There is a system capable of reading and extracting information from the three annotations for further computational and manipulation purposes.

...

Working with AIM:

  1. Create an annotation-of-annotation instance.
  2. Create three AnnotationOfAnnotationHasImageAnnotationStatements to link the annotation-of-annotation (subject) with each instance of image annotation (object).
  3. The adjudicator may want to create additional imaging physical entity statements and imaging observation entity statements, etc.

 

...

AnnotationOfAnnotationHasImagingObservationEntityStatement

An instance of AnnotationOfAnnotation can have one or more imaging observations associated with the instance. AnnotationOfAnnotationHasImagingObservationEntityStatement expresses a relationship between the instance of AnnotationOfAnnotation and an imaging observation. 

A use case:

An adjudicator wants to annotate imaging observations on a study read by three different readers.

 

Assumption:

  1. Three image annotations for a target lesion were created earlier from three different readers.
  2. There is a system capable of reading and extracting information from the three annotations for further computational and manipulation purposes.

...

Working with AIM:

  1. Create an annotation-of-annotation instance.
  2. Create three AnnotationOfAnnotationHasImageAnnotationStatements linking annotation-of-annotation (subject) to image annotations (objects).
  3. Create an ImagingObservationEntity and store the related question, the imaging observation result, and optional information. See ImagingObservationEntity.
  4. Create an AnnotationOfAnnotationHasImagingObservationEntityStatement to link annotation-of-annotation (subject) to the imaging observation entity (object).

...

...

AnnotationOfAnnotationHasImagingPhysicalEntityStatement

An instance of AnnotationOfAnnotation can reference an imaging physical entity, an anatomical part, or a physical object that can be identified on an image. 

A use case:

An adjudicator wants to annotate an imaging physical entity on a study read by three different readers. 

Assumption:

  1. Three image annotations for a target lesion were created earlier by three different readers.
  2. There is a system capable of reading and extracting information from the three annotations for further computational and manipulation purposes.

...

Working with AIM:

  1. Create an annotation-of-annotation instance.
  2. Create three AnnotationOfAnnotationHasImageAnnotationStatements linking annotation-of-annotation (subject) to image annotations (objects).
  3. Create ImagingPhysicalEntity and store the related question, the imaging physical entity result, and optional information. See ImagingPhysicalEntity.
  4. Create an AnnotationOfAnnotationHasImagingPhysicalEntityStatement to link the annotation-of-annotation (subject) to the imaging physical entity (object).

 

2.46 AnnotationOfAnnotationHasInferenceEntityStatement

...

AnnotationOfAnnotationHasInferenceEntityStatement

An instance of AnnotationOfAnnotation can have a conclusion derived by interpreting images and/or other supplemental information related to the images. The conclusion is stored in InferenceEntity.

 

A use case:

An adjudicator wants to provide a medical conclusion to a study read by three different readers. 

Assumption:

  1. Three image annotations for a target lesion were created earlier from three different readers.
  2. There is a system capable of reading and extracting information from the three annotations for further computational and manipulation purposes.

...

Working with AIM:

  1. Create an annotation-of-annotation instance.
  2. Create three AnnotationOfAnnotationHasImageAnnotationStatements linking annotation-of-annotation (subject) to image annotations (object).
  3. Create an InferenceEntity and store the related question and medical conclusion. See InferenceEntity.
  4. Create AnnotationOfAnnotationHasInferenceEntityStatement to link the annotation-of-annotation (subject) to the inference entity (object).

...

...

AnnotationOfAnnotationIsComparedWithAnnotationOfAnnotationStatement

An instance of AnnotationOfAnnotation can be compared to another instance of AnnotationOfAnnotation. AIM users can further create CalculationEntityIsComparedWithCalculationEntityStatement to compare a calculation result from the subject AnnotationOfAnnotation instance with a calculation result from the object AnnotationOfAnnotation.

 

A use case:

An adjudicator wants to compare annotation-of-annotations’ calculation results from two different time points--baseline and first follow-up.

 

Assumption:1.

  1. There are two annotation-of-annotations from two time points, baseline and the first follow-up.

...

  1. There is a system capable of reading and extracting information from the annotations for further computational and manipulation purposes.

...

Working with AIM:1.

  1. Create an annotation-of-annotation instance.

...

  1. Create two AnnotationOfAnnotationHasAnnotationOfAnnotationStatements linking a newly created annotation-of-annotation (subject) to the two existing annotation-of-annotations (objects).

...

  1. Create an AnnotationOfAnnotationIsComparedWithAnnotationOfAnnotationStatement to link baseline (subject) and follow-up (object) instances.

...

  1. Extract a calculation result from the baseline and the first follow-up annotation-of-annotation instances.

...

  1. Compare results.

...

  1. Create and store the calculation entity if comparing the difference between two sizes.

...

  1. Create an inference entity to store the result, such as smaller or larger, to the question "Is the size getting larger or smaller?"

...

  1. Create an AnnotationOfAnnotationHasCalculationEntityStatement to associate the annotation-of-annotation (subject) with the calculation entity (object).

...

  1. Create an AnnotationOfAnnotationHasInferenceEntityStatement to associate the annotation-of-annotation (subject) with an inference entity (object).

 

...

AnnotationOfAnnotationIsComparedWithImageAnnotationStatement

An instance of AnnotationOfAnnotation can be compared with an instance of ImageAnnotation. AIM users can further create a CalculationEntityIsComparedWithCalculationEntityStatement to compare a calculation result from the subject AnnotationOfAnnotation instance with a calculation result from the object ImageAnnotation.

 

A use case:

An adjudicator wants to compare an annotation-of-annotation calculation result from the baseline and an image annotation created by a reader from the first follow-up.

 

Assumption:

  1. There is an annotation –f-annotation from the first time point and an image annotation from the first follow-up.
  2. There is a system capable of reading and extracting information from the annotations for further computational and manipulation purposes.

...

Working with AIM:

  1. Create an annotation-of-annotation instance.
  2. Create an AnnotationOfAnnotationHasAnnotationOfAnnotationStatement linking the annotation-of-annotation (subject) to the baseline annotation-of-annotation (object).
  3. Create an AnnotationOfAnnotationHasImageAnnotationStatement linking the annotation-of-annotation (subject) to the first follow-up image annotation (object).
  4. Create AnnotationOfAnnotationIsComparedWithImageAnnotationStatement to link the baseline annotation-of-annotation (subject) with the follow-up image annotation (object).
  5. Extract a calculation result from the baseline annotation-of-annotation and first follow-up image annotation.
  6. Compare results.
  7. Create and store the calculation entity if comparing the difference between two sizes.
  8. Create an inference entity to store the result, such as smaller or larger,to the question "Is the size getting larger or smaller?"
  9. Create an AnnotationOfAnnotationHasCalculationEntityStatement to associate the annotation-of-annotation (subject) with a calculation entity (object).
  10. Create an AnnotationOfAnnotationHasInferenceEntityStatement to associate the annotation-of-annotation (subject) with inference entity (object).

 

...

CalculationEntityIsComparedWithCalculationEntityStatement

When an AIM user wants to compare two calculation results, the user can use CalculationEntityIsComparedWithCalculationEntityStatement to identify a subject and object of calculation results. 

This statement should not exist alone. There should be a statement such as AnnotationOfAnnotationIsComparedWithAnnotationOfAnnotationStatement or AnnotationOfAnnotationIsComparedWithImageAnnotationStatement existing alongside the CalculationEntityIsComparedWithCalculationEntityStatement. 

A use case:

An adjudicator wants to compare an annotation-of-annotation calculation result from the baseline and an image annotation created by a reader from the first follow-up. 

Assumption:

  1. There is an annotation-of-annotation from the first time point and image annotation from the first follow-up.
  2. There is a system capable of reading and extracting information from the annotations for further computational and manipulation purposes.

...

Working with AIM:

  1. Create an annotation-of-annotation instance.
  2. Create AnnotationOfAnnotationHasAnnotationOfAnnotationStatement linking the annotation-of-annotation (subject) to the baseline annotation-of-annotation (object).
  3. Create an AnnotationOfAnnotationHasImageAnnotationStatement linking the annotation-of-annotation to the first follow-up image annotation (object).
  4. Create an AnnotationOfAnnotationIsComparedWithImageAnnotationStatement to link the baseline annotation-of-annotation (subject) with the follow-up image annotation (object).
  5. Create CalculationEntityIsComparedWithCalculationEntityStatement to link the calculation from the baseline annotation-of-annotation (subject) with the calculation from the image annotation (object).
  6. Extract a calculation result from the baseline annotation-of-annotation and the first follow-up image annotation.
  7. Compare the results.
  8. Create and store the calculation entity if comparing the difference between two sizes.
  9. Create an inference entity to store the result, such as smaller or larger, to the question "Is the size getting larger or smaller?"
  10. Create an AnnotationOfAnnotationHasCalculationEntityStatement to associate the annotation-of-annotation (subject) with a calculation entity (object).
  11. Create an AnnotationOfAnnotationHasInferenceEntityStatement to associate the annotation-of-annotation (subject) with an inference entity (object).

 

...

ImageAnnotationHasAnnotationRoleEntityStatement

This class is used to assign an annotation role to an image annotation. For example, an image annotation can be a baseline in one study but a follow-up in another study. 

A use case:

A user wants to assign a baseline role to an image annotation of a non-target lesion.

 

Assumption:

  • An image annotation for a non-target lesion was created earlier.

 

Working with AIM:

  1. Create an annotation-of-annotation instance.
  2. Create an annotation role entity containing Baseline Category, 112016, DCM.
  3. Create an AnnotationOfAnnotationHasImageAnnotationStatement to link an annotation-of-annotation (subject) with an image annotation (object).
  4. Create an ImageAnnotationHasAnnotationRoleEntityStatement to link the image annotation (subject) to the annotation role entity (object).

...

...

ImageAnnotationIsComparedWithImageAnnotationStatement

An instance of ImageAnnotation is compared with another instance of ImageAnnotation. AIM users can further create CalculationEntityIsComparedWithCalculationEntityStatement to compare a calculation result from the subject ImageAnnotation instance with a calculation result from the object ImageAnnotation.

 

A use case:

An adjudicator wants to compare image annotation calculation results from two different time points, baseline and the first follow-up. 

Assumption:

  1. There are two image annotations from two time points--baseline and the first follow-up.
  2. There is a system capable of reading and extracting information from the annotations for further computational and manipulation purposes.

 

Working with AIM:

  1. Create an annotation-of-annotation instance.
  2. Create two AnnotationOfAnnotationHasImageAnnotationStatement annotation-of-annotation statements to link the annotation-of-annotation (subject) to each image annotation instance (object).
  3. Create an ImageAnnotationIsComparedWithImageAnnotationStatement to link baseline (subject) and follow-up (object) instances.
  4. Extract calculation results from the baseline and the first follow-up image annotation instances.
  5. Compare the results.
  6. Create and store the calculation entity if comparing the difference between two sizes.
  7. Create an inference entity to store the result, such as smaller or larger, to the question "Is the size getting larger or smaller?", PRV-SIZE01 and Private.
  8. Create an AnnotationOfAnnotationHasCalculationEntityStatement to associate the annotation-of-annotation (subject) with a calculation entity (object).
  9. Create an AnnotationOfAnnotationHasInferenceEntityStatement to associate the annotation-of-annotation (subject) with an inference entity (object).

 

...

ImageAnnotationIsComparedWithAnnotationOfAnnotationStatement

An instance of ImageAnnotation is compared with another instance of AnnotationOfAnnotation. AIM users can further create CalculationEntityIsComparedWithCalculationEntityStatement to compare a calculation result from the subject AnnotationOfAnnotation instance with a calculation result from the object ImageAnnotation. 

A use case:

A user wants to compare an image annotation calculation result with an annotation-of-annotation calculation result created by an adjudicator. 

Assumption:

  1. There is an image annotation with a calculation result.
  2. There is an annotation-of-annotation with a calculation result.
  3. There is a system capable of reading and extracting information from the annotations for further computational and manipulation purposes.

...

Working with AIM:

  1. Create an annotation-of-annotation instance.
  2. Create an AnnotationOfAnnotationHasAnnotationOfAnnotationStatement to link the annotation-of-annotation (subject) with the referenced annotation-of-annotation (object).
  3. Create an AnnotationOfAnnotationHasImageAnnotationStatement to link the annotation-of-annotation (subject) with the instance of image annotation (object).
  4. Create an ImageAnnotationIsComparedWithAnnotationOfAnnotationStatement to link the image annotation (subject) with the referenced annotation-of-annotation (object).
  5. Extract the calculation results from annotation-of-annotation and image annotation.
  6. Compare results.
  7. Create and store the calculation entity after comparing the difference between the two sizes.
  8. Create an inference entity to store the result, such as smaller or larger, to the question "Is the size getting larger or smaller?"
  9. Create an AnnotationOfAnnotationHasCalculationEntityStatement to associate the annotation-of-annotation (subject) with calculation entity (object).
  10. Create an AnnotationOfAnnotationHasInferenceEntityStatement to associate the annotation-of-annotation (subject) with inference entity (object).

...

Classes derived from ImageAnnotationStatement

...

...

DICOMImageReferenceEntityHasCalculationEntityStatement

A DICOM image can have a calculation associated with the image.

 

A use case:

A user wants to store a calculation result associated with a DICOM image. The calculation comes from a region of interest (ROI) of a mass. The user uses a freehand drawing tool to outline the mass region. 

Working with AIM:

  1. Create an image annotation instance.
  2. Create DICOMImageReferenceEntity containing an image with a mass.
  3. Create ImageAnnotationHasDICOMImageReferenceEntityStatement to link the image annotation (subject) to the DICOM image reference entity (object).
  4. The user creates the ROI of the mass.
  5. Compute area of the mass.
  6. Create CalculationEntity and store the ROI result.
  7. Create DICOMImageReferenceEntityHasCalculationEntityStatement to link the DICOM image (subject) with the calculation entity (object).

...

...

DICOMImageReferenceEntityHasImagingObservationEntityStatement

A DICOM image, captured in DICOMImageReferenceEntity, can be associated with an imaging observation, captured in ImagingObservationEntity, to describe an observation on the image. 

A use case:

A user wants to store an imaging observation associated with a DICOM image.

 

Working with AIM:

  1. Create an image annotation instance.
  2. Create DICOMImageReferenceEntity containing an image with a mass.
  3. Create an ImageAnnotationHasDICOMImageReferenceEntityStatement to link the image annotation (subject) to the DICOM image reference entity (object).
  4. The user creates ROI of the mass.
  5. The user provides an imaging observation with the values of mass, RID3874, RadLex.
  6. Create ImagingObservationEntity and store the value above.
  7. Create DICOMImageReferenceEntityHasImagingObservationEntityStatement to link the DICOM image (subject) with the imaging observation entity (object).

 

...

DICOMImageReferenceEntityHasImagingPhysicalEntity

A DICOM image, captured in DICOMImageReferenceEntity, can associate with an image physical entity, captured in ImagingPhysicalEntity, to describe an observation on the image. 

A use case:

A user wants to store an imaging physical entity associated with a DICOM image. 

Working with AIM:

  1. Create an image annotation instance.
  2. Create DICOMImageReferenceEntity containing an image with a mass.
  3. Create ImageAnnotationHasDICOMImageReferenceEntityStatement to link the image annotation (subject) to the DICOM image reference entity (object).    
  4. The user creates the ROI of the mass.
  5. The user provides an imaging physical entity with the values of left upper lobe, RID1327, RadLex.
  6. Create ImagingPhysicalEntity and store the value above.
  7. Create DICOMImageReferenceEntityHasImagingPhysicalEntity to link DICOM image (subject) with the imaging physical entity (object).

...

...

DICOMSegmentationEntityHasImagingObservationEntityStatement

A DICOM segmentation object can have an imaging observation to further describe the segmentation object.

 

A use case:

A user wants to associate a DICOM segmentation with an imaging observation. 

Assumption:

  • There is a system capable of creating a DICOM segmentation object based on a user ROI for a set of images in a series.

...

Working with AIM:

  1. Create an image annotation instance.
  2. Create DICOMImageReferenceEntity containing images with a mass.
  3. Create ImageAnnotationHasDICOMImageReferenceEntityStatement to link the image annotation (subject) to the DICOM image reference entity (object).    
  4. The user designates the ROI of the mass.
  5. The system creates a DICOM segmentation object.
  6. Create DICOMSegmentationEntity with the required information from step 5.
  7. The user provides an imaging observation with values of mass, RID3874, RadLex.
  8. Create ImagingObservationEntity and store the value above.
  9. Create DICOMSegmentationEntityHasImagingObservationEntityStatement to link DICOM segmentation entity (subject) with the imaging observation entity (object).

...

...

ImageAnnotationHasCalculationEntityStatement

An image annotation can have a calculation result associated with it.

 

A use case:

A user wants to compute and store a size of the mass from an image.

 

Working with AIM:

  1. Create an image annotation instance.
  2. Create a markup to measure the size of a mass.
  3. Extract the mass size.
  4. Create CalculationEntity and store the result and other required information from step 3.
  5. Create ImageAnnotationHasCalculationEntityStatement to link the image annotation (subject) to the calculation entity (object).

...

...

ImageAnnotationHasChildImageAnnotationStatement

An image annotation can have a child image annotation. This represents a hierarchical structure between images. A child image implicitly has a parent image. A use case of this type of statement is a diagnostic mammogram image that has another magnification image associated with the diagnostic image. Another use case is a whole slide image with a 10X magnification factor that may have a section of the image magnified and stored as a separate image. Both images can have a parent-child relationship. 

A use case:

A user wants to link a mammography image with a corresponding magnification image.

 

Assumption:

  • There is a DICOMImageReferenceEntity containing the original image.

 

Working with AIM:

  1. Create an image annotation instance.
  2. User views a left mediolateral oblique (MLO)
  3. User creates a magnification view of the ROI and save it as a DICOM secondary captured image.
  4. Create DICOMImageReferenceEntity containing the secondary captured image.
  5. Create ImageAnnotationHasChildImageAnnotationStatement to link the image annotation (subject) to an instance of DICOMImageReferenceEntity containing secondary captured image (object).

 

...

ImageAnnotationHasDICOMImageReferenceEntityStatement

An instance of image annotation can have DICOM images of the same series. 

A use case:

A user views a set of CT axial series. 

Working with AIM:

  1. Create an image annotation instance.
  2. Create a DICOM image reference instance and its associated image study, image series, and image instances using DICOMImageReferenceEntity.
  3. Create ImageAnnotationHasDICOMImageReferenceEntityStatement to link image annotation (subject) and DICOM image reference (object).

 

...

ImageAnnotationHasDICOMSegmentationEntityStatement

An image annotation can have one or more DICOM segmentation objects. An ImageAnnotationHasDICOMSegmentationEntityStatement statement represents a direct relationship between an image annotation and a DICOM segmentation entity. If the image annotation has three DICOM segmentation entities, there needs to be three ImageAnnotationHasDICOMSegmentationEntityStatements. 

A use case:

A user found two nodules in a CT axial series. The user used a workstation to create two DICOM segmentation objects. The user annotated and stored the findings in AIM format with segmentation information. 

Working with AIM:

  1. Create an image annotation instance.
  2. Create a DICOM image reference instance and its associated image study, image series, and image instances.
  3. An image annotation has the set of CT images in the series. We need to create a statement that associates image annotation with DICOM images.

** Use : ImageAnnotationHasDICOMImageReferenceEntityStatement 

...

  1. Create two DICOM segmentation entity instances. Each instance references DICOM segmentation object from step 2.
  2. Create two statements of type ImageAnnotationHasDICOMSegmentationEntityStatement. Each statement has the same image annotation (subject) but different DICOM segmentation entity (object).

 

...

ImageAnnotationHasImagingObservationEntityStatement

An image annotation can have an imaging observation associated with it.

 

A use case:

A user wants to state that a mass is found on an image. 

 

Working with AIM:

  1. Create an image annotation instance.
  2. Create a DICOM image reference instance and its associated image study, image series, and image instances.
  3. Create an imaging observation containing mass, RID3874, RadLex.
  4. Create ImageAnnotationHasImagingObservationEntityStatement to link the imaging annotation (subject) with imaging observation (object).

...

...

ImageAnnotationHasImagingPhysicalEntityStatement

An image annotation can have an imaging physical entity associated with it. 

A use case:

A user wants to label the left upper lobe of lung on an image.  

Working with AIM:

  1. Create an image annotation instance.
  2. Create a DICOM image reference instance and its associated image study, image series, and image instances.
  3. Create an imaging physical entity containing left upper lobe, RID1327, RadLex.
  4. Create ImageAnnotationHasImagingPhysicalEntityStatement to link the imaging annotation (subject) and imaging physical entity (object).

...

...

ImageAnnotationHasInferenceEntityStatement

An image annotation can have a conclusion derived by interpreting images and/or other supplemental information related to the images. 

A use case:

A user wants to provide medical conclusion for a study.

...