This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Caché & Ensemble 2018.1.5 > Class Reference > ENSLIB namespace > EnsLib.HL7.Operation.SOAPOperation


class EnsLib.HL7.Operation.SOAPOperation extends EnsLib.HL7.Operation.ReplyStandard

Accepts HL7 Messages and forwards them to a remote IP address, reading a response HL7 Message object returned from the remote IP address if the GetReply setting is enabled.

Property Inventory

Method Inventory


parameter ADAPTER = EnsLib.SOAP.OutboundAdapter;
Inherited description: The type of adapter used to communicate with external systems
parameter SETTINGS = -Framing;
Inherited description: List of properties can be set as settings in the configuration file format is a comma separated list of property names


property Framing as %String [ InitialExpression = "AsciiLF" ];
Inherited description: HL7 message outbound framing protocol. The options are:
  • None: No framing - Each line that begins with 'MSH' is the start of a new message.
  • MLLP: Minimal Lower Level Protocol - Frame each HL7 message with ASCII code 11 prefix and ASCII code 28,13 suffix.
  • MLLPN/M: Minimal Lower Level Protocol - Frame each HL7 message with ASCII code N prefix, and ASCII code M suffix followed by an additional ASCII code 13.
  • AsciiLF: Frame messages with ASCII code 10 (Line Feed) separating each message from the subsequent one.
  • AsciiCR: Frame messages with an extra ASCII code 13 (Carriage Return) separating each message from the subsequent one.
  • AsciiM: Frame messages with ASCII code M suffix character(s) separating each message from the subsequent one.
  • AsciiN/M: Frame messages with ASCII code N prefix character(s) before each message and ASCII code M suffix character(s), but no trailing ASCII code 13 as in MLLPN/M.
  • LLP: Lower Level Protocol - (Obsolete) Frame each HL7 message in a redundant checksum block.
  • MsgEnvelope: Use the message's Envelope property verbatim if it is present. The string <!--HL72MSG--> if present in the Envelope will be replaced with the message content. Otherwise the message will simply follow the Envelope text.
  • MLLPMsgEnvelope: Same as MsgEnvelope, but with MLLP prefix and suffix also around the message inside the Envelope.

- ASCII code N is a sequence of one or more characters represented by their ASCII code, separated by comma in case of more than one character.
- All ASCII codes should be given in decimal.
- ASCII code 120 (character 'x') is not allowed as a framing character.
- If an asterisk (*) is appended to the framing specification, 'Flexible' framing will be used in parsing received acknowledgement response messages. Otherwise the response messages will be expected with the same kind of framing as that specified here for outbound messages.

Property methods: FramingDisplayToLogical(), FramingGet(), FramingIsValid(), FramingLogicalToDisplay(), FramingLogicalToOdbc(), FramingNormalize(), FramingSet()


method OnInit() as %Status
Inherited description: This user callback method is called via initConfig() from %OnNew() or in the case of SOAP Services from OnPreSOAP()
method SendMessage(pMsgOut As EnsLib.HL7.Message, Output pMsgIn As EnsLib.HL7.Message, pExpectedSequenceNumber As %String) as %Status

Inherited Members

Inherited Properties

Inherited Methods