The Web Service interface of LEADTOOLS HTML5 Medical Web Viewer Framework enables developers to quickly build centralized, high quality electronic image distribution and management systems. It can complement existing PACS or internal databases and allow distributed systems to securely collaborate using standard Web Services.
By using the framework a developer (who could have limited knowledge of web hosting and Web service development), can easily host Web services allowing applications to download images, manage users, access patient records and perform real-time queries on the server from virtually anywhere on the Internet.
The modular, add-in-capable design allows developers to easily customize an implementation to suit specific database architecture and quickly adapt to customer requirements. This flexible design allows developers to further customize the system by implementing specific information exchanges using the provided Web services (i.e. uploading and downloading any document or binary data, add additional information during queries etc.)
This is the foundation for creating a Web-based image viewer for life-science-related systems. Providing developers with the capability to create add-ins facilitates multi-phase deployment when building large systems.
The WCF Services of the LEADTOOLS HTML5 Medical Web Viewer Framework is composed of seven endpoints. Each endpoint has a unique address (URI and transport protocol), contracts (interfaces and data types) and bindings (communication patterns).
Each endpoint is represented by an add-in. An add-in is an implementation of a service contract that can be added or removed from the WCF service, enabling custom implementation of the add-in by a developer.
The following system architecture diagram shows the components within the server side of the framework, as well as the workflow between the components within the framework and to the image archive and database server outside of the framework.
Archive Query Add-in Provides an implementation for querying patient, study, series and DICOM instances from the local archive server.
PACS Query Add-in Provides an implementation for querying patient, study, series and DICOM instances from remote PACS server.
Object Retrieve Add-in Provides an implementation for retrieving DICOM instance information (tags), DICOM image and compressed images from the local archive.
Object Download Add-in Provides an implementation for downloading/moving images from remote PACS into the local PACS server
Authentication Add-in Provides an implementation for managing user authentication and authorization to access server resources.
Patient Access Rights Add-in Provides an implementation for managing user access to patient information
Annotation Add-in Provides an implementation to save and load annotations associated with DICOM instances and series.
The LEADTOOLS HTML5 Web Viewer Framework provides a default implementation for all of the add-ins. Developers can easily customize any add-in to integrate with their own system environment. Customizing an add-in can be accomplished by inheriting from the default add-in, directly modifying the provided source code of the add-in, or by completely writing a custom implementation for the add-in by implementing the add-in interface and configuring the WCF service to use the new customized add-in.
The LEADTOOLS HTML5 Web Viewer Framework security model allows clients to securely communicate with the Web server. The framework supports all security options provided by WCF REST Services. These can be configured by an administrator without the need to write any extra code.
In addition to secure communications, the LEADTOOLS HTML5 Medical Web Viewer Framework provides and implements management model security. A user and a patient record access management system is built on top of the framework. This allows full management of user accounts, server resource permissions and access to patient records remotely from different locations on the Web.
Auditing events is also supported by the framework and can be configured to log messages directly to the windows event log or to any type of custom logging system.
Please Note: The HTML5 Web Viewer Framework allows a single system to host multiple add-ins for the same Web service, allowing developers to create multiple implementations to interact with different backend systems. Because the framework allows each add-in to be represented by a separate contract (interface and address) developers can specify different addresses to the add-in even though they are hosted on the WCF service.
LEADTOOLS developers can change the Archive Query add-in to interface with a PACS database or storage system. The following is a sample for implementing a new Archive Query add-in and integrating it with the WCF service.
public class MyCustomQueryAddIn : IQueryAddin
{
#region IQueryAddin Members
public InstanceData[] FindInstances(string userName, QueryOptions options, ExtraOptions extraOptions)
{
throw new NotImplementedException();
}
public PatientData[] FindPatients(string userName, QueryOptions options, ExtraOptions extraOptions)
{
throw new NotImplementedException();
}
public SeriesData[] FindSeries(string userName, QueryOptions options, ExtraOptions extraOptions)
{
throw new NotImplementedException();
}
public StudyData[] FindStudies(string userName, QueryOptions options, ExtraOptions extraOptions)
{
throw new NotImplementedException();
}
#endregion
}
The Query add-in interface contains an extraOptions
parameter for each method used by the WCF REST service contract. This is intended to provide custom information for the user specific add-in implementation. Now, the add-in has been created, integrate it with the HTML5 Medical Web Viewer WCF REST Service. This is performed by altering the WCF REST service add-in factory.
public IQueryAddin CreateQueryAddin()
{
return new MyCustomQueryAddIn();
}