Class StudySeriesInstanceModel

Direct Known Subclasses:
StudySeriesInstanceSelectiveMatchModel

public class StudySeriesInstanceModel extends DicomDatabaseInformationModel

The StudySeriesInstanceModel class supports a minimal DICOM Study/Series/Instance model.

Matching of each information entity is performed by using only the instance UIDs, not the list of attributes that are used in StudySeriesInstanceSelectiveMatchModel.

Attributes of other DICOM entities than Study, Series and Instance are included at the appropriate lower level entity.

See Also:
  • Constructor Details

  • Method Details

    • isInformationEntityInModel

      protected boolean isInformationEntityInModel(InformationEntity ie)
      Description copied from class: DatabaseInformationModel

      Is the entity in the information model ?

      Will be specific to a particular concrete information model.

      Specified by:
      isInformationEntityInModel in class DatabaseInformationModel
      Parameters:
      ie - the information entity
      Returns:
      true if the information entity is in the model
    • getChildTypeForParent

      public InformationEntity getChildTypeForParent(InformationEntity ie, boolean concatenation)
      Description copied from class: DatabaseInformationModel

      For a particular instance of an information entity, find the next information entity lower down in the information model hierarchy.

      For a patient, this might be a study. For a series, this might be a concatenation or an instance, depending on both the information model and whether concatenations are to be considered in the model.

      This method may return a simpler view than the more general method, and is used when traversing the database tables.

      Specified by:
      getChildTypeForParent in class DatabaseInformationModel
      Parameters:
      ie - the parent information entity
      concatenation - true if concatenations are to be considered in the model
      Returns:
      the child information entity
    • getChildTypeForParent

      public InformationEntity getChildTypeForParent(InformationEntity ie)
      Description copied from class: DatabaseInformationModel

      For an information entity (regardless of a particular instance), find the next information entity lower down in the information model hierarchy in the general case.

      For a patient, this might be a study.

      For a series, this might be a concatenation or an instance, depending on the information model.

      This method essentially returns the most complex model possible and is used when building the database table schema.

      Specified by:
      getChildTypeForParent in class DatabaseInformationModel
      Parameters:
      ie - the parent information entity
      Returns:
      the child information entity
    • getChildTypeForParent

      public InformationEntity getChildTypeForParent(InformationEntity ie, AttributeList list)
      Description copied from class: DatabaseInformationModel

      For a particular instance of an information entity, find the next information entity lower down in the information model hierarchy.

      For a patient, this might be a study. For a series, this might be a concatenation or an instance, depending on both the information model and the contents of the instance itself.

      This method may return a simpler view than the more general method, and is used when traversing the database tables.

      Specified by:
      getChildTypeForParent in class DatabaseInformationModel
      Parameters:
      ie - the parent information entity
      list - an AttributeList, in which ConcatenationUID may or may not be present,as a flag to use concatenations in the model or not
      Returns:
      the child information entity
    • getDescriptiveColumnName

      public String getDescriptiveColumnName(InformationEntity ie)
      Description copied from class: DatabaseInformationModel

      For a particular information entity, find the name of the column in the entity's database table containing the first of three descriptive attributes for the entity.

      For example, for an instance (e.g. an image), this might be the InstanceNumber. For a patient, this might be the PatientName.

      Specified by:
      getDescriptiveColumnName in class DatabaseInformationModel
      Parameters:
      ie - the information entity
      Returns:
      the upper case name of a column in the table that describes the instance of the information entity
    • getOtherDescriptiveColumnName

      public String getOtherDescriptiveColumnName(InformationEntity ie)
      Description copied from class: DatabaseInformationModel

      For a particular information entity, find the name of the column in the entity's database table containing the second of three descriptive attributes for the entity.

      For example, for an instance (e.g. an image), this might be the InConcatenationNumber. Frequently null for other entities.

      Specified by:
      getOtherDescriptiveColumnName in class DatabaseInformationModel
      Parameters:
      ie - the information entity
      Returns:
      the upper case name of another column in the table that describes the instance of the information entity
    • getOtherOtherDescriptiveColumnName

      public String getOtherOtherDescriptiveColumnName(InformationEntity ie)
      Description copied from class: DatabaseInformationModel

      For a particular information entity, find the name of the column in the entity's database table containing the third of three descriptive attributes for the entity.

      For example, for an instance (e.g. an image), this might be the ImageComments. For a patient, this might be the PatientID.

      Specified by:
      getOtherOtherDescriptiveColumnName in class DatabaseInformationModel
      Parameters:
      ie - the information entity
      Returns:
      the upper case name of yet another column in the table that describes the instance of the information entity
    • getUIDColumnNameForInformationEntity

      public String getUIDColumnNameForInformationEntity(InformationEntity ie)
      Description copied from class: DatabaseInformationModel

      For a particular information entity, find the name of the column in the entity's database table containing the DICOM UID for the entity.

      For example, for an instance (e.g. an image), this might be the name of the column corresponding to the SOP Instance UID.

      Specified by:
      getUIDColumnNameForInformationEntity in class DatabaseInformationModel
      Parameters:
      ie - the information entity
      Returns:
      the upper case name of the column in the table that describes the UID of the information entity, or null if none
    • extendStatementStringWithMatchingAttributesForSelectedInformationEntity

      protected void extendStatementStringWithMatchingAttributesForSelectedInformationEntity(StringBuffer b, AttributeList list, InformationEntity ie) throws DicomException
      Description copied from class: DatabaseInformationModel

      Extend a SQL SELECT statement in the process of being constructed with matching clauses for the unique keys of the entity and all its parents.

      For example, a model might specify the unique key for the patient to be PatientID, the study to be StudyInstanceUID, the series to be SeriesInstanceUID and so on. A match requested at the series level would then require PatientID, StudyInstanceUID and SeriesInstanceUID to match what was in the supplied AttributeList

      Called when inserting a new record for an instance of the entity.

      Specific to each concrete information model extending DatabaseInformationModel.

      Specified by:
      extendStatementStringWithMatchingAttributesForSelectedInformationEntity in class DatabaseInformationModel
      Parameters:
      b -
      list -
      ie -
      Throws:
      DicomException