Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: TIURB

TIURB.m

Go to the documentation of this file.
TIURB ; SLC/JER - More Review Screen Actions ;12/11/07
 ;;1.0;TEXT INTEGRATION UTILITIES;**4,32,52,78,58,100,109,155,184,234,232**;Jun 20, 1997;Build 19
 ; DBIA 3473 TIU use of GMRCTIU
AMEND ; Amendment action
 N TIUDA,DFN,DIE,DR,TIU,TIUDATA,TIUI,TIUSIG,TIUY,X,X1,Y
 N DIROUT,TIUCHNG,TIUDAARY,TIULST
 I '$D(VALMY) D EN^VALM2(XQORNOD(0))
 S TIUI=0
 F  S TIUI=$O(VALMY(TIUI)) Q:+TIUI'>0  D  Q:$D(DIROUT)
 . N RSTRCTD
 . S TIUDATA=$G(^TMP("TIURIDX",$J,TIUI))
 . S TIUDA=+$P(TIUDATA,U,2) S RSTRCTD=$$DOCRES^TIULRR(TIUDA)
 . I RSTRCTD D  Q
 . . W !!,$C(7),"Ok, no harm done...",! ; Echo denial message
 . . I $$READ^TIUU("EA","RETURN to continue...") ; pause
 . W !!,"Amending #",+TIUDATA
 . S TIUCHNG=0
 . D AMEND1
 . I $G(TIUDAARY(TIUI)) D
 . . S TIULST=$G(TIULST)_$S($G(TIULST)]"":",",1:"")_TIUI
 ; -- Update or Rebuild list, restore video:
 D UPRBLD^TIURL(.TIUCHNG,.VALMY) K VALMY
 S VALMBCK="R"
 D VMSG^TIURS1($G(TIULST),.TIUDAARY,"amended")
 Q
AMEND1 ; Single record amend
 N TIUCMT,TIUT0,TIUTYP,TIUAMND,TIUSNM,TIUSBLK,TIUCSNM,TIUCSBLK,DIE,DR
 N DA,DFN,DIWESUB,TIU,TIUODA,TIUTITL,TIUCLSS,TIUCON,TIUCNSLT,TIUPRF,TIUFLAG
 K ^TMP("TIURTRCT",$J)
 ; TIU*155 Gets consult data if exists
 S TIUTITL=$P($G(^TIU(8925,TIUDA,0)),U)
 S TIUCLSS=$$CLASS^TIUCNSLT()
 S TIUCON=+$$ISA^TIULX(TIUTITL,TIUCLSS)
 S TIUCNSLT=+$P($G(^TIU(8925,TIUDA,14)),U,5)
 S TIUPRF=0,TIUFLAG=0
 D ISPRFTTL^TIUPRF2(.TIUPRF,TIUTITL)
 I TIUPRF S TIUFLAG=$$FNDACTIF^TIUPRFL(TIUDA)
 L +^TIU(8925,+TIUDA):1
 E  D  Q
 . W !?5,$C(7),"Another user is editing this entry." H 3
 . S TIUCHNG("REFRESH")=1
 I +$P($G(^TIU(8925,+TIUDA,0)),U,5)'>6 D  Q
 . W !?5,$C(7),"Only SIGNED Documents may be amended."
 . I $$READ^TIUU("EA","Press RETURN to continue...") ; pause
 . S TIUCHNG("REFRESH")=1
 I '$$ISA^USRLM(+$G(DUZ),"PRIVACY ACT OFFICER"),'$$ISA^USRLM(+$G(DUZ),"CHIEF, MIS"),'$$ISA^USRLM(+$G(DUZ),"CHIEF, HIM") D  Q
 . W !?5,$C(7),"Only Privacy Act Officers or MIS/HIM Chiefs may amend documents."
 . I $$READ^TIUU("EA","Press RETURN to continue...") ; pause
 . S TIUCHNG("REFRESH")=1
 I +$$HASIMG^TIURB2(TIUDA) D IMGNOTE^TIURB2 Q
 ;S TIUAMND=$$CANDO^TIULP(TIUDA,"AMENDMENT")
 ;I +TIUAMND'>0 D  Q
 ;. W !!,$C(7),$C(7),$C(7),$P(TIUAMND,U,2),!
 ;. S TIUCHNG("REFRESH")=1
 ;. I $$READ^TIUU("EA","Press RETURN to continue...") ; pause
 ;VMP/ELR P232. ADDED NEXT PARAGRAPH TO PREVENT AMEND OF NIR OR ANESTHESIA REPORT  MUST USE SURGERY
 I $$ISSURG^TIULP3(+TIUDA) D  Q
 . S TIUAMND=$$SURMSG^TIULP3("AMENDMENT")
 . W !!,$C(7),$C(7),$C(7),$G(TIUAMND),!
 . S TIUCHNG("REFRESH")=1
 . I $$READ^TIUU("EA","Press RETURN to continue...") ; pause
 W !!,"Before proceeding, please enter your Electronic Signature Code..."
 S TIUAMND=$$GETSIG^TIURD2
 I +TIUAMND'>0 D  Q
 . W !!,"  Ok, no harm done...",!
 . S TIUCHNG("REFRESH")=1
 . I $$READ^TIUU("EA","Press RETURN to continue...") ; pause
 W !!,"The ORIGINAL document will be RETRACTED, and a copy will be amended...",!
 S TIUODA=TIUDA
 S TIUDA=+$$RETRACT^TIURD2(TIUDA,"",7)
 I '+TIUDA D  Q
 . W !!,$C(7),$C(7),$C(7),"Retraction of Original Document Failed.",!
 . I $$READ^TIUU("EA","Press RETURN to continue...") ; pause
 . S TIUDA=TIUODA,TIUCHNG("REFRESH")=1
 L +^TIU(8925,TIUDA):1
 E  D  Q
 . W !?5,$C(7),"Another user is editing this entry."
 . D RECOVER^TIURD4(TIUODA,TIUDA) H 3
 . S TIUPRF=$$LINK^TIUPRF1(TIUODA,+TIUFLAG,$P(TIUFLAG,U,2),$P($G(^TIU(8925,TIUODA,0)),U,2))
 . S TIUDA=TIUODA,TIUCHNG("REFRESH")=1
 S TIUSNM=$$DECRYPT^TIULC1($P(^TIU(8925,TIUDA,15),U,3),1,$$CHKSUM^TIULC("^TIU(8925,"_TIUDA_",""TEXT"")"))
 S TIUSBLK=$$DECRYPT^TIULC1($P($G(^TIU(8925,TIUDA,15)),U,4),1,$$CHKSUM^TIULC("^TIU(8925,"_TIUDA_",""TEXT"")"))
 S TIUCSNM=$$DECRYPT^TIULC1($P(^TIU(8925,TIUDA,15),U,9),1,$$CHKSUM^TIULC("^TIU(8925,"_TIUDA_",""TEXT"")"))
 S TIUCSBLK=$$DECRYPT^TIULC1($P($G(^TIU(8925,TIUDA,15)),U,10),1,$$CHKSUM^TIULC("^TIU(8925,"_TIUDA_",""TEXT"")"))
 S TIUTYP=+$G(^TIU(8925,+TIUDA,0)),TIUT0=$G(^TIU(8925.1,+TIUTYP,0))
 S TIUTYP(1)="1^"_+TIUTYP_U_$P(TIUT0,U,3)_U
 S DFN=$P($G(^TIU(8925,+TIUDA,0)),U,2)
 D GETTIU^TIULD(.TIU,TIUDA)
 S DIWESUB="Patient: "_$G(TIU("PNM"))
 S TIUCHNG=0 D FULL^VALM1,TEXTEDIT^TIUEDI4(TIUDA,.TIUCMT,.TIUCHNG)
 I '+$G(TIUCHNG) D  Q
 . L -^TIU(8925,TIUDA)
 . D RECOVER^TIURD4(TIUODA,TIUDA)
 . S TIUPRF=$$LINK^TIUPRF1(TIUODA,+TIUFLAG,$P(TIUFLAG,U,2),$P($G(^TIU(8925,TIUODA,0)),U,2))
 . L -^TIU(8925,TIUODA) H 3
 . S TIUDA=TIUODA,TIUCHNG("REFRESH")=1
 I +$G(TIUCHNG) D
 . S DR=".05///AMENDED;1601////"_$$NOW^XLFDT_";1602////"_DUZ,DA=TIUDA,TIUSIG=0
 . S DR=DR_";1603////"_$$NOW^XLFDT_";1604///^S X=$$SIGNAME^TIULS(DUZ);1605///^S X=$$SIGTITL^TIULS(DUZ)",TIUSIG=1
 . S DIE=8925 D ^DIE
 . ; Refile /es/-block fields
 . S DR="1503///^S X=TIUSNM;1504///^S X=TIUSBLK;1509///^S X=TIUCSNM;1510///^S X=TIUCSBLK"
 . D ^DIE
 ; Drop Locks on both documents
 L -^TIU(8925,+TIUDA)
 L -^TIU(8925,+TIUODA)
 S TIUDAARY(TIUI)=TIUDA
 S TIUCHNG("RBLD")=1
 ; if note is associated with a patient record flag - clean up
 I +TIUFLAG S TIUPRF=$$LINK^TIUPRF1(TIUDA,+TIUFLAG,$P(TIUFLAG,U,2),$P($G(^TIU(8925,TIUDA,0)),U,2))
 ; TIU*155 If note is associated with a consult update ^GMR global
 ; to include the amended note
 ; Rollback retracted note from ^GMR(123 node 50
 I $G(TIUCON)=1 D
 . N STATUS,GMRCSTAT,TIUAUTH
 . S STATUS=$P($G(^TIU(8925,TIUDA,0)),U,5)
 . S GMRCSTAT=$S(STATUS>6:"COMPLETED",1:"INCOMPLETE")
 . S TIUAUTH=$P($G(^TIU(8925,TIUDA,12)),U,2)
 . D ROLLBACK^TIUCNSLT(TIUODA)
 . D GET^GMRCTIU(TIUCNSLT,TIUDA,GMRCSTAT,TIUAUTH)
 Q
SENDBACK ; Send back a Document to transcription
 N TIUDA,DFN,TIU,TIUDATA,TIUCHNG,TIUI,TIUY,Y,DIROUT,TIULST
 N TIUDAARY
 I '$D(VALMY) D EN^VALM2(XQORNOD(0))
 S TIUI=0
 I +$O(VALMY(0)) D CLEAR^VALM1
 F  S TIUI=$O(VALMY(TIUI)) Q:+TIUI'>0  D  Q:$D(DIROUT)
 . N TIU,RSTRCTD
 . S TIUDATA=$G(^TMP("TIURIDX",$J,TIUI))
 . S TIUDA=+$P(TIUDATA,U,2) S RSTRCTD=$$DOCRES^TIULRR(TIUDA)
 . I RSTRCTD D  Q
 . . W !!,$C(7),"Ok, no harm done...",! ; Echo denial message
 . . I $$READ^TIUU("EA","RETURN to continue...") ; pause
 . S TIUDAARY(TIUI)=TIUDA
 . S TIUCHNG=0
 . D EN^VALM("TIU SEND BACK")
 . I +$G(TIUCHNG) D
 . . S TIULST=$G(TIULST)_$S($G(TIULST)]"":",",1:"")_TIUI
SENDX ; Revise list and cycle back as appropriate
 I $G(TIUCHNG("ADDM"))!$G(TIUCHNG("DELETE")) S TIUCHNG("RBLD")=1
 E  S TIUCHNG("UPDATE")=1
 D UPRBLD^TIURL(.TIUCHNG,.VALMY) K VALMY
 S VALMBCK="R"
 D VMSG^TIURS1($G(TIULST),.TIUDAARY,"sent back")
 Q
 N TIUCHNG,TIUDA,DFN,TIU,TIUDATA,TIUEDIT,TIUI,TIUY,TIULST,Y,DIROUT
 N TIUDAARY
 I '$D(VALMY) D EN^VALM2(XQORNOD(0))
 S TIUI=0
 I +$O(VALMY(0)) D CLEAR^VALM1
 F  S TIUI=$O(VALMY(TIUI)) Q:+TIUI'>0  D  Q:$D(DIROUT)
 . N TIU,VALMY,XQORM,VA,VADM,GMPDFN,GMPLUSER,RSTRCTD
 . S TIUDATA=$G(^TMP("TIURIDX",$J,TIUI))
 . S TIUDA=+$P(TIUDATA,U,2),GMPLUSER=1
 . I '$D(^TIU(8925,+TIUDA,0)) D  Q
 . . W !,$C(7),"Document no longer exists.",!
 . . I $$READ^TIUU("EA","Press RETURN to continue...") W ""
 . S RSTRCTD=$$DOCRES^TIULRR(TIUDA)
 . I RSTRCTD D  Q
 . . W !!,$C(7),"Ok, no harm done...",! ; Echo denial message
 . . I $$READ^TIUU("EA","RETURN to continue...") ; pause
 . S TIUDAARY(TIUI)=TIUDA
 . S DFN=+$P($G(^TIU(8925,+TIUDA,0)),U,2)
 . I +DFN D DEM^VADPT S GMPDFN=DFN_U_VADM(1)_U_$E(VADM(1))_VA("BID")
 . S TIUCHNG=0
 . D EN^VALM("TIU LINK TO PROBLEM")
 . I +$G(TIUCHNG) S TIULST=$G(TIULST)_$S($G(TIULST)]"":",",1:"")_TIUI
LINKX ; Revise list and cycle back as appropriate
 S TIUCHNG("REFRESH")=1
 D UPRBLD^TIURL(.TIUCHNG,.VALMY) K VALMY
 S VALMBCK="R"
 D VMSG^TIURS1($G(TIULST),.TIUDAARY,"linked to problems")
 Q
DEL(DA) ; -- Call to DEL for backward compatibility
 G GODEL^TIURB2
 Q