Inheritance diagram for WlmDataSource:
Public Member Functions | |
WlmDataSource () | |
default constructor. | |
virtual | ~WlmDataSource () |
destructor | |
virtual OFCondition | ConnectToDataSource ()=0 |
Connects to the data source. | |
virtual OFCondition | DisconnectFromDataSource ()=0 |
Disconnects from the data source. | |
void | SetCalledApplicationEntityTitle (char *value) |
Set value in member variable. | |
void | SetFailOnInvalidQuery (OFBool value) |
Set value in member variable. | |
void | SetLogStream (OFConsole *value) |
Set value in member variable. | |
void | SetVerbose (OFBool value) |
Set value in member variable. | |
void | SetDebug (OFBool value) |
Set value in member variable. | |
void | SetNoSequenceExpansion (OFBool value) |
Set value in a member variable. | |
void | SetReturnedCharacterSet (WlmReturnedCharacterSetType value) |
Set value in member variable. | |
virtual OFBool | IsCalledApplicationEntityTitleSupported ()=0 |
Checks if the called application entity title is supported. | |
virtual WlmDataSourceStatusType | StartFindRequest (DcmDataset &findRequestIdentifiers)=0 |
Based on the search mask which was passed, this function determines all the records in the database which match the values of matching key attributes in the search mask. | |
virtual DcmDataset * | NextFindResponse (WlmDataSourceStatusType &rStatus)=0 |
This function will return the next dataset that matches the given search mask, if there is one more resulting dataset to return. | |
WlmDataSourceStatusType | CancelFindRequest () |
This function handles a C-CANCEL Request during the processing of a C-FIND Request. | |
DcmAttributeTag * | GetOffendingElements () |
Get value from member variable. | |
DcmLongString * | GetErrorComments () |
Get value from member variable. | |
virtual void | SetDbDsn (const char *) |
Set value in a member variable in a derived class. | |
virtual void | SetDbUserName (const char *) |
Set value in a member variable in a derived class. | |
virtual void | SetDbUserPassword (const char *) |
Set value in a member variable in a derived class. | |
virtual void | SetCfgFileMatchRecords (const char *) |
Set value in a member variable in a derived class. | |
virtual void | SetCfgFileSelectValues (const char *) |
Set value in a member variable in a derived class. | |
virtual void | SetDatabaseType (WlmDatabaseType) |
Set value in a member variable in a derived class. | |
virtual void | SetSerialNumber (const int) |
Set value in a member variable in a derived class. | |
virtual void | SetInstitutionId (const unsigned int) |
Set value in a member variable in a derived class. | |
virtual void | SetDfPath (const char *) |
Set value in a member variable in a derived class. | |
virtual void | SetEnableRejectionOfIncompleteWlFiles (OFBool) |
Set value in a member variable in a derived class. | |
virtual void | SetCreateNullvalues (OFBool) |
Set value in a member variable in a derived class. | |
virtual void | SetPfFileName (const char *) |
Set value in a member variable in a derived class. | |
virtual void | SetModalityToReturn (const char *) |
Set value in a member variable in a derived class. | |
virtual void | SetCommaSeparatePatientName (OFBool) |
Set value in a member variable in a derived class. | |
virtual void | SetReturnPatientUidInAccessionNumber (OFBool) |
Set value in a member variable in a derived class. | |
Protected Member Functions | |
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 (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 (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 (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 | IsValidDateOrDateRange (const char *value) |
This function checks if the given value is a valid date or date range. | |
OFBool | IsValidDate (const char *value) |
This function checks if the given date value is valid. | |
OFBool | IsValidTimeOrTimeRange (const char *value) |
This function checks if the given value is a valid time or time range. | |
OFBool | IsValidTime (const char *value) |
This function checks if the given time value is valid. | |
char * | GetStringValue (DcmElement *elem) |
This function returns the value of the given DICOM string element (attribute). | |
void | DumpMessage (const char *message) |
This function dumps the given information on a stream. | |
char * | DeleteLeadingAndTrailingBlanks (const char *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=. | |
Protected Attributes | |
OFBool | failOnInvalidQuery |
indicates if the application shall fail on an invalid C-Find RQ message | |
char * | calledApplicationEntityTitle |
called AE title | |
OFBool | verbose |
indicates if the application is run in verbose mode or not | |
OFBool | debug |
indicates if the application is run in debug mode or not | |
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 | |
OFConsole * | logStream |
stream logging information will be dumped to | |
OFBool | noSequenceExpansion |
indicates if the expansion of empty sequence attributes shall take place or not | |
WlmReturnedCharacterSetType | returnedCharacterSet |
returned character set type | |
DcmDataset ** | matchingDatasets |
array of matching datasets | |
unsigned long | numOfMatchingDatasets |
number of array fields | |
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 |
Definition at line 52 of file wlds.h.
|
Protected undefined copy-constructor. Shall never be called.
|
|
This function handles a C-CANCEL Request during the processing of a C-FIND Request. In detail, in case there are still matching datasets captured in member variable matchingDatasets, memory for these datasets (and the array itself) is freed and all pointers are set to NULL.
|
|
This function checks if the passed matching key's value only uses characters which are part of its data type's character repertoire. Note that at the moment this application supports the following matching key attributes: DCM_ScheduledProcedureStepSequence (0040,0100) SQ R 1 > DCM_ScheduledStationAETitle (0040,0001) AE R 1 > DCM_ScheduledProcedureStepStartDate (0040,0002) DA R 1 > DCM_ScheduledProcedureStepStartTime (0040,0003) TM R 1 > DCM_Modality (0008,0060) CS R 1 > DCM_ScheduledPerformingPhysiciansName (0040,0006) PN R 2 DCM_PatientsName (0010,0010) PN R 1 DCM_PatientID (0010,0020) LO R 1 DCM_AccessionNumber (0008,0050) SH O 2 DCM_RequestedProcedureID (0040,1001) SH O 1 DCM_ReferringPhysiciansName (0008,0090) PN O 2 DCM_PatientsSex (0010,0040) CS O 2 DCM_RequestingPhysician (0032,1032) PN O 2 DCM_AdmissionID (0038,0010) LO O 2 DCM_RequestedProcedurePriority (0040,1003) SH O 2 DCM_PatientsBirthDate (0010,0030) DA O 2 As a result, the following data types have to be supported in this function: AE, DA, TM, CS, PN, LO and SH. For the correct specification of these datatypes 2003 DICOM standard, part 5, section 6.2, table 6.2-1.
|
|
This function checks if a non-sequence element in the search mask has a correct format. Note that if the current element is an unsupported element, the entire element will be re- moved from the search mask, since unsupported elements shall not be returned to the caller.
|
|
This function checks if the search mask has a correct format. It returns OFTrue if this is the case, OFFalse if this is not the case.
|
|
This function checks if a sequence element in the search mask has a correct format. Note that if the current element is an unsupported element, the entire element will be re- moved from the search mask, since unsupported elements shall not be returned to the caller. Moreover, in case the sequence element in the search mask is supported but empty, this function will expand the sequence element by inserting all required attributes into that sequence.
|
|
This function removes all elements from the given DcmDataset object.
|
|
Connects to the data source.
Implemented in WlmDataSourceFileSystem. |
|
This function returns OFTrue if all the characters of s can be found in the string charset.
|
|
This function makes a copy of value without leading and trailing blanks.
|
|
Disconnects from the data source.
Implemented in WlmDataSourceFileSystem. |
|
This function dumps the given information on a stream. Used for dumping information in normal, debug and verbose mode.
|
|
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. This implementation accounts for this specification by inserting a corresponding single item with all required attributes into such emtpy sequences. This function performs the insertion of the required item and attributes.
|
|
Get value from member variable.
|
|
Get value from member variable.
|
|
This function returns the value of the given DICOM string element (attribute). If the element does not refer to a string attribute, a NULL pointer is returned.
|
|
Checks if the called application entity title is supported. This function expects that the called application entity title was made available for this instance through WlmDataSource::SetCalledApplicationEntityTitle(). If this is not the case, OFFalse will be returned.
Implemented in WlmDataSourceFileSystem. |
|
This function checks if the given element refers to an attribute which is a supported matching key attribute. If this is the case OFTrue is returned, else OFFalse. Currently, the following attributes are supported as matching keys: DCM_ScheduledProcedureStepSequence (0040,0100) SQ R 1 > DCM_ScheduledStationAETitle (0040,0001) AE R 1 > DCM_ScheduledProcedureStepStartDate (0040,0002) DA R 1 > DCM_ScheduledProcedureStepStartTime (0040,0003) TM R 1 > DCM_Modality (0008,0060) CS R 1 > DCM_ScheduledPerformingPhysiciansName (0040,0006) PN R 2 DCM_PatientsName (0010,0010) PN R 1 DCM_PatientID (0010,0020) LO R 1 DCM_AccessionNumber (0008,0050) SH O 2 DCM_RequestedProcedureID (0040,1001) SH O 1 DCM_ReferringPhysiciansName (0008,0090) PN O 2 DCM_PatientsSex (0010,0040) CS O 2 DCM_RequestingPhysician (0032,1032) PN O 2 DCM_AdmissionID (0038,0010) LO O 2 DCM_RequestedProcedurePriority (0040,1003) SH O 2 DCM_PatientsBirthDate (0010,0030) DA O 2
|
|
This function checks if the given element refers to an attribute which is a supported return key attribute. If this is the case OFTrue is returned, else OFFalse. Currently, the following attributes are supported as return keys: DCM_SpecificCharacterSet (0008,0005) CS O 1 DCM_ScheduledProcedureStepSequence (0040,0100) SQ R 1 > DCM_ScheduledStationAETitle (0040,0001) AE R 1 > DCM_ScheduledProcedureStepStartDate (0040,0002) DA R 1 > DCM_ScheduledProcedureStepStartTime (0040,0003) TM R 1 > DCM_Modality (0008,0060) CS R 1 > DCM_ScheduledPerformingPhysiciansName (0040,0006) PN R 2 > DCM_ScheduledProcedureStepDescription (0040,0007) LO O 1 > DCM_ScheduledStationName (0040,0010) SH O 2 > DCM_ScheduledProcedureStepLocation (0040,0011) SH O 2 > DCM_PreMedication (0040,0012) LO O 2 > DCM_ScheduledProcedureStepID (0040,0009) SH O 1 > DCM_RequestedContrastAgent (0032,1070) LO O 2 > DCM_CommentsOnTheScheduledProcedureStep (0040,0400) LT O 3 (from the Scheduled Procedure Step Module) > DCM_ScheduledProcedureStepStatus (0040,0020) CS O 3 > DCM_ScheduledProcedureStepEndDate (0040,0004) DA O 3 (from the Scheduled Procedure Step Module) > DCM_ScheduledProcedureStepEndTime (0040,0005) TM O 3 (from the Scheduled Procedure Step Module) > DCM_ScheduledProtocolCodeSequence (0040,0008) SQ O 1C > > DCM_CodeValue (0008,0100) SH O 1C > > DCM_CodingSchemeVersion (0008,0103) SH O 3 > > DCM_CodingSchemeDesignator (0008,0102) SH O 1C > > DCM_CodeMeaning (0008,0104) LO O 3 DCM_RequestedProcedureID (0040,1001) SH O 1 DCM_RequestedProcedureDescription (0032,1060) LO O 1 DCM_StudyInstanceUID (0020,000d) UI O 1 DCM_ReferencedStudySequence (0008,1110) SQ O 2 > DCM_ReferencedSOPClassUID (0008,1150) UI O 1 > DCM_ReferencedSOPInstanceUID (0008,1155) UI O 1 DCM_RequestedProcedurePriority (0040,1003) SH O 2 DCM_PatientTransportArrangements (0040,1004) LO O 2 DCM_AccessionNumber (0008,0050) SH O 2 DCM_RequestingPhysician (0032,1032) PN O 2 DCM_ReferringPhysiciansName (0008,0090) PN O 2 DCM_AdmissionID (0038,0010) LO O 2 DCM_CurrentPatientLocation (0038,0300) LO O 2 DCM_ReferencedPatientSequence (0008,1120) SQ O 2 > DCM_ReferencedSOPClassUID (0008,1150) UI O 2 > DCM_ReferencedSOPInstanceUID (0008,1155) UI O 2 DCM_PatientsName (0010,0010) PN R 1 DCM_PatientID (0010,0020) LO R 1 DCM_PatientsBirthDate (0010,0030) DA O 2 DCM_PatientsSex (0010,0040) CS O 2 DCM_PatientsWeight (0010,1030) DS O 2 DCM_ConfidentialityConstraintOnPatientDataDescription (0040,3001) LO O 2 DCM_PatientState (0038,0500) LO O 2 DCM_PregnancyStatus (0010,21c0) US O 2 DCM_MedicalAlerts (0010,2000) LO O 2 DCM_ContrastAllergies (0010,2110) LO O 2 DCM_SpecialNeeds (0038,0050) LO O 2 DCM_NamesOfIntendedRecipientsOfResults (0040,1010) PN O 3 (from the Requested Procedure Module) DCM_InstitutionName (0008,0080) LO O 3 (from the Visit Identification Module) DCM_AdmittingDiagnosesDescription (0008,1080) LO O 3 (from the Visit Admission Module) DCM_OtherPatientIDs (0010,1000) LO O 3 (from the Patient Identification Module) DCM_PatientsSize (0010,1020) DS O 3 (from the Patient Demographic Module) DCM_EthnicGroup (0010,2160) SH O 3 (from the Patient Demographic Module) DCM_PatientComments (0010,4000) LT O 3 (from the Patient Demographic Module) DCM_AdditionalPatientHistory (0010,21b0) LT O 3 (from the Patient Medical Module) DCM_LastMenstrualDate (0010,21d0) DA O 3 (from the Patient Medical Module) DCM_InstitutionAddress (0008,0081) ST O 3 (from the Visit Identification Module) DCM_OtherPatientNames (0010,1001) PN O 3 (from the Patient Identification Module) DCM_PatientsAddress (0010,1040) LO O 3 (from the Patient Demographic Module) DCM_MilitaryRank (0010,1080) LO O 3 (from the Patient Demographic Module) DCM_SmokingStatus (0010,21a0) CS O 3 (from the Patient Medical Module) DCM_RequestingService (0032,1033) LO O 3 (from the Imaging Service Request Module) DCM_IssuerOfAdmissionID (0038,0011) LO O 3 (from the Visit Identification Module) DCM_ReasonForTheRequestedProcedure (0040,1002) LO O 3 (from the Requested Procedure Module) DCM_RequestedProcedureLocation (0040,1005) LO O 3 (from the Requested Procedure Module) DCM_ConfidentialityCode (0040,1008) LO O 3 (from the Requested Procedure Module) DCM_ReportingPriority (0040,1009) SH O 3 (from the Requested Procedure Module) DCM_RequestedProcedureComments (0040,1400) LT O 3 (from the Requested Procedure Module) DCM_RETIRED_ReasonForTheImagingServiceRequest (0040,2001) LO O 3 (from the Imaging Service Request Module) DCM_IssueDateOfImagingServiceRequest (0040,2004) DA O 3 (from the Imaging Service Request Module) DCM_IssueTimeOfImagingServiceRequest (0040,2005) TM O 3 (from the Imaging Service Request Module) DCM_OrderEnteredBy (0040,2008) PN O 3 (from the Imaging Service Request Module) DCM_OrderEnterersLocation (0040,2009) SH O 3 (from the Imaging Service Request Module) DCM_OrderCallbackPhoneNumber (0040,2010) SH O 3 (from the Imaging Service Request Module) DCM_PlacerOrderNumberImagingServiceRequest (0040,2016) LO O 3 (from the Imaging Service Request Module) DCM_FillerOrderNumberImagingServiceRequest (0040,2017) LO O 3 (from the Imaging Service Request Module) DCM_ImagingServiceRequestComments (0040,2400) LT O 3 (from the Imaging Service Request Module) DCM_RequestedProcedureCodeSequence (0032,1064) SQ O 3 (from the Requested Procedure Module) > DCM_CodeValue (0008,0100) SH O 1C > DCM_CodingSchemeVersion (0008,0103) SH O 3 > DCM_CodingSchemeDesignator (0008,0102) SH O 1C > DCM_CodeMeaning (0008,0104) LO O 3
|
|
This function checks if the given date value is valid. According to the 2001 DICOM standard, part 5, Table 6.2-1, a date value is either in format "yyyymmdd" or in format "yyyy.mm.dd", so that e.g. "19840822" represents August 22, 1984.
|
|
This function checks if the given value is a valid date or date range.
|
|
This function checks if the given time value is valid. According to the 2001 DICOM standard, part 5, Table 6.2-1, a time value is either in format "hhmmss.fracxx" or "hh:mm:ss.fracxx" where
|
|
This function checks if the given value is a valid time or time range.
|
|
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.
Implemented in WlmDataSourceFileSystem. |
|
Protected undefined operator=. Shall never be called.
|
|
This function inserts the tag of an error element into the corresponding member variable, without checking if it is already contained in this variable.
|
|
This function inserts the tag of an offending element into the corresponding member variable, unless this tag is already con- tained in this variable.
|
|
Set value in member variable.
|
|
Set value in member variable.
|
|
Set value in member variable.
|
|
Set value in a member variable in a derived class.
|
|
Set value in member variable.
|
|
Set value in a member variable.
|
|
Set value in member variable.
|
|
Set value in a member variable in a derived class.
|
|
Set value in member variable.
|
|
Based on the search mask which was passed, this function determines all the records in the database which match the values of matching key attributes in the search mask. For each matching record, a DcmDataset structure is generated which will later be returned to the SCU as a result of query. The DcmDataset structures for all matching records will be stored in the protected member variable matchingDatasets.
Implemented in WlmDataSourceFileSystem. |