com.pixelmed.database

## Class StudySeriesInstanceSelectiveMatchModel

- java.lang.Object
- - com.pixelmed.database.DatabaseInformationModel
  - - com.pixelmed.database.DicomDatabaseInformationModel
    - - com.pixelmed.database.StudySeriesInstanceModel
      - - com.pixelmed.database.StudySeriesInstanceSelectiveMatchModel

-     public class StudySeriesInstanceSelectiveMatchModel
      extends StudySeriesInstanceModel

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

  Matching of each information entity is performed by all appropriate attributes at that level, not just the instance UIDs alone that are used in `StudySeriesInstanceModel`.

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

  See Also:
    `StudySeriesInstanceModel`

- - ### Field Summary

    - ### Fields inherited from class com.pixelmed.database.DicomDatabaseInformationModel

      `derivedAcquisitionDateTimeColumnName, derivedContentDateTimeColumnName, derivedLossyImageCompressionColumnName, derivedSeriesDateTimeColumnName, derivedStudyDateTimeColumnName`

    - ### Fields inherited from class com.pixelmed.database.DatabaseInformationModel

      `additionalIndexMapOfColumnsToTables, databaseConnection, databaseRootName, defaultDatabaseRootName, dictionary, externalServerInstance, FILE_COPIED, FILE_REFERENCED, listsOfAttributesByInformationEntity, localFileName, localFileReferenceTypeColumnName, localParentReferenceColumnName, localPrimaryKeyColumnName, localRecordInsertionTimeColumnName, personNameCanonicalColumnNamePrefix, personNameCanonicalColumnNameSuffix, personNamePhoneticCanonicalColumnNamePrefix, personNamePhoneticCanonicalColumnNameSuffix, rootInformationEntity, userColumnName1, userColumnName2, userColumnName3, userColumnName4`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StudySeriesInstanceSelectiveMatchModel(java.lang.String databaseFileName)` Construct a model with the attributes from the default dictionary.
    `StudySeriesInstanceSelectiveMatchModel(java.lang.String databaseFileName, DicomDictionary dictionary)` Construct a model with the attributes from the specified dictionary.
    `StudySeriesInstanceSelectiveMatchModel(java.lang.String databaseFileName, java.lang.String databaseServerName)` Construct a model with the attributes from the default dictionary allowing external SQL access.
    `StudySeriesInstanceSelectiveMatchModel(java.lang.String databaseFileName, java.lang.String databaseServerName, DicomDictionary dictionary)` Construct a model with the attributes from the specified dictionary allowing external SQL access.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `extendStatementStringWithMatchingAttributesForSelectedInformationEntity(java.lang.StringBuffer b, AttributeList list, InformationEntity ie)` 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.

    - ### Methods inherited from class com.pixelmed.database.StudySeriesInstanceModel

      `getChildTypeForParent, getChildTypeForParent, getChildTypeForParent, getDescriptiveColumnName, getOtherDescriptiveColumnName, getOtherOtherDescriptiveColumnName, getUIDColumnNameForInformationEntity, isInformationEntityInModel`

    - ### Methods inherited from class com.pixelmed.database.DicomDatabaseInformationModel

      `createPrimaryKeyForSelectedInformationEntity, extendCreateStatementStringWithDerivedAttributes, extendInsertStatementStringWithAttributeNamesForSelectedInformationEntity, extendInsertStatementStringWithAttributeValuesForSelectedInformationEntity, extendInsertStatementStringWithAttributeValuesForSelectedInformationEntity, extendInsertStatementStringWithDerivedAttributeNamesForSelectedInformationEntity, extendInsertStatementStringWithDerivedAttributeValuesForSelectedInformationEntity, extendInsertStatementStringWithPersonNameSearchColumnsForSelectedInformationEntity, extendInsertStatementStringWithPersonNameSearchValuesForSelectedInformationEntity, getDateFromDicomDateAndTime, getDateFromDicomDateAndTime, getNametoDescribeThisInstanceOfInformationEntity, getQueryResponseGeneratorFactory, getQuotedEscapedSingleStringValueOrNull, getQuotedSingleStringValueOrNull, getQuotedUnescapedSingleStringValueOrNull, getQuotedValueOrNULL, getRetrieveResponseGeneratorFactory, getTimestampFromDate, getTimestampFromDicomDateAndTime, getTimestampFromDicomDateAndTime`

    - ### Methods inherited from class com.pixelmed.database.DatabaseInformationModel

      `appendExactOrIsNullMatch, close, createAdditionalIndexes, deleteRecord, deleteSelectedRecord, doCommonConstructorStuff, extendCreateStatementStringWithAnyExtraAttributes, extendCreateStatementStringWithUserColumns, finalize, findAllAttributeValuesForAllRecordsForThisInformationEntity, findAllAttributeValuesForAllRecordsForThisInformationEntityWithMatchingParent, findAllAttributeValuesForAllRecordsForThisInformationEntityWithSpecifiedKeyValue, findAllAttributeValuesForAllRecordsForThisInformationEntityWithSpecifiedParent, findAllAttributeValuesForAllRecordsForThisInformationEntityWithSpecifiedUID, findAllAttributeValuesForSelectedRecord, findSelectedAttributeValuesForSelectedRecord, getAttributeTagFromDatabaseColumnName, getDatabaseColumnNameFromDicomName, getDatabaseColumnNameFromDicomTag, getDicomNameFromDatabaseColumnName, getInformationEntityFromTag, getLocalFileNameColumnName, getLocalFileReferenceTypeColumnName, getLocalParentReferenceColumnName, getLocalPrimaryKeyColumnName, getLocalRecordInsertionTimeColumnName, getSQLTypeFromDicomValueRepresentation, getTableNameForInformationEntity, insertObject, insertObject, isInformationEntityInModel, localFileNameColumnName, toString, updateSelectedRecord`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### StudySeriesInstanceSelectiveMatchModel

          public StudySeriesInstanceSelectiveMatchModel(java.lang.String databaseFileName)
                                                 throws DicomException

      Construct a model with the attributes from the default dictionary.

      The dictionary `DicomDictionaryForStudySeriesInstanceModel` is used.

      Parameters:
        `databaseFileName` -
      Throws:
        `DicomException`

    - #### StudySeriesInstanceSelectiveMatchModel

          public StudySeriesInstanceSelectiveMatchModel(java.lang.String databaseFileName,
                                                        java.lang.String databaseServerName)
                                                 throws DicomException

      Construct a model with the attributes from the default dictionary allowing external SQL access.

      The dictionary `DicomDictionaryForStudySeriesInstanceModel` is used.

      Parameters:
        `databaseFileName` -
        `databaseServerName` -
      Throws:
        `DicomException`

    - #### StudySeriesInstanceSelectiveMatchModel

          public StudySeriesInstanceSelectiveMatchModel(java.lang.String databaseFileName,
                                                        DicomDictionary dictionary)
                                                 throws DicomException

      Construct a model with the attributes from the specified dictionary.

      Parameters:
        `databaseFileName` -
        `dictionary` -
      Throws:
        `DicomException`

    - #### StudySeriesInstanceSelectiveMatchModel

          public StudySeriesInstanceSelectiveMatchModel(java.lang.String databaseFileName,
                                                        java.lang.String databaseServerName,
                                                        DicomDictionary dictionary)
                                                 throws DicomException

      Construct a model with the attributes from the specified dictionary allowing external SQL access.

      Parameters:
        `databaseFileName` -
        `databaseServerName` -
        `dictionary` -
      Throws:
        `DicomException`

  - ### Method Detail

    - #### extendStatementStringWithMatchingAttributesForSelectedInformationEntity

          protected void extendStatementStringWithMatchingAttributesForSelectedInformationEntity(java.lang.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`.

      Overrides:
        `extendStatementStringWithMatchingAttributesForSelectedInformationEntity` in class `StudySeriesInstanceModel`
      Parameters:
        `b` -
        `list` -
        `ie` -
      Throws:
        `DicomException`