Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Using Print to PACS to Digitize Your Legacy Medical Imaging Systems

3 Feb 2014 1  
This white paper will show how LEADTOOLS Print to PACS can be used as a final cog in your digital migration and aid in the completion of Meaningful Use requirements.

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

Introduction

Incorporating a digital Picture Archival and Communication System (PACS) is a must-have in today’s healthcare industry for many reasons. Besides the obvious benefits to productivity, speed, collaboration, automation and so on, there are many government grants and subsidies that providers can qualify for by showing Meaningful Use. The majority of requirements of doing so revolve around digitally capturing and presenting healthcare-related information to improve ease of use and accessibility for individuals, families and healthcare workers.

However, when an organization invests in technologies such as PACS and EHR (Electronic Health Records), it is rarely a fast or complete migration due to the time, cost and training required to do so. Therefore, many providers are left using multiple legacy systems, and can appear worse off than they were before. Integrating these legacy systems and modalities is actually easier and more cost effective than you may think. This white paper will show how LEADTOOLS Print to PACS can be used as a final cog in your digital migration and aid in the completion of Meaningful Use requirements.

Benefits and Uses of Print to PACS

Many healthcare enterprises that start down the path of digital migration find themselves stunted by sticker shock. When this happens, they will upgrade what they can in piecemeal, leaving in their wake a convolution of multiple disparate systems within the organization. This is the primary scenario for which Print to PACS is intended.

At its core, Print to PACS is a virtual printer driver that can capture the output from any application with printing abilities and subsequently convert and store that information into an existing PACS. The primary benefit of this is that your legacy system or modality can now comply with Meaningful Use standards and keep your organization on the best path for success. Secondarily, it will save you an incredible amount in both upgrade and operating expenses since your older devices can continue being used and various materials and supplies are no longer necessary.

LEADTOOLS Print to PACS in Action

LEADTOOLS helped pioneer and elevate the concept of Print to PACS through its decades of experience in developing imaging software development toolkits. It includes everything you need to add Print to PACS to your organization’s workflow. A fully-functional sample application with source code is included and can be OEM-branded for use as-is, or can be broken down and custom-tailored to your solution.

Print to PACS can be integrated in many ways, but the typical workflow includes the same basic steps: image/data capture, query/retrieve patient information, and store DICOM data set to PACS as Secondary Capture or Encapulated PDF.

Stream _emfStream;

void printer_EmfEvent(object sender, EmfEventArgs e)
{
   _emfStream = e.Stream; // Save globally to put in DICOM Data Set later
}

The print data is captured as an Encapsulated Meta File (EMF) and stored as a Stream object. Using EMF allows it to be converted to a raster image or in the case of a print job with text, converted and saved to a searchable PDF. The next step is to Query the MWL and retrieve any necessary information to properly correlate the print capture to the appropriate patient/study/series.

public void QueryMWL(DicomScp server, string strAccessionNumber)
{
   // Create MWL Query
   ModalityWorklistQuery query = new ModalityWorklistQuery();
   query.AccessionNumber = strAccessionNumber;

   // Query the server and receive the DICOM Data Set in the DicomMatchDelegate
   QueryRetrieveScu client = new QueryRetrieveScu();
   client.Find<ModalityWorklistQuery, ModalityWorklistResult>(server, query, 
      new DicomMatchDelegate<ModalityWorklistResult>(FoundMatch));
}
private void FoundMatch(ModalityWorklistResult result, DicomDataSet ds)
{
   // Do something with the results.  Most likely there are multiple results,
   // so one solution is to display them to the user to select and modify.
}

Now that you have the patient information you can generate the DICOM data set with the required information and add the image(s).

public DicomDataSet CreateDataSet(ModalityWorklistResult result)
{
   DicomDataSet ds;

   // Set the data set modality (e.g. Secondary Capture or Encapsulated PDF)
   DicomElement dElement = ds.FindFirstElement(null, DicomTag.Modality, true);
   if (ds.InformationClass == DicomClassType.EncapsulatedPdfStorage)
   {
      ds.SetValue(dElement, "DOC");
      SetEncapsulatedDocument(_emfStream);
   }
   else
   {
      ds.SetValue(dElement, "OT"); // Other
      SetImage(_emfStream);
   }

   // Set values relating to the study and patient
   if (result.AccessionNumber != null)
   {
      dElement = ds.FindFirstElement(null, DicomTag.AccessionNumber, true);
      ds.SetValue(dElement, result.AccessionNumber);
   }

   if (result.PatientName != null)
   {
      dElement = ds.FindFirstElement(null, DicomTag.PatientName, true);
      ds.SetValue(dElement, result.PatientName.FullDicomEncoded);
   }

   // Continue like above for each value in the ModalityWorklistResult 
   // and other elements required by DICOM Specifications...

   // Add the image or encapsulated document to the data set...
         
   return ds;
}

Finally, the DICOM data set can be sent to the PACS for storage.

public void PushToPACS(DicomScp server, DicomDataSet ds)
{
   cstore = new StoreScu();
   cstore.Store(server, ds);
}

By implementing these steps in some form or fashion, any legacy system can be tied into your PACS and digitize your entire practice. From the front desk, to your physician’s private office, and even down into your server room, Print to PACS can be successfully employed for a flexible and dynamic solution.

With a clearer picture of how Print to PACS works and the benefits it will garner for your enterprise, let’s take a closer look at two of the most popular scenarios for which LEADTOOLS Print to PACS is being used today.

Automated Server Listener

One of the best implementation strategies for Print to PACS is to use LEADTOOLS Network Virtual Printing. Greater simplicity is achieved through a centralized server and streamlined workflow. With the right setup, this can even be done in a completely hands-off, automated fashion. For example, by setting the name of the print job to include the Accession Number, the service can parse that value from the print job and query the MWL Service or PACS (Query Service) to get the existing patient information with which to construct the new DICOM data set and store it back to the PACS. This allows any user operating a legacy, non-digital system within the network to utilize this central print service and have the output automatically transformed into a DICOM object and stored to PACS along with the study.

In the same way that one can utilize a Virtual Network Printer, LEADTOOLS Print to PACS can be extended to healthcare partners outside your physical network by hosting it as an IPP (Internet Print Protocol) printer. Therefore, any authorized user can add the printer to his workstation and utilize your Print to PACS solution from anywhere they have Internet access.

Alternatively, one can use additional technologies such as Forms Recognition, OCR and Barcodes to extract the information from the scanned or printed documents. LEADTOOLS has enough imaging technology at its disposal to make automated network Print to PACS a viable solution for virtually any legacy environment.

Comprehensive Data Capture Workstation

LEADTOOLS also takes Print to PACS a step further by adding in additional image and data capture options alongside the foundational virtual printing technology. This comprehensive workstation application is an indispensible tool for office staff and physicians since it can load files from disk, scan documents with TWAIN and WIA, and even take screen captures and store any of these image acquisitions into a central PACS.

Conclusion

The flexibility and range of features offered by LEADTOOLS Print to PACS makes it a perfect solution for any legacy system whether it is a patient information database, film-based imaging modality and more. With it you can fully reap the benefits of digitizing your healthcare services and provide higher quality healthcare to a greater number of patients, which will have positive impacts stretching far beyond your business and into the entire community you serve.

Download the Full Print to PACS Example

You can download the fully functional demo which includes the features discussed above. To run this example you will need the following:

  • LEADTOOLS free 60 day evaluation
  • Visual Studio 2008 or later
  • Browse to the LEADTOOLS Examples folder (e.g. C:\LEADTOOLS 18\Examples\) where you can find example projects for this and many more technologies in LEADTOOLS

Support

Need help getting this sample up and going? Contact our support team for free technical support! For pricing or licensing questions, you can contact our sales team (sales@leadtools.com) or call us at 704-332-5532.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here