Multi-tenant healthcare information systems integration

hcsa.002Scenario: A single healthcare information system needs to be exposed for different healthcare providers (hospitals). The system need to pass HL7 messages that comes via HTTP (API calls) to a HL7 receiver, (over tcp) reliably

TODO: Enable HL7 transport senders in axis2.xml & axis2_blocking_client.xml in WSO2 ESB
following config shows the ESB configuration for iuhealth.com tenant
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://ws.apache.org/ns/synapse">
<registry provider="org.wso2.carbon.mediation.registry.WSO2Registry"/>
<sequence name="hl7callout">
<callout serviceURL="hl7://localhost:9988">
<source type="envelope"/>
<target key="mssage"/>
</callout>
</sequence>
<sequence name="hl7msgstore">
<log level="full"/>
<store messageStore="JMSMSIU"/>
<payloadFactory media-type="xml">
<format>
<response xmlns="">HL7 Message Queued For Processing</response>
</format>
<args/>
</payloadFactory>
<respond/>
</sequence>
<sequence name="fault">
<log level="full"/>
</sequence>
<sequence name="main">
<log/>
<drop/>
</sequence>
<messageStore class="org.apache.synapse.message.store.impl.jms.JmsStore"
name="JMSMSIU">
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
<parameter name="store.jms.destination">iuhealth.com</parameter>
<parameter name="store.jms.JMSSpecVersion">1.1</parameter>
</messageStore>
<messageProcessor class="org.apache.synapse.message.processor.impl.sampler.SamplingProcessor"
name="HL7MsgProcessorIUHealth"
messageStore="JMSMSIU">
<parameter name="interval">1000</parameter>
<parameter name="sequence">hl7callout</parameter>
<parameter name="concurrency">1</parameter>
<parameter name="is.active">true</parameter>
</messageProcessor>
<api name="healthmsgapi" context="/t/iuhealth.com/healthmsg">
<resource methods="POST" inSequence="hl7msgstore"/>
</api>
</definitions>

view raw
synapse.xml
hosted with ❤ by GitHub