首页    期刊浏览 2024年09月20日 星期五
登录注册

文章基本信息

  • 标题:An open-source implementation for RFC3881.
  • 作者:Vulpe, Anca Diana ; Vulpe, Marius Cristian ; Sisak, Francisc
  • 期刊名称:Annals of DAAAM & Proceedings
  • 印刷版ISSN:1726-9679
  • 出版年度:2008
  • 期号:January
  • 语种:English
  • 出版社:DAAAM International Vienna
  • 摘要:The majority of the HASes have to keep records of the operations they perform preferably in a format that is standardized (like the XML schema definition format proposed in RFC3881 and in DICOM's Supplement 95). Additional requirements in this respect can also be found in IHE's "IT Infrastructure Technical Framework--Integration profiles".
  • 关键词:Computer software industry;Open source software;Public software;Software industry

An open-source implementation for RFC3881.


Vulpe, Anca Diana ; Vulpe, Marius Cristian ; Sisak, Francisc 等


1. MOTIVATION

The majority of the HASes have to keep records of the operations they perform preferably in a format that is standardized (like the XML schema definition format proposed in RFC3881 and in DICOM's Supplement 95). Additional requirements in this respect can also be found in IHE's "IT Infrastructure Technical Framework--Integration profiles".

However in most of the cases this information has a low-business value for the system that produces it and therefore is not in the focus of a particular HAS provider.

As a consequence, the people working for and HAS solution need a possibility to keep these records in a secure and reliable way with a minimal effort (the used API must be easy to use). Additionally, keeping this records must not affect dramatically the performance of the HAS. Interoperability is also in focus as systems from different vendors can be integrated at the same enterprise site. Here is a short analysis of the minimum features:

* Secure. Because of the privacy laws (e.g. HIPPA in United States), the audit messages' content in HAS applications are confidential. Therefore all the records must be end-to-end (from the generation to the storage) secured (either by restricting the access to them or by encrypting the transmitted information).

* Reliable. This implies 0% information loss (every audit message must be stored).

* Fast. The used API must not affect significantly the application's performance. By analogy with the logging systems, recording an audit event should have a minimal performance impact.

* Easy to use. The API's used for audit message generation must be easy to use by the HAS developers and integration/configuration of the API must be minimal.

* Interoperable. The best way to explain this feature is a quote from (http://www.ihe-europe.net/links/): "IHE in Europe promotes interoperability between IT systems in European health care. With over 280 autonomous regions, achieving a seamless flow of relevant information between IT systems of different healthcare systems presents unique challenges for cross-border interoperability."

* Cheap. Using the system must imply cost reductions for the customer. When referring to cost decreases two areas are in focus: maintenance costs and licensing costs.

2. AVAILABLE IMPLEMENTATIONS

The only (and best-known) publicly-available implementation for the mentioned RFC is dcm4che (http://www.dcm4che.org/). This is "a collection of open source applications and utilities for the healthcare enterprise".

Analyzing this implementation one may observe that the focus is the implementation of the DICOM standard and not the auditing part, so this is not a purely dedicated implementation for the generation, storage and management of healthcare audit information.

3. TARGET ARCHITECTURE

Figure 1 (AMS Architecture) presents the components available within the proposed Audit Management System. Essentially the system has two main development areas:

1) Client API that represents what typically an HAS developer would use.

2) AMS server representing the system that manages the client-produced audit messages.

[FIGURE 1 OMITTED]

3.1 Client API

The HAS developer should have the possibility to easily integrate an AMS client API into his application. This API allows the user to:

* Create an audit message with all the parameters.

* Fire audit message events.

* Register/deregister listeners for audit messages occurrence.

The component that handles the audit message (AM) is the listener. Some possible behaviors for AM listeners are:

* Storing temporarily the audit message on the HAS application; this has the advantage that is very fast and the used libraries (dependencies) can be very small.

* Connecting to the AMS server and submitting the AM in a transactional manner; this is a heavyweight solution and can affect the performance of the HAS.

* Connecting to the AMS in an asynchronous and nontransactional manner; this is also a heavyweight solution as it might involve more dependencies for the AMS connection.

Note that other client API solutions can be imagined and the important aspect is that the user must use the same interface, but the application integrator has the freedom to switch the implementations based on the application's requirements.

Preferably, the client API will have more "flavors" (i.e. it can be composed out of Java API, C++ API, .Net API etc.). As an example, the Java API can use:

* JAXB for verification against XSD, marshaling and unmarshaling of XML-formatted audit messages. This ensures compatibility with the JEE standards documented in JSR 222 and described in the Java EE 5 Tutorial.

* Different audit message listeners (used for flat/compressed/encrypted file storage, EJB client, MDB client, Web service client), depending on the functionality the user needs.

The development of such client APIs will be done using a "per request" model and can vary a lot, depending on the platform where it will be used. As an example a tomograph can have an embedded library that generates RFC3881-compliant audit messages.

3.2 AMS Server

The idea of the AMS server is to have a centralized management solution, instead of disparate deployments (i.e. each HAS to have its own audit message system).

The main components of the AMS system are:

1. Protocol adapter is the part that helps gathering the audit messages from various/heterogeneous systems. Normally each type of client API has an associated protocol adapter. For example, one protocol adapter can use SCP protocol to collect the audit messages generated by several equipments while another protocol adapter can provide an end point for online EJB client.

2. Persistence layer facilitates keeping the audit messages in a format that allows easy handling of the information (e.g. generating reports, searching for certain audit messages, etc.). It also facilitates the discrimination between the different HAS applications/enterprise sites because it is not yet very well defined, from an architectural perspective, if the EIS persisting the audit messages will be a centralized one or different customer's data will be stored in different EISes.

3. Enterprise information system is the repository for audit messages. It might be composed of several sub-repositories (e.g. depending on the enterprise site ID). For easiness in data handling, in most of the cases the EIS is represented by a relational database.

4. Administrative interface is the interface that allows configuring the AMS server, viewing the audit information or generating reports. It is composed from two parts: an API used to connect to the persistence layer (that can also be used to develop applications) and a visual component in web format. One important scenario for the administrative interface is the capability of the user to track the evolution of a patient from the hospitalization moment until the exit from hospital (this might include both medical care operations and financial operations).

Technically, the plan for AMS server is to have it implemented as a mix between a standard Java application and a JEE application running on UNIX and using some opensource application server (like JBoss). However the main technical focus on the AMS will be the ease in maintenance and the portability (especially in the EIS area).

3.2 Backup System

Because all the audit messages have to be kept for archiving purposes, a backup system has to be provided. This system must keep the audit messages in the raw, unaltered format.

As an example, the backup system can be realized as a data storage machine equipped (as example) with Solaris and ZFS, as a huge amount of data can be stored (order of terabytes).

4. FURTHER STEPS

Currently the team working for this project has set up the architecture and started the first iterations regarding the client API.

The very next steps are to:

* create a basic end-to-end solution, as presented in the target architecture;

* find an adequate licensing model (as a business friendly model is intended, probably the Apache license will be selected);

* choose the most convenient public hosting service (Sourceforge or Google are the considered options).

5. CONCLUSION

As the healthcare enterprises rely more and more on computing systems, the necessity of tracking the activities in such enterprises increases. There are many examples of hazard cases where patients suffered because of malfunctioning in some hardware or software, therefore some laws force the HASes vendors to provide the mentioned tracking capability.

Even if some parts of the legislation are clear, currently the healthcare IT industry is divided by various standards produced by many heterogeneous working groups (sometimes organized on geopolitical basis).

One alternative to get one of these standards the most used standard in industry is to provide publicly available reference implementations. Historically, some good examples are TCP/IP standards (versus OSI stack) or the APIs standardized using the Java Specification Request.

The current project has as a main goal the promotion of the RFC3881, by providing an open-source implementation that can be easily integrated into commercial products.

6. REFERENCES

ACC; HIMMS; RSNA, (2007). IT Infrastructure Technical Framework, vol 1., pp. 56-65 (http://www.ihe.net/Technical_Framework/upload/IHE_ITI _TF_4_0_Vol1_FT_2007_08_22.pdf)

DICOM Standards Committee, Working Group 14, (2004). Digital Imaging and Communications in Medicine, Supplement 95: Audit Trail Messages, (pp. 2-10) (ftp://medical.nema.org/medical/dicom/supps/sup95_fz.pdf)

DCM4CHE (http://www.dcm4che.org/)

Jendrock, E.; Ball, J.; Carson, D.; Evans, I.; Fordin, S. & Haase, K. (2007). Java(TM) EE 5 Tutorial, Prentice Hall PTR, 978-0321490292.

RFC3881, (2004). (http://www.faqs.org/rfcs/rfc3881.html)
联系我们|关于我们|网站声明
国家哲学社会科学文献中心版权所有