org.eclipse.ohf.ihe.common.hl7v2.mllpclient
Class Client

java.lang.Object
  extended by org.eclipse.ohf.ihe.common.hl7v2.mllpclient.Client
Direct Known Subclasses:
PdqConsumer, PixConsumer, PixSource

public class Client
extends java.lang.Object

This class is shared by PIX/PDQ clients:

This class implements the PIX/PDQ Client Patient Identity Source. This actor's role is in initiating the Patient Identify Feed Transaction. In doing so it provides notification to the Patient Identifier Cross-Reference Manager and Document Registry for patient identification related events including: creation, updates, & merges.

Accepts: ADT-A01,ADT-A04,ADT-A05,ADT-A08,ADT-A40
IHE HL7 Segments: MSH,EVN,PID,[MRG],PV1
IHE HL7 Standard: HL7 2.3.1

PIXFeedMgr transactions:
ADT-A01 - Admission of an inpatient into a facility
ADT-A04 - Registration of an outpatient for a visit to the facility
ADT-A05 - Pre-admission of an inpatient
ADT-A08 - Update patient information
ADT-A40 - Merge patient information

This class implements the PIX/PDQ Client Patient Identifier Cross-Reference Consumer. This actor's role is to initiate a request (query) for a list of patient identifiers that correspond to a consumer's patient identifier. The Patient Identifier Cross-Reference Manager immediately returns a list response with no intermediate ACK.

Accepts: QBP^Q23
IHE HL7 Segments: MSH,QPD,RCP
IHE HL7 Standard: HL7 2.5

PIXQueryMgr transactions:
QBP^Q23 - Get Corresponding Identifiers
RSP^K23 - Find Corresponding Identifiers Response

This class implements the PIX/PDQ Client Patient Demographics Query Consumer. This actor's role is to initiate a request (query) for a list of patient identifiers whose demographics match the demographics in the query. The Patient Demographics Supplier Actor immediately returns a list response with no intermediate ACK.

Accepts: QBP^Q22
IHE HL7 Segments: MSH,QPD,RCP
IHE HL7 Standard: HL7 2.5

PDQQueryMgr transactions:
QBP^Q22 - Find Candidates
RSP^K22 - Find Candidates Response

Author:
Sondra Renly
See Also:
IHE Technical Framework

Field Summary
static java.lang.String ATNA_PDQ_AUDITSOURCE
          ATNA AuditSourceID - Pdq Consumer
static java.lang.String ATNA_PIXC_AUDITSOURCE
          ATNA AuditSourceID - Pix Consumer
static java.lang.String ATNA_PIXS_AUDITSOURCE
          ATNA AuditSourceID - Pix Source
static int SEND_MLLP_DEST
          Supported destinations, currently only MLLP.
 
Constructor Summary
Client()
          Constructs a PIX/PDQ client object with verification support.
Client(java.io.InputStream conformanceProfile)
          Constructs a PIX/PDQ client object with verification support.
 
Method Summary
 org.eclipse.ohf.hl7v2.core.validators.ValidationItemList getConformanceProfileValidationItems(org.eclipse.ohf.hl7v2.core.message.model.Message msg)
           
 org.eclipse.ohf.hl7v2.core.conformance.model.CPConformanceProfile getCPProfile()
          Returns the conformance profile.
 org.eclipse.ohf.hl7v2.core.validators.ValidationItemList getHL7DefinitionValidationItems(org.eclipse.ohf.hl7v2.core.message.model.Message msg)
           
 int getMaxVerifyEvent()
          Maximum error the message verification allows before submission is blocked.
 org.eclipse.ohf.hl7v2.core.message.MessageManager getMessageManager()
          Returns the local message manager.
 MLLPDestination getMLLPDestination()
          Returns the MLLP destination with TCP settings.
 java.net.URI getURI()
          Returns the AtnaAgent URI.
 boolean isCanVerifyConformanceProfile()
          Returns the client ability to verify using a Conformance Profile.
 boolean isDoAudit()
          Returns the doAudit boolean flag.
 java.lang.String sendHL7(java.lang.String rawHL7, boolean verify, java.lang.String auditUser, java.lang.String auditSource)
          Processes HL7 messages with optional intermediate verification.
 org.eclipse.ohf.hl7v2.core.message.model.Message sendMsg(org.eclipse.ohf.hl7v2.core.message.model.Message msg, boolean verify, java.lang.String auditUser, java.lang.String auditSource)
          Process Message Object message with optional intermediate verification.
 void setConformanceProfile(java.io.InputStream conformanceProfile)
          Set conformance profile to a new profile.
 void setConformanceProfileUseToFalse()
          Stops use of existing conformance profile for future transactions within this client.
 void setDoAudit(boolean doAudit)
          Deprecated. use AtnaAgentFactory.getAtnaAgent().setDoAudit(doAudit) to turn auditing on and off for all your actors
 void setMaxVerifyEvent(int maxVerifyEvent)
          Maximum error the message verification allows before submission is blocked.
 void setMessageManager(org.eclipse.ohf.hl7v2.core.message.MessageManager globalFactory)
          Set the local message manager.
 void setMLLPDestination(MLLPDestination MLLP)
          Set the MLLP destination with TCP settings.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SEND_MLLP_DEST

public static final int SEND_MLLP_DEST
Supported destinations, currently only MLLP.

See Also:
Constant Field Values

ATNA_PIXS_AUDITSOURCE

public static final java.lang.String ATNA_PIXS_AUDITSOURCE
ATNA AuditSourceID - Pix Source

See Also:
Constant Field Values

ATNA_PIXC_AUDITSOURCE

public static final java.lang.String ATNA_PIXC_AUDITSOURCE
ATNA AuditSourceID - Pix Consumer

See Also:
Constant Field Values

ATNA_PDQ_AUDITSOURCE

public static final java.lang.String ATNA_PDQ_AUDITSOURCE
ATNA AuditSourceID - Pdq Consumer

See Also:
Constant Field Values
Constructor Detail

Client

public Client()
       throws ClientException
Constructs a PIX/PDQ client object with verification support.

Throws:
ClientException

Client

public Client(java.io.InputStream conformanceProfile)
       throws ClientException
Constructs a PIX/PDQ client object with verification support.

Parameters:
conformanceProfile -
Throws:
ClientException
Method Detail

isDoAudit

public boolean isDoAudit()
Returns the doAudit boolean flag.

Returns:
doAudit

setDoAudit

public void setDoAudit(boolean doAudit)
Deprecated. use AtnaAgentFactory.getAtnaAgent().setDoAudit(doAudit) to turn auditing on and off for all your actors

Parameters:
doAudit -

getMaxVerifyEvent

public int getMaxVerifyEvent()
Maximum error the message verification allows before submission is blocked.

Returns:
maxVerifyEvent

setMaxVerifyEvent

public void setMaxVerifyEvent(int maxVerifyEvent)
Maximum error the message verification allows before submission is blocked. Constant taken from (org.eclipse.ohf.hl7v2.core.validators.CPValidator). ITEM_TYPE_INFORMATION = 1; ITEM_TYPE_WARNING = 2; <<< Default ITEM_TYPE_ERROR = 3; ITEM_TYPE_FATAL = 4;

Parameters:
maxVerifyEvent -

getMLLPDestination

public MLLPDestination getMLLPDestination()
Returns the MLLP destination with TCP settings.

Returns:
dMLLP

setMLLPDestination

public void setMLLPDestination(MLLPDestination MLLP)
Set the MLLP destination with TCP settings.

Parameters:
MLLP -

getURI

public java.net.URI getURI()
Returns the AtnaAgent URI.

Returns:
uri

setMessageManager

public void setMessageManager(org.eclipse.ohf.hl7v2.core.message.MessageManager globalFactory)
Set the local message manager.

Parameters:
globalFactory -

getMessageManager

public org.eclipse.ohf.hl7v2.core.message.MessageManager getMessageManager()
Returns the local message manager.

Returns:
globalFactory

getCPProfile

public org.eclipse.ohf.hl7v2.core.conformance.model.CPConformanceProfile getCPProfile()
Returns the conformance profile.

Returns:
conformance profile

isCanVerifyConformanceProfile

public boolean isCanVerifyConformanceProfile()
Returns the client ability to verify using a Conformance Profile. There is no corresponding "set" method because the constructor does this automatically. Introducing the ability to change here would introduce a non-thread safe environment.

Returns:
canVerifyConformanceProfile

getHL7DefinitionValidationItems

public org.eclipse.ohf.hl7v2.core.validators.ValidationItemList getHL7DefinitionValidationItems(org.eclipse.ohf.hl7v2.core.message.model.Message msg)
                                                                                         throws ClientException
Parameters:
msg -
Returns:
ValidationItemList
Throws:
ClientException

getConformanceProfileValidationItems

public org.eclipse.ohf.hl7v2.core.validators.ValidationItemList getConformanceProfileValidationItems(org.eclipse.ohf.hl7v2.core.message.model.Message msg)
                                                                                              throws ClientException
Parameters:
msg -
Returns:
ValidationItemList
Throws:
ClientException

sendHL7

public java.lang.String sendHL7(java.lang.String rawHL7,
                                boolean verify,
                                java.lang.String auditUser,
                                java.lang.String auditSource)
                         throws ClientException
Processes HL7 messages with optional intermediate verification.

Parameters:
rawHL7 - - hl7v2 message
verify - - false to skip verification, true to run verification
auditUser - - user associated with transaction
auditSource - - source actor associated with transaction
Throws:
ClientException

sendMsg

public org.eclipse.ohf.hl7v2.core.message.model.Message sendMsg(org.eclipse.ohf.hl7v2.core.message.model.Message msg,
                                                                boolean verify,
                                                                java.lang.String auditUser,
                                                                java.lang.String auditSource)
                                                         throws ClientException
Process Message Object message with optional intermediate verification.

Parameters:
msg - - hl7v2 message (org.eclipse.ohf.hl7v2.core)
verify - - false to skip verification, true to run verification
auditUser - - user associated with transaction
auditSource - - source actor associated with transaction
Returns:
Returns hl7v2 message response
Throws:
ClientException

setConformanceProfile

public void setConformanceProfile(java.io.InputStream conformanceProfile)
                           throws ClientException
Set conformance profile to a new profile. This supports a "hot" swap of CPs which can be used with all clients. It is intended primarily for use with the PIX Source as the pix source supports 5 events (admit, register, preadmit, update, and merge).

Parameters:
conformanceProfile - - XML file
Throws:
ClientException

setConformanceProfileUseToFalse

public void setConformanceProfileUseToFalse()
Stops use of existing conformance profile for future transactions within this client.