STANDARD DATA DICTIONARY #18.05 -- VISTALINK MESSAGE TYPE FILE 3/24/25 PAGE 1 STORED IN ^XOB(18.05, (3 ENTRIES) SITE: WWW.BMIRWIN.COM UCI: VISTA,VISTA (VERSION 1.6) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ----------------------------------------------------------------------------------------------------------------------------------- This file contains the message type definitions used by the VistALink request manager. Each message type is associated with a request handler. The request manager uses TCP/IP input stream information to lookup entries by 'message type' or 'proprietary format indicator'. Once an entry has been found, the request manager can execute the correct request handler methods for the incoming request stream. Information contained in the entries of this file allow the request manager to dynamically determine which request handler to load and execute. DD ACCESS: @ RD ACCESS: @ WR ACCESS: @ DEL ACCESS: @ LAYGO ACCESS: @ AUDIT ACCESS: @ PRIMARY KEY: A (#71) Uniqueness Index: NAME (#334) File, Field: 1) NAME (18.05,.01) SECONDARY KEY: B (#72) Uniqueness Index: MSGTYPE (#333) File, Field: 1) MESSAGE TYPE (18.05,.02) CROSS REFERENCED BY: CACHE REQUEST HANDLER INFO(AS), NAME(B), MESSAGE TYPE(C), PROPRIETARY INDICATOR(D) INDEXED BY: MESSAGE TYPE (MSGTYPE), NAME (NAME) 18.05,.01 NAME 0;1 FREE TEXT (Required) (Key field) INPUT TRANSFORM: K:$L(X)>30!(X?.N)!($L(X)<3)!'(X'?1P.E) X LAST EDITED: APR 11, 2003 HELP-PROMPT: Unique name must be 3-30 characters, not numeric or starting with punctuation DESCRIPTION: This field contains a unique and keyed human readable name for the message type. It is also recommended that the name be prefixed with namespace characters. CROSS-REFERENCE: 18.05^B 1)= S ^XOB(18.05,"B",$E(X,1,30),DA)="" 2)= K ^XOB(18.05,"B",$E(X,1,30),DA) FIELD INDEX: NAME (#334) REGULAR IR LOOKUP & SORTING Unique for: Key A (#71), File #18.05 Short Descr: Name cross reference Set Logic: S ^XOB(18.05,"NAME",$E(X,1,30),DA)="" Kill Logic: K ^XOB(18.05,"NAME",$E(X,1,30),DA) Whole Kill: K ^XOB(18.05,"NAME") X(1): NAME (18.05,.01) (Subscr 1) (Len 30) (forwards) 18.05,.02 MESSAGE TYPE 0;2 FREE TEXT (Key field) INPUT TRANSFORM: K:$L(X)>80!($L(X)<3) X LAST EDITED: APR 10, 2003 HELP-PROMPT: Answer must be 3-80 characters in length DESCRIPTION: This field contains the name of a unique XML message type, e.g. gov.va.med.foundations.rpc.request. This field is a keyed field and is used by the VistALink request manager during SAX parsing to look up the correct request handler for an incoming request. CROSS-REFERENCE: 18.05^C^MUMPS 1)= S ^XOB(18.05,"C",$E(X,1,80),DA)="" 2)= K ^XOB(18.05,"C",$E(X,1,80),DA) FIELD INDEX: MSGTYPE (#333) REGULAR IR LOOKUP & SORTING Unique for: Key B (#72), File #18.05 Short Descr: Message type cross reference Set Logic: S ^XOB(18.05,"MSGTYPE",$E(X,1,80),DA)="" Kill Logic: K ^XOB(18.05,"MSGTYPE",$E(X,1,80),DA) Whole Kill: K ^XOB(18.05,"MSGTYPE") X(1): MESSAGE TYPE (18.05,.02) (Subscr 1) (Len 80) (forwards) 18.05,.03 CATEGORY 0;3 SET '1' FOR REQUEST; '2' FOR RESPONSE; '9' FOR OTHER; LAST EDITED: APR 10, 2003 HELP-PROMPT: Enter whether this is a request or response message type DESCRIPTION: This field allows for the categorization of the message type. The field is not currently used in business logic and exists to allow for filtering and sorting during reporting. Currently, there are only two categories: request and response. 'Other' is also available but is not used at this time. 18.05,.04 REQUIRE AUTHENTICATION? 0;4 SET '0' FOR NO; '1' FOR YES; LAST EDITED: APR 10, 2003 HELP-PROMPT: Indicate whether this message requires a VistALink security authenticated partition to be processed DESCRIPTION: This field indicates whether or not a request of the message type requires the user to be authenticated by VistALink security before the request handler for the type can be executed. System and security message types do not need authentication since they involve processing at a higher level like heartbeat messages and messages establishing authentication. On the other hand, RPC-type messages would require authentication before the RPC request handler is executed. 18.05,.05 REQUEST HANDLER 0;5 FREE TEXT INPUT TRANSFORM: K:$L(X)>8!($L(X)<2) X LAST EDITED: APR 10, 2003 HELP-PROMPT: Answer must be 2-8 characters in length and the name of a routine DESCRIPTION: This field contains the name of the M routine that implements the request handler interface methods (tags). Currently, those methods are the following: CALLBACK(CB) :: Logic that sets the SAX callbacks for the message type in CB parameter. These callbacks are executed during the SAX XML parsing. This method is required. READER(XOBUF,XOBDATA) :: Stream reader logic called when the incoming request is in proprietary format. XOBUF :: characters already read from stream XOBDATA :: where to store parsed request information or reference to such information. This method is optional. REQHDLR(XOBDATA) :: Logic called to process request information stored in XOBDATA after XML parsing or proprietary parsing has completed. This method is required. 18.05,.06 CACHE REQUEST HANDLER INFO 0;6 SET '0' FOR NO; '1' FOR YES; LAST EDITED: APR 10, 2003 HELP-PROMPT: Answer YES or NO to cache request handler information upon socket connection DESCRIPTION: This field indicates whether runtime information for the message type should be cached as part of the initial connection logic of the request manager. Caching -- storing in a local array -- only the information needed for request handling can benefit performance for those message types that are executed often, like RPC requests. CROSS-REFERENCE: 18.05^AS 1)= S ^XOB(18.05,"AS",$E(X,1,30),DA)="" 2)= K ^XOB(18.05,"AS",$E(X,1,30),DA) 18.05,.07 PROPRIETARY INDICATOR 0;7 FREE TEXT INPUT TRANSFORM: K:$L(X)>20!($L(X)<3) X IF $DATA(^XOB(18.05,"D",X)) DO EN^DDIOL("Value is not unique") KILL X LAST EDITED: APR 10, 2003 HELP-PROMPT: Answer must be 3-20 characters in length and unique DESCRIPTION: This unique valued field is used during the processing of the first read of a new request stream. If this proprietary indicator is present then the READER method of the request handler routine is called. No SAX XML parsing is performed if this READER method is executed. See also: REQUEST HANDLER field. NOTES: XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER CROSS-REFERENCE: 18.05^D 1)= S ^XOB(18.05,"D",$E(X,1,30),DA)="" 2)= K ^XOB(18.05,"D",$E(X,1,30),DA) INPUT TEMPLATE(S): PRINT TEMPLATE(S): SORT TEMPLATE(S): FORM(S)/BLOCK(S):