CONNECT is an open source software solution that supports health information exchange โ both locally and at the national level. CONNECT uses Nationwide Health Information Network standards and governance to make sure that health information exchanges are compatible with other exchanges being set up throughout the country.
This software solution was initially developed by federal agencies to support their health-related missions, but it is now available to all organizations and can be used to help set up health information exchanges and share data using nationally-recognized interoperability standards.
CONNECT can be used to:
- Set up a health information exchange within an organization
- Tie a health information exchange into a regional network of health information exchanges using Nationwide Health Information Network standards
By advancing the adoption of interoperable health IT systems and health information exchanges, the country will better be able to achieve the goal of making sure all citizens have electronic health records by 2014. Health data will be able to follow a patient across the street or across the country.
Three primary elements make up the CONNECT solution:
-
The Core Services Gateway provides the ability to locate patients at other organizations, request and receive documents associated with the patient, and record these transactions for subsequent auditing by patients and others. Other features include mechanisms for authenticating network participants, formulating and evaluating authorizations for the release of medical information, and honoring consumer preferences for sharing their information. The Nationwide Health Information Network Interface specifications are implemented within this component.
-
The Enterprise Service Components provide default implementations of many critical enterprise components required to support electronic health information exchange, including a Master Patient Index (MPI), XDS.b Document Registry and Repository, Authorization Policy Engine, Consumer Preferences Manager, HIPAA-compliant Audit Log and others. Implementers of CONNECT are free to adopt the components or use their own existing software for these purposes.
-
The Universal Client Framework contains a set of applications that can be adapted to quickly create an edge system, and be used as a reference system, and/or can be used as a test and demonstration system for the gateway solution. This makes it possible to innovate on top of the existing CONNECT platform.
- 4.0 planned Febuary 2013
- 3.3 released March 2012
For more information, about CONNECT's history see HISTORY.md
###Prerequisites Before you get started, you'll need the following installed and set up:
###Building from source To build all CONNECT modules from source, run:
Windows Users:
$ set MAVEN_OPTS='-Xmx5000m -XX:MaxPermSize=1024m'
OSX / Linux Users:
$ export MAVEN_OPTS='-Xmx5000m -XX:MaxPermSize=1024m'
Everyone:
$ cd <CONNECT_CLONE_DIR>
$ mvn clean install
###Generate Eclipse Projects After you have built from source you can create all of the Eclipse Project files
$ cd <CONNECT_CLONE_DIR>
$ mvn eclipse:clean eclipse:eclipse
Before launching eclipse, execute the following to set up the M2_REPO var used in lib dependenies
$ mvn eclipse:configure-workspace -Declipse.workspace=/path/to/your/workspace
When complete, open Eclipse then click on the following:
File --> Import --> 'Existing Projects into workspace'
and choose the clone repo directory (<CONNECT_CLONE_DIR>), e.g. CONNECT. You may also need to repeat these steps and choose additional directories:
- <CONNECT_CLONE_DIR>/Product
- <CONNECT_CLONE_DIR>/Product/Production
####Building an ear All services profiles are active by default, so to build an ear containging all services, just execute:
$ cd <CONNECT_CLONE_DIR>
$ mvn clean install
If you want to exclude a service, in this case PD, you can turn off the profile by adding a "!" to the name of the service profile you'd like to exclude (needs to be escaped with "" char on *NIX) platforms:
$ mvn clean install -P \!PD
Available service profiles which can be excluded from the generated ear (use value within parentheses):
- Admin Distribution (AD)
- Patient Discovery (PD)
- Document Query (DQ)
- Document Submission (DS)
- Document Retrieve (DR)
- HIEM (HIEM)
You can alter the composition of the CONNECT.ear at any time by turning off any combination of the available profiles as a comma-separated list
$ cd <CONNECT_CLONE_DIR>
$ mvn clean package -P \!PD,\!DQ,!DR -f Product/Production/Deploy/pom.xml
OR
$ cd Product/Production/CONNECT/
$ mvn clean package -P \!PD,\!DQ,!DR
######Altering targeted application server For some application server deployments the generated .ear needs different dependencies. The following profiles are available to control which type of .ear is generated (use value within parentheses):
- GlassFish v3.1.2.2 (glassfish)
- WebSphere Application Server Community Edition v3.0.0.2 (websphere)
This profile options are used just like above. As an example to generate a WebSphere specific .ear with only Patient Discovery.
$ cd <CONNECT_CLONE_DIR>
$ mvn clean install -P \!AD,\!DQ,\!DS,\!RD,\!HIEM,websphere
###Setup Glassfish, MySQL & Deploy CONNECT These steps will install and configure a Glassfish Application Server, prepare your MySQL databases and deploy CONNECT for use. Lets get started.
Navigate to the <CONNECT_CLONE_DIR>/Product/Install directory
$ cd <CONNECT_CLONE_DIR>/Product/Install
Next, copy install.properties to local.install.properties and update with your local information. Generally this just specifying where you want GlassFish to install.
$ cp install.properties local.install.properties
####Setup MySQL Databases These steps will install and configure a Glassfish Application Server to deploy and use CONNECT. Lets get started.
Navigate to the <CONNECT_CLONE_DIR>/Product/Install directory
$ cd <CONNECT_CLONE_DIR>/Product/Install
Next, copy install.properties to local.install.properties and update with your local information. Generally this is just specifying a password for mysql.
$ cp install.properties local.install.properties
Lastly, we're going to install the MySQL databases needed for CONNECT.
$ ant install.databases
####Setup GlassFish These steps will install and configure a Glassfish Application Server to deploy and use CONNECT. Lets get started.
Navigate to the <CONNECT_CLONE_DIR>/Product/Install directory
$ cd <CONNECT_CLONE_DIR>/Product/Install
Next, copy install.properties to local.install.properties and update with your local information. Generally this just specifying where you want GlassFish to install.
$ cp install.properties local.install.properties
Lastly, we're going to install the Glassfish Application Server
$ ant install
####Deploy to GlassFish Navigate to the <CONNECT_CLONE_DIR>/Product/Install directory
$ cd <CONNECT_CLONE_DIR>/Product/Install
$ ant deploy.connect
TK
###Perform Validation Tests
$ cd <CONNECT_CLONE_DIR>/Product/SoapUI_Test/ValidationSuite
$ mvn clean install
- Fork it.
- Create a branch (
git checkout -b my_feature
) - Commit your changes (
git commit -am "Added new feature"
) - Push to the branch (
git push origin my_feature
) - Open a Pull Request