Class StudySeriesInstanceModel
- java.lang.Object
-
- com.pixelmed.database.DatabaseInformationModel
-
- com.pixelmed.database.DicomDatabaseInformationModel
-
- com.pixelmed.database.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.
-
-
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 Description StudySeriesInstanceModel(java.lang.String databaseFileName)
Construct a model with the attributes from the default dictionary.StudySeriesInstanceModel(java.lang.String databaseFileName, DicomDictionary dictionary)
Construct a model with the attributes from the specified dictionary.StudySeriesInstanceModel(java.lang.String databaseFileName, java.lang.String databaseServerName)
Construct a model with the attributes from the default dictionary allowing external SQL access.StudySeriesInstanceModel(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 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.InformationEntity
getChildTypeForParent(InformationEntity ie)
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.InformationEntity
getChildTypeForParent(InformationEntity ie, boolean concatenation)
For a particular instance of an information entity, find the next information entity lower down in the information model hierarchy.InformationEntity
getChildTypeForParent(InformationEntity ie, AttributeList list)
For a particular instance of an information entity, find the next information entity lower down in the information model hierarchy.java.lang.String
getDescriptiveColumnName(InformationEntity ie)
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.java.lang.String
getOtherDescriptiveColumnName(InformationEntity ie)
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.java.lang.String
getOtherOtherDescriptiveColumnName(InformationEntity ie)
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.java.lang.String
getUIDColumnNameForInformationEntity(InformationEntity ie)
For a particular information entity, find the name of the column in the entity's database table containing the DICOM UID for the entity.protected boolean
isInformationEntityInModel(InformationEntity ie)
Is the entity in the information model ?-
Methods inherited from class com.pixelmed.database.DicomDatabaseInformationModel
createPrimaryKeyForSelectedInformationEntity, extendCreateStatementStringWithDerivedAttributes, extendInsertStatementStringWithAttributeNamesForSelectedInformationEntity, extendInsertStatementStringWithAttributeValuesForSelectedInformationEntity, extendInsertStatementStringWithDerivedAttributeNamesForSelectedInformationEntity, extendInsertStatementStringWithDerivedAttributeValuesForSelectedInformationEntity, extendInsertStatementStringWithPersonNameSearchColumnsForSelectedInformationEntity, extendInsertStatementStringWithPersonNameSearchValuesForSelectedInformationEntity, getDateFromDicomDateAndTime, getDateFromDicomDateAndTime, getNametoDescribeThisInstanceOfInformationEntity, getQueryResponseGeneratorFactory, getQueryResponseGeneratorFactory, getQuotedEscapedSingleStringValueOrNull, getQuotedSingleStringValueOrNull, getQuotedUnescapedSingleStringValueOrNull, getQuotedValueOrNULL, getRetrieveResponseGeneratorFactory, getRetrieveResponseGeneratorFactory, getTimestampFromDate, getTimestampFromDicomDateAndTime, getTimestampFromDicomDateAndTime
-
Methods inherited from class com.pixelmed.database.DatabaseInformationModel
appendExactOrIsNullMatch, close, createAdditionalIndexes, deleteRecord, doCommonConstructorStuff, extendCreateStatementStringWithAnyExtraAttributes, extendCreateStatementStringWithUserColumns, finalize, findAllAttributeValuesForAllRecordsForThisInformationEntity, findAllAttributeValuesForAllRecordsForThisInformationEntityWithMatchingParent, findAllAttributeValuesForAllRecordsForThisInformationEntityWithSpecifiedKeyValue, findAllAttributeValuesForAllRecordsForThisInformationEntityWithSpecifiedParent, findAllAttributeValuesForAllRecordsForThisInformationEntityWithSpecifiedUID, findAllAttributeValuesForSelectedRecord, findSelectedAttributeValuesForSelectedRecord, getAttributeTagFromDatabaseColumnName, getDatabaseColumnNameFromDicomName, getDatabaseColumnNameFromDicomTag, getDicomNameFromDatabaseColumnName, getInformationEntityFromTag, getLocalFileNameColumnName, getLocalFileReferenceTypeColumnName, getLocalParentReferenceColumnName, getLocalPrimaryKeyColumnName, getLocalRecordInsertionTimeColumnName, getSQLTypeFromDicomValueRepresentation, getTableNameForInformationEntity, insertObject, isInformationEntityInModel, toString, updateSelectedRecord
-
-
-
-
Constructor Detail
-
StudySeriesInstanceModel
public StudySeriesInstanceModel(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
-
StudySeriesInstanceModel
public StudySeriesInstanceModel(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
-
StudySeriesInstanceModel
public StudySeriesInstanceModel(java.lang.String databaseFileName, DicomDictionary dictionary) throws DicomException
Construct a model with the attributes from the specified dictionary.
- Parameters:
databaseFileName
-dictionary
-- Throws:
DicomException
-
StudySeriesInstanceModel
public StudySeriesInstanceModel(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
-
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 classDatabaseInformationModel
- 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 classDatabaseInformationModel
- Parameters:
ie
- the parent information entityconcatenation
- 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 classDatabaseInformationModel
- 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 classDatabaseInformationModel
- Parameters:
ie
- the parent information entitylist
- 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 java.lang.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 thePatientName
.- Specified by:
getDescriptiveColumnName
in classDatabaseInformationModel
- 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 java.lang.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 classDatabaseInformationModel
- 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 java.lang.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 thePatientID
.- Specified by:
getOtherOtherDescriptiveColumnName
in classDatabaseInformationModel
- 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 java.lang.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 classDatabaseInformationModel
- 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(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 beStudyInstanceUID
, the series to beSeriesInstanceUID
and so on. A match requested at the series level would then requirePatientID
,StudyInstanceUID
andSeriesInstanceUID
to match what was in the suppliedAttributeList
Called when inserting a new record for an instance of the entity.
Specific to each concrete information model extending
DatabaseInformationModel
.- Specified by:
extendStatementStringWithMatchingAttributesForSelectedInformationEntity
in classDatabaseInformationModel
- Parameters:
b
-list
-ie
-- Throws:
DicomException
-
-