1 | IBDFU1C ;ALB/CJM - ENCOUNTER FORM (sets various parameters);Jan 5, 1995
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
|
---|
3 | ;utilities
|
---|
4 | ;
|
---|
5 | FORMDSCR(IBFORM) ;
|
---|
6 | ;IBFORM=ien of form - sets the IBFORM array with form parameterss - should be passed by reference
|
---|
7 | ;returns 1=ok, 0=failure
|
---|
8 | ;
|
---|
9 | Q:'IBFORM 0
|
---|
10 | N NODE,MODE,SUB
|
---|
11 | S NODE=$G(^IBE(357,IBFORM,0))
|
---|
12 | Q:NODE="" 0
|
---|
13 | S IBFORM("NAME")=$P(NODE,"^")
|
---|
14 | S IBFORM("WIDTH")=$P(NODE,"^",9) S:'IBFORM("WIDTH") IBFORM("WIDTH")=133
|
---|
15 | S IBFORM("PAGE_HT")=$P(NODE,"^",10) S:'IBFORM("PAGE_HT") IBFORM("PAGE_HT")=80
|
---|
16 | S IBFORM("PAGES")=$P(NODE,"^",11) S:'IBFORM("PAGES") IBFORM("PAGES")=1
|
---|
17 | S IBFORM("HT")=IBFORM("PAGE_HT")*IBFORM("PAGES")
|
---|
18 | S IBFORM("TOOLKIT")=$P(NODE,"^",7)
|
---|
19 | S IBFORM("COMPILED")=0 I +$P(NODE,"^",5),+$P(NODE,"^",13) S IBFORM("COMPILED")=1
|
---|
20 | ;S IBFORM("COMPILED")=+$P(NODE,"^",5)
|
---|
21 | S IBFORM("SCAN")=$P(NODE,"^",12)
|
---|
22 | S IBFORM("SCAN","ICR")=$S(IBFORM("SCAN"):$P(NODE,"^",6),1:0)
|
---|
23 | S IBFORM("TYPE")=$P(NODE,"^",13)
|
---|
24 | ;
|
---|
25 | S MODE=$P(NODE,"^",2)
|
---|
26 | S IBFORM("PRINT_MODE")=$S(MODE=1:"DUPLEX_LONG",MODE=2:"DUPLEX_SHORT",1:"SIMPLEX")
|
---|
27 | ;
|
---|
28 | ;pages to be scanned
|
---|
29 | I IBFORM("SCAN") S SUB=0 F S SUB=$O(^IBE(357,IBFORM,2,SUB)) Q:'SUB S NODE=$G(^IBE(357,IBFORM,2,SUB,0)) I +NODE,$P(NODE,"^",2) S IBFORM("SCAN",+NODE)=1
|
---|
30 | Q 1
|
---|
31 | ;
|
---|
32 | FORMSIZE(IBFORM) ;pass IBFORM by reference
|
---|
33 | ;returns 0=failure, 1=success
|
---|
34 | N NODE
|
---|
35 | S NODE=$G(^IBE(357,IBFORM,0))
|
---|
36 | Q:NODE="" 0
|
---|
37 | S IBFORM("WIDTH")=$P(NODE,"^",9) S:'IBFORM("WIDTH") IBFORM("WIDTH")=133
|
---|
38 | S IBFORM("PAGE_HT")=$P(NODE,"^",10) S:'IBFORM("PAGE_HT") IBFORM("PAGE_HT")=80
|
---|
39 | S IBFORM("PAGES")=$P(NODE,"^",11) S:'IBFORM("PAGES") IBFORM("PAGES")=1
|
---|
40 | S IBFORM("HT")=IBFORM("PAGE_HT")*IBFORM("PAGES")
|
---|
41 | Q 1
|
---|
42 | ;
|
---|
43 | ARRAYS(IBFORM,IBARRAY) ;decide what arrays will be used to contain the form
|
---|
44 | ;pass IBFORM,IBARRAY by reference
|
---|
45 | ;
|
---|
46 | ;non-toolkit forms are compiled
|
---|
47 | I 'IBFORM("TOOLKIT") D
|
---|
48 | .S IBARRAY("UNDERLINES")="^IBE(357,""AU"",IBFORM)"
|
---|
49 | .S IBARRAY("CONTROLS")="^IBE(357,""AC"",IBFORM)"
|
---|
50 | .S IBARRAY("GRAPHICS")="^IBE(357,""AG"",IBFORM)"
|
---|
51 | .S IBARRAY("BOXES")="^IBE(357,""AB"",IBFORM)"
|
---|
52 | .S IBARRAY("BUBBLES")=$S(IBFORM("TYPE"):"^IBD(357.95,""AC"",IBFORM(""TYPE""))",1:"^TMP(""IBDF"",$J,""FORM"",""BUBBLES"")")
|
---|
53 | .S IBARRAY("HAND_PRINT")=$S(IBFORM("TYPE"):"^IBD(357.95,""AD"",IBFORM(""TYPE""))",1:"^TMP(""IBDF"",$J,""FORM"",""HAND PRINT"")")
|
---|
54 | .;
|
---|
55 | .;if using compiled version, use a copy of the text portion so as to not change it
|
---|
56 | .I IBFORM("COMPILED") D
|
---|
57 | ..N IBROW,TEXT
|
---|
58 | ..S IBARRAY("TEXT")="^TMP(""IBDF"",$J,""FORM"")"
|
---|
59 | ..S TEXT="^IBE(357,""AT"",IBFORM)"
|
---|
60 | ..S IBROW="" F S IBROW=$O(@TEXT@(IBROW)) Q:IBROW="" S @IBARRAY("TEXT")@(IBROW)=$G(@TEXT@(IBROW))
|
---|
61 | .;
|
---|
62 | .I 'IBFORM("COMPILED") S IBARRAY("TEXT")="^IBE(357,""AT"",IBFORM)"
|
---|
63 | ;
|
---|
64 | ;toolkit forms don't have compiled versions
|
---|
65 | I IBFORM("TOOLKIT") D
|
---|
66 | .S IBARRAY("CONTROLS")="^TMP(""IBDF"",$J,""FORM"",""CTRL"")"
|
---|
67 | .S IBARRAY("UNDERLINES")="^TMP(""IBDF"",$J,""FORM"",""UNDRLN"")"
|
---|
68 | .S IBARRAY("GRAPHICS")="^TMP(""IBDF"",$J,""FORM"",""GRPHC"")"
|
---|
69 | .S IBARRAY("BOXES")="^TMP(""IBDF"",$J,""FORM"",""BOXES"")"
|
---|
70 | .S IBARRAY("BUBBLES")="^TMP(""IBDF"",$J,""FORM"",""BUBBLES"")"
|
---|
71 | .S IBARRAY("HAND_PRINT")="^TMP(""IBDF"",$J,""FORM"",""HAND PRINT"")"
|
---|
72 | .S IBARRAY("TEXT")="^TMP(""IBDF"",$J,""FORM"")"
|
---|
73 | S IBARRAY("OVERFLOW")="^TMP(""IBDF"",$J,""OVERFLOW"")"
|
---|
74 | Q
|
---|
75 | ;
|
---|
76 | PRNTPRMS(IBPRINT,WITHDATA,ENTIRE,RECMPILE,WRITE) ;
|
---|
77 | ;sets pararameters in the IBPRINT array that controll printing - pass IBPRINT by reference
|
---|
78 | ;WITHDATA - whether to fill in the form with data
|
---|
79 | ;ENTIRE - whether to print the non-data parts
|
---|
80 | ;RECMPILE - whether blocks should be compiled, even if already compiled
|
---|
81 | ;WRITE - only applies if RECMPILE - whether to print the block
|
---|
82 | ;
|
---|
83 | S IBPRINT("WITH_DATA")=WITHDATA
|
---|
84 | S IBPRINT("ENTIRE")=ENTIRE
|
---|
85 | S IBPRINT("COMPILING_BLOCKS")=RECMPILE
|
---|
86 | S IBPRINT("WRITE_IF_COMPILING")=WRITE ;if IBPRINT("COMPILING_BLOCKS"),this =0 if the form isn't being printed, =1 if the form is being printed
|
---|
87 | Q
|
---|