| 1 | ORCNOTE ; SLC/MKB - Progress Note actions ;25-JAN-2001 16:18:00 | 
|---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**22,48,65,104**;Dec 17, 1997 | 
|---|
| 3 | ELSIG ; Sign rec | 
|---|
| 4 | N ASK,TIUEVNT,TIUDA,TIUES,TIUI,X,X1,Y,ORI,NMBR,ORPICK,ORQUIT,IDX,TIUPOP,TIUPRM0,TIUPRM1 | 
|---|
| 5 | I '$D(TIUPRM0) D SETPARM^TIULE | 
|---|
| 6 | I $P(TIUPRM0,U,2)'>0 W !,"Electronic signature not yet enabled." H 3 G ELSIGX | 
|---|
| 7 | S ORPICK="",VALMBCK="" | 
|---|
| 8 | I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("sign") Q:'ORNMBR | 
|---|
| 9 | I +ORNMBR D FULL^VALM1 | 
|---|
| 10 | S ORI=1 | 
|---|
| 11 | F  S NMBR=$P(ORNMBR,",",ORI) Q:+NMBR'>0!$D(ORQUIT)  D | 
|---|
| 12 | . N TIU0,TIU12,TIU15,TIUSTAT,TIUEVNT,TIUTYPE,TIUDA | 
|---|
| 13 | . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)),ORI=+$G(ORI)+1 | 
|---|
| 14 | . S TIUDA=+IDX,TIU0=$G(^TIU(8925,+TIUDA,0)),TIU12=$G(^(12)),TIU15=$G(^(15)) | 
|---|
| 15 | . S TIUSTAT=+$P(TIU0,U,5) | 
|---|
| 16 | . S TIUTYPE=$$PNAME^TIULC1(+$G(^TIU(8925,+TIUDA,0))) | 
|---|
| 17 | . S TIUEVNT=$S(+TIUSTAT'>5:"SIGNATURE",1:"COSIGNATURE") | 
|---|
| 18 | . S ASK=$$CANDO^TIULP(TIUDA,TIUEVNT) | 
|---|
| 19 | . I +ASK>0 D | 
|---|
| 20 | . . L +^TIU(8925,+TIUDA):1 | 
|---|
| 21 | . . E  S ASK="0^ Another user is editing this entry." | 
|---|
| 22 | . I +ASK'>0,$P(ASK,U,2)]"" D  I 1 | 
|---|
| 23 | . . D FULL^VALM1 | 
|---|
| 24 | . . W !!,"Item #: ",NMBR,!,$P(ASK,U,2),! | 
|---|
| 25 | . . W !,"Removed from signature list.",! | 
|---|
| 26 | . . I $$READ^TIUU("FOA","Press RETURN to continue...") | 
|---|
| 27 | . E  D | 
|---|
| 28 | . . I $S(+$$REQCOSIG^TIULP(+TIU0,+TIUDA,DUZ):1,+$P(TIU15,U,6):1,1:0),(+$P(TIU12,U,8)'>0) D  Q:+$G(TIUPOP) | 
|---|
| 29 | . . . N COSIGNER | 
|---|
| 30 | . . . W !!,"Item #",NMBR,": ",TIUTYPE," for " | 
|---|
| 31 | . . . W $$PTNAME^TIULC1($P(TIU0,U,2))," will need cosignature..." | 
|---|
| 32 | . . . S COSIGNER=$$ASKCSNR^TIURS(TIUDA,DUZ) | 
|---|
| 33 | . . . I +COSIGNER'>0 D | 
|---|
| 34 | . . . . S TIUPOP=1 | 
|---|
| 35 | . . . . W !!,"Item #",NMBR,": MUST have a cosigner, before you may sign." | 
|---|
| 36 | . . . . W !!,"Removed from signature list.",! | 
|---|
| 37 | . . . . I $$READ^TIUU("FOA","Press RETURN to continue...") | 
|---|
| 38 | . . N TIU,TIUY | 
|---|
| 39 | . . D EN^VALM("ORC TIU SIGN/COSIGN") | 
|---|
| 40 | I +$G(ORPICK)'>0 D  G ELSIGX | 
|---|
| 41 | . S VALMSG="** Signature List Empty...Nothing signed. **" | 
|---|
| 42 | I +$G(ORPICK)>0 D | 
|---|
| 43 | . S TIUES=$$ASKSIG^TIULA1 | 
|---|
| 44 | . I '+TIUES S VALMSG="** Nothing Signed. **" Q | 
|---|
| 45 | . F ORI=1:1:$L(ORPICK,",") S NMBR=$P(ORPICK,",",ORI) D:NMBR  Q:$D(ORQUIT) | 
|---|
| 46 | . . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)),TIUDA=+IDX | 
|---|
| 47 | . . D ES^TIURS(TIUDA,TIUES,NMBR) | 
|---|
| 48 | I $G(ORPICK)']"" S VALMSG="** Nothing Signed. **" | 
|---|
| 49 | E  S VALMSG="** Item"_$S($L(ORPICK,",")>1:"s ",1:" ")_ORPICK_" Signed. **" | 
|---|
| 50 | ELSIGX K VALMY S VALMBCK="R" | 
|---|
| 51 | Q | 
|---|
| 52 | ACCEPT(ORPICK,NMBR) ; Adds item(s) to signature list | 
|---|
| 53 | D FULL^VALM1 | 
|---|
| 54 | S ORPICK=$G(ORPICK)_$S($L(ORPICK):",",1:"")_NMBR,OREBUILD=1 | 
|---|
| 55 | W !,"Item #",NMBR," added to the signature list." H 3 | 
|---|
| 56 | Q | 
|---|
| 57 | SIGN ; -- sign notes | 
|---|
| 58 | N ORI,NMBR,ORQUIT,IDX,TIUDA S VALMBCK="" | 
|---|
| 59 | I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("sign") Q:'ORNMBR | 
|---|
| 60 | F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT) | 
|---|
| 61 | . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)) | 
|---|
| 62 | . S TIUDA=+IDX Q:'+TIUDA | 
|---|
| 63 | . D EDSIG^TIURS(TIUDA,"",1) | 
|---|
| 64 | Q | 
|---|
| 65 | ; | 
|---|
| 66 | ADDENDUM ; -- make addendum | 
|---|
| 67 | N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK="" | 
|---|
| 68 | I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("") Q:'ORNMBR | 
|---|
| 69 | F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT) | 
|---|
| 70 | . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)) | 
|---|
| 71 | . S TIUDA=+IDX Q:'+TIUDA | 
|---|
| 72 | . I +$$ISADDNDM^TIULC1(TIUDA) D  Q | 
|---|
| 73 | . . W !,$C(7),"You may not make addenda to addenda." | 
|---|
| 74 | . . I $$READ^TIUU("EA","Press RETURN to continue...") W "" | 
|---|
| 75 | . D CLEAR^VALM1,ADDEND1^TIURA1 I +$G(TIUCHNG) S OREBUILD=1 | 
|---|
| 76 | . I '+$G(TIUCHNG) S VALMBCK="R" | 
|---|
| 77 | Q | 
|---|
| 78 | ; | 
|---|
| 79 | EDIT ; -- edit notes | 
|---|
| 80 | N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK="" | 
|---|
| 81 | I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("edit") Q:'ORNMBR | 
|---|
| 82 | F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT) | 
|---|
| 83 | . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)) | 
|---|
| 84 | . S TIUDA=+IDX Q:'+TIUDA | 
|---|
| 85 | . D CLEAR^VALM1,EDIT1^TIURA I +$G(TIUCHNG) S OREBUILD=1 | 
|---|
| 86 | S VALMBCK="R" | 
|---|
| 87 | Q | 
|---|
| 88 | COPY ; -- copy notes | 
|---|
| 89 | N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG,ORTAB S VALMBCK="" | 
|---|
| 90 | I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("copy") Q:'ORNMBR | 
|---|
| 91 | F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT) | 
|---|
| 92 | . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)) | 
|---|
| 93 | . S TIUDA=+IDX Q:'+TIUDA | 
|---|
| 94 | . D COPY1^TIURC I +$G(TIUCHNG) S OREBUILD=1 | 
|---|
| 95 | . I '+$G(TIUCHNG) S VALMBCK="R" | 
|---|
| 96 | Q | 
|---|
| 97 | DELETE ; -- delete notes | 
|---|
| 98 | N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK="" | 
|---|
| 99 | I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("delete") Q:'ORNMBR | 
|---|
| 100 | F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT) | 
|---|
| 101 | . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)) | 
|---|
| 102 | . S TIUDA=+IDX Q:'+TIUDA | 
|---|
| 103 | . D DEL^TIURB(TIUDA) I +$G(TIUCHNG) S OREBUILD=1 | 
|---|
| 104 | Q | 
|---|
| 105 | SIGNERS ; -- Identify additional signers | 
|---|
| 106 | N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG S VALMBCK="" | 
|---|
| 107 | I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("") Q:'ORNMBR | 
|---|
| 108 | F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT) | 
|---|
| 109 | . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)) | 
|---|
| 110 | . S TIUDA=+IDX Q:'+TIUDA | 
|---|
| 111 | . D FULL^VALM1,SIGNER^TIURA1 | 
|---|
| 112 | S VALMBCK="R" | 
|---|
| 113 | Q | 
|---|
| 114 | PRINT ; Print selected documents | 
|---|
| 115 | N DFN,TIUDA,TIUDPRM,TIUDARR,TIUDATA,TIUI,DIROUT,TIUDE,POP,TIUPFLG | 
|---|
| 116 | N TIUSPG,TIUDEV | 
|---|
| 117 | S VALMBCK="" I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("print") Q:'ORNMBR | 
|---|
| 118 | D CLEAR^VALM1 | 
|---|
| 119 | I +$$CHARTANY(ORNMBR) S TIUPFLG=$$FLAG^TIUPRPN3 | 
|---|
| 120 | S TIUSPG=1 | 
|---|
| 121 | S TIUDEV=$$DEVICE^TIUDEV(.IO) ; Get Device/allow queueing | 
|---|
| 122 | I $S(IO']"":1,TIUDEV']"":1,1:0) G PRINTX | 
|---|
| 123 | I $D(IO("Q")) D QUE^TIUDEV("PRINTN^ORCNOTE",TIUDEV) G PRINTX | 
|---|
| 124 | D PRINTN | 
|---|
| 125 | PRINTX N IOSTBM D ^%ZISC,FIXLST^TIULM | 
|---|
| 126 | K VALMY S VALMBCK="R" | 
|---|
| 127 | Q | 
|---|
| 128 | CHARTANY(ORNMBR) ; Evaluate selected documents for chart print | 
|---|
| 129 | N ORI,NMBR,ORSLT S ORSLT=0 | 
|---|
| 130 | F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) Q:+NMBR'>0!+ORSLT  D | 
|---|
| 131 | . N IDX,TIUDA | 
|---|
| 132 | . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)) | 
|---|
| 133 | . S TIUDA=+IDX Q:'TIUDA | 
|---|
| 134 | . S ORSLT=+$$CHARTONE^TIURA1(TIUDA) | 
|---|
| 135 | Q ORSLT | 
|---|
| 136 | PRINTN ; Loop through selected doc's & invoke print code as appropriate | 
|---|
| 137 | N TIUI,TIUTYP,ORINDX,ORY,DFN K ^TMP("TIUPR",$J) | 
|---|
| 138 | N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG | 
|---|
| 139 | U IO | 
|---|
| 140 | F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT)!$D(DIROUT) | 
|---|
| 141 | . N TIUPMTHD,TIUTYP,TIUPFHDR,TIUPFNBR,TIUPGRP,TIUPRINT,TIUDTYP,TIUFLAG | 
|---|
| 142 | . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)) | 
|---|
| 143 | . S TIUDA=+IDX Q:'+TIUDA  Q:'$D(^TIU(8925,TIUDA,0)) | 
|---|
| 144 | . S TIUTYP=$P($G(^TIU(8925,TIUDA,0)),U) | 
|---|
| 145 | . ; Evaluate whether user can print record | 
|---|
| 146 | . S TIUPRINT=$$CANDO^TIULP(TIUDA,"PRINT RECORD") | 
|---|
| 147 | . I +TIUPRINT'>0 D  Q  ; Exclude records user can't print | 
|---|
| 148 | . . W !!,"Item #",ORI,": ",!,$P(TIUPRINT,U,2),! | 
|---|
| 149 | . . I IO=IO(0),'$D(ZTQUEUED),$$READ^TIUU("EA","RETURN to continue...") | 
|---|
| 150 | . I +$G(TIUPFLG) S TIUFLAG=+$$CHARTONE^TIURA1(TIUDA) | 
|---|
| 151 | . S DFN=$P($G(^TIU(8925,+TIUDA,0)),U,2) | 
|---|
| 152 | . I +TIUTYP D | 
|---|
| 153 | . . S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUTYP) | 
|---|
| 154 | . . S TIUPGRP=$$PRNTGRP^TIULG(+TIUTYP) | 
|---|
| 155 | . . S TIUPFHDR=$$PRNTHDR^TIULG(+TIUTYP) | 
|---|
| 156 | . . S TIUPFNBR=$$PRNTNBR^TIULG(+TIUTYP) | 
|---|
| 157 | . I +$$ISADDNDM^TIULC1(TIUDA) D | 
|---|
| 158 | . . S TIUDA=+$P($G(^TIU(8925,TIUDA,0)),U,6) | 
|---|
| 159 | . . S TIUDTYP=+$G(^TIU(8925,TIUDA,0)) | 
|---|
| 160 | . I +$G(^TIU(8925,TIUDA,21))>0 D | 
|---|
| 161 | . . S TIUDA=+$G(^TIU(8925,TIUDA,21)) | 
|---|
| 162 | . . S TIUDTYP=+$G(^TIU(8925,TIUDA,0)) | 
|---|
| 163 | . Q:+$D(ORINDX(TIUDA)) | 
|---|
| 164 | . I +$G(TIUDTYP)>0 D | 
|---|
| 165 | . . S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUDTYP) | 
|---|
| 166 | . . S TIUPGRP=$$PRNTGRP^TIULG(+TIUDTYP) | 
|---|
| 167 | . . S TIUPFHDR=$$PRNTHDR^TIULG(+TIUDTYP) | 
|---|
| 168 | . . S TIUPFNBR=$$PRNTNBR^TIULG(+TIUDTYP) | 
|---|
| 169 | . I $G(TIUPMTHD)]"",+$G(TIUPGRP),($G(TIUPFHDR)]""),($G(TIUPFNBR)]"") S ORY(TIUPMTHD,$G(TIUPGRP)_"$"_TIUPFHDR_";"_DFN,ORI,TIUDA)=TIUPFNBR | 
|---|
| 170 | . E  S ORY(TIUPMTHD,DFN,ORI,TIUDA)="" | 
|---|
| 171 | . S ORINDX(TIUDA)=ORI | 
|---|
| 172 | S TIUPMTHD="" F  S TIUPMTHD=$O(ORY(TIUPMTHD)) Q:TIUPMTHD=""  D | 
|---|
| 173 | . D PRNTDOC^TIURA(TIUPMTHD,.ORY) | 
|---|
| 174 | Q | 
|---|
| 175 | BROWSE ; -- browse document | 
|---|
| 176 | N ORI,NMBR,ORQUIT,IDX,TIUDA,TIUCHNG,TIUQUIT S VALMBCK="" | 
|---|
| 177 | I '$G(ORNMBR) S ORNMBR=$$ORDERS^ORCHART("browse") Q:'ORNMBR | 
|---|
| 178 | F ORI=1:1:$L(ORNMBR,",") S NMBR=$P(ORNMBR,",",ORI) D:NMBR  Q:$D(ORQUIT) | 
|---|
| 179 | . S IDX=$G(^TMP("OR",$J,"CURRENT","IDX",NMBR)) | 
|---|
| 180 | . S TIUDA=+IDX Q:'+TIUDA | 
|---|
| 181 | . D CLEAR^VALM1,BROWS1^TIURA("TIU BROWSE FOR CLINICIAN") | 
|---|
| 182 | . S VALMBCK="R" S:+$G(TIUCHNG) OREBUILD=1 | 
|---|
| 183 | . I +$G(TIUQUIT) S ORQUIT=1 | 
|---|
| 184 | Q | 
|---|
| 185 | ; | 
|---|
| 186 | EX ; -- exit action | 
|---|
| 187 | D:$G(OREBUILD) TAB^ORCHART(ORTAB,1) | 
|---|
| 188 | S:$D(^TMP("OR",$J,"CURRENT","MENU")) XQORM("HIJACK")=^("MENU") | 
|---|
| 189 | Q | 
|---|