source: FOIAVistA/tag/r/PATIENT_DATA_EXCHANGE-VAQ/VAQPAR61.m@ 628

Last change on this file since 628 was 628, checked in by George Lilly, 14 years ago

initial load of FOIAVistA 6/30/08 version

File size: 1.7 KB
Line 
1VAQPAR61 ;ALB/JRP - MESSAGE PARSING;28-APR-93
2 ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
3BLOCK(PRSARR,MESSNUM,BLOCK,BLOCKNUM) ;PARSING OF VERSION 1.5 MESSAGE BLOCKS
4 ;INPUT : PRSARR - Parsing array (full global reference)
5 ; MESSNUM - Message number within transmission (not XMZ)
6 ; (defaults to 1)
7 ; BLOCK - Block name
8 ; BLOCKNUM - Block number with message (defaults to 1)
9 ; (As defined by MailMan)
10 ; XMFROM, XMREC, XMZ
11 ; (Declared in SERVER^VAQADM2)
12 ; XMER, XMRG, XMPOS
13 ;OUTPUT : XMER - Exit condition
14 ; 0 = Success
15 ; -1^Error_Text = Error
16 ; XMPOS - Last line [number] read in transmission
17 ; (if NULL end of transmission reached)
18 ;
19 ;NOTES : Parsing array will have the following format
20 ; ARRAY(MESSNUM,BLOCK,BLOCKNUM,LineNumber) = Value
21 ; : Calling routine responsible for ARRAY clean up before
22 ; and after call
23 ;
24 ;CHECK INPUT
25 I ($G(PRSARR)="") S XMER="-1^Did not pass reference to parsing array" Q
26 S:($G(MESSNUM)="") MESSNUM=1
27 I ($G(BLOCK)="") S XMER="-1^Did not pass block name" Q
28 S:($G(BLOCKNUM)="") BLOCKNUM=1
29 S XMER="-1^Block not supported"
30 Q:((BLOCK'="HEADER")&(BLOCK'="DOMAIN")&(BLOCK'="USER")&(BLOCK'="PATIENT")&(BLOCK'="SEGMENT")&(BLOCK'="COMMENT")&(BLOCK'="DATA")&(BLOCK'="DISPLAY"))
31 ;DECLARE VARIABLES
32 N END,BLOCKEND,LINE
33 S XMER=0
34 S END=0
35 S BLOCKEND="$$"_BLOCK
36 ;PARSE BLOCK
37 F LINE=1:1 D Q:((XMER<0)!(END))
38 .X XMREC
39 .;END OF BLOCK REACHED
40 .I (XMRG=BLOCKEND) S XMER=0,END=1 Q
41 .;REACHED END OF MAILMAN MESSAGE
42 .I (XMER<0) S XMER="-1^End of block was not designated"
43 .;STORE INFO IN PARSE ARRAY
44 .S @PRSARR@(MESSNUM,BLOCK,BLOCKNUM,LINE)=XMRG
45 S @PRSARR@(MESSNUM,BLOCK,BLOCKNUM,LINE)=XMRG
46 Q
Note: See TracBrowser for help on using the repository browser.