HXP
Health Xchange Protocol

HXP is the standard data exchange protocol being used by Care2x to communicate transparently with other healthcare applications regardless of their platforms.

HXP makes data exchange among healthcare applications:

  • simple to implement
  • easy to understand
  • platform independent
  • free or very low cost
  • free from vendor lock
  • reliable
  • secure with authentication
  • encrypted with SSL protocol
  • flexible
  • transparent
  • free from geographic restrictions
  • open sourced
  • HXP consists of XML message format and the Procedure Call Dictionary. The XML message is currently based on the open standard specifications of the XML-RPC protocol. This is not an absolute decision and may change during the evolution process. In normal programming situations, an interface library is usually used that handles the actual message formatting. The programmer does not need to know exactly how the message is formatted. With the use of an abstraction layer, he uses his usual programming conventions to send and receive messages.

    HXP is an independent project and is being developed collaboratively with other healthcare application projects. HXP's development website is here.

    XML
    On the data transfer level, HXP uses XML as the message format.

    RPC - Remote Procedure Call
    On the programming level, HXP uses standard procedure calls to communicate with a remote application.

    Interface layers
    To make the whole system very simple to implement, Care2x uses an rpc abstraction layer that makes the abstract xml format transparent to the program language of the application (in case of Care2x, currently its php).

    Graphic illustration of this layering technique can be seen here.

    The default xml-rpc abstraction library used by care is the Incutio IXR XML-RPC library for PHP. Other libraries for other platforms are also available and can be easily found on the internet.

    Care2x's HXP Server
    In order for an application to answer procedure calls coming from a remote application and send the needed data, it should have an HXP server created and installed. Creation of the server is very simple and straightforward with the use of an abstraction layer.

    HXP Procedure Call Dictionary
    The initial procedure calls are currently authored by Elpidio Latorilla. These procedure calls are still in draft status and need to be extended. Furthermore these procedure calls need to go through a thorough peer review.