[613] | 1 | TIURA ; SLC/JER - Review screen actions ; 7/7/04
|
---|
| 2 | ;;1.0;TEXT INTEGRATION UTILITIES;**1,10,20,79,88,58,100,109,182**;Jun 20, 1997
|
---|
| 3 | ; Call to ISA^USRLM supported by DBIA 2324
|
---|
| 4 | EDIT ; Edit Documents
|
---|
| 5 | N TIUDA,DFN,TIUDDT,TIUDATA,TIUCHNG,TIUEDIT,TIUI,DIROUT,TIUDAARY
|
---|
| 6 | N TIULST,MSGVERB
|
---|
| 7 | S TIUI=0
|
---|
| 8 | I '$D(VALMY) D EN^VALM2(XQORNOD(0))
|
---|
| 9 | F S TIUI=$O(VALMY(TIUI)) Q:+TIUI'>0 D Q:$D(DIROUT)
|
---|
| 10 | . N RSTRCTD
|
---|
| 11 | . S TIUDATA=$G(^TMP("TIURIDX",$J,TIUI))
|
---|
| 12 | . D CLEAR^VALM1 W !!,"Editing #",+TIUDATA
|
---|
| 13 | . S TIUDA=+$P(TIUDATA,U,2) S RSTRCTD=$$DOCRES^TIULRR(TIUDA)
|
---|
| 14 | . I RSTRCTD D Q
|
---|
| 15 | . . W !!,$C(7),"Ok, no harm done...",!
|
---|
| 16 | . . I $$READ^TIUU("EA","RETURN to continue...") ; pause
|
---|
| 17 | . S TIUDAARY(TIUI)=TIUDA
|
---|
| 18 | . S TIUCHNG=0
|
---|
| 19 | . I +$D(^TIU(8925,+TIUDA,0)) D EDIT1
|
---|
| 20 | . I +$G(TIUCHNG) D
|
---|
| 21 | . . S TIULST=$G(TIULST)_$S($G(TIULST)]"":",",1:"")_TIUI
|
---|
| 22 | ; -- Update or Rebuild list, restore video: --
|
---|
| 23 | I $G(TIUCHNG("ADDM"))!$G(TIUCHNG("DELETE")) S TIUCHNG("RBLD")=1
|
---|
| 24 | E S TIUCHNG("UPDATE")=1
|
---|
| 25 | D UPRBLD^TIURL(.TIUCHNG,.VALMY) K VALMY
|
---|
| 26 | S VALMBCK="R"
|
---|
| 27 | S MSGVERB=$S($G(TIUCHNG("ADDM")):"edited/addended",1:"edited")
|
---|
| 28 | D VMSG^TIURS1($G(TIULST),.TIUDAARY,MSGVERB)
|
---|
| 29 | Q
|
---|
| 30 | EDIT1 ; Single record edit
|
---|
| 31 | ; Receives TIUDA
|
---|
| 32 | N %X,%Y,C,D,D0,DDWTMP,DFN,DI,DIC,TIUEDIT,TIUMSG,TIUQUIT,TIUADD,TIUREL
|
---|
| 33 | N TIUTYP,TIUT0,TIUDPRM,TIULDT,DIWESUB,TIU,TIUCMMTX
|
---|
| 34 | I '$D(TIUPRM0)!'$D(TIUPRM1) D SETPARM^TIULE
|
---|
| 35 | I '+$G(TIUDA) W !,"No Documents selected." H 2 Q
|
---|
| 36 | ; Evaluate edit privilege
|
---|
| 37 | S TIUEDIT=$$CANDO^TIULP(TIUDA,"EDIT RECORD")
|
---|
| 38 | ; if 'canedit, offer explanation, and let add addendum
|
---|
| 39 | I '+TIUEDIT D Q
|
---|
| 40 | . K ^TIU(8925,"ASAVE",DUZ,TIUDA)
|
---|
| 41 | . W !!,$C(7),$P(TIUEDIT,U,2),!
|
---|
| 42 | . I $$READ^TIUU("EA","Press RETURN to continue...")
|
---|
| 43 | . D ADDENDUM^TIUADD(TIUDA,"",.TIUCHNG)
|
---|
| 44 | S TIUTYP=+$G(^TIU(8925,+TIUDA,0)),TIUT0=$G(^TIU(8925.1,+TIUTYP,0))
|
---|
| 45 | S TIUTYP(1)="1^"_+TIUTYP_U_$P(TIUT0,U,3)_U
|
---|
| 46 | S DFN=$P($G(^TIU(8925,+TIUDA,0)),U,2),TIULDT=$P(^(0),U,8)
|
---|
| 47 | D GETTIU^TIULD(.TIU,TIUDA)
|
---|
| 48 | S DIWESUB="Patient: "_$G(TIU("PNM"))
|
---|
| 49 | D DIE^TIUEDI4(TIUDA,.TIUQUIT,.TIUCHNG) ; **100**
|
---|
| 50 | K ^TIU(8925,"ASAVE",DUZ,TIUDA)
|
---|
| 51 | I +$G(TIUCPYNG),+$G(TIUQUIT) D DELETE^TIUEDIT(TIUDA,0,"",1) Q
|
---|
| 52 | Q:+$G(TIUQUIT)=2
|
---|
| 53 | ;If (CP) and (Timeout or Not Select Consult) and (Consult Associated), Quit before EMPTYDOC check
|
---|
| 54 | I +$$ISA^TIULX(TIUTYP,+$$CLASS^TIUCP),+$G(TIUQUIT)=1,+$P($G(^TIU(8925,+TIUDA,14)),U,5)>0 Q
|
---|
| 55 | I $$EMPTYDOC^TIULF(TIUDA) D DELETE^TIUEDIT(TIUDA,0) S TIUCHNG("DELETE")=1 H 2 Q
|
---|
| 56 | Q:+$G(TIUQUIT)
|
---|
| 57 | I +$G(TIU("STOP")) D DEFER^TIUVSIT(TIUDA,TIU("STOP")) I 1
|
---|
| 58 | E I +$P($G(^TIU(8925,+TIUDA,0)),U,3)'>0 D QUE^TIUPXAP1
|
---|
| 59 | ; - Commit proc -
|
---|
| 60 | S TIUCMMTX=$$COMMIT^TIULC1(+$P(TIUTYP(1),U,2))
|
---|
| 61 | I TIUCMMTX]"" D
|
---|
| 62 | . N DA S DA=TIUDA X TIUCMMTX
|
---|
| 63 | ; i. Execute RELEASE logic
|
---|
| 64 | D RELEASE^TIUT(+TIUDA)
|
---|
| 65 | ; ii. Execute VERIFICATION logic
|
---|
| 66 | D VERIFY^TIUT(+TIUDA)
|
---|
| 67 | ; iii. Execute ES logic
|
---|
| 68 | D EDSIG^TIURS(+TIUDA,"",1)
|
---|
| 69 | ; iv. If document is an ADDENDUM process alert
|
---|
| 70 | I +$$ISADDNDM^TIULC1(+TIUDA) D SENDADD^TIUALRT(+TIUDA)
|
---|
| 71 | I $D(^TMP("TIUR",$J,"CTXT")),(+$P($G(^TIU(8925,+TIUDA,0)),U,5)'<6) S VALMBCK="Q"
|
---|
| 72 | Q
|
---|
| 73 | PRINT ; Print selected documents
|
---|
| 74 | N DFN,TIUDA,TIUDARR,TIUDATA,TIUI,DIROUT,TIUDE,POP,TIUPFLG,TIUDEV
|
---|
| 75 | I '$D(VALMY) D EN^VALM2(XQORNOD(0)) G:$D(VALMY)'>9 PRINTX
|
---|
| 76 | D CLEAR^VALM1
|
---|
| 77 | D PRNTSCRN^TIURA2(.VALMY)
|
---|
| 78 | I '$D(VALMY) D G PRINTX
|
---|
| 79 | . W !!,"No Printable Documents Remain in your List.",!
|
---|
| 80 | . I $$READ^TIUU("EA","Press RETURN to continue...")
|
---|
| 81 | I +$$CHARTANY^TIURA1(.VALMY) S TIUPFLG=$$FLAG^TIUPRPN3
|
---|
| 82 | S TIUDEV=$$DEVICE^TIUDEV(.IO) ; Get Device/allow queueing
|
---|
| 83 | I $S(IO']"":1,TIUDEV']"":1,1:0) G PRINTX
|
---|
| 84 | I $D(IO("Q")) D QUE^TIUDEV("PRINTN^TIURA",TIUDEV) G PRINTX
|
---|
| 85 | D PRINTN
|
---|
| 86 | PRINTX N IOSTBM D ^%ZISC,FIXLSTNW^TIULM
|
---|
| 87 | K VALMY S VALMBCK="R"
|
---|
| 88 | Q
|
---|
| 89 | PRINTN ; Loop through selected doc's & invoke print code
|
---|
| 90 | N TIUI,TIUTYP,TIUDARR,DFN K ^TMP("TIUPR",$J)
|
---|
| 91 | N ARRAYDA
|
---|
| 92 | U IO
|
---|
| 93 | S TIUI=0
|
---|
| 94 | F S TIUI=$O(VALMY(TIUI)) Q:+TIUI'>0 D Q:$D(DIROUT)
|
---|
| 95 | . N TIUPMTHD,TIUDTYP,TIUPFHDR,TIUPFNBR,TIUPGRP,TIUPRINT,TIUFLAG
|
---|
| 96 | . S TIUDATA=$G(^TMP("TIURIDX",$J,TIUI))
|
---|
| 97 | . S TIUDA=+$P(TIUDATA,U,2)
|
---|
| 98 | . S TIUTYP=+$G(^TIU(8925,TIUDA,0)) ;P182
|
---|
| 99 | . I TIUTYP'>0 D Q
|
---|
| 100 | . . W !!,"Item #",TIUI," no longer exists.",!
|
---|
| 101 | . . I IO=IO(0),'$D(ZTQUEUED),$$READ^TIUU("EA","RETURN to continue...")
|
---|
| 102 | . S ARRAYDA(TIUDA)=""
|
---|
| 103 | . ; -- If TIUDA is an addendum, print its parent instead,
|
---|
| 104 | . ; or quit if the parent has already been printed: --
|
---|
| 105 | . I +$$ISADDNDM^TIULC1(TIUDA) D Q:'TIUDA
|
---|
| 106 | . . S TIUDA=+$P($G(^TIU(8925,TIUDA,0)),U,6)
|
---|
| 107 | . . I $D(ARRAYDA(TIUDA)) S TIUDA=0 Q
|
---|
| 108 | . . S TIUDTYP=+$G(^TIU(8925,TIUDA,0))
|
---|
| 109 | . ; -- If TIUDA is an ID kid, print its parent instead,
|
---|
| 110 | . ; or quit if the parent has already been printed: --
|
---|
| 111 | . I $G(^TIU(8925,TIUDA,21)) D Q:'TIUDA
|
---|
| 112 | . . S TIUDA=^TIU(8925,TIUDA,21)
|
---|
| 113 | . . I $D(ARRAYDA(TIUDA)) S TIUDA=0 Q
|
---|
| 114 | . . S TIUDTYP=+$G(^TIU(8925,TIUDA,0))
|
---|
| 115 | . S TIUPRINT=$$CANDO^TIULP(TIUDA,"PRINT RECORD")
|
---|
| 116 | . I +TIUPRINT'>0 D Q ; Exclude records user can't print
|
---|
| 117 | . . W !!,"Item #",TIUI,": ",!,$P(TIUPRINT,U,2),!
|
---|
| 118 | . . I IO=IO(0),'$D(ZTQUEUED),$$READ^TIUU("EA","RETURN to continue...")
|
---|
| 119 | . I +$G(TIUPFLG) S TIUFLAG=+$$CHARTONE^TIURA1(TIUDA)
|
---|
| 120 | . S DFN=$P($G(^TIU(8925,+TIUDA,0)),U,2)
|
---|
| 121 | . I +TIUTYP,'$G(TIUDTYP) D
|
---|
| 122 | . . S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUTYP)
|
---|
| 123 | . . S TIUPGRP=$$PRNTGRP^TIULG(+TIUTYP)
|
---|
| 124 | . . S TIUPFHDR=$$PRNTHDR^TIULG(+TIUTYP)
|
---|
| 125 | . . S TIUPFNBR=$$PRNTNBR^TIULG(+TIUTYP)
|
---|
| 126 | . I +$G(TIUDTYP) S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUDTYP),TIUPGRP=$$PRNTGRP^TIULG(+TIUDTYP),TIUPFHDR=$$PRNTHDR^TIULG(+TIUDTYP),TIUPFNBR=$$PRNTNBR^TIULG(+TIUDTYP)
|
---|
| 127 | . I $G(TIUPMTHD)']"" D Q ; Exclude records lacking print method P182
|
---|
| 128 | . . W !!,"Item #",TIUI," has no Print Method.",!
|
---|
| 129 | . . I IO=IO(0),'$D(ZTQUEUED),$$READ^TIUU("EA","RETURN to continue...")
|
---|
| 130 | . ;I +$G(TIUPGRP),($G(TIUPFHDR)]""),($G(TIUPFNBR)]"") S TIUDARR(TIUPMTHD,$G(TIUPGRP)_"$"_TIUPFHDR_";"_DFN,TIUI,TIUDA)=TIUPFNBR
|
---|
| 131 | . ;E S TIUDARR(TIUPMTHD,DFN,TIUI,TIUDA)=""
|
---|
| 132 | . ; -- P182: Set array same whether or not flds are defined, with
|
---|
| 133 | . ; TIUPGRP piece possibly 0, TIUPFHDR piece possibly null, and
|
---|
| 134 | . ; array value TIUPFNBR possibly null.
|
---|
| 135 | . S TIUDARR(TIUPMTHD,+$G(TIUPGRP)_"$"_$G(TIUPFHDR)_";"_DFN,TIUI,TIUDA)=$G(TIUPFNBR)
|
---|
| 136 | . D:'$D(ZTQUEUED) RESTORE^VALM10(+TIUI)
|
---|
| 137 | S TIUPMTHD="" F S TIUPMTHD=$O(TIUDARR(TIUPMTHD)) Q:TIUPMTHD="" D
|
---|
| 138 | . D PRNTDOC(TIUPMTHD,.TIUDARR)
|
---|
| 139 | Q
|
---|
| 140 | PRINT1 ; Print a single document
|
---|
| 141 | N TIUDARR,TIUDEV,TIUTYP,DFN,TIUPMTHD,TIUD0,TIUDPRM,TIUFLAG,TIUDTYP
|
---|
| 142 | N TIUPGRP,TIUPFHDR,TIUPFNBR,TIUPRINT,POP,TIUTMPDA
|
---|
| 143 | D CLEAR^VALM1
|
---|
| 144 | S TIUTMPDA=TIUDA
|
---|
| 145 | I +$$ISADDNDM^TIULC1(TIUTMPDA) D
|
---|
| 146 | . S TIUTMPDA=+$P($G(^TIU(8925,TIUTMPDA,0)),U,6)
|
---|
| 147 | . S TIUDTYP=+$G(^TIU(8925,TIUTMPDA,0))
|
---|
| 148 | I $G(^TIU(8925,TIUTMPDA,21)) D
|
---|
| 149 | . S TIUTMPDA=^TIU(8925,TIUTMPDA,21)
|
---|
| 150 | . S TIUDTYP=+$G(^TIU(8925,TIUTMPDA,0))
|
---|
| 151 | S TIUPRINT=$$CANDO^TIULP(TIUTMPDA,"PRINT RECORD")
|
---|
| 152 | I +TIUPRINT'>0 D Q
|
---|
| 153 | . W !!,$C(7),$P(TIUPRINT,U,2),!
|
---|
| 154 | . I $$READ^TIUU("EA","RETURN to continue...") ; pause
|
---|
| 155 | I +$G(TIUDTYP) D
|
---|
| 156 | . S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUDTYP)
|
---|
| 157 | . S TIUPGRP=$$PRNTGRP^TIULG(+TIUDTYP)
|
---|
| 158 | . S TIUPFHDR=$$PRNTHDR^TIULG(+TIUDTYP)
|
---|
| 159 | . S TIUPFNBR=$$PRNTNBR^TIULG(+TIUDTYP)
|
---|
| 160 | . D DOCPRM^TIULC1(+TIUDTYP,.TIUDPRM,TIUTMPDA)
|
---|
| 161 | S TIUD0=$G(^TIU(8925,TIUTMPDA,0))
|
---|
| 162 | S TIUTYP=$P(TIUD0,U),DFN=$P(TIUD0,U,2)
|
---|
| 163 | I +TIUTYP'>0 Q
|
---|
| 164 | I '$G(TIUDTYP) D
|
---|
| 165 | . S TIUPMTHD=$$PRNTMTHD^TIULG(+TIUTYP)
|
---|
| 166 | . S TIUPGRP=$$PRNTGRP^TIULG(+TIUTYP)
|
---|
| 167 | . S TIUPFHDR=$$PRNTHDR^TIULG(+TIUTYP)
|
---|
| 168 | . S TIUPFNBR=$$PRNTNBR^TIULG(+TIUTYP)
|
---|
| 169 | . D DOCPRM^TIULC1(+TIUTYP,.TIUDPRM,TIUTMPDA)
|
---|
| 170 | I +$P($G(TIUDPRM(0)),U,9) S TIUFLAG=$$FLAG^TIUPRPN3
|
---|
| 171 | I (+$P($G(TIUDPRM(0)),U,9)'>0),+$$ISA^USRLM(DUZ,"MEDICAL INFORMATION SECTION") S TIUFLAG=$$FLAG^TIUPRPN3
|
---|
| 172 | ;I $G(TIUPMTHD)]"",+$G(TIUPGRP),($G(TIUPFHDR)]""),($G(TIUPFNBR)]"") S TIUDARR(TIUPMTHD,$G(TIUPGRP)_"$"_TIUPFHDR_";"_DFN,1,TIUTMPDA)=TIUPFNBR
|
---|
| 173 | ;E S TIUDARR(TIUPMTHD,DFN,1,TIUTMPDA)=""
|
---|
| 174 | I $G(TIUPMTHD)']"" W !,$C(7),"No Print Method Defined for ",$P($G(^TIU(8925.1,+TIUTYP,0)),U) H 2 G PRINT1X
|
---|
| 175 | ; -- P182: See PRINTN
|
---|
| 176 | S TIUDARR(TIUPMTHD,+$G(TIUPGRP)_"$"_$G(TIUPFHDR)_";"_DFN,1,TIUTMPDA)=$G(TIUPFNBR)
|
---|
| 177 | S TIUDEV=$$DEVICE^TIUDEV(.IO) ; Get Device
|
---|
| 178 | I $S(IO']"":1,TIUDEV']"":1,1:0) G PRINT1X
|
---|
| 179 | I $D(IO("Q")) D QUE^TIUDEV("PRINTQ^TIURA",TIUDEV) G PRINT1X
|
---|
| 180 | D PRINTQ
|
---|
| 181 | PRINT1X D ^%ZISC
|
---|
| 182 | Q
|
---|
| 183 | PRINTQ ; Queued document print
|
---|
| 184 | D PRNTDOC(TIUPMTHD,.TIUDARR)
|
---|
| 185 | Q
|
---|
| 186 | PRNTDOC(TIUPMTHD,TIUDARR) ; Print docmts w/ Print Method TIUPMTHD in
|
---|
| 187 | ;array TIUDARR
|
---|
| 188 | ; Requires TIUPMTHD & TIUDARR
|
---|
| 189 | N TIUDA
|
---|
| 190 | I '+$D(TIUDARR) W !,"No Documents selected." Q
|
---|
| 191 | M ^TMP("TIUPR",$J)=TIUDARR(TIUPMTHD)
|
---|
| 192 | I TIUPMTHD']"" D G PRNTDOCX
|
---|
| 193 | . W !!,"No Print Method Defined for ",$P(TIUTYP,U,2) H 2
|
---|
| 194 | X TIUPMTHD
|
---|
| 195 | PRNTDOCX K ^TMP("TIUPR",$J)
|
---|
| 196 | Q
|
---|
| 197 | BROWS1(TIULTMP) ; -- Call to BROWS1 for backward compatibility
|
---|
| 198 | D BROWS1^TIURA2(TIULTMP,TIUDA)
|
---|
| 199 | Q
|
---|