Tuesday, August 20, 2013

Overview of the Direct Project C# Reference Implementation

The Direct Project aims to replace mail and fax as the current standard of communication between providers and organizations. It has been adopted by ONC as a requirement in 2014 Edition Meaningful Use measures 170.314(b)(1) & (2) and (e)(1). "The Direct Project specifies a simple, secure, scalable, standards-based way for participants to send encrypted health information directly to known, trusted recipients over the internet."

Reference implementations

The Reference Implementation Workgroup provides two out-of-the-box solutions for implementing Direct  in your organization or extended as part of an EMR. The Reference Implementation, sometimes known as the Bare Metal, project consists of two projects, one based on C# and the other Java. They are both offered as installable products or as extendable open source. For this overview I will be discussing the C# version. The Reference Implementation Workgroup can be found on the Direct Wiki under the Reference Implementation.

The C# Reference Implementation runs on Windows Server 2008 R2. It uses SQL Server, IIS, and SMTP Server. It is written mostly using .Net 3.5. It includes all of the components necessary to create a basic reference setup including domain and email address management, as well as a DNS server. 

Running the Reference Implementation installer and choosing the Gateway Install will install all of the software components necessary for a complete Direct implementation on a single machine. It will include sample domains, email address, trust anchors, and certificates. The gateway installer will not send direct messages out onto the internet without some configuration; but properly configured, can do so, serving as a complete HISP in a box or as an extension of EMR software.

Installing the C# Reference Implementation

Instructions for preparing a machine for Direct can be found here and instructions for installing the binaries are located here. If you are still new to the Direct Project, you are probably going to perform a "Developer Install". This installs all of the components on a single machine, but more importantly it will provide you with two example domains preloaded with a trust anchors, certificates and email addresses.
The basic install procedure is mostly straightforward with one caveat. The Developer Gateway Install assumes you are using SqlExpress. My suggestion is to install SqlExpress for this purpose or contact DHIT for assistance.

Where to go for help

Dynamic Health IT, Inc. can help with questions about the install process and how Direct fits into your Meaningful Use Certification. The Reference Implementation developers monitor the following message boards and seem very responsive if you have done your research - Reference Implementation Support Page and CSharp Setup Support.

1 comment:

  1. >> RE "They are both offered as installable products or as extendable open source."

    NB: While the Direct Project C# .NET RI codebase certainly qualifies as "extendable open source", and the C# RI Web page (http://wiki.directproject.org/CSharp+Reference+Implementation) describes the C# RI as "quality code that can credibly be used in the real world", stakeholders in a current project that I'm involved in have recently been told by reliable sources (individuals close to the Direct Project) that the existing RI code is intended as and should only be used as a "reference implementation for developing new implementations" and not extended for use in production.

    Is anyone aware of anything at all that might support the idea that the C# Reference Implementation code (or certain parts of it) may be "not ready for prime time"?