1 | TIURA3 ; SLC/JER - Review screen actions ; 11/7/06
|
---|
2 | ;;1.0;TEXT INTEGRATION UTILITIES;**220**;Jun 20, 1997;Build 4
|
---|
3 | ; Call to ISA^USRLM supported by DBIA 2324
|
---|
4 | EDITCOS ; Edit Expected Cosigner
|
---|
5 | ; Modeled after EDIT^TIURA
|
---|
6 | N TIUDA,TIUDATA,TIUCHNG,TIUI,DIROUT,TIUDAARY
|
---|
7 | N TIULST,MSGVERB,TIUXNOD
|
---|
8 | S TIUXNOD=$G(XQORNOD(0))
|
---|
9 | I $P(TIUXNOD,U,3)="EC" W "Edit Cosigner",! S $P(TIUXNOD,U,4)="EC="_$P($P(TIUXNOD,U,4),"==",2)
|
---|
10 | S TIUI=0
|
---|
11 | I '$D(VALMY) D EN^VALM2(TIUXNOD)
|
---|
12 | F S TIUI=$O(VALMY(TIUI)) Q:+TIUI'>0 D Q:$D(DIROUT)
|
---|
13 | . N RSTRCTD
|
---|
14 | . S TIUDATA=$G(^TMP("TIURIDX",$J,TIUI))
|
---|
15 | . D CLEAR^VALM1 W !!,"Editing #",+TIUDATA
|
---|
16 | . S TIUDA=+$P(TIUDATA,U,2) S RSTRCTD=$$DOCRES^TIULRR(TIUDA)
|
---|
17 | . I RSTRCTD D Q
|
---|
18 | . . W !!,$C(7),"Ok, no harm done...",!
|
---|
19 | . . I $$READ^TIUU("EA","RETURN to continue...") ; pause
|
---|
20 | . S TIUDAARY(TIUI)=TIUDA
|
---|
21 | . S TIUCHNG=0
|
---|
22 | . I +$D(^TIU(8925,+TIUDA,0)) D EDITCOS1
|
---|
23 | . I +$G(TIUCHNG) D
|
---|
24 | . . S TIULST=$G(TIULST)_$S($G(TIULST)]"":",",1:"")_TIUI
|
---|
25 | ; -- Update or Rebuild list, restore video: --
|
---|
26 | S TIUCHNG("UPDATE")=1
|
---|
27 | D UPRBLD^TIURL(.TIUCHNG,.VALMY) K VALMY
|
---|
28 | S VALMBCK="R"
|
---|
29 | S MSGVERB="edited"
|
---|
30 | D VMSG^TIURS1($G(TIULST),.TIUDAARY,MSGVERB)
|
---|
31 | Q
|
---|
32 | EDITCOS1 ; Edit expected cosigner/attending for single record
|
---|
33 | ; Receives TIUDA
|
---|
34 | ; Modeled after Input template for document type
|
---|
35 | I '+$G(TIUDA) W !,"No Documents selected." H 2 Q
|
---|
36 | ; Evaluate edit privilege
|
---|
37 | N NODE0,STATUS,OK2CHNG,CANTMSG,NODE12,REQCOSIG,PROBMSG
|
---|
38 | N ECSIGNER,ESIGNER,OKCLASS,TIUISDS,DA,DR,DIE,X
|
---|
39 | N ALTNODE0,ALTTIUDA,NESIGNR,NECSIGNR,ATTEND,NATTEND,CHKSUM
|
---|
40 | S NODE0=^TIU(8925,TIUDA,0),STATUS=$P(NODE0,U,5),(OK2CHNG,OKCLASS)=1
|
---|
41 | S ALTNODE0=NODE0,ALTTIUDA=TIUDA,NODE12=$G(^TIU(8925,TIUDA,12))
|
---|
42 | I $$ISADDNDM^TIULC1(TIUDA) D
|
---|
43 | . S ALTTIUDA=$P(NODE0,U,6)
|
---|
44 | . S ALTNODE0=^TIU(8925,ALTTIUDA,0)
|
---|
45 | S TIUISDS=$$ISDS^TIULX(+ALTNODE0)
|
---|
46 | I '$$ISPN^TIULX(+ALTNODE0),'TIUISDS,'$$ISA^TIULX(+ALTNODE0,$$CLASS^TIUCNSLT()) S OKCLASS=0
|
---|
47 | I 'OKCLASS S PROBMSG="This action is valid only for Progress Notes, Discharge Summaries, and Consults." G COS1X
|
---|
48 | I STATUS>6 S PROBMSG="This document is already Complete!" G COS1X
|
---|
49 | I STATUS<5 S PROBMSG="This document still needs Release or Verification!" G COS1X
|
---|
50 | ; -- Status = 5 unsigned or 6 uncosigned.
|
---|
51 | ; Try rules for EDIT COSIGNER:
|
---|
52 | S OK2CHNG=$$CANDO^TIULP(TIUDA,"EDIT COSIGNER")
|
---|
53 | I 'OK2CHNG S CANTMSG=OK2CHNG G:STATUS=6 COS1X
|
---|
54 | ; -- If docmt is unsigned and EDIT COSIGNER rules failed,
|
---|
55 | ; try EDIT RECORD rules:
|
---|
56 | I STATUS=5,'OK2CHNG D G:'OK2CHNG COS1X
|
---|
57 | . S OK2CHNG=$$CANDO^TIULP(TIUDA,"EDIT RECORD")
|
---|
58 | . I 'OK2CHNG S CANTMSG="0^You are not authorized to edit this document."
|
---|
59 | ; -- DUZ may change Expected Cosigner/attending.
|
---|
60 | S DA=TIUDA,DIE=8925
|
---|
61 | ; -- If docmt is a Progress Note or Consult:
|
---|
62 | I 'TIUISDS D G COS1X
|
---|
63 | . ; -- Does Expected Signer Require Cosignature?
|
---|
64 | . S ESIGNER=$P(NODE12,U,4)
|
---|
65 | . S ECSIGNER=$P(NODE12,U,8)
|
---|
66 | . I ESIGNER']"" S PROBMSG="This document has no Expected Signer!" Q
|
---|
67 | . S REQCOSIG=$$REQCOSIG^TIULP(+NODE0,+TIUDA,ESIGNER)
|
---|
68 | . ; -- If cosig not required:
|
---|
69 | . I 'REQCOSIG D Q
|
---|
70 | . . ; -- If status is uncosigned, "see IRM" and quit:
|
---|
71 | . . I STATUS=6 S PROBMSG="Cosignature not required! See IRM." Q
|
---|
72 | . . ; -- If (status is unsigned) & has no exp cosgnr, say so and quit:
|
---|
73 | . . I ECSIGNER="" S PROBMSG="Cosignature not required." Q
|
---|
74 | . . ; -- If (status is unsigned), has exp cosgnr, fix it:
|
---|
75 | . . I ECSIGNER]"" D Q
|
---|
76 | . . . S PROBMSG="Cosignature not required. Expected Cosigner deleted."
|
---|
77 | . . . S DR="1208///@;1506///@" D ^DIE
|
---|
78 | . ; --Cosig is required so get it or change it:
|
---|
79 | . W !!,"You may edit the Expected Cosigner:"
|
---|
80 | . S DR="1208R//;1506////1" D ^DIE
|
---|
81 | . S NECSIGNR=$P(^TIU(8925,TIUDA,12),U,8)
|
---|
82 | . I NECSIGNR'=ECSIGNER D Q
|
---|
83 | . . W !!,"Expected Cosigner edited." H 1 S TIUCHNG=1
|
---|
84 | ; -- Docmt is a Discharge Summary:
|
---|
85 | S ATTEND=$P($G(^TIU(8925,TIUDA,12)),U,9)
|
---|
86 | W !!,"You may edit the Attending Physician:"
|
---|
87 | S DR="1209R//" D ^DIE
|
---|
88 | S NATTEND=$P(^TIU(8925,TIUDA,12),U,9)
|
---|
89 | I STATUS=6,NATTEND=$P(NODE12,U,2) D G COS1X
|
---|
90 | . S PROBMSG="You may not change the Attending of a signed"
|
---|
91 | . S PROBMSG=PROBMSG_" summary to the author."
|
---|
92 | . S DR="1209////^S X=ATTEND" D ^DIE
|
---|
93 | S NESIGNR=$$WHOSIGNS^TIULC1(DA),NECSIGNR=$$WHOCOSIG^TIULC1(DA)
|
---|
94 | S DR="1204////^S X=NESIGNR"
|
---|
95 | S DR=DR_";1208////^S X=NECSIGNR"
|
---|
96 | S DR=DR_";1506////^S X=$S(+NESIGNR=+NATTEND:0,1:1)"
|
---|
97 | D ^DIE
|
---|
98 | I NATTEND'=ATTEND D
|
---|
99 | . W !!,"Attending Physician edited" H 1 S TIUCHNG=1
|
---|
100 | COS1X ;
|
---|
101 | I $G(TIUCHNG),$G(STATUS)=6 D ; Audit uncosigned docmts only
|
---|
102 | . S CHKSUM=+$$CHKSUM^TIULC("^TIU(8925,"_+TIUDA_",""TEXT"")")
|
---|
103 | . D AUDIT^TIUEDI1(TIUDA,CHKSUM,CHKSUM)
|
---|
104 | I $D(PROBMSG) W !!,PROBMSG
|
---|
105 | I 'OK2CHNG W !!,$P(CANTMSG,U,2)
|
---|
106 | I $D(PROBMSG)!'OK2CHNG I $$READ^TIUU("EA","RETURN to continue...")
|
---|
107 | D SEND^TIUALRT(TIUDA)
|
---|
108 | Q
|
---|
109 | ;
|
---|