While the specification concludes with claims particularly pointing out and distinctly claiming the subject matter of the present invention, it is believed that the invention will be better understood from the following description when taken in conjunction with the accompanying drawings, wherein:
The following is a detailed description of the preferred embodiments of the invention, reference being made to the drawings in which the same reference numerals identify the same elements of structure in each of the several figures.
The present description is directed in particular to elements forming part of, or cooperating more directly with, the apparatus in accordance with the invention. It is to be understood that elements not specifically shown or described may take various forms well known to those skilled in the art.
The apparatus and method of the present invention can employ a DICOM communications network environment having various types of systems at different levels of conformance to the DICOM standard. To maintain communications and manage CAD workflow within such a system, an Adapter Service is provided. The Adapter Service isolates the CAD algorithm server from involvement with data protocols and interface handling and provides a configurable infrastructure for use with equipment and systems at various DICOM conformance levels. In this way, the Adapter Service acts as a type of gateway, data conditioner, and “traffic coordinator” that handles protocol transactions between systems and data transfer to and from storage and peripheral devices. A generic infrastructure allows the Adapter Service to be configured for both short-term legacy systems support of proprietary and legacy DICOM systems and longer-term IHE-compliant systems support, at varying levels of compliance.
Referring to the block diagram of
Adapter service 30 can support a plurality of data sources as image capture devices 12 for obtaining patient data files, such as digitized mammography film, for example. Proprietary system image data may be provided as digitized data from film, in a particular file format, such as TIFF (Tagged Image File Format). To obtain the image data from the sending image capture device 12, adapter service 30 maintains a communication process with the sending system. In one embodiment, characteristic of proprietary system and legacy DICOM environments, image data files are automatically sent, or “pushed” to the network address of the adapter service 30 computer platform. In other embodiments, more characteristic of the IHE-compliant system, a general-purpose work-list service is used to coordinate file transfer, as described in more detail subsequently. Adapter service 30 utilizes storage device 14 of CAD apparatus 40 for storage of the received input image data.
When adapter service 30 has received and stored the input image data from image capture devices 12, it notifies algorithm server 20, for example, using a message queue 24. In one embodiment, message queue 24 is implemented using a Windows MSMQ (Microsoft Message Queue) message utility. Algorithm server 20 responds, in turn, by obtaining the image data from storage device 14 and operating upon the data to provide the necessary content for a structured report (SR) or other suitable data object containing the CAD contribution. Adapter service 30 is informed of status and progress, again using message queue 24. The generated content from CAD analysis is stored at storage device 14 and can be provided to the various output systems, as previously described.
Workflow Interaction with Legacy Systems As described in the background section, some existing systems (termed proprietary or legacy DICOM systems in this disclosure) are not IHE-compliant, so that a particular site may have some mixture of non-compliant and partially compliant devices. The block diagram of
In this model, input image data is considered to be “pushed” to CAD apparatus 40, meaning that adapter service 30 is directly addressed by the sending image capture device 12 or other system. This data “push” model best suits earlier environments that may be partially DICOM-compliant and proprietary interfaces. Workflow steps themselves are shown with relation to the corresponding structures of CAD apparatus 40 to which they apply and are numbered with a preceding “A”.
In step A1, adapter service 30 receives data sent from image capture device 12 or other system acting as a data source. Adapter service 30 is configured to operate as a DICOM storage class provider. Storage requests for images of type MG (for mammography) are supported.
In step A2, images are received and stored to a storage device 14a in an appropriate format, such as DICOM Part-10 files (e.g., as described in Part 10 of the DICOM standard). These files are considered to be volatile, that is, for deletion once CAD processing is completed. Files for the same patient are associated together as a case.
In step A3, information about the case is stored in a local status database on a storage device 14b. This can be a procedure log, for example. Stored information can include a case identifier, various processing events, and location of the temporarily stored images.
In step A4, a job request is generated and sent to CAD input message queue 24. The job request includes the case identifier, type of file format (such as DICOM Part-10) and location of temporary source files and other information about the case. CAD processing is then initiated by algorithm server 20.
In step A5, at the completion of CAD processing at algorithm server 20, a Job Response message from algorithm server 20 is transmitted to adapter service 30. This includes job disposition (success/failure) and the case identifier.
In step A6, adapter service 30 uses the returned case identifier to retrieve case information stored in the status database of storage device 14b.
In step A7, instructions for output processing for images from the particular source are obtained and followed. Output conversion is performed, conditioning the resulting data from algorithm server 20, such as by conversion of saved DICOM Part-10 images and CAD reports (in XML format in one example embodiment). In one embodiment, output conversion provides DICOM structured reports, overlay planes, and secondary capture renditions, for example.
In step A8, the generated results for the case are sent to the appropriate data sinks for jobs from the data source. Transfer of this data is performed using a DICOM storage class, with adapter service 30 as a user.
In step A9, temporary data is cleaned up. This can employ a data cleanup service operating from the shared procedure log, for example. Storage devices 14a, 14b can be a single storage device, such as a hard disk drive, or can be separate devices, with either a local or a remote network connection.
Workflow Interaction with IHE-conforming Systems The apparatus and methods of the present invention are designed for workflow interaction with both legacy DICOM systems, as was described with reference to
In step B1, adapter service 30 obtains information from the General-Purpose Work-List (GP-WL) generated externally from CAD apparatus 40. If there is an appropriate item in the list for mammography CAD processing, adapter service 30 claims that item.
In step B2, adapter service 30 sends a post-processing procedure step started message to the configured provider of the DICOM general-purpose performed procedure step service (GP-PPS). This initiates transfer of the patient information to CAD apparatus 40.
In step B3, adapter service 30 stores information on the case to be processed. This information is stored in a status database, here called the procedure log. The information stored in the procedure log includes identifying data about the case, such as its study and series UID according to the DICOM standard and can include information on various processing events and on how to locate the data.
In step B4, a CAD job request message is generated and sent to algorithm server 20 using the appropriate message queue 24. In the job request message, the data type is set to DICOM sorted, with information conveyed about how to retrieve the images, such as the identity of the archive and identifying data address. CAD processing is then initiated by algorithm server 20.
In step B5, at the completion of CAD processing at algorithm server 20, a Job Response message is sent through the appropriate message queue 24 from algorithm server 20. The Job Response message includes the job disposition (success/failure) and the case identifier.
In step B6, adapter service 30 uses the returned case identifier in order to retrieve case information from the local status database.
In step B7, instructions for output processing for images from the particular source are obtained and followed. Output conversion is performed, conditioning the resulting data from algorithm server 20, such as by such as conversion of saved DICOM Part-10 images and CAD reports (in XML format in one example embodiment). In one embodiment, output conversion provides DICOM structured reports, overlay planes, and secondary capture renditions, possibly also including the source data, for example.
In step B8, the generated results for the case are sent to the appropriate data sinks for jobs from the data source. Transfer of this data is performed using a DICOM storage class, with adapter service 30 as a user.
In step B9, a procedure step completed message is returned to the configured provider of the DICOM general-purpose performed procedure step service.
Input and Output Case Processing For mammography CAD and similar systems, multiple images from the same patient can be handled as a single case. This can apply if the originating system is a proprietary or legacy system or is DICOM-compliant.
Referring to
It will be appreciated that the needed conditioning of the patient image data can vary depending on the image data source. Thus, a number of different input adapters 34 could be available within adapter service 30, each input adapter 34 performing a suitable conditioning operation on the input data from a particular type of networked input imaging apparatus. For example, an input imaging apparatus, such as a scanner from a particular manufacturer, may provide a patient image as grayscale data in a proprietary data representation format. Algorithm server 20 can process files that are in TIFF format. A specific input adapter 34 can then be provided for use with this particular interface. Adapter service 30 would then have several input adapters 34 available and would designate the appropriate input adapter 34 based on the input image type and source.
In the embodiment shown in
In the IHE-conforming environment, input adapter 34 is configured as a “listener”, listening for messages on a configured message queue that provides the worklist, as described above with reference to
Structure of Adapter Service 30
Referring to
In an initialization step C1, a number of instances of input adapters 34a, labeled as DcmStore functions, are created. Input adapter 34a is a software module configured to accept image data for a patient that is transmitted from an external device. For example, each input adapter 34a can be assigned a port number in a TCP/IP network environment.
When input data is received, step C2 is executed, in which input adapter 34a stores the images for the case. Typically, images are stored in DICOM Part-10 file format. In step C3, information about the case is stored in a procedure log.
In step C4, controller 32 submits the case to input message queue 24 for processing by algorithm server 20 (
In step C5, the result of the processing is sent using the appropriate output adapter 36. Each output adapter 36 is a software module that conditions the data it receives as input to provide output data in the proper format. In the example of
In step C6, configuration information for adapter service 30 is obtained from an application configuration file and from referenced configuration files, as needed.
Referring now to
In step D1, a plurality of modular input adapters 34b are created. In one embodiment, these are Performed Procedure receive entities, conforming with the DICOM model. Each input adapter 34b is configured to monitor a post-processing general procedure work-list provider and to claim appropriate entries in the worklist as these appear. When input adapter 34b begins to transfer patient image data, it notifies the remote system that is configured to act as the performed procedure step manager using a performed procedure step started message.
In step D2, information about the case is stored, and can subsequently be retrieved, using the procedure log.
In step D3, controller 32 submits the case to input message queue 24 for processing by algorithm server 20 (
In step D4, the result of the processing is conditioned, such as by format conversion or by some type of data structuring, and sent using the appropriate output adapter 36. In the example of
In step D5, an output adapter 36 sends a DICOM performed procedure step completed message to the configured performed procedure step manager (a remote system).
In step D6, configuration information for adapter service 30 is obtained from an application configuration file and from referenced configuration files, as needed.
For the procedures described with reference to
The resultant output data from algorithm server 20 can be combined with other provided data, such as patient metadata obtained from the networked system that originated the image data or from some other system. The structured report that is formed conforms to the DICOM standard, even where conversion of data formats is needed. For example, in one embodiment, XML data generated from algorithm server 20 is converted to some other data format by adapter service 30. In the embodiments of
Configuration of Adapter Service 30 As is shown in
In one embodiment, adapter service 30 is implemented as a Windows service in Microsoft Windows™. As such, adapter service 30 is configured to start up on system start, with no need for a user to be logged in. The service control manager can be set to restart adapter service 30 on failure. In this model, adapter service 30 is always running and available to process DICOM requests. Adapter service 30 can be provided as part of the same workstation that executes algorithm server 20 or provided on a separate hardware platform.
As appreciated from the description related to
An additional input type for adapter service 30 relates to messages from the service control manager (SCM). Standard SCM messages include the ability to start, stop, pause, and resume a service, and also a means for conveying other signals to a service. These messages need to be handled safely with other input messages.
In one embodiment, each input or output adapter 34, 36 runs on a separate thread. Interfaces between the converters and the main control loop are constrained to a small set of methods, with those appropriately serialized in the main loop, so that the activities of the various adapters are handled in a thread-safe manner. A feature to facilitate this is the abstraction of a “controller” class, which embeds the logic for coordinating the requests from multiple sources. Adapters (and other input sources) communicate using a small number of public interfaces. Each interface generates a message that is placed on an internal queue within controller 32, and indicates to the main loop to “wake up” and process. On return from its blocking wait, the main loop checks the internal queue, and if there are messages there, it processes those. This provides a means for adapters and other external sources such as messages from the algorithm server and from the SCM to be handled reliably.
In one embodiment, adapter service 30 is provided with a configuration utility that allows adapter service 30 to be properly set up at each site. This tool is for systems integration personnel rather than for the end user.
An adapter setup window 52, such as shown in
Accordingly, a system has been described for processing medical data related to a patient has algorithm server 20 for processing input medical data to form output medical data. Adapter service 30 provides the input medical data for use by algorithm server 20. Adapter service 30 has controller 32 for managing interaction with algorithm server 20 and input module 34a configured to communicate with an input apparatus over a network connection for obtaining patient data from the apparatus. Input module 34a conditions the patient data to form the input medical data for algorithm server 20. Adapter service 30 has output module 36 for accepting the output medical data from algorithm server 20 and conditioning the output medical data according to a data interchange standard. Storage device 14 stores the input medical data obtained by the adapter service.
The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the scope of the invention as described above, and as noted in the appended claims, by a person of ordinary skill in the art without departing from the scope of the invention. For example, adapter service 30 can be implemented in a variety of different ways on a number of different types of computer workstation platform or dedicated logic processors. Various arrangements are possible for transfer and storage of received and processed patient data. Various networking schemes could be used.
While the systems solution of the present invention would be particularly well suited for providing DICOM interchange standard interaction support for a CAD mammography system, this same solution can be used more generally for the support of other types of systems that obtain and process medical data of various types as well as patient images. The solution of the present invention has particular value for systems that obtain data in one format, process that data according to a set of algorithms, and provide modified output data for use by other systems. While the description focuses on the solution of problems for DICOM interaction, these same solutions can be applied more generally to network environments where system interaction is standards-driven.
Thus, what is provided is an apparatus and method for managing transfer, manipulation, and storage operations on patient data files in a DICOM standards environment.
Reference is made to commonly assigned application U.S. Ser. No. ______ (Kodak Docket No. 92189), entitled “DIGITAL MAMMOGRAPHY SYSTEM WITH IMPROVED WORKFLOW” by Zhang et al, filed on common date herewith, incorporated herein by reference. Reference is made to commonly assigned application U.S. Ser. No. 11/284,570 (Kodak Docket No. 89138), entitled “COMPUTER AIDED DETECTION OF MICROCALCIFICATION CLUSTERS” by Zhang et al., filed on Nov. 22, 2005, based on Provisional Patent Application No. 60/631,154, filed on Jan. 4, 2005, incorporated herein by reference. Reference is made to commonly assigned application U.S. Ser. No. 11/285,231 (Kodak Docket No. 89139), entitled “AUTOMATIC IMAGE CONTRAST IN COMPUTER-AIDED DIAGNOSIS” by Zhang et al., filed on Nov. 22, 2005, based on Provisional Patent Application No. 60/631,156, filed on Nov. 24, 2004, incorporated herein by reference.