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

Methods
`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, 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`