Skip to main content

EnsLib.HL7.Adapter.TCPInboundAdapter

class EnsLib.HL7.Adapter.TCPInboundAdapter extends EnsLib.TCP.InboundAdapter

Inbound adapter for HL7 v2 over TCP

Property Inventory

Method Inventory

Properties

property %OutLine as %String;
Local holder for lookahead line for Parser
Property methods: %OutLineDisplayToLogical(), %OutLineGet(), %OutLineIsValid(), %OutLineLogicalToDisplay(), %OutLineLogicalToOdbc(), %OutLineNormalize(), %OutLineSet()
property JobPerConnection as %Boolean [ InitialExpression = 0 ];
Spawn a new Job to handle each incoming TCP connection. Allows simultaneous handling of multiple connections.
Note that the performance of this setting can be affected by changing the configured QSize setting of this adapter and by configuring Job Servers as a system configuration option.
Property methods: JobPerConnectionDisplayToLogical(), JobPerConnectionGet(), JobPerConnectionIsValid(), JobPerConnectionLogicalToDisplay(), JobPerConnectionNormalize(), JobPerConnectionSet()
property QSize as %Integer (MAXVAL = 1000, MINVAL = 0) [ InitialExpression = 0 ];
How many incoming connections should the OS hold open until the Business Service processes them.

The default QSize for the HL7 TCP inbound adapter is 0, which supports the HL7 FIFO strategy where only one connection at a time is expected and subsequent connections ought to be refused immediately.
The maximum allowed value is 1000. However, the maximum incoming connections the OS can hold open until the Business Service processes them depends on the TCP implementation.

Note: If QSize is 0 a client attempting to connect will be refused connection by the operating system (RST,ACK) if the Business Service is processing a previous incoming connection.
This could lead to a scenario where a client is connected to the Business Service but disconnects and attempts to reconnect again in the brief period before the listening socket is re-opened by the Business Service and the client does not retry to connect as a result.

Property methods: QSizeDisplayToLogical(), QSizeGet(), QSizeIsValid(), QSizeLogicalToDisplay(), QSizeNormalize(), QSizeSet()

Methods

method ClearRecvBuffer(pClearFlag As %Integer = 0, Output pDiscarded As %String, ByRef pIOLogEntry As Ens.Util.IOLog = $$$NULLOREF) as %Status
This method is used to Clear the receive buffer. It will call Disconnect() if there is a Read error. If used it is intended to be called immediately before returning an ACK pClearFlag can be: - 0 : do not discard any waiting inbound data - 1 : discard waiting inbound data and log a warning in Event log
- 2 : discard waiting inbound data. Record in Event log only if Debug trace is enabled.
pDiscarded returns to the caller the first discarded line with any control characted mapped.
method Disconnect()
method OnConnected() as %Status
method OnInit() as %Status
Inherited description: This user callback method is called just after %OnNew()

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab