GENERAL DESCRIPTION |
The Dynamic Routing patch HL*1.6*93 gives application
developers writing calls to the VistA HL7 package's DIRECT^HLMA and
GENERATE^HLMA APIs the ability to directly control the routing-related fields.
These fields are the SENDING APPLICATION (MSH-3), SENDING FACILITY (MSH-4),
RECEIVING APPLICATION (MSH-5), and the RECEIVING FACILITY (MSH-6).
Refer to chapter 12 of the VistA HL7 Site Manager and Developer manual for
complete information about the use of the DIRECT^HLMA and the GENERATE^HLMA
APIs.
The Dynamic Routing patch HL*1.6*93 expands the data that can be passed into
these APIs to include HLP("SUBSCRIBER") and HLP("SUBSCRIBER",n) local array
entries. When passing HLP("SUBSCRIBER") or HLP("SUBSCRIBER",n) local array
data, an M API created by the application developer can be called to evaluate
the environment and, if appropriate, change the local variables used to create
the routing-related fields in the MSH segment.
A new API, M^HLCSHDR4, has been created to assist application developers in
the early stages of using M code to control the routing-related fields in the
MSH segment.
When the HLP("SUBSCRIBER") or HLP("SUBSCRIBER",n) local array data references
M^HLCSHDR4, this is how M^HLCSHDR4 is executed, and the actions taken:
Step Action and Comments
-------------------------------------------------------------------------
#1 DIRECT^HLMA or GENERATE^HLMA is called, with HLP("SUBSCRIBER") or
HLP("SUBSCRIBER",n) local array defined with a reference to
M^HLCSHDR4.
#2 Execution of DIRECT^HLMA or GENERATE^HLMA code proceeds, coming to
the code that creates the MSH segment.
#3 The HLP("SUBSCRIBER") and HLP("SUBSCRIBER",n) data is evaluated, and
the call to M^HLCSHDR4 is found.
#4 M^HLCSHDR4 is called, and the following actions occur:
- The local variables that will be used in the creation of the
routing-related fields in the MSH segment are displayed,
accompanied with explanation of each variable, it's significance,
and from what source the variable was created.
- Application developer can interactively enter new values for the
routing-related fields.
- If new values are entered, the application developer is informed
on-screen the actions taken by M^HLCSHDR4 based on the newly
entered value for the routing-related field(s). (I.e., the
local variable(s) used in the creation of the routing-related
fields is reset to the new value entered by the developer.)
#5 The MSH segment is built using the routing-related
local variables, (some of which might have been interactively
changed by the developer when answering the M^HLCSHDR4 queries.)
#6 Execution of DIRECT^HLMA or GENERATE^HLMA code proceeds, the MSH
segment and the complete message is created, and all processing of
the message completes.
Because of the display of explanatory information by M^HLCSHDR4, and because
the developer is informed of the actions being taken in resetting the
routing-related variables, this API is a valuable training tool.
Application developers calling M code via HLP("SUBSCRIBER") or
HLP("SUBSCRIBER",n) are encouraged to use the M^HLCSHDR4 API during the
initial phases of their development. After learning how to use M code to
control the routing-related fields in the MSH segment, developers must remove
the educational M^HLCSHDR4 reference, substituting their own M code API.
|