1 | RMPOLET2 ;EDS/PAK - HOME OXYGEN LETTERS ;7/24/98
|
---|
2 | ;;3.0;PROSTHETICS;**29,55**;Feb 09, 1996
|
---|
3 | ;
|
---|
4 | ; ODJ - patch 55 - 1/30/01 - replace hard code 121 mail symbol with
|
---|
5 | ; site param. extrinsic (AUG-1097-32118)
|
---|
6 | ;
|
---|
7 | START ;
|
---|
8 | N HEAD,REC,POS
|
---|
9 | ;
|
---|
10 | K ^TMP($J)
|
---|
11 | Q:'$$SITE^RMPOLET0
|
---|
12 | ;
|
---|
13 | D GENOLST^RMPOLET0(1) ;generate list of patient to print
|
---|
14 | ;
|
---|
15 | I '$D(^TMP($J)) D G EXIT
|
---|
16 | . W !!,"There are no letters to print for this site."
|
---|
17 | . W !!,"Use the 'List of Patients' option to create a list.",!!,$C(7)
|
---|
18 | ;
|
---|
19 | Q:'$$LOCK^RMPOLET0("work with current")
|
---|
20 | ;
|
---|
21 | F D ASKHEAD Q:%'=0
|
---|
22 | S HEAD=% W @IOF
|
---|
23 | S %ZIS="Q" D ^%ZIS Q:$G(POP)=1
|
---|
24 | I $D(IO("Q")) D Q:'$$QUEUE^RMPOLET1(ZTDESC,ZTRTN,.ZTSAVE) D HOME^%ZIS Q
|
---|
25 | . K ZTSAVE
|
---|
26 | . S ZTDESC="RMPO : Patient Letter Print"
|
---|
27 | . S ZTRTN="PRINT^RMPOLET2("_HEAD_")"
|
---|
28 | . S (ZTSAVE("RMPOXITE"),ZTSAVE("RMPOSITE"),ZTSAVE("RMPO("),ZTSAVE("^TMP($J,"))=""
|
---|
29 | D PRINT(HEAD),EXIT
|
---|
30 | Q
|
---|
31 | ASKHEAD ;
|
---|
32 | S %=1 W !,"Would you like a letterhead printed on the letters"
|
---|
33 | D YN^DICN
|
---|
34 | Q:%<0
|
---|
35 | I %=0 W !,"Answer 'Yes' for a header, 'No' for no header."
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | PRINT(HEAD) ; Print H.O. correspondence
|
---|
39 | N DATE
|
---|
40 | ;
|
---|
41 | U IO(0) S Y=DT X ^DD("DD") S DATE=Y D:HEAD=1 HEADER
|
---|
42 | ;
|
---|
43 | S RMPOLCD="" F S RMPOLCD=$O(^TMP($J,"RMPOLST",RMPOLCD)) Q:RMPOLCD="" D
|
---|
44 | . S RMPODFN="" F S RMPODFN=$O(^TMP($J,"RMPOLST",RMPOLCD,RMPODFN)) Q:RMPODFN="" D
|
---|
45 | . . S RMPOLTR=^TMP($J,"RMPOLST",RMPOLCD,RMPODFN)
|
---|
46 | . . S REC=^TMP($J,"RMPODEMO",RMPODFN) D BODY
|
---|
47 | ;
|
---|
48 | Q
|
---|
49 | BODY ; Set up array for filing and print letter
|
---|
50 | N I,LN,LNCT,SP,Y,NAME,SURNM,FRSTNM
|
---|
51 | ;
|
---|
52 | S $P(SP," ",80)=" ",LNCT=0
|
---|
53 | I HEAD'=1 F I=1:1:5 D LINE("")
|
---|
54 | E D
|
---|
55 | . F I=1:1:5 D LINE("")
|
---|
56 | . D LINE($E(SP,1,POS(1))_HEAD(1)),LINE($E(SP,1,POS(2))_HEAD(2))
|
---|
57 | . D LINE($E(SP,1,POS(3))_HEAD(3)),LINE($E(SP,1,POS(4))_HEAD(4))
|
---|
58 | . F I=1:1:4 D LINE("")
|
---|
59 | D LINE(DATE),LINE("")
|
---|
60 | S NAME=$P(REC,U),SURNM=$P(NAME,",",2),FRSTNM=$P(NAME,",")
|
---|
61 | S LN=$E(FRSTNM_" "_SURNM_SP,1,40)_"In Reply Refer To: "_RMPO("NAME")_"/"_$$ROU^RMPRUTIL(RMPOXITE)
|
---|
62 | D LINE(LN)
|
---|
63 | S LN=$P(REC,U,10),LN=$E(LN_SP,1,40)_"SSN: "_$P(REC,U,2)
|
---|
64 | D LINE(LN)
|
---|
65 | S LN=$P(REC,U,11) I LN]"" S LN=$E(LN_SP,1,40) D LINE(LN)
|
---|
66 | I $P(REC,U,12)]"" D LINE($P(REC,U,12))
|
---|
67 | ;
|
---|
68 | ; City, State, Zip
|
---|
69 | D LINE($P(REC,U,13)_", "_$P(REC,U,14)_" "_$P(REC,U,15))
|
---|
70 | ;I $P(REC,U,11)="",$P(REC,U,12)="" D LINE($E(SP,1,40)_$P(RMPODFN,U))
|
---|
71 | S RMPORX=$P(REC,U,6) S:RMPORX="" RMPORX="Not on file"
|
---|
72 | D LINE($E(SP,1,40)_FRSTNM_" "_SURNM)
|
---|
73 | D LINE($E(SP,1,40)_"Current Home Oxygen Rx#: "_RMPORX)
|
---|
74 | S LN=$E(SP,1,40)_"Rx Expiration Date: "
|
---|
75 | S RMPORXDT=$P(REC,U,4)
|
---|
76 | I RMPORXDT="" S RMPORXDT="n/a"
|
---|
77 | E S Y=RMPORXDT X ^DD("DD") S RMPORXDT=Y
|
---|
78 | D LINE(LN_RMPORXDT),LINE("")
|
---|
79 | D LINE("Dear "_$S($P(REC,U,9)="F":"Ms. ",1:"Mr. ")_SURNM_":")
|
---|
80 | D LINE(""),LINE("")
|
---|
81 | ;
|
---|
82 | ; print letter template
|
---|
83 | S I=0 F S I=$O(^RMPR(665.2,RMPOLTR,1,I)) Q:'I D LINE(^(I,0))
|
---|
84 | ;
|
---|
85 | ; Update Correspondence Tracking
|
---|
86 | ; DO NOT remove patient from list is correspondence update unsuccessful.
|
---|
87 | S X=$$FILE^RMPOLETU(RMPODFN,"^TMP($J,""LINE"")",LNCT,RMPOLTR)
|
---|
88 | I 'X W !,"<<< Error"_+X_":"_$P(X,";",2)_" Patient #"_RMPODFN_" ! >>>",*7 Q
|
---|
89 | ;
|
---|
90 | D UPDLTR^RMPOLET0(RMPODFN,"@") ; Clear "letter to be sent" field in RMPR(665
|
---|
91 | ;
|
---|
92 | I IOST["C-" R !!,"Press <ENTER> to continue",ANS:DTIME Q:'$T
|
---|
93 | Q
|
---|
94 | ;
|
---|
95 | LINE(X) S LNCT=LNCT+1,^TMP($J,"LINE",LNCT,0)=" "_X
|
---|
96 | W !,?9,X
|
---|
97 | Q
|
---|
98 | ;
|
---|
99 | HEADER ;
|
---|
100 | S HEAD(1)="Department of Veterans Affairs",POS(1)=45-($L(HEAD(1))\2)
|
---|
101 | S HEAD(2)=RMPO("NAME"),POS(2)=45-($L(HEAD(2))\2) ;name of VAMC
|
---|
102 | S HEAD(3)=RMPO("ADD"),POS(3)=45-($L(HEAD(3))\2) ;street address of VAMC
|
---|
103 | S HEAD(4)=RMPO("CITY"),POS(4)=45-($L(HEAD(4))\2) ;city,state and zip of VAMC
|
---|
104 | Q
|
---|
105 | ;
|
---|
106 | EXIT ;Clean up and quit
|
---|
107 | ;
|
---|
108 | ;Close printer
|
---|
109 | D ^%ZISC
|
---|
110 | ;
|
---|
111 | ; clear lock of virtual control record
|
---|
112 | L -^TMP("RMPO",$J,"LETTERPRINT")
|
---|
113 | ;
|
---|
114 | ;Kill off variables
|
---|
115 | K ^TMP($J),%ZIS,Y,ZTSAVE,ZTRTN,RMPO,ZTDESC,L,LET
|
---|
116 | Q
|
---|