STANDARD DATA DICTIONARY #920.77 -- PX ICE MESSAGE FILE 9/29/25 PAGE 1
STORED IN ^PXV(920.77, (18 ENTRIES) SITE: WWW.BMIRWIN.COM UCI: VISTA,VISTA (VERSION 1.0)
DATA NAME GLOBAL DATA
ELEMENT TITLE LOCATION TYPE
-----------------------------------------------------------------------------------------------------------------------------------
This file stores the template elements which are used to construct a SOAP message to the Immunization Calculation Engine (ICE)
server. It is meant to mimic a tree-structure. Each entry in this file represents an element (or node) in the tree and can have a
parent and sibling elements. The message is built starting with the root element. The pre-content and content is then added to the
message, followed by the children elements, and finally the post-content is added. This is done recursively for all the
descendants. Before processing an element, the BUILD LOGIC of that element is executed, and that can be used to set up the
variables necessary to process the word-processing windows (i.e., |X|), and can control if an element should be skipped in its
entirety.
Note: When adding or editing an entry in this file, be aware that when editing the content fields (i.e., pre-content, content, and
post-content), that spaces (i.e., " ") matter! When generating the XML SOAP message, the lines will be concatenated together, and
there are times where you must leave a space at the end of the line in order for it to be valid XML when the lines are
concatenated.
This file should not be edited locally by the site.
DD ACCESS: @
RD ACCESS: @
WR ACCESS: @
DEL ACCESS: @
LAYGO ACCESS: @
AUDIT ACCESS: @
POINTED TO BY: PARENT ELEMENT field (#.02) of the PX ICE MESSAGE File (#920.77)
CROSS
REFERENCED BY: ELEMENT(B)
INDEXED BY: PARENT ELEMENT & SORT ORDER (ACHILD)
LAST MODIFIED: OCT 5,2022@14:55:07
920.77,.01 ELEMENT 0;1 FREE TEXT (Required)
INPUT TRANSFORM: K:$L(X)>30!($L(X)<1)!'(X'?1P.E) X
LAST EDITED: SEP 09, 2016
HELP-PROMPT: Answer must be 1-30 characters in length.
DESCRIPTION: This represents a template element. When adding an element to the message, the element's components
will be added to the message in the following order: 1) pre-content; 2) content; 3) children of
this element (recursively); 4) post-content.
CROSS-REFERENCE: 920.77^B
1)= S ^PXV(920.77,"B",$E(X,1,30),DA)=""
2)= K ^PXV(920.77,"B",$E(X,1,30),DA)
920.77,.02 PARENT ELEMENT 0;2 POINTER TO PX ICE MESSAGE FILE (#920.77)
LAST EDITED: SEP 09, 2016
HELP-PROMPT: Enter this element's parent.
DESCRIPTION:
This is the parent element of this element. If this is a root element, this should be null.
RECORD INDEXES: ACHILD (#1666)
920.77,.03 SORT ORDER 0;3 NUMBER
INPUT TRANSFORM: K:+X'=X!(X>999)!(X<0)!(X?.E1"."3.N) X
LAST EDITED: SEP 09, 2016
HELP-PROMPT: Type a number between 0 and 999, 2 decimal digits.
DESCRIPTION:
If there are multiple sibling elements, this defines the order they will be added to the message.
RECORD INDEXES: ACHILD (#1666)
920.77,.04 MODIFIER 0;4 SET
'O' FOR OPTIONAL;
'M' FOR MULTIPLE;
'A' FOR ABSTRACT;
LAST EDITED: SEP 09, 2016
HELP-PROMPT: Enter the modifier for this element.
DESCRIPTION: This controls how this element behaves.
ABSTRACT - Used for inheritance. If multiple sibling elements have the same content, but have
different build logic, then an abstract element can be used, so that the content does not need to
be repeated for each element. An abstract element should be created as the parent of the sibling
elements, and the direct children of the abstract element will inherit the pre-content, content,
and post-content (unless they override it). The abstract element itself won't be added to the
message; only the children will be added.
MULTIPLE - Used when an element should be repeated. The M code in Build Logic (field #1) should
return a multi-dimensional PXVARS() array, in the format PXVARS(n,field)=value, and for each entry
n, this element will be added to the message again. The first subscript, n, should be a positive
integer, and the second subscript, field, should be the field values used to process the
word-processing windows for this element (see Build Logic description). If the Build Logic does not
define the PXVARS() array (or PXSKIP is true), this element will be skipped entirely.
Optional - Used when an element is optional. This element will only be added to the message if one
of its descendants is added to the message.
920.77,1 BUILD LOGIC 1;E1,245 MUMPS
INPUT TRANSFORM: K:$L(X)>245 X D:$D(X) ^DIM
LAST EDITED: SEP 09, 2016
HELP-PROMPT: Enter Standard MUMPS code
DESCRIPTION: This is standard M[UMPS] code that is executed. If there are word-processing windows defined in the
pre-content, content, or post-content, the Build Logic M code should set the PXVARS() array with
the values needed. For example, if |AGE| is defined in the content, then the build logic should
define PXVARS("AGE")=X, and when adding this element to the message, |AGE| will be replaced with X.
1. The variable DFN will be defined before executing the Build Logic, and
the M code in the build logic can make use of it.
2. If this element should be skipped, the Build Logic should set the
variable PXSKIP to boolean true and this element will not be added to
the message.
WRITE AUTHORITY: @
920.77,2 PRE-CONTENT 2;0 WORD-PROCESSING #920.772 (IGNORE "|")
DESCRIPTION: This is the template text that will be added to the message before adding the content. It can
contain word-processing windows (e.g., |AGE|) which will be replaced with the values from the
PXVARS() array (defined by the Build Logic).
Example:
Pre-Content:
Array value: PXVARS("SEX")="F"
Text added to message:
LAST EDITED: AUG 01, 2016
920.77,3 CONTENT 3;0 WORD-PROCESSING #920.773 (IGNORE "|")
DESCRIPTION: This is the template text that will be added to the message before adding the descendant elements.
It can contain word-processing windows (e.g., |AGE|) which will be replaced with the values from
the PXVARS() array (defined by the Build Logic).
Example:
Content:
Array value: PXVARS("SEX")="F"
Text added to message:
LAST EDITED: AUG 01, 2016
920.77,4 POST-CONTENT 4;0 WORD-PROCESSING #920.774 (IGNORE "|")
DESCRIPTION: This is the template text that will be added to the message after adding the descendant elements.
It can contain word-processing windows (e.g., |AGE|) which will be replaced with the values from
the PXVARS() array (defined by the Build Logic).
Example:
Post-Content:
Array value: PXVARS("SEX")="F"
Text added to message:
LAST EDITED: AUG 01, 2016
FILES POINTED TO FIELDS
PX ICE MESSAGE (#920.77) PARENT ELEMENT (#.02)
File #920.77
Record Indexes:
ACHILD (#1666) RECORD REGULAR IR SORTING ONLY
Short Descr: Sort by PARENT and SORT ORDER.
Description: This cross reference is used to find child elements (sorted by the Sort Order) for a given element.
Set Logic: S ^PXV(920.77,"ACHILD",X(1),X(3),DA)=""
Kill Logic: K ^PXV(920.77,"ACHILD",X(1),X(3),DA)
Whole Kill: K ^PXV(920.77,"ACHILD")
X(1): PARENT ELEMENT (920.77,.02) (Subscr 1) (forwards)
X(2): SORT ORDER (920.77,.03) (forwards)
X(3): Computed Code: S X=$S(X(2)'="":X(2),1:10)
(Subscr 2)
INPUT TEMPLATE(S):
PRINT TEMPLATE(S):
SORT TEMPLATE(S):
FORM(S)/BLOCK(S):