$keywords COM, Internal Mode, External Mode, Client, Server, Versioning%>
HL7Connect offers two kinds of COM interfacing modes, "internal" and "external". In external mode, another application creates the COM interfaces, which are provided by the HL7Connect COM Library, an in-process COM Server that uses web services to communicate with HL7Connect, and which offers the following services:
In the the "internal" mode, HL7Connect defines a set of interfaces which are implemented by other applications. In this mode, HL7Connect use CoCreate the create the implementations using class strings provided in the configuration. COM interfaces are defined for:
In external mode, the key interface is IHL7Connect. This interface is the only one that can be directly created (using the class string "HL7ConnectTypeLibrary.HCHL7Connect"). All the other types and functions are available from that interface, and the HL7 and CDA managers.
In internal mode, the following interfaces are those created directly by HL7Connect. Note that neither the HL7Connect service nor the HL7Connect Type Library provide implementations of these interfaces - they are always implemented by other applications.
Note that the directions are reversed between HL7Connect and the COM interfaces: and outgoing HL7Connect interface sends messages or documents to a Receiver plugin, and an incoming HL7Connect interfaces receives messages or documents from a Sender plugin.
Both the Plug-in COM interfaces and the interfaces created through the IHL7Connect interface are always associated with specific named HL7Connect interfaces. See COM interface Configuration for details on how to configure this.
There are several other significant COM interfaces:
Additional procedures may be added to existing interfaces without changing the guid or name of the interface. Other changes will cause the creation of a new interface. The GetCOMProperty/SetCOMProperty methods will be used for extensibility as required; at present they are not used.