Class MinimalPatientStudySeriesInstanceModel
- Direct Known Subclasses:
DoseReporterWithLegacyOCRAndAutoSendToRegistry.OurPatientStudySeriesInstanceModel
,StudyReceiver.OurPatientStudySeriesInstanceModel
The MinimalPatientStudySeriesInstanceModel
class
supports a minimal DICOM Patient/Study/Series/Instance model.
Attributes of other DICOM entities than Patient, 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
ConstructorsConstructorDescriptionMinimalPatientStudySeriesInstanceModel
(String databaseFileName) Construct a model with the attributes from the default dictionary.MinimalPatientStudySeriesInstanceModel
(String databaseFileName, DicomDictionary dictionary) Construct a model with the attributes from the specified dictionary.MinimalPatientStudySeriesInstanceModel
(String databaseFileName, String databaseServerName) Construct a model with the attributes from the default dictionary allowing external SQL access.MinimalPatientStudySeriesInstanceModel
(String databaseFileName, String databaseServerName, DicomDictionary dictionary) Construct a model with the attributes from the specified dictionary allowing external SQL access.MinimalPatientStudySeriesInstanceModel
(String databaseFileName, String databaseServerName, DicomDictionary dictionary, String databaseRootName) Construct a model with the attributes from the specified dictionary allowing external SQL access.MinimalPatientStudySeriesInstanceModel
(String databaseFileName, String databaseServerName, String databaseRootName) Construct a model with the attributes from the default dictionary allowing external SQL access. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Create additional indexes on UIDs to optimize queries.protected void
extendStatementStringWithMatchingAttributesForSelectedInformationEntity
(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.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.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.For a particular instance of an information entity, find the next information entity lower down in the information model hierarchy.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 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 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 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
Is the entity in the information model ?static void
For unit test purposes.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, 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 Details
-
MinimalPatientStudySeriesInstanceModel
Construct a model with the attributes from the default dictionary.
The dictionary
DicomDictionaryForMinimalPatientStudySeriesInstanceModel
is used.- Parameters:
databaseFileName
-- Throws:
DicomException
-
MinimalPatientStudySeriesInstanceModel
public MinimalPatientStudySeriesInstanceModel(String databaseFileName, String databaseServerName) throws DicomException Construct a model with the attributes from the default dictionary allowing external SQL access.
The dictionary
DicomDictionaryForMinimalPatientStudySeriesInstanceModel
is used.- Parameters:
databaseFileName
-databaseServerName
-- Throws:
DicomException
-
MinimalPatientStudySeriesInstanceModel
public MinimalPatientStudySeriesInstanceModel(String databaseFileName, String databaseServerName, String databaseRootName) throws DicomException Construct a model with the attributes from the default dictionary allowing external SQL access.
The dictionary
DicomDictionaryForMinimalPatientStudySeriesInstanceModel
is used.- Parameters:
databaseFileName
-databaseServerName
-databaseRootName
-- Throws:
DicomException
-
MinimalPatientStudySeriesInstanceModel
public MinimalPatientStudySeriesInstanceModel(String databaseFileName, DicomDictionary dictionary) throws DicomException Construct a model with the attributes from the specified dictionary.
- Parameters:
databaseFileName
-dictionary
-- Throws:
DicomException
-
MinimalPatientStudySeriesInstanceModel
public MinimalPatientStudySeriesInstanceModel(String databaseFileName, 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
-
MinimalPatientStudySeriesInstanceModel
public MinimalPatientStudySeriesInstanceModel(String databaseFileName, String databaseServerName, DicomDictionary dictionary, String databaseRootName) throws DicomException Construct a model with the attributes from the specified dictionary allowing external SQL access.
- Parameters:
databaseFileName
-databaseServerName
-dictionary
-databaseRootName
-- Throws:
DicomException
-
-
Method Details
-
isInformationEntityInModel
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
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
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
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
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
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
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
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(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
-
createAdditionalIndexes
Create additional indexes on UIDs to optimize queries.
- Overrides:
createAdditionalIndexes
in classDatabaseInformationModel
- Throws:
DicomException
-
main
For unit test purposes.
Reads the DICOM files listed on the command line, loads them into the model and pops up a browser for viewing the tree hierarchy of the model and the values of each instance of an entity.
- Parameters:
arg
- a list of DICOM file names
-