|COM Interface Details|
HL7Connect can be configured to use COM objects as interfaces, as described in COM Interfaces
In this mode, HL7Connect is invoked by an external application using the HL7Connect COM Library. The application may reside on the same server as HL7Connect, but does not need to. The COM library exposes routines that allow the external application to connect to an interface through the interface IHL7Connect. External applications use one of the following functions to the connect to HL7Connect:
Each of these routines takes a name, which is the configured name of the HL7Connect interface that the application will actually connect to. The interface content type and mode (incoming or outgoing) implied by the method called must match the configuration of the named interface.
On the HL7Connect side, there are only two settings to configure:
|Allow Multiple Senders||Whether to allow multiple COM objects (and by extension, multiple application instances) to connect to the interface or not. This has no internal significance - it's offered as a convenience to help manage the application functionality.
Note that this only applies to incoming interfaces. For outgoing interfaces, HL7Connect only supports one connected COM interface
|Internal Timeout||External COM interfaces run in a seperate process, and ping HL7Connect regularly (every 10 seconds). HL7Connect tracks the connection, and will time the interface out when the specified timeout period is exceeded. Once the interface is timed out, HL7Connect will no longer exchange messages with it. The default timeout is 20 seconds. Unless multiple connections are allowed, HL7Connect will refuse to accept more than one connection. This means that if the interface dies unexpectedly (i.e. killed under a debugger), it will take about the specified timeout period before HL7Connect will accept a new connection. Usually the default timeout is acceptable; however if the external COM interface is being run under a debugger, the pings will not occur while the procecss is stopped by the debugger; extending the timeout may be required; however extending the timeout will mean that it will take longer to allow a new connection (or you can stop and start the interface. See also NotifyWait (COM) / NotifyWait (C#))|
In this case, HL7Connect loads an implementation of one of the following interfaces:
Which COM interface is expected depends on the HL7Connect interface content type and mode (incoming or outgoing). On the HL7Connect side, there is only one setting to configure:
|Coclass||The Coclass name of a COM object that implements the expected COM interface. The CoClass name must be registered with the system.|