| 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 |  ;
 | 
|---|