Functions | |
HRESULT | IDCXREQ::Query ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR sopClassUid, [in] IDCXOBJ *obj, [out, retval] IDCXOBJIterator **i) |
send a DICOM C-FIND command More... | |
HRESULT | IDCXREQ::Move ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR targetAETitle, [in] IDCXOBJ *query) |
Send a DICOM C-MOVE command. This is a C-MOVE SCU. The Query Model that is used for the C-MOVE command is Patient Root Q/R Move Information Model. More... | |
HRESULT | IDCXREQ::MovePatient ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR targetAETitle, [in] BSTR patientName, [in] BSTR patientID) |
Retrieve images of a specific patint. More... | |
HRESULT | IDCXREQ::MoveStudy ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR targetAETitle, [in] BSTR patientID, [in] BSTR studyInstanceUID) |
Retrieve images of a specific study. More... | |
HRESULT | IDCXREQ::MoveSeries ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR targetAETitle, [in] BSTR patientID, [in] BSTR studyInstanceUID, [in] BSTR seriesInstanceUID) |
Retrieve images of a specific series. More... | |
HRESULT | IDCXREQ::MoveInstances ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR targetAETitle, [in] BSTR patientID, [in] BSTR studyInstanceUID, [in] BSTR seriesInstanceUID, [in] BSTR instanceUIDs) |
Retrieve images of a specific instance or instances. More... | |
HRESULT | IDCXREQ::QueryPatients ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR patientName, [in] BSTR patientId, [out, retval] IDCXOBJIterator **i) |
Make a Patients Query. More... | |
HRESULT | IDCXREQ::QueryStudies ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR patientName, [in] BSTR patientId, [in] BSTR studyInstanceUID, [out, retval] IDCXOBJIterator **i) |
Make a Studies Query. More... | |
HRESULT | IDCXREQ::QuerySeries ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR patientName, [in] BSTR patientId, [in] BSTR studyInstanceUID, [in] BSTR seriesInstanceUID, [out, retval] IDCXOBJIterator **i) |
Make a Series Query. More... | |
HRESULT | IDCXREQ::QueryInstances ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR patientName, [in] BSTR patientId, [in] BSTR studyInstanceUID, [in] BSTR seriesInstanceUID, [in] BSTR sopInstanceUID, [out, retval] IDCXOBJIterator **i) |
Make a Instances Query. More... | |
HRESULT | IDCXREQ::MoveAndStore ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short called_port, [in] BSTR targetAETitle, [in] IDCXOBJ *query, [in] unsigned short calling_port, [in] IDCXACC *inAssocAccepter) |
Send a DICOM C-MOVE command and handle incomming association on provided port. More... | |
HRESULT | rzdcxLib::IDCXREQEvents::OnQueryResponseRecieved (IDCXOBJ *obj) |
Called by Query after recieving a query result. More... | |
HRESULT | rzdcxLib::IDCXREQEvents::OnMoveResponseRecieved (VARIANT_BOOL succeeded) |
Called by all the Move methods whenever a C-MOVE response is recieved. More... | |
HRESULT | rzdcxLib::IDCXREQEvents::OnMoveResponseRecievedEx (unsigned short status, unsigned short remaining, unsigned short completed, unsigned short failed, unsigned short warning) |
HRESULT | rzdcxLib::IDCXREQEvents::OnGetResponseRecieved (unsigned short status, unsigned short remaining, unsigned short completed, unsigned short failed, unsigned short warning) |
HRESULT | rzdcxLib::IDCXREQEvents::OnStoreSetup (BSTR *filename) |
HRESULT IDCXREQ::Move | ( | [in] BSTR | callingTitle, |
[in] BSTR | calledTitle, | ||
[in] BSTR | host, | ||
[in] unsigned short | port, | ||
[in] BSTR | targetAETitle, | ||
[in] IDCXOBJ * | query | ||
) |
Send a DICOM C-MOVE command. This is a C-MOVE SCU. The Query Model that is used for the C-MOVE command is Patient Root Q/R Move Information Model.
callingTitle | Calling AE Title (us) |
calledTitle | Called AE Title (them) |
host | Host name or IP address (their) |
port | The port number they are listening to, |
targetAETitle | The AE Title that we want the SCP to send the files to |
query | The query object (identifier) |
HRESULT IDCXREQ::MoveAndStore | ( | [in] BSTR | callingTitle, |
[in] BSTR | calledTitle, | ||
[in] BSTR | host, | ||
[in] unsigned short | called_port, | ||
[in] BSTR | targetAETitle, | ||
[in] IDCXOBJ * | query, | ||
[in] unsigned short | calling_port, | ||
[in] IDCXACC * | inAssocAccepter | ||
) |
Send a DICOM C-MOVE command and handle incomming association on provided port.
This is a C-MOVE SCU combined with a C-STORE SCP in a single command. It handles both the control channel of the outgoing C-MOVE request and the data channel of the incomming C-STORE commands on a separate association. The Query Model that is used for the C-MOVE command is Patient Root Q/R Move Information Model. The calling port must not be taked by another accepter. Be careful not to run simultaneous MoveAndStore command with the same port number.
callingTitle | Calling AE Title (us) |
calledTitle | Called AE Title (them) |
host | Host name or IP address (their) |
called_port | The port number they are listening to, |
targetAETitle | The AE Title that we want the SCP to send the files to |
query | The query object (identifier) |
inAssocAccepter | The port that we are going to listen on for incomming connections An accepter to handle the incomming association |
HRESULT IDCXREQ::MoveInstances | ( | [in] BSTR | callingTitle, |
[in] BSTR | calledTitle, | ||
[in] BSTR | host, | ||
[in] unsigned short | port, | ||
[in] BSTR | targetAETitle, | ||
[in] BSTR | patientID, | ||
[in] BSTR | studyInstanceUID, | ||
[in] BSTR | seriesInstanceUID, | ||
[in] BSTR | instanceUIDs | ||
) |
Retrieve images of a specific instance or instances.
This method is the same as the Move method where the query object holds instance, series, study and patient attributes. Multiple instance uid's should be separated by ()
callingTitle | Calling AE Title (us) |
calledTitle | Called AE Title (them) |
host | Host name or IP address (their) |
port | The port number they are listening to, |
targetAETitle | The AE Title that we want the SCP to send the files to |
patientID | The patient ID |
studyInstanceUID | The Study Instance UID |
seriesInstanceUID | The Series Instance UID |
instanceUIDs | The SOP Instance UID(s) |
HRESULT IDCXREQ::MovePatient | ( | [in] BSTR | callingTitle, |
[in] BSTR | calledTitle, | ||
[in] BSTR | host, | ||
[in] unsigned short | port, | ||
[in] BSTR | targetAETitle, | ||
[in] BSTR | patientName, | ||
[in] BSTR | patientID | ||
) |
Retrieve images of a specific patint.
This method is the same as the Move method where the query object holds patient name and id. Multi-value () and/or wildchar matching (* and ?) may be used.
callingTitle | Calling AE Title (us) |
calledTitle | Called AE Title (them) |
host | Host name or IP address (their) |
port | The port number they are listening to, |
targetAETitle | The AE Title that we want the SCP to send the files to |
patientName | A matching string for patient name attribute |
patientID | A matching string for patient id attribute |
HRESULT IDCXREQ::MoveSeries | ( | [in] BSTR | callingTitle, |
[in] BSTR | calledTitle, | ||
[in] BSTR | host, | ||
[in] unsigned short | port, | ||
[in] BSTR | targetAETitle, | ||
[in] BSTR | patientID, | ||
[in] BSTR | studyInstanceUID, | ||
[in] BSTR | seriesInstanceUID | ||
) |
Retrieve images of a specific series.
This method is the same as the Move method where the query object holds series, study and patient attributes. Multi-value () and/or wildchar matching (* and ?) may be used.
callingTitle | Calling AE Title (us) |
calledTitle | Called AE Title (them) |
host | Host name or IP address (their) |
port | The port number they are listening to, |
targetAETitle | The AE Title that we want the SCP to send the files to |
patientID | The patient ID |
studyInstanceUID | The Study Instance UID |
seriesInstanceUID | The Series Instance UID |
HRESULT IDCXREQ::MoveStudy | ( | [in] BSTR | callingTitle, |
[in] BSTR | calledTitle, | ||
[in] BSTR | host, | ||
[in] unsigned short | port, | ||
[in] BSTR | targetAETitle, | ||
[in] BSTR | patientID, | ||
[in] BSTR | studyInstanceUID | ||
) |
Retrieve images of a specific study.
This method is the same as the Move method where the query object holds study and patient attributes.
callingTitle | Calling AE Title (us) |
calledTitle | Called AE Title (them) |
host | Host name or IP address (their) |
port | The port number they are listening to, |
targetAETitle | The AE Title that we want the SCP to send the files to |
patientID | The patient ID |
studyInstanceUID | The Study Instance UID |
HRESULT rzdcxLib::IDCXREQEvents::OnGetResponseRecieved | ( | unsigned short | status, |
unsigned short | remaining, | ||
unsigned short | completed, | ||
unsigned short | failed, | ||
unsigned short | warning | ||
) |
This event is fired whenever a C-GET response is reeived.
status | The status from the response. 0x0000 is success, 0xFF00 and 0xFF01 are pending, 0x0001 and 0xBxxx are warning, 0xAxxx and 0xCxxx are Failure, 0xFE00 is cancel |
remaining | Remaining sub operations, relevant only when status is pending |
completed | completed sub operations, relevant only when status is pending |
failed | Failed sub operations, relevant only when status is pending |
warning | Warning sub operations, relevant only when status is pending |
HRESULT rzdcxLib::IDCXREQEvents::OnMoveResponseRecieved | ( | VARIANT_BOOL | succeeded | ) |
Called by all the Move methods whenever a C-MOVE response is recieved.
HRESULT rzdcxLib::IDCXREQEvents::OnMoveResponseRecievedEx | ( | unsigned short | status, |
unsigned short | remaining, | ||
unsigned short | completed, | ||
unsigned short | failed, | ||
unsigned short | warning | ||
) |
Extended version of OnMoveResponseRecieved that adds the move response counters
status | The status from the response. 0x0000 is success, 0xFF00 and 0xFF01 are pending, 0x0001 and 0xBxxx are warning, 0xAxxx and 0xCxxx are Failure, 0xFE00 is cancel |
remaining | Remaining sub operations, relevant only when status is pending |
completed | completed sub operations, relevant only when status is pending |
failed | Failed sub operations, relevant only when status is pending |
warning | Warning sub operations, relevant only when status is pending |
HRESULT rzdcxLib::IDCXREQEvents::OnQueryResponseRecieved | ( | IDCXOBJ * | obj | ) |
Called by Query after recieving a query result.
This event will be fired one time for each query result Using this event is an alternative to using the IDCXOBJIterator returned by the Query method. To stop a running C-FIND command by sending a C-CANCEL command to the SCP return a failed HRESULT (e.g. E_ABORT) status from the callback implementation or simply throw an exception.
HRESULT rzdcxLib::IDCXREQEvents::OnStoreSetup | ( | BSTR * | filename | ) |
This is a copy from IDCXACCEvents where we have a C-STORE SCP. Because we addred the C-GET SCU to DCXREQ we have to provide now the store setup and store done connection points. It would be nice to unify these events into one interface shared by DCXACC and DCXREQ. If return NULL (or zero length) and DCXAPP::EnableInMemoryStorageSCP is set to true The object will be stored in memory and can be collected using DCXREQ::TakeStoredObject
HRESULT IDCXREQ::Query | ( | [in] BSTR | callingTitle, |
[in] BSTR | calledTitle, | ||
[in] BSTR | host, | ||
[in] unsigned short | port, | ||
[in] BSTR | sopClassUid, | ||
[in] IDCXOBJ * | obj, | ||
[out, retval] IDCXOBJIterator ** | i | ||
) |
send a DICOM C-FIND command
This method performs a DICOM Query to a remote DICOM System (Archive, PACS etc.). The query matching attributes should be set in the Query Object parameter as well as the query level (DICOM Tag (0008,00052)). For more information about how to set the query elements see the DICOM Standard Part 4 in the seqtion describing DICOM Q/R Service. Alternativly you can use the simpler query methods:
callingTitle | Calling AE Title (us) |
calledTitle | Called AE Title (them) |
host | Host name or IP address (their) |
port | The port number they are listening to |
sopClassUid | The query model to use |
obj | The query object |
i | The results |
HRESULT IDCXREQ::QueryInstances | ( | [in] BSTR | callingTitle, |
[in] BSTR | calledTitle, | ||
[in] BSTR | host, | ||
[in] unsigned short | port, | ||
[in] BSTR | patientName, | ||
[in] BSTR | patientId, | ||
[in] BSTR | studyInstanceUID, | ||
[in] BSTR | seriesInstanceUID, | ||
[in] BSTR | sopInstanceUID, | ||
[out, retval] IDCXOBJIterator ** | i | ||
) |
Make a Instances Query.
Not implemented! This methods sends a C-FIND command. The Query is made using the Study Root Q/R Model with Query Level "IMAGE". The most common use of this query is to verify that all the instances of a study or series were retreived before or after a C-MOVE command. The more detailed Query method can be used if control over the query model and level is required.
callingTitle | Calling AE Title (us) |
calledTitle | Called AE Title (them) |
host | Host name or IP address (their) |
port | The port number they are listening to |
patientName | The Patient Name to look for. Wildcards (* and ?) and multiple values separated by (/) can be used though not all Q/R SCP's will allow that. |
patientId | The patient ID to look for. Wildcards (* and ?) and multiple values separated by (/) can be used though not all Q/R SCP's will allow that. |
studyInstanceUID | The Study Instance UID to look for. |
seriesInstanceUID | Use a 0 length string to get all Patient Studies. Multi value matching can be made using the (/) character. The Series Instance UID to look for. |
sopInstanceUID | Use a 0 length string to get all Series. Multi value matching can be made using the (/) character. The SOP Instance UID to look for. |
i | Use a 0 length string to get all Instances. Multi value matching can be made using the (/) character. The results |
HRESULT IDCXREQ::QueryPatients | ( | [in] BSTR | callingTitle, |
[in] BSTR | calledTitle, | ||
[in] BSTR | host, | ||
[in] unsigned short | port, | ||
[in] BSTR | patientName, | ||
[in] BSTR | patientId, | ||
[out, retval] IDCXOBJIterator ** | i | ||
) |
Make a Patients Query.
This methods sends a C-FIND command. The Query is made using the Patient Root Q/R Model with Query Level "PATIENT". The matching attributes are:
callingTitle | Calling AE Title (us) |
calledTitle | Called AE Title (them) |
host | Host name or IP address (their) |
port | The port number they are listening to |
patientName | The Patient Name to look for. Wildcards (* and ?) and multiple values separated by (/) can be used though not all Q/R SCP's will allow that. |
patientId | The patient ID to look for. Wildcards (* and ?) and multiple values separated by (/) can be used though not all Q/R SCP's will allow that. |
i | The results |
HRESULT IDCXREQ::QuerySeries | ( | [in] BSTR | callingTitle, |
[in] BSTR | calledTitle, | ||
[in] BSTR | host, | ||
[in] unsigned short | port, | ||
[in] BSTR | patientName, | ||
[in] BSTR | patientId, | ||
[in] BSTR | studyInstanceUID, | ||
[in] BSTR | seriesInstanceUID, | ||
[out, retval] IDCXOBJIterator ** | i | ||
) |
Make a Series Query.
Not implemented! This methods sends a C-FIND command. The Query is made using the Study Root Q/R Model with Query Level "SERIES". The more detailed Query method can be used if control over the query model and level is required.
callingTitle | Calling AE Title (us) |
calledTitle | Called AE Title (them) |
host | Host name or IP address (their) |
port | The port number they are listening to |
patientName | The Patient Name to look for. Wildcards (* and ?) and multiple values separated by (/) can be used though not all Q/R SCP's will allow that. |
patientId | The patient ID to look for. Wildcards (* and ?) and multiple values separated by (/) can be used though not all Q/R SCP's will allow that. |
studyInstanceUID | The Study Instance UID to look for. Use a 0 length string to get all Patient Studies. Multi value matching can be made using the (/) character. |
seriesInstanceUID | The Series Instance UID to look for. |
i | Use a 0 length string to get all Patient Studies. Multi value matching can be made using the (/) character. The results |
HRESULT IDCXREQ::QueryStudies | ( | [in] BSTR | callingTitle, |
[in] BSTR | calledTitle, | ||
[in] BSTR | host, | ||
[in] unsigned short | port, | ||
[in] BSTR | patientName, | ||
[in] BSTR | patientId, | ||
[in] BSTR | studyInstanceUID, | ||
[out, retval] IDCXOBJIterator ** | i | ||
) |
Make a Studies Query.
Not implemented! This methods sends a C-FIND command. The Query is made using the Study Root Q/R Model with Query Level "STUDY". It usefull for example to get the list of studies for a specific patient. The more detailed Query method can be used if control over the query model and level is required.
callingTitle | Calling AE Title (us) |
calledTitle | Called AE Title (them) |
host | Host name or IP address (their) |
port | The port number they are listening to |
patientName | The Patient Name to look for. Wildcards (* and ?) and multiple values separated by (/) can be used though not all Q/R SCP's will allow that. |
patientId | The patient ID to look for. Wildcards (* and ?) and multiple values separated by (/) can be used though not all Q/R SCP's will allow that. |
studyInstanceUID | The study instance UID to look for. Use a 0 length string to get all Patient Studies. Multi value matching can be made using the (/) character. |
i | The results |