This class encapsulates data structures and operations for connecting to a file-based data source in the framework of the DICOM basic worklist management service.
More...
|
OFBool | SetReadlock () |
| This function sets a read lock on the LOCKFILE in the directory that is specified through dfPath and calledApplicationEntityTitle.
|
|
OFBool | ReleaseReadlock () |
| This function releases a read lock on the LOCKFILE in the given directory.
|
|
void | HandleNonSequenceElementInResultDataset (DcmElement *element, unsigned long idx) |
| This function takes care of handling a certain non-sequence element within the structure of a certain result dataset.
|
|
void | HandleSequenceElementInResultDataset (DcmElement *element, unsigned long idx) |
| This function takes care of handling a certain sequence element within the structure of a certain result dataset.
|
|
| WlmDataSourceFileSystem (const WlmDataSourceFileSystem &Src) |
| Protected undefined copy-constructor.
|
|
WlmDataSourceFileSystem & | operator= (const WlmDataSourceFileSystem &Src) |
| Protected undefined operator=.
|
|
OFBool | CheckSearchMask (DcmDataset *searchMask) |
| This function checks if the search mask has a correct format.
|
|
void | CheckNonSequenceElementInSearchMask (DcmDataset *searchMask, int &invalidMatchingKeyAttributeCount, DcmElement *element, DcmSequenceOfItems *supSequenceElement=NULL) |
| This function checks if a non-sequence element in the search mask has a correct format.
|
|
void | CheckSequenceElementInSearchMask (DcmDataset *searchMask, int &invalidMatchingKeyAttributeCount, DcmElement *element, DcmSequenceOfItems *supSequenceElement=NULL) |
| This function checks if a sequence element in the search mask has a correct format.
|
|
void | ExpandEmptySequenceInSearchMask (DcmElement *&element) |
| According to the 2001 DICOM standard (part 4, section C.2.2.2.6), if a search mask contains a sequence attribute which contains no item or a single empty item, all attributes from that particular sequence are in fact queried and shall be returned by the SCP.
|
|
OFBool | IsSupportedMatchingKeyAttribute (DcmElement *element, DcmSequenceOfItems *supSequenceElement=NULL) |
| This function checks if the given element refers to an attribute which is a supported matching key attribute.
|
|
OFBool | IsSupportedReturnKeyAttribute (DcmElement *element, DcmSequenceOfItems *supSequenceElement=NULL) |
| This function checks if the given element refers to an attribute which is a supported return key attribute.
|
|
void | ClearDataset (DcmDataset *idents) |
| This function removes all elements from the given DcmDataset object.
|
|
void | PutOffendingElements (const DcmTagKey &tag) |
| This function inserts the tag of an offending element into the corresponding member variable, unless this tag is already con- tained in this variable.
|
|
void | PutErrorElements (const DcmTagKey &tag) |
| This function inserts the tag of an error element into the corresponding member variable, without checking if it is already contained in this variable.
|
|
OFBool | CheckMatchingKey (const DcmElement *elem) |
| This function checks if the passed matching key's value only uses characters which are part of its data type's character repertoire.
|
|
OFBool | ContainsOnlyValidCharacters (const char *s, const char *charset) |
| This function returns OFTrue if all the characters of s can be found in the string charset.
|
|
OFBool | GetStringValue (const DcmElement *elem, OFString &resultVal) |
| This function returns the value of the given DICOM string element (attribute) in the parameter resultVal and returns OFTrue if successful.
|
|
OFString | DeleteLeadingAndTrailingBlanks (const OFString &value) |
| This function makes a copy of value without leading and trailing blanks.
|
|
| WlmDataSource (const WlmDataSource &Src) |
| Protected undefined copy-constructor.
|
|
WlmDataSource & | operator= (const WlmDataSource &Src) |
| Protected undefined operator=.
|
|
|
WlmFileSystemInteractionManager | fileSystemInteractionManager |
| manager for file system interaction
|
|
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
|
|
int | handleToReadLockFile |
| handle to the read lock file
|
|
OFBool | failOnInvalidQuery |
| indicates if the application shall fail on an invalid C-Find RQ message
|
|
OFString | callingApplicationEntityTitle |
| calling AE Title
|
|
OFString | calledApplicationEntityTitle |
| called AE title
|
|
DcmDataset * | identifiers |
| the search mask which is contained in the C-Find RQ message
|
|
DcmAttributeTag * | errorElements |
| list of error elements
|
|
DcmAttributeTag * | offendingElements |
| list of offending elements
|
|
DcmLongString * | errorComment |
| error comment
|
|
OFBool | foundUnsupportedOptionalKey |
| indicates if we encountered an unsupported optional key attribute in the search mask
|
|
OFBool | readLockSetOnDataSource |
| indicates if a read lock was set on the data source
|
|
OFBool | noSequenceExpansion |
| indicates if the expansion of empty sequence attributes shall take place or not
|
|
WlmReturnedCharacterSetType | returnedCharacterSet |
| returned character set type
|
|
OFList< DcmDataset * > | matchingDatasets |
| array of matching datasets
|
|
OFString | specificCharacterSet |
| potentially specified specific character set (in search mask)
|
|
WlmSuperiorSequenceInfoType * | superiorSequenceArray |
| information about superior sequence elements; necessary for inserting values into resultDataset
|
|
unsigned long | numOfSuperiorSequences |
| number of elements in above array
|
|
This class encapsulates data structures and operations for connecting to a file-based data source in the framework of the DICOM basic worklist management service.
void WlmDataSourceFileSystem::HandleExistentButEmptyDescriptionAndCodeSequenceAttributes |
( |
DcmItem * |
dataset, |
|
|
const DcmTagKey & |
descriptionTagKey, |
|
|
const DcmTagKey & |
codeSequenceTagKey |
|
) |
| |
This function performs a check on two attributes in the given dataset.
At two different places in the definition of the DICOM worklist management service, a description attribute and a code sequence attribute with a return type of 1C are mentioned, and the condition specifies that either the description attribute or the code sequence attribute or both shall be supported by an SCP. (I am talking about RequestedProcedureDescription vs. RequestedProcedureCodeSequence and ScheduledProcedureStepDescription vs. ScheduledProtocolCodeSequence.) In both cases, this implementation actually supports both, the description and the code sequence attributes. In cases where the description attribute is actually empty or the code sequence attribute is actually empty or contains exactly one item with an empty CodeValue and an empty CodingSchemeDesignator, we want to remove the empty attribute from the dataset. This is what this function does. (Please note, that this function will always only delete one of the two, and this function will start checking the sequence attribute.
- Parameters
-
dataset | Dataset in which the consistency of the two attributes shall be checked. |
descriptionTagKey | DcmTagKey of the description attribute which shall be checked. |
codeSequenceTagKey | DcmTagKey of the codeSequence attribute which shall be checked. |
This function will return the next dataset that matches the given search mask, if there is one more resulting dataset to return.
In such a case, rstatus will be set to WLM_PENDING or WLM_PENDING_WARNING, depending on if an unsupported key attribute was encountered in the search mask or not. If there are no more datasets that match the search mask, this function will return an empty dataset and WLM_SUCCESS in rstatus.
- Parameters
-
rStatus | A value of type WlmDataSourceStatusType that can be used to decide if there are still elements that have to be returned. |
- Returns
- The next dataset that matches the given search mask, or an empty dataset if there are no more matching datasets in the worklist database files.
Implements WlmDataSource.