Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

CONNECT is not currently designed for Carequality exchange.

...

Do I need to build CONNECT from source code

...

?

Source Code: https://github.com/CONNECT-Solution/CONNECT

Schema: https://github.com/CONNECT-Solution/Common-Types

WSDL: https://github.com/CONNECT-Solution/CONNECT-Webservices

Do I need to build CONNECT from source code?

You can You can Downloading CONNECT Binaries and Source Code as a pre-compiled binary. Please note that each CONNECT release has its own version of the Admin GUI, which has only been tested for compatibility with those specific CONNECT versions. These CONNECT and Admin GUI files are clearly grouped together on our download page.

How do I install CONNECT?

Depending on which release you wish to build, you can get installation instructions from the following wiki page - Downloading CONNECT Binaries and Source Code as a pre-compiled binary. Please note that each CONNECT release has its own version of the Admin GUI, which has only been tested for compatibility with those specific CONNECT versions. These CONNECT and Admin GUI files are clearly grouped together on our download page.

How do I install CONNECT?

Depending on which release you wish to build, you can get installation instructions from the following wiki page - Downloading CONNECT Binaries and Source Code.  Software requirements and deployment instructions for each application server, binary or source code installation instructions are available through each release link. 

How to do configurable builds?

An in-depth summary can be found here for details on building a customized CONNECT EAR. In short, the EAR is sectioned into various Maven profiles which will add the chosen services into the compiled EAR. If the profile is not specified, it will not be deployed. They are as follows:

...

.  Software requirements and deployment instructions for each application server, binary or source code installation instructions are available through each release link. 

How to do configurable builds?

An in-depth summary can be found here for details on building a customized CONNECT EAR. In short, the EAR is sectioned into various Maven profiles which will add the chosen services into the compiled EAR. If the profile is not specified, it will not be deployed. They are as follows:

  • AD - Admin Distribution
  • PD - Patient Discovery
  • DQ - Document Query
  • DR - Document Retrieve
  • DS - Document Submission
  • DDS - Document Data Submission (Pilot)
  • X12 - Core X12
  • Direct - Direct Core
  • admingui - Administrative GUI *.WAR, and the corresponding web services into the compiled *.EAR.
  • was - Enterprise Application Archive (EAR ) for websphere application server
  • weblogic - Enterprise Application Archive (EAR ) for weblogic application server 
  • jboss7 - Enterprise Application Archive (EAR ) for Jboss EAP 7 and wildfly application server.

How can I switch from MySQL to Oracle database?

...

For more information, please see FAQ from HL7: https://wiki.hl7.org/index.php?title=HL7_OID_Registry_Frequently_Asked_Questions

General:

What are the different layers of CONNECT, and how are they used?

  • Entity - Internal endpoints used to construct NwHin requests to be sent to an external Gateway via NwHin endpoints.
  • NwHin - Endpoints that will be hit from an external gateway. This is the crossover point between the Initiating and Responding gateways. For the Initiating gateways, this will be an outbound request to another implementor. For the Responder, this will be an inbound request in which the gateway is expected to process and respond to the request by calling its Adapter.
  • Adapter - Implementor specific components which will serve as the communication layers between CONNECT and the proprietary databases,architecture, and services of the implementor. These get called by CONNECT through the NwHin layer when the gateway in question is a responder to a request.

What are these beans defined in the proxy property files for each service?

Each service may have a respective property file to configure a proxy to be used when communicating with a service. By default, there may be up to four pre-configured beans: NoOp, Java, Secured and Unsecured beans.

  • NoOp - Will always return a successful invocation, or a blank response - depending on the expected context of the bean. Does not invoke any web services or call any methods.
  • Java - Will use pure java calls to CONNECT code, can be substituted for any java class compiled with the CONNECT EAR, including custom Entity, NwHin, and Adapter implementations
  • Secured - Will use a secured port to communicate to a given endpoint configured via the internalExchangeInfo.xml file.
  • Unsecured - will use an unsecured port to communicate to a given endpoint configured via the internalExchangeInfo.xml file.

What is the difference between Standard and Passthrough Modes?

Currently, the CONNECT gateway is designed to operate in two modes, entity (standard) and passthrough. Entity (Standard) allows for further processing by the gateway including policy checks, mpi queries, and fan-out capabilities. Passthrough sends the message directly from gateway to adapter and vice versa. 

When downloading CONNECT SOURCE, there are lots of repeats like DocumentSubmission_10, DocumentSubmission_20, etc. Are they different versions?

CONNECT supports both 2010 and Summer 2011 Nationwide Health Information Network specifications. . The 20, 10 etc. suffix is used to indicate the spec version for any service and is dependent on the service.

Information on the design can be found in 'UDDI-Based Backwards Compatibility'
There is a document link in the wiki page above that has details.(This feature was introduced in Release 3.3)

Also a list of the interfaces can be found at - Service Interfaces

What is the Admin GUI, and how can I use it?

Admin GUI is front-end user application. It is meant to serve as an extension to CONNECT in order to manage the gateway, certificates, properties, and perform basic queries for information about the gateway. Admin GUI is also capable of serving a cross query client, as well as an interface for viewing Audit and Failure logs. Admin GUI may be deployed either on the same servlet container, as well as on a different server entirely (There may be some additional setup steps in order to configure your Admin GUI onto an external server).

A full user manual on the Admin GUI can be found here.

Is there documentation of the fields in the drop-down menu lists?

The contents of the drop-down menus are configurable. They currently come from a properties file in CONNECT. The NHIN specification team has defined what code sets they come from. When you install CONNECT you can see the list, but again that is configurable.

How do I configure my own Entity, NwHIN, and Adapter processors?

Injection points into CONNECT are controlled by Spring Bean lookups. Injection can be done in one of 2 ways: Java or Web Services.

For Java injections, simply point the bean for the service you wish to replace in its respective property file to your custom implementation. For example, to change the Document Submission Adapter, the "adapterdocsubmission" alias inside the DocumentSubmissionProxyConfig.xml file would be changed to your custom bean. By default, there are example beans for most services with the "java" postfix - in this case "adapterdocsubmissionjava". This pre-defined bean may be repurposed by changing the "class" to your own java class file.

For webservice injections, the bean alias would be set to either the secure or unsecure beans already defined in the respective XML file. Instead of injecting a custom java class, the appropriate endpoint inside of the internalExchangeInfo.xml file must be changed to point to the URL of where your custom service is deployed. As an example, if we wanted to change the Document Submission Adapter endpoint, we would find the "adapterxdrsecured" service name (Or "adapterxdr" if you are using an unsecured service) and change its URL to point to the custom service. It should be noted that these custom services must implement their respective WSDLs

Exchange:

Can I override exchange's partners endpoints locally?

...

Where is the CONNECT source code repository?

Source Code: https://github.com/CONNECT-Solution/CONNECT

Schema: https://github.com/CONNECT-Solution/Common-Types

WSDL: https://github.com/CONNECT-Solution/CONNECT-Webservices

General:

How do I configure my own Entity, NwHIN, and Adapter processors?

Injection points into CONNECT are controlled by Spring Bean lookups. Injection can be done in one of 2 ways: Java or Web Services.

For Java injections, simply point the bean for the service you wish to replace in its respective property file to your custom implementation. For example, to change the Document Submission Adapter, the "adapterdocsubmission" alias inside the DocumentSubmissionProxyConfig.xml file would be changed to your custom bean. By default, there are example beans for most services with the "java" postfix - in this case "adapterdocsubmissionjava". This pre-defined bean may be repurposed by changing the "class" to your own java class file.

For webservice injections, the bean alias would be set to either the secure or unsecure beans already defined in the respective XML file. Instead of injecting a custom java class, the appropriate endpoint inside of the internalExchangeInfo.xml file must be changed to point to the URL of where your custom service is deployed. As an example, if we wanted to change the Document Submission Adapter endpoint, we would find the "adapterxdrsecured" service name (Or "adapterxdr" if you are using an unsecured service) and change its URL to point to the custom service. It should be noted that these custom services must implement their respective WSDLs

Is there documentation of the fields in the drop-down menu lists?

The contents of the drop-down menus are configurable. They currently come from a properties file in CONNECT. The NHIN specification team has defined what code sets they come from. When you install CONNECT you can see the list, but again that is configurable.

What is the Admin GUI, and how can I use it?

Admin GUI is front-end user application. It is meant to serve as an extension to CONNECT in order to manage the gateway, certificates, properties, and perform basic queries for information about the gateway. Admin GUI is also capable of serving a cross query client, as well as an interface for viewing Audit and Failure logs. Admin GUI may be deployed either on the same servlet container, as well as on a different server entirely (There may be some additional setup steps in order to configure your Admin GUI onto an external server).

A full user manual on the Admin GUI can be found here.

What is the difference between Standard and Passthrough Modes?

Currently, the CONNECT gateway is designed to operate in two modes, entity (standard) and passthrough. Entity (Standard) allows for further processing by the gateway including policy checks, mpi queries, and fan-out capabilities. Passthrough sends the message directly from gateway to adapter and vice versa. 

What are the different layers of CONNECT, and how are they used?

  • Entity - Internal endpoints used to construct NwHin requests to be sent to an external Gateway via NwHin endpoints.
  • NwHin - Endpoints that will be hit from an external gateway. This is the crossover point between the Initiating and Responding gateways. For the Initiating gateways, this will be an outbound request to another implementor. For the Responder, this will be an inbound request in which the gateway is expected to process and respond to the request by calling its Adapter.
  • Adapter - Implementor specific components which will serve as the communication layers between CONNECT and the proprietary databases,architecture, and services of the implementor. These get called by CONNECT through the NwHin layer when the gateway in question is a responder to a request.

What are these beans defined in the proxy property files for each service?

Each service may have a respective property file to configure a proxy to be used when communicating with a service. By default, there may be up to four pre-configured beans: NoOp, Java, Secured and Unsecured beans.

  • NoOp - Will always return a successful invocation, or a blank response - depending on the expected context of the bean. Does not invoke any web services or call any methods.
  • Java - Will use pure java calls to CONNECT code, can be substituted for any java class compiled with the CONNECT EAR, including custom Entity, NwHin, and Adapter implementations
  • Secured - Will use a secured port to communicate to a given endpoint configured via the internalExchangeInfo.xml file.
  • Unsecured - will use an unsecured port to communicate to a given endpoint configured via the internalExchangeInfo.xml file.

When downloading CONNECT SOURCE, there are lots of repeats like DocumentSubmission_10, DocumentSubmission_20, etc. Are they different versions?

CONNECT supports both 2010 and Summer 2011 Nationwide Health Information Network specifications. . The 20, 10 etc. suffix is used to indicate the spec version for any service and is dependent on the service.

Information on the design can be found in 'UDDI-Based Backwards Compatibility'
There is a document link in the wiki page above that has details.(This feature was introduced in Release 3.3)

Also a list of the interfaces can be found at - Service Interfaces

Exchange:

Can CONNECT 5.2 be used with FHIR Resources? Is there any way to incorporate Patient resources, Medication resources, etc.?

CONNECT 5.2 can GET organization resources from a FHIR STU3 compliant Directory. Other functionality has not been implemented into CONNECT.

Can I override exchange's partners endpoints locally?

CONNECT facilitate custom overrides for an exchange partner. You can define them in exchangeInfo.xml. Refer to CONNECT 5.1.2#Organizationalendpointoverride

How do I initiate exchange directory download?

CONNECT can download from web services registry from both UDDI  and FHIR directories. You can configure the download in exchangeInfo.xml. For more information see Exchange Manager#ConfiguringExchange and Sample exchangeInfo

How can I import eHealth Exchange Chain of Trust?

Importing the eHealth Exchange Chain of Trust

Can CONNECT 5.2 be used with FHIR Resources? Is there any way to incorporate Patient resources, Medication resources, etc.?

CONNECT 5.2 can GET organization resources from a FHIR STU3 compliant Directory. Other functionality has not been implemented into CONNECT.

While configuring multiple gateways do we need to configure ExchangeInfo and InternalExchangeInfo.xml?

...

Can I still demonstrate Patient Discovery, Doc Query, Doc Retrieve services using test data only, and without implementing a custom adapter?

You should be able to do Patient Discovery (PD), Query for Documents (QD) and Retrieve Documents (RD) with test data without any configuration if you have installed and configured your system as given in the CONNECT installation instructions. In this case, you get docs from local database. You can configure the hibernate config files if you want to install CONNECT database on different machine. If you want to use your own database with different schema/tables, you need customize the adapters.

Does Connect support other registry queries?

The CONNECT gateway does support these other XDS stored queries, however our reference adapters are limited to the "find documents" query. You must implement the other queries in your own adapter.

How can I import eHealth Exchange Chain of Trust?

Importing the eHealth Exchange Chain of Trust

How can I resolve third party Dependency DTD/SCHEMA URLs?

...

Code Block
<?xml version="1.0" encoding="UTF-8"?> 
<Configuration>
    <expirations defaultDuration="1" defaultUnits="YEAR">
        <expiration assigningAuthority='1.1' unit='YEAR'>10</expiration>
        <expiration assigningAuthority='2.2' unit='YEAR'>1</expiration>
    </expirations>
</Configuration>

Does Connect support other registry queries?

The CONNECT gateway does support these other XDS stored queries, however our reference adapters are limited to the "find documents" query. You must implement the other queries in your own adapter.

Where can I find more information about support, configuration, or use of CDA within CONNECT?

CONNECT does not create CDA documents that could be transferred in either the Doc Submission (XDR) or Doc Retrieve services. CONNECT is the mechanism to transfer these documents over the NHIN, not to create them and insert them into the message.

...

How do I initiate exchange directory download?

CONNECT can download from web services registry from both UDDI  and FHIR directories. You can configure the download in exchangeInfo.xml. For more information see Exchange Manager#ConfiguringExchange and Sample exchangeInfo

Is there any legal guidance for independent CONNECT developers accessing client EMR database, including read/writes for purposes of connecting it to HIE?

eHealth Exchange (formally known as NwHIN Exchange and now managed by a private the non-profit HealtheWay) requires their participants to sign a Data Use and Reciprocal Support Agreement (DURSA) to formalize the exchange partnership. Please see the link for more information and a PFD of a DURSA, http://healthewayinc.org/index.php/exchange/dursa.

Patient Discovery/Doc Query - Fan Out vs target a specific NHIE gateway for PD & DQ requests

Each message on either the entity interface or the message proxy allows you to target a specific entity by providing the homeCommunityId within a nhinTargetSystem. Fan out only occurs if this element is not provided.

Can I still demonstrate Patient Discovery, Doc Query, Doc Retrieve services using test data only, and without implementing a custom adapter?

You should be able to do Patient Discovery (PD), Query for Documents (QD) and Retrieve Documents (RD) with test data without any configuration if you have installed and configured your system as given in the CONNECT installation instructions. In this case, you get docs from local database. You can configure the hibernate config files if you want to install CONNECT database on different machine. If you want to use your own database with different schema/tables, you need customize the adapters.information and a PFD of a DURSA, http://healthewayinc.org/index.php/exchange/dursa.

Patient Discovery/Doc Query - Fan Out vs target a specific NHIE gateway for PD & DQ requests

Each message on either the entity interface or the message proxy allows you to target a specific entity by providing the homeCommunityId within a nhinTargetSystem. Fan out only occurs if this element is not provided.

When configuring multiple gateways, do we need to configure ExchangeInfo and InternalExchangeInfo.xml?

ExchangeInfo.xml is used to communicate with other gateway while InternalExchangeInfo.xml is used for internal adapters within its own gateway. If you participate in ehealth exchange network, you don't need to change ExchangeInfo.xml since CONNECT pulls the latest UDDI/FHIR from UDDI/FHIR servers periodically.

Where can I find more information about support, configuration, or use of CDA within CONNECT?

CONNECT does not create CDA documents that could be transferred in either the Doc Submission (XDR) or Doc Retrieve services. CONNECT is the mechanism to transfer these documents over the NHIN, not to create them and insert them into the message.

The Adapter code is responsible for either creating these documents dynamically or pulling them from an existing "repository" or file store and inserting them into the request message to CONNECT.

NHIN:

How do we authorize into NHIN? How do we retrieve userName and password for services?

NHIN does not call for cross-HIE authentication. Instead, you authenticate your users locally however you choose, then "assert" the authentication info (who is the user, why they are requesting data, etc.) and pass this in the entity assertion class, which gets represented in the NHIN message as a SAML token. The receiving gateway then uses its own policies to determine if it will allow for this call.

What mechanism is NHIN using for identifying the Patients?

Each organization can identify its patients how it chooses. When you share patient data, you communicate the patient identifiers using a qualified patient id (local patient id + a globally unique assigning authority).

We are looking to integrate CONNECT into our solution by leveraging reports from other agencies, analyze them and compare them to our reports. Is there any suggestions on how to set up and configure the adapter for this system?

NHIN currently provide two mechanisms for collecting clinical data: a real time query for data (provided by "doc query" and "doc retrieve") and an async pub/sub model (provided by HIEM).

The way things look to be evolving on the NHIN specification factory (the group that makes the specs for NHIN) is that HIEM will contain sub-specs to detail for what you can issue subscriptions, called a profile. At the moment, the only thing that you are really "allowed" to subscribe for is a "consumer preference profile" (document containing the rules about who can see a "my" data). The next soon-to-be-released profile spec is for GIPSE, which covers subscriptions/notifications that contain aggregated data, expected to be used for groups like CDC collecting data from public health agencies (think: "how many people had the flu yesterday").

I want to enable my CONNECT to "grab" medical data from existing EMR systems like OpenMRS or OSCAR. Which service of CONNECT should I use?

To enable your CONNECT to "grab" medical data from an existing EMR you would probably use 3 services:

  • Patient Discovery - A NHIN service to query nodes on the NHIN for information on patient's based on demographics.
  • Document Query - A NHIN service to query nodes on the NHIN for metadata relating to documents about a specific patient
  • Document Retrieve - A NHIN service to retrieve documents from nodes on the NHIN.

In order to use these services, you would write an adapter which integrates with these productions or depending on these product's capabilities, maybe create services in OpenMRS, OSCAR, or some integration tool which provision the adapter interface for each of these services. Then when CONNECT receives one of these requests over the NHIN, CONNECT will call your services and the EMR can respond in turnallow for this call.

I want to enable my CONNECT to "grab" medical data from existing EMR systems like OpenMRS or OSCAR. Which service of CONNECT should I use?

To enable your CONNECT to "grab" medical data from an existing EMR you would probably use 3 services:

  • Patient Discovery - A NHIN service to query nodes on the NHIN for information on patient's based on demographics.
  • Document Query - A NHIN service to query nodes on the NHIN for metadata relating to documents about a specific patient
  • Document Retrieve - A NHIN service to retrieve documents from nodes on the NHIN.

In order to use these services, you would write an adapter which integrates with these productions or depending on these product's capabilities, maybe create services in OpenMRS, OSCAR, or some integration tool which provision the adapter interface for each of these services. Then when CONNECT receives one of these requests over the NHIN, CONNECT will call your services and the EMR can respond in turn.

We are looking to integrate CONNECT into our solution by leveraging reports from other agencies, analyze them and compare them to our reports. Is there any suggestions on how to set up and configure the adapter for this system?

NHIN currently provide two mechanisms for collecting clinical data: a real time query for data (provided by "doc query" and "doc retrieve") and an async pub/sub model (provided by HIEM).

The way things look to be evolving on the NHIN specification factory (the group that makes the specs for NHIN) is that HIEM will contain sub-specs to detail for what you can issue subscriptions, called a profile. At the moment, the only thing that you are really "allowed" to subscribe for is a "consumer preference profile" (document containing the rules about who can see a "my" data). The next soon-to-be-released profile spec is for GIPSE, which covers subscriptions/notifications that contain aggregated data, expected to be used for groups like CDC collecting data from public health agencies (think: "how many people had the flu yesterday").

What mechanism is NHIN using for identifying the Patients?

Each organization can identify its patients how it chooses. When you share patient data, you communicate the patient identifiers using a qualified patient id (local patient id + a globally unique assigning authority).