1 | ALPBFRMU ;OIFO-DALLAS MW,SED,KC-PRINT FORMATTING UTILITIES;01/01/03
|
---|
2 | ;;3.0;BAR CODE MED ADMIN;**8**;Mar 2004
|
---|
3 | ;
|
---|
4 | FTEXT(COL,TEXT,RESULTS) ; format TEXT array...
|
---|
5 | ; COL = number of columns (line length)
|
---|
6 | ; TEXT = array to be reformatted. the array should be in
|
---|
7 | ; standard FM format: TEXT(1,0)=text
|
---|
8 | ; TEXT(2,0)=text
|
---|
9 | ; TEXT(n,0)=text
|
---|
10 | ; RESULT = array passed by reference into which reformatted text
|
---|
11 | ; will be returned: RESULTS(1,0)=formatted text to COL length
|
---|
12 | ; RESULTS(2,0)=formatted text to COL length
|
---|
13 | I +$G(COL)=0!('$D(TEXT)) Q
|
---|
14 | N ALPBTEMP,I,J,L,M,FSTRING,XSTRING
|
---|
15 | S (I,J)=0
|
---|
16 | S XSTRING=""
|
---|
17 | F S I=$O(TEXT(I)) Q:'I D
|
---|
18 | .S DATA=$G(TEXT(I,0))
|
---|
19 | .I DATA="" D Q
|
---|
20 | ..S J=J+1
|
---|
21 | ..S ALPBTEMP(J,0)=""
|
---|
22 | .F L=1:1:$L(DATA) D
|
---|
23 | ..S XSTRING=XSTRING_$E(DATA,L)
|
---|
24 | ..I $L(XSTRING)=COL D
|
---|
25 | ...S FSTRING=XSTRING
|
---|
26 | ...F M=$L(XSTRING):-1:1 Q:$A($E(XSTRING,M))'>32
|
---|
27 | ...S FSTRING=$E(XSTRING,1,M-1)
|
---|
28 | ...S XSTRING=$E(XSTRING,M+1,$L(XSTRING))
|
---|
29 | ...S J=J+1
|
---|
30 | ...S ALPBTEMP(J,0)=FSTRING
|
---|
31 | ...S FSTRING=""
|
---|
32 | ...I $L(XSTRING)=COL S XSTRING=""
|
---|
33 | I $L(XSTRING)>0 D
|
---|
34 | .S J=J+1
|
---|
35 | .S ALPBTEMP(J,0)=XSTRING
|
---|
36 | M RESULTS=ALPBTEMP
|
---|
37 | Q
|
---|
38 | ;
|
---|
39 | HDR(DATA,PG,RESULTS) ; print page header...
|
---|
40 | ; DATA = an array passed by reference containing the nodes in
|
---|
41 | ; a patient's record in ^ALPB(53.7,...)
|
---|
42 | ; PG = page number to use
|
---|
43 | ; RESULTS = an array passed by reference that will be used to return
|
---|
44 | ; the formated data
|
---|
45 | ; returns data in formated 132-column output
|
---|
46 | N ALPBALG,ALPBALGL,ALPBALGX,ALPBX,LINE
|
---|
47 | I $G(PG)="" S PG=0
|
---|
48 | S RESULTS(1)="MAR Ran: "_$$FMTE^XLFDT($$NOW^XLFDT())
|
---|
49 | S RESULTS(1)=$$PAD^ALPBUTL(RESULTS(1),32)_"Inpatient Pharmacy Orders (Backup)"
|
---|
50 | S RESULTS(1)=$$PAD^ALPBUTL(RESULTS(1),122)_"Page: "_$J(PG,3)
|
---|
51 | S RESULTS(2)=$P($G(DATA(0)),"^")
|
---|
52 | S RESULTS(2)=$$PAD^ALPBUTL(RESULTS(2),33)_"SSN: "_$P($G(DATA(0)),"^",2)
|
---|
53 | S RESULTS(2)=$$PAD^ALPBUTL(RESULTS(2),50)_"DOB: "_$S($P($G(DATA(0)),"^",3)'="":$$FMTE^XLFDT($P(DATA(0),"^",3)),1:"not on file")
|
---|
54 | S RESULTS(2)=$$PAD^ALPBUTL(RESULTS(2),70)_"Sex: "_$P($G(DATA(0)),"^",4)
|
---|
55 | S RESULTS(3)="Ward: "_$P($G(DATA(0)),"^",5)
|
---|
56 | S RESULTS(3)=$$PAD^ALPBUTL(RESULTS(3),32)_"Room: "_$P($G(DATA(0)),"^",6)
|
---|
57 | S RESULTS(3)=$$PAD^ALPBUTL(RESULTS(3),50)_"Bed: "_$P($G(DATA(0)),"^",7)
|
---|
58 | S RESULTS(4)=""
|
---|
59 | S RESULTS(4)=$$PAD^ALPBUTL(RESULTS(4),12)_"This record last updated: "
|
---|
60 | S RESULTS(4)=RESULTS(4)_$S($P(DATA(0),"^",8)'="":$$FMTE^XLFDT($P(DATA(0),"^",8)),1:"<date not on file>")
|
---|
61 | S LINE=4
|
---|
62 | ; report allergies...
|
---|
63 | I '$D(DATA(1,0)) D
|
---|
64 | .;no allergies reported
|
---|
65 | .S LINE=LINE+1,RESULTS(LINE)=""
|
---|
66 | .S RESULTS(LINE)="No allergies reported to the Contingency"
|
---|
67 | I +$O(DATA(1,0)) D
|
---|
68 | .S LINE=LINE+1
|
---|
69 | .S RESULTS(LINE)=""
|
---|
70 | .S ALPBALGX="Allergies: "
|
---|
71 | .S ALPBALGL=$L(ALPBALGX)-1
|
---|
72 | .S (ALPBCNT,ALPBX)=0
|
---|
73 | .F S ALPBX=$O(DATA(1,ALPBX)) Q:'ALPBX D
|
---|
74 | ..S ALPBALG=$P($G(DATA(1,ALPBX,0)),"^",2)
|
---|
75 | ..I ALPBALG="" K ALPBALG Q
|
---|
76 | ..I $L(ALPBALGX_ALPBALG_"; ")>90 D
|
---|
77 | ...S LINE=LINE+1
|
---|
78 | ...S RESULTS(LINE)=""
|
---|
79 | ...S ALPBALGX=""
|
---|
80 | ...S ALPBALGX=$$PAD^ALPBUTL(ALPBALGX,ALPBALGL)
|
---|
81 | ..S ALPBALGX=ALPBALGX_ALPBALG_$S(+$O(DATA(1,ALPBX)):"; ",1:"")
|
---|
82 | ..S RESULTS(LINE)=ALPBALGX
|
---|
83 | S RESULTS(0)=LINE
|
---|
84 | Q
|
---|
85 | ;
|
---|
86 | FOOT ; print page footer (note: output is 5 lines)...
|
---|
87 | ; code adapted from original routine ^ALPFOOT by FD@NJHCS, May 2002
|
---|
88 | W !,"|"
|
---|
89 | W ?13,"SIGNATURE/TITLE"
|
---|
90 | W ?40,"| INIT"
|
---|
91 | W ?48,"|"
|
---|
92 | W ?50,"INJECTION SITES (Right or Left)"
|
---|
93 | W ?88,"VA FORM 10-2970"
|
---|
94 | W !,"|"
|
---|
95 | W $$REPEAT^XLFSTR("_",38)
|
---|
96 | W ?40,"|_______| 1. DELTOID"
|
---|
97 | W ?71,"4. MED (ANTERIOR) THIGH"
|
---|
98 | W ?96,"7. ABDOMEN"
|
---|
99 | W !,"|"
|
---|
100 | W $$REPEAT^XLFSTR("_",38)
|
---|
101 | W ?40,"|_______| 2. VENTRAL GLUTEAL"
|
---|
102 | W ?71,"5. VASTUS LATERALIS"
|
---|
103 | W ?96,"8. THIGH"
|
---|
104 | W !,"|"
|
---|
105 | W $$REPEAT^XLFSTR("_",38)
|
---|
106 | W ?40,"|_______| 3. GLUTEUS MEDIUS"
|
---|
107 | W ?71,"6. UPPER ARM"
|
---|
108 | W ?96,"9. BUTTOCK"
|
---|
109 | W !,"|"
|
---|
110 | W $$REPEAT^XLFSTR("_",38)
|
---|
111 | W ?40,"|_______|10. UPPER BACK PRN: E=Effective N=Not Effective"
|
---|
112 | Q
|
---|