High level PACS Interface

The PACS Framework is an extensible programming framework for creating DICOM messaging applications (server / client). The add-in architecture allows the developer to easily add additional support without having to change the core server implementation. In addition to DICOM message handling, the developer can add support for a service log, AE title management, message notification, etc.

For available tutorials, refer to Tutorials.

In addition, the LEADTOOLS Medical Modality Worklist WCF service contains methods for manipulating entities in a modality worklist database. Use the provided PACS Framework Server add-in (Leadtools.AddIn.Broker.Host) to host a LEADTOOLS Modality Worklist WCF service.

The following sections describe how to use the PACS Framework:

  1. Components

  2. Startup Process

  3. Installing and Managing Servers

  4. Server Administrative Interface

1. Components

The PACS Framework consists of the following components:

2. Startup Process

  1. Service start: This runs the Windows Service that is implementing the DICOM Server.
  2. License Check: Checks to see whether the user has provided the correct MedicalServer unlock code. If the correct code has not been provided the service will not run.
  3. Initialize addins: The service loads all DLLs in the Server working directory. The server checks for all the add-in interfaces. If a valid interface is found, the add-in is registered with the server service.
  4. Start Server: If for some reason the server cannot start (duplicate port, IP unavailable, etc.), the service will not run.
  5. Register Base Services: Some services are required for the service to function correctly. This process provides default implementations for the following services:

    • IDicomRequest: Provides a default implementation for add-ins to issue a DICOM request. This implementation should rarely be overridden
    • IAETitle: Provides a default implementation for managing DICOM AETitles.
  6. Start Administrative Interface: This interface allows an application to communicate with the running service. The interface is implemented via named pipes.

At this point the server is up and ready to begin receiving DICOM connections. The server takes the presentation context information from the registered add-ins and validates it with the Associate request sent from a client. When a valid DICOM message is sent to the server, it checks to see if the specific presentation context pair is registered by an add-in. If the context pair is registered, the add-in is called to process the DICOM Message. Server processing for that client does not continue until the add-in has finished processing or the timeout has been reached for add-in processing.

3. Installing and Managing Servers The PACS Framework includes a sample Service Management application that allows you to install and manage DICOM Server Services. The Service Management applications uses the DICOM Service Admin SDK to manage the PACS Framework services. The following figure shows the LEADTOOLS DICOM Service Manager:

servicemanager.jpg

The icons listed under the Add-in Options display all the available options for installed add-ins. Double click on the icon option to display a settings dialog.

Click the Add DICOM Server Service button (

iconadddicomservice.jpg
) to open the Add New Server dialog. The Add New Server dialog Settings tab is shown in the following figure:

addnewserver.jpg

The Add New Server dialog has the following fields:

Settings Tab

The Add New Server dialog Advanced tab is shown in the following figure:

addnewserveradvanced.jpg

The Add New Server dialog Advanced tab has the following fields:

Advanced Tab

After a service is created a new directory will be created in the application folder based on the AE Title. For instance, if your application directory is c:\Dicom Servers\ and you created a service with the AE Title "STORE"; the new directory will be c:\Dicom Servers\STORE\. This directory contains all of the settings for the new server. The following directories are:

AE Titles Tab This tab allows you to add/edit AE title information. The server register IAeTitle implementation will be responsible for handling the Service Manager requests. The following actions are available with the AE Titles Tab.

Client Tab Use this tab to view connect client information. The following information is available for each connected client:

The following actions are available for the client:

4. Server Administrative Interface Each server implements an administrative interface that allows an application to perform actions against it. Use the interface to add AE titles and retrieve client information.

The administrative interface is implemented using named pipes.

A named pipe is a named, one-way or duplex pipe for communication between the pipe server and one or more pipe clients. All instances of a named pipe share the same pipe name, but each instance has its own buffers and handles, and provides a separate conduit for client/server communication. The use of instances enables multiple pipe clients to use the same named pipe simultaneously.

The name of the created pipe is the AE Title of the server created in the DICOM Server Service. The created server service uses duplex pipes for messages and notifications. The PACS Framework provides a ServiceMessage class that encapsulates the details needed for sending messages to and receiving messages from the DICOM server service. The following message/notifications are support by the server services:

ServiceMessage Class

Messages

Notifications

Programming With PACS Client Framework

Dicom Add-in

Dicom Scu

Dicom Server

Related Topics

Programming with PACS Server Framework
Programming with PACS Client Framework
PACS Framework Client-Server Diagram
Print Management SCU
Demos and Add-ins
Help Version 21.0.2021.11.1
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Imaging, Medical, and Document

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.