DCMTK
Version 3.6.7
OFFIS DICOM Toolkit
|
This class encapsulates data structures and operations for managing data base interaction in the framework of the DICOM basic worklist management service. More...
Public Member Functions | |
WlmFileSystemInteractionManager () | |
default constructor. | |
~WlmFileSystemInteractionManager () | |
destructor | |
void | SetEnableRejectionOfIncompleteWlFiles (OFBool value) |
Set value in member variable. More... | |
OFCondition | ConnectToFileSystem (const OFString &dfPathv) |
Connects to the worklist file system database. More... | |
OFCondition | DisconnectFromFileSystem () |
Disconnects from the worklist file system database. More... | |
OFBool | IsCalledApplicationEntityTitleSupported (const OFString &calledApplicationEntityTitlev) |
Checks if the given called application entity title is supported. More... | |
size_t | DetermineMatchingRecords (DcmDataset *searchMask) |
This function determines the records from the Worklist files that match the given search mask and returns the number of matching records. More... | |
void | MatchWorklistFile (DcmDataset &searchMask, const OFpath &worklistFile) |
Determine whether a Worklist file matches the search mask. More... | |
unsigned long | GetNumberOfSequenceItemsForMatchingRecord (DcmTagKey sequenceTag, WlmSuperiorSequenceInfoType *superiorSequenceArray, unsigned long numOfSuperiorSequences, unsigned long idx) |
For the matching record that is identified through idx, this function returns the number of items that are contained in the sequence element that is referred to by sequenceTag. More... | |
void | GetAttributeValueForMatchingRecord (DcmTagKey tag, WlmSuperiorSequenceInfoType *superiorSequenceArray, unsigned long numOfSuperiorSequences, unsigned long idx, char *&value) |
This function determines an attribute value of a matching record and returns this value in a newly created string to the caller. More... | |
void | ClearMatchingRecords () |
This function frees the memory which was occupied by matchingRecords. More... | |
Protected Member Functions | |
OFdirectory_iterator & | FindNextWorklistFile (OFdirectory_iterator &it) |
Increment the given directory iterator until it refers to a worklist file (or past-the-end). More... | |
OFBool | DatasetIsComplete (DcmDataset *dataset) |
This function checks if the given dataset (which represents the information from a worklist file) contains all necessary return type 1 information. More... | |
OFBool | ReferencedStudyOrPatientSequenceIsAbsentOrExistentButNonEmptyAndIncomplete (DcmTagKey sequenceTagKey, DcmItem *dset) |
This function checks if the specified sequence attribute is absent or existent but non-empty and incomplete in the given dataset. More... | |
OFBool | DescriptionAndCodeSequenceAttributesAreIncomplete (DcmTagKey descriptionTagKey, DcmTagKey codeSequenceTagKey, DcmItem *dset) |
This method ensures that either code or description is set to a non-empty value, and at the same time none of the attributes is present with a zero-length value. More... | |
OFBool | AttributeIsAbsentOrEmpty (DcmTagKey elemTagKey, DcmItem *dset) |
This function checks if the specified attribute is absent or contains an empty value in the given dataset. More... | |
OFBool | MatchSequences (DcmSequenceOfItems &candidate, DcmSequenceOfItems &query, const MatchingKeys &matchingKeys) |
This function returns OFTrue, if the matching key attribute values in the one of the items of the candidate sequence match the matching key attribute values in at least one of the items of the query sequence. More... | |
OFBool | IsUniversalMatch (DcmSequenceOfItems &query, const MatchingKeys &matchingKeys, const OFBool normalize=OFTrue, const OFBool normalizeWildCards=OFTrue) |
Determine if a sequence is an universal match. More... | |
OFBool | DatasetMatchesSearchMask (DcmItem &dataset, DcmItem &searchMask, const MatchingKeys &matchingKeys) |
This function returns OFTrue, if the matching key attribute values in the dataset match the matching key attribute values in the search mask. More... | |
Protected Attributes | |
OFString | dfPath |
path to database files | |
OFBool | enableRejectionOfIncompleteWlFiles |
indicates if wl-files which are lacking return type 1 attributes or information in such attributes shall be rejected or not | |
OFString | calledApplicationEntityTitle |
called AE title | |
OFVector< OFshared_ptr< DcmDataset > > | matchingRecords |
matching records | |
Private Member Functions | |
WlmFileSystemInteractionManager (const WlmFileSystemInteractionManager &old) | |
Privately defined copy constructor. More... | |
WlmFileSystemInteractionManager & | operator= (const WlmFileSystemInteractionManager &obj) |
Privately defined assignment operator. More... | |
This class encapsulates data structures and operations for managing data base interaction in the framework of the DICOM basic worklist management service.
|
private |
Privately defined copy constructor.
old | Object which shall be copied. |
|
protected |
This function checks if the specified attribute is absent or contains an empty value in the given dataset.
elemTagKey | The attribute which shall be checked. |
dset | The dataset in which the attribute is contained. |
void WlmFileSystemInteractionManager::ClearMatchingRecords | ( | ) |
This function frees the memory which was occupied by matchingRecords.
It shall be called when the matching records are no longer needed.
OFCondition WlmFileSystemInteractionManager::ConnectToFileSystem | ( | const OFString & | dfPathv | ) |
Connects to the worklist file system database.
dfPathv | Path to worklist file system database. |
|
protected |
This function checks if the given dataset (which represents the information from a worklist file) contains all necessary return type 1 information.
According to the DICOM standard part 4 annex K, the following attributes are type 1 attributes in C-Find RSP messages: Attribute Tag Return Key Type SpecificCharacterSet (0008,0005) 1C (will be checked in WlmDataSourceFileSystem::StartFindRequest(...); this attribute does not have to be checked here) ScheduledProcedureStepSequence (0040,0100) 1
ScheduledStationAETitle (0040,0001) 1 ScheduledProcedureStepStartDate (0040,0002) 1 ScheduledProcedureStepStartTime (0040,0003) 1 Modality (0008,0060) 1 ScheduledProcedureStepDescription (0040,0007) 1C (The ScheduledProcedureStepDescription (0040,0007) or the ScheduledProtocolCodeSequence (0040,0008) or both shall be supported by the SCP; we actually support both, so we have to check if at least one of the two attributes contains valid information.) ScheduledProtocolCodeSequence (0040,0008) 1C (see abobve)
CodeValue (0008,0100) 1 CodingSchemeDesignator (0008,0102) 1
ScheduledProcedureStepID (0040,0009) 1
RequestedProcedureID (0040,1001) 1 RequestedProcedureDescription (0032,1060) 1C (The RequestedProcedureDescription (0032,1060) or the RequestedProcedureCodeSequence (0032,1064) or both shall be supported by the SCP; we actually support both, so we have to check if at least one of the two attributes contains valid information.) RequestedProcedureCodeSequence (0032,1064) 1C (see abobve)
CodeValue (0008,0100) 1 CodingSchemeDesignator (0008,0102) 1
StudyInstanceUID (0020,000D) 1 ReferencedStudySequence (0008,1110) 2
ReferencedSOPClassUID (0008,1150) 1C (Required if a sequence item is present) ReferencedSOPInstanceUID (0008,1155) 1C (Required if a sequence item is present)
ReferencedPatientSequence (0008,1120) 2
ReferencedSOPClassUID (0008,1150) 1C (Required if a sequence item is present) ReferencedSOPInstanceUID (0008,1155) 1C (Required if a sequence item is present)
PatientName (0010,0010) 1 PatientID (0010,0020) 1
dataset | - [in] The dataset of the worklist file which is currently examined. |
|
protected |
This function returns OFTrue, if the matching key attribute values in the dataset match the matching key attribute values in the search mask.
dataset | The dataset which shall be checked. |
searchMask | The search mask. |
matchingKeys | The matching keys to regard. |
|
protected |
This method ensures that either code or description is set to a non-empty value, and at the same time none of the attributes is present with a zero-length value.
If one of these requirements are not met, then OFTrue is returned, otherwise OFFalse.
descriptionTagKey | The description attribute which shall be checked. |
codeSequenceTagKey | The codeSequence attribute which shall be checked. |
dset | The dataset in which the attributes are contained. |
size_t WlmFileSystemInteractionManager::DetermineMatchingRecords | ( | DcmDataset * | searchMask | ) |
This function determines the records from the Worklist files that match the given search mask and returns the number of matching records.
Also, this function will store the matching records inside the member variable matchingRecords.
searchMask | A pointer to the search mask. |
OFCondition WlmFileSystemInteractionManager::DisconnectFromFileSystem | ( | ) |
Disconnects from the worklist file system database.
|
protected |
Increment the given directory iterator until it refers to a worklist file (or past-the-end).
it | A reference to an OFdirectory_iterator. |
void WlmFileSystemInteractionManager::GetAttributeValueForMatchingRecord | ( | DcmTagKey | tag, |
WlmSuperiorSequenceInfoType * | superiorSequenceArray, | ||
unsigned long | numOfSuperiorSequences, | ||
unsigned long | idx, | ||
char *& | value | ||
) |
This function determines an attribute value of a matching record and returns this value in a newly created string to the caller.
tag | Attribute tag. Specifies which attribute's value shall be returned. |
superiorSequenceArray | Array which contains information about superior sequence elements the given element is contained in. |
numOfSuperiorSequences | The number of elements in the above array. |
idx | Identifies the record from which the attribute value shall be retrieved. |
value | Pointer to a newly created string that contains the requested value. If value was not found an emtpy string will be returned. |
unsigned long WlmFileSystemInteractionManager::GetNumberOfSequenceItemsForMatchingRecord | ( | DcmTagKey | sequenceTag, |
WlmSuperiorSequenceInfoType * | superiorSequenceArray, | ||
unsigned long | numOfSuperiorSequences, | ||
unsigned long | idx | ||
) |
For the matching record that is identified through idx, this function returns the number of items that are contained in the sequence element that is referred to by sequenceTag.
In case this sequence element is itself contained in a certain item of another superior sequence, superiorSequenceArray contains information about where to find the correct sequence element.
sequenceTag | The tag of the sequence element for which the number of items shall be determined. |
superiorSequenceArray | Array which contains information about superior sequence elements the given sequence element is contained in. |
numOfSuperiorSequences | The number of elements in the above array. |
idx | Identifies the record from which the number of sequence items shall be determined. |
OFBool WlmFileSystemInteractionManager::IsCalledApplicationEntityTitleSupported | ( | const OFString & | calledApplicationEntityTitlev | ) |
Checks if the given called application entity title is supported.
If this is the case, OFTrue will be returned, else OFFalse.
calledApplicationEntityTitlev | The application entity title which shall be checked for support. Valid pointer expected. |
|
protected |
Determine if a sequence is an universal match.
query | The query sequence. |
matchingKeys | The matching keys to regard. |
normalize | Normalize each attribute value before the check. Defaults to OFTrue, which means the value will be normalized as appropriate for the given VR, e.g. ignoring spaces used as padding. |
normalizeWildCards | Whether to interpret a query only consisting of wild cards as an universal match. Defaults to OFTrue, which means wild cards will be normalized if an attribute's VR supports it and it is allowed for the attribute (as defined by the matchingKeys argument). Set to OFFalse to force strict interpretation instead. |
|
protected |
This function returns OFTrue, if the matching key attribute values in the one of the items of the candidate sequence match the matching key attribute values in at least one of the items of the query sequence.
candidate | The candidate sequence. |
query | The query sequence. |
matchingKeys | The matching keys to regard. |
void WlmFileSystemInteractionManager::MatchWorklistFile | ( | DcmDataset & | searchMask, |
const OFpath & | worklistFile | ||
) |
Determine whether a Worklist file matches the search mask.
searchMask | A reference to the search mask. |
worklistFile | An OFpath (hopefully) referring to a Worklist file. |
This method will attempt to load the Worklist file referenced by the argument worklistFile and, on success, compare it against searchMask. If the file matches the search mask, its dataset part will be added to the matching records member variable.
|
private |
Privately defined assignment operator.
obj | Object which shall be copied. |
|
protected |
This function checks if the specified sequence attribute is absent or existent but non-empty and incomplete in the given dataset.
sequenceTagKey | The sequence attribute which shall be checked. |
dset | The dataset in which the attribute is contained. |
void WlmFileSystemInteractionManager::SetEnableRejectionOfIncompleteWlFiles | ( | OFBool | value | ) |
Set value in member variable.
value | The value to set. |