| [613] | 1 | TIURT ; SLC/JER,MAM - Sign On Chart, etc. ;14-MAR-2001 09:52:41 [1/5/04 11:30am] | 
|---|
|  | 2 | ;;1.0;TEXT INTEGRATION UTILITIES;**71,58,100,176**;Jun 20, 1997 | 
|---|
|  | 3 | SIGNCHRT ; Mark signed on chart | 
|---|
|  | 4 | N TIUCHNG,TIUI,TIUY,Y,DIROUT | 
|---|
|  | 5 | I '$D(VALMY) D EN^VALM2(XQORNOD(0)) | 
|---|
|  | 6 | S TIUI=0 | 
|---|
|  | 7 | F  S TIUI=$O(VALMY(TIUI)) Q:+TIUI'>0  D  Q:$D(DIROUT) | 
|---|
|  | 8 | . N TIU,DFN,TIUDA,TIUDATA,RSTRCTD | 
|---|
|  | 9 | . S TIUDATA=$G(^TMP("TIURIDX",$J,TIUI)) | 
|---|
|  | 10 | . S TIUDA=+$P(TIUDATA,U,2) S RSTRCTD=$$DOCRES^TIULRR(TIUDA) | 
|---|
|  | 11 | . I RSTRCTD D  Q | 
|---|
|  | 12 | . . W !!,$C(7),"Ok, no harm done...",! | 
|---|
|  | 13 | . . I $$READ^TIUU("EA","RETURN to continue...") ; pause | 
|---|
|  | 14 | . D EN^VALM("TIU SIGN ON CHART") | 
|---|
|  | 15 | ; -- Update or Rebuild list: -- | 
|---|
|  | 16 | S TIUCHNG("UPDATE")=1 | 
|---|
|  | 17 | D UPRBLD^TIURL(.TIUCHNG,.VALMY) K VALMY | 
|---|
|  | 18 | S VALMBCK="R" | 
|---|
|  | 19 | Q | 
|---|
|  | 20 | SIGCHRT1(TIUDA) ; Single record sign on chart | 
|---|
|  | 21 | N SIGMSG D FULL^VALM1 | 
|---|
|  | 22 | D OC(TIUDA,.SIGMSG) | 
|---|
|  | 23 | W !,$G(SIGMSG(1)),!,$G(SIGMSG(2)),! H $S($D(SIGMSG(0)):+SIGMSG(0),1:3) | 
|---|
|  | 24 | Q | 
|---|
|  | 25 | OC(DA,MSG) ; Mark signed on chart. Edit on-chart signatures. | 
|---|
|  | 26 | N SIGNER,DIE,DR,Y,TIUSTAT,COSIGNER,TIUDA,COSMODE,SIGMODE | 
|---|
|  | 27 | N SIGNAME,COSNAME,SIGTITL,COSTITL,TIU0,TIU12,TIU15,TIU16 | 
|---|
|  | 28 | N TIUSFLDS,TIUCFLDS,TIUPSIG,NTIU15 | 
|---|
|  | 29 | S MSG=$$READ^TIUU("YO","Mark this Document 'Signed on chart'/Edit Marked Signature(s)","NO","^D OCSIG^TIUDIRH") ; P71 wording | 
|---|
|  | 30 | I 'MSG S TIUCHNG=0 G OCX | 
|---|
|  | 31 | S TIUCHNG=1 | 
|---|
|  | 32 | S TIU0=$G(^TIU(8925,+DA,0)),TIU12=$G(^(12)),TIU15=$G(^(15)) | 
|---|
|  | 33 | S SIGNER=$$PERSNAME^TIULC1(+$P(TIU12,U,4)) | 
|---|
|  | 34 | S COSIGNER=$$PERSNAME^TIULC1(+$P(TIU12,U,8)) | 
|---|
|  | 35 | S SIGMODE=$P(TIU15,U,5),COSMODE=$P(TIU15,U,11) | 
|---|
|  | 36 | S TIUSTAT=$$STATUS^TIULC(DA) | 
|---|
|  | 37 | ; P71. Input transform kills null Sig Blk Title but accepts @ | 
|---|
|  | 38 | S TIUSFLDS="1501//NOW;1502//"_SIGNER_";S SIGNAME=$$SIGNAME^TIULS(X),SIGTITL=$$SIGTITL^TIULS(X) S:SIGTITL="""" SIGTITL=""@"";1503///^S X=SIGNAME;1504///^S X=SIGTITL;1505////C" ; user edit Signature flds | 
|---|
|  | 39 | S TIUCFLDS="1507//NOW;1508//"_COSIGNER_";S COSNAME=$$SIGNAME^TIULS(X),COSTITL=$$SIGTITL^TIULS(X) S:COSTITL="""" COSTITL=""@"";1509///^S X=COSNAME;1510///^S X=COSTITL;1511////C" ; user edit Co-signature flds | 
|---|
|  | 40 | I TIUSTAT="completed",(SIGMODE="C") S DR=TIUSFLDS ; user edit sig | 
|---|
|  | 41 | I TIUSTAT="completed"&(COSMODE="C") S DR=TIUCFLDS ; user edit co-sig | 
|---|
|  | 42 | I TIUSTAT="uncosigned"&(SIGMODE'="C") S DR=TIUCFLDS ; new co-signature | 
|---|
|  | 43 | I $S(TIUSTAT="unsigned":1,COSMODE="C"&(SIGMODE="C"):1,SIGMODE="C"&(TIUSTAT="uncosigned"):1,1:0) D | 
|---|
|  | 44 | . N TIUWHO | 
|---|
|  | 45 | . I (COSIGNER]""),(SIGNER'=COSIGNER) S TIUWHO=$P($$READ^TIUU("SO^S:signer;C:cosigner;B:both","Which signatures are on chart?","both"),U) | 
|---|
|  | 46 | . E  S TIUWHO="S" | 
|---|
|  | 47 | . ; TIUWHO=S if expsigner=expcosigner or if there is no expcosigner, | 
|---|
|  | 48 | . ; or if user answered S. | 
|---|
|  | 49 | . I $S('$L(TIUWHO):1,"SCB"'[$P(TIUWHO,U):1,1:0) Q | 
|---|
|  | 50 | . I TIUWHO="S" S DR=TIUSFLDS | 
|---|
|  | 51 | . I TIUWHO="C" S DR=TIUCFLDS_";1513////"_DUZ | 
|---|
|  | 52 | . I TIUWHO="B" S DR=TIUSFLDS_";"_TIUCFLDS_";1513////"_DUZ | 
|---|
|  | 53 | I TIUSTAT="uncosigned" S DR=DR_";1513////"_DUZ | 
|---|
|  | 54 | I $D(DR) S DR=DR_";1512////"_DUZ | 
|---|
|  | 55 | I '$D(DR) D  G OCX | 
|---|
|  | 56 | . S MSG(1)="  No signatures available to mark 'Signed on chart' or edit" | 
|---|
|  | 57 | . S TIU16=$G(^TIU(8925,DA,16)) | 
|---|
|  | 58 | . I (TIUSTAT="amended"),'$P(TIU16,U,3) S MSG(1)="  'Chart' amendment signatures are automatic; can't edit",MSG(0)="5HANG" | 
|---|
|  | 59 | S DIE=8925 D ^DIE S NTIU15=$G(^TIU(8925,+DA,15)) | 
|---|
|  | 60 | D OCDELETE(DA,TIU15,.NTIU15,.MSG) | 
|---|
|  | 61 | ; If user left docmt co-signed but not signed, then stuff signer | 
|---|
|  | 62 | ; with cosigner data (and P71 - avoid ^(15)): | 
|---|
|  | 63 | I $P(NTIU15,U,7),'$P(NTIU15,U) D STUFFSIG(DA,.NTIU15) | 
|---|
|  | 64 | ; P71 If user left docmt signed but uncosigned, and entered expected | 
|---|
|  | 65 | ; cosigner for signer, then stuff cosigner with signer data: | 
|---|
|  | 66 | I $P(NTIU15,U),'$P(NTIU15,U,7),$P(NTIU15,U,2)=$P(TIU12,U,8) D STUFFCOS(DA,.NTIU15) | 
|---|
|  | 67 | S TIUDA=DA D UPDATE^TIUU | 
|---|
|  | 68 | ; P71 Do alert AFTER status update so alert to cosigner=signer is | 
|---|
|  | 69 | ; deleted if complete: | 
|---|
|  | 70 | S DR=".05///"_$$STATUS^TIULC(+DA),DIE=8925 D ^DIE | 
|---|
|  | 71 | S TIU0=$G(^TIU(8925,DA,0)) | 
|---|
|  | 72 | D SEND^TIUALRT(+DA) | 
|---|
|  | 73 | D SIGNIRT^TIUDIRT(+DA) | 
|---|
|  | 74 | ; post-signature action | 
|---|
|  | 75 | S TIUPSIG=$$POSTSIGN^TIULC1(+TIU0) | 
|---|
|  | 76 | I +$L(TIUPSIG),(+$P(TIU0,U,5)>6) X TIUPSIG | 
|---|
|  | 77 | OCX I $D(MSG)<10 S MSG(1)="  On chart signature data NOT changed." | 
|---|
|  | 78 | Q | 
|---|
|  | 79 | ; | 
|---|
|  | 80 | OCDELETE(DA,TIU15,NTIU15,MSG) ; Clean up data if signers/dates deleted or | 
|---|
|  | 81 | ;                         partially deleted | 
|---|
|  | 82 | N TIUSFLDS,TIUCFLDS,DR,DIE,X,Y | 
|---|
|  | 83 | S TIUSFLDS="1501///@;1502///@;1503///@;1504///@;1505///@" | 
|---|
|  | 84 | S TIUCFLDS="1507///@;1508///@;1509///@;1510///@;1511///@" | 
|---|
|  | 85 | D  ; If user altered sign flds and they are deleted or partially | 
|---|
|  | 86 | . ;  deleted, then delete sign flds: | 
|---|
|  | 87 | . I $P(NTIU15,U)=$P(TIU15,U),$P(NTIU15,U,2)=$P(TIU15,U,2) Q | 
|---|
|  | 88 | . S MSG(1)=$S($P(NTIU15,U)&'$P(TIU15,U):"  Marked 'Signed on chart'",1:"  On chart signature edited") | 
|---|
|  | 89 | . I $P(NTIU15,U)=""!($P(NTIU15,U,2)="") D | 
|---|
|  | 90 | . . S DR=TIUSFLDS,DIE=8925 D ^DIE S NTIU15=$G(^TIU(8925,+DA,15)) | 
|---|
|  | 91 | . . S MSG(1)=$S('(($P(NTIU15,U)="")&($P(NTIU15,U,2)="")):"  Incomplete on chart signature. Deleted.",1:"  On chart signature deleted.") | 
|---|
|  | 92 | D  ; If user altered co-sign flds and they are deleted or partially | 
|---|
|  | 93 | . ;  deleted, then delete co-sign flds: | 
|---|
|  | 94 | . I $P(NTIU15,U,7)=$P(TIU15,U,7),$P(NTIU15,U,8)=$P(TIU15,U,8) Q | 
|---|
|  | 95 | . S MSG(2)=$S($P(NTIU15,U,7)&'$P(TIU15,U,8):"  Marked 'Cosigned on chart'",1:"  On chart co-signature edited") | 
|---|
|  | 96 | . I $P(NTIU15,U,7)=""!($P(NTIU15,U,8)="") D | 
|---|
|  | 97 | . . S DR=TIUCFLDS,DIE=8925 D ^DIE S NTIU15=$G(^TIU(8925,+DA,15)) | 
|---|
|  | 98 | . . S MSG(2)=$S('(($P(NTIU15,U,7)="")&($P(NTIU15,U,8)="")):"  Incomplete on chart co-signature. Deleted.",1:"  On chart co-signature deleted.") | 
|---|
|  | 99 | D  ; If user deleted sign flds, but docmt is cosigned, then | 
|---|
|  | 100 | . ;  stuff sign data with co-sign data: | 
|---|
|  | 101 | . I $P(NTIU15,U)=$P(TIU15,U),$P(NTIU15,U,2)=$P(TIU15,U,2) Q | 
|---|
|  | 102 | . I $P(NTIU15,U)="",$P(NTIU15,U,7)'="" D STUFFSIG(DA,.NTIU15) S MSG(1)="  On chart signer deleted, auto-replaced with cosigner.",MSG(0)="4HANG" | 
|---|
|  | 103 | D  ; If user deleted co-sign flds, and docmt is signed, and | 
|---|
|  | 104 | . ;           signer = deleted cosigner, then delete sign flds: | 
|---|
|  | 105 | . I $P(NTIU15,U,7)=$P(TIU15,U,7),$P(NTIU15,U,8)=$P(TIU15,U,8) Q | 
|---|
|  | 106 | . I $P(NTIU15,U,7)="",$P(NTIU15,U),$P(NTIU15,U,2)=$P(TIU15,U,8) S DR=TIUSFLDS,DIE=8925 D ^DIE S NTIU15=$G(^TIU(8925,+DA,15)) S MSG(2)="  On chart signatures deleted." | 
|---|
|  | 107 | Q | 
|---|
|  | 108 | ; | 
|---|
|  | 109 | STUFFSIG(DA,TIU15) ; Stuff sig flds w/ TIU15 co-sig flds | 
|---|
|  | 110 | ; TIU15 must be current when received, is returned updated. | 
|---|
|  | 111 | N TIUSTUFF,DR,DIE,X,Y | 
|---|
|  | 112 | S TIUSTUFF="1501////"_$$NOW^TIULC_";1502////^S X=$P(TIU15,U,8);1503////^S X=$P(TIU15,U,9);1504////^S X=$P(TIU15,U,10);1505////C" ; stuff Signer data w/ Cosigner data | 
|---|
|  | 113 | S DR=TIUSTUFF,DIE=8925 D ^DIE S TIU15=$G(^TIU(8925,+DA,15)) | 
|---|
|  | 114 | ; Editing 1501 resets ACLEC xref even tho' it's cosigned, so until that can be fixed, rekill ACLEC by resetting 1507: | 
|---|
|  | 115 | S DR="1507////"_$$NOW^TIULC,DIE=8925 D ^DIE S TIU15=$G(^TIU(8925,+DA,15)) | 
|---|
|  | 116 | Q | 
|---|
|  | 117 | ; | 
|---|
|  | 118 | STUFFCOS(DA,TIU15) ; Stuff co-sig flds w/ TIU15 sig flds | 
|---|
|  | 119 | ; TIU15 must be current when received, is returned updated. | 
|---|
|  | 120 | N TIUCTUFF,DR,DIE,X,Y | 
|---|
|  | 121 | S TIUCTUFF="1507////"_$$NOW^TIULC_";1508////^S X=$P(TIU15,U,2);1509////^S X=$P(TIU15,U,3);1510////^S X=$P(TIU15,U,4);1511////C" | 
|---|
|  | 122 | S DR=TIUCTUFF,DIE=8925 D ^DIE S TIU15=$G(^TIU(8925,+DA,15)) | 
|---|
|  | 123 | Q | 
|---|
|  | 124 | ; | 
|---|