Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Query MWL from PACS, Store output in MySQL database

478 views
Skip to first unread message

Jeff Hines

unread,
Jul 9, 2008, 4:29:08 PM7/9/08
to
Good afternoon,

I am looking to write a web-based interface for our PACS systems
Modality worklist- basically querying the current data in the worklist
for +/- a few hours, and store this output into a MySQL database.

I have been fiddling around a bit with the program: FINDSCU, and am
able to query, based on a date range, and see output at the command
line, however, I am not exactly clear where to begin to capture this
data and store into a Database table.

I understand that FINDSCU may not be the source I should use to feed
the database, but I am looking for any assistance in getting moving.

Or, if this is done in another application already, point me at that
too!

thanks much!

Jeff

Joerg Riesmeier

unread,
Jul 10, 2008, 5:26:10 AM7/10/08
to
Jeff,

> I have been fiddling around a bit with the program: FINDSCU, and am
> able to query, based on a date range, and see output at the command
> line, however, I am not exactly clear where to begin to capture this
> data and store into a Database table.

maybe, you find it useful to extract the C-FIND responses and store them
as DICOM files using the findscu option --extract (-X).

Regards,
Jörg Riesmeier

Jeff

unread,
Jul 10, 2008, 3:59:40 PM7/10/08
to
Hi Jorg,

I still want to be able to store the data into a Database somehow- is
there a way to direct the output of the FINDSCU to pass it to command
line MySQL commands, or would it be possible to query a Modality
Worklist directly from PHP code using sockets?

I am grasping at straws im sure :)

thanks!

josh.co...@gmail.com

unread,
Jul 11, 2008, 5:42:51 PM7/11/08
to
Several years ago I developed a test GUI application which was based
off of FindSCU and had the following logic:

- Collect query parameters from the user.
- Generate a findscu command line based off of user specified options.
- Run findscu (with the -X option) and have it dump all responses as
individual DICOM files.
- Open all the resulting files, extract information of interest from
each file, populate a listbox.

You can probably do all of these things and just populate your
database instead of a listbox.

There are several ways to approach the topic of putting DICOM into a
database as well... You could:
a) Identify fields of interest and create a schema based around them.
Mine the values of interest from the response files and populate the
schema.
b) Put UNC paths to the response files in the database.
c) Convert the DICOM objects to XML (DCMTK has a utility for this as
well) and put an XML blob in the database for each response.

Just out of curiosity, what problem are you trying to solve by
creating another copy of the data that already exists in the MWL SCP?

- Josh Coleman

> > Jörg Riesmeier- Hide quoted text -
>
> - Show quoted text -

Jeff

unread,
Jul 13, 2008, 1:55:18 PM7/13/08
to
Hi Josh,

I have several PHP applications that we've developed in house that
could benefit from a MWL for ease of data entry and corrections. I
wish to have a "copy" of MWL or be able to access MWL from my
applications. I'm totally new to the idea of DICOM programming and
slowly learning that the data cannot be accessed by simple socket
programming :)

> > - Show quoted text -- Hide quoted text -

eric....@gmail.com

unread,
Jul 28, 2008, 10:36:19 AM7/28/08
to

Hi,

It sounds like you are using PHP. If the data that comes from the find
is formated, you should be able to parse it, and then form SQL
statements from it. (Perl is a good candidate for that kind of work.)

In PHP I think you can do something like

$result = exec ("/PATH/TO/FINDSCU");

and then parse $result.

if you are using dcmtk, which is written in C++ I think, you would not
be able to call the libraries directly unless your program is in C++.
However if you use Java, dcm4che is written in Java, and you can use
the DICOM libraries directly. I have done that with success, though
not for using MWL.

0 new messages