Print Page as PDF
Dynamic Routing Header Help Code ICR (3988)

Dynamic Routing Header Help Code    ICR (3988)

Name Value
NUMBER 3988
IA # 3988
DATE CREATED 2003/03/06
CUSTODIAL PACKAGE HEALTH LEVEL SEVEN
CUSTODIAL ISC San Francisco
USAGE Supported
TYPE Routine
DBIC APPROVAL STATUS APPROVED
ROUTINE HLCSHDR4
NAME Dynamic Routing Header Help Code
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.
STATUS Active
KEYWORDS
  • HL7
  • DYNAMIC ROUTING
  • ROUTING
DURATION Till Otherwise Agreed
ID HLCSHDR4
COMPONENT/ENTRY POINT
COMPONENT/ENTRY POINT COMPONENT DESCRIPTION
M
Local array data can be passed-by-reference into the
DIRECT^HLMA and GENERATE^HLMA APIs in the VistA HL7 package.  The local array
data may contain HLP("SUBSCRIBER") or HLP("SUBSCRIBER",n) entries, used to
control the routing related fields.  These array entries may also hold
references to executable M code that may directly control the values of the
routing-related fields in the MSH segment.

The M subroutine in the HLCSHDR4 routine can be called to interactively set
the local variables used to create the routing-related fields in the MSH
segment.

M^HLCSHDR4 is to be used as an educational aid by the application developer
learning how to create their own application-specific executable M code APIs.
This API must be removed prior to release of any software, and appropriate
application-specific APIs substituted.