| 1 | TIURE ; SLC/JER - Error handler actions ;3/30/05
 | 
|---|
| 2 |  ;;1.0;TEXT INTEGRATION UTILITIES;**3,21,81,131,113,184**;Jun 20, 1997
 | 
|---|
| 3 | PRINT ; Print Buffer record associated w/unresolved filing error
 | 
|---|
| 4 |  N TIUDA,TIUDATA,TIUI,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 |  . S TIUDATA=$G(^TMP("TIUERRIDX",$J,TIUI))
 | 
|---|
| 9 |  . S (TIUDA,TIUDA(TIUI))=+$P(TIUDATA,U,3) D RESTORE^TIULM(+$O(@VALMAR@("PICK",TIUI,0)))
 | 
|---|
| 10 |  . I +TIUDA'>0!'$D(^TIU(8925.2,+TIUDA,0))!+$P(^TIU(8925.4,+$P(TIUDATA,U,2),0),U,6) W !!,"Item #",+TIUI," is already resolved." K TIUDA(TIUI) H 3 Q
 | 
|---|
| 11 |  I $D(TIUDA)'<9 D
 | 
|---|
| 12 |  . S ZTRTN="PRINT1^TIURE",ZTDESC="Print Report Buffer"
 | 
|---|
| 13 |  . D CLEAR^VALM1,DEVICE^TIUPRDS
 | 
|---|
| 14 |  . S TIUI=$$READ^TIUU("FOA","Press RETURN to continue...")
 | 
|---|
| 15 |  K VALMY S VALMBCK="R"
 | 
|---|
| 16 |  Q
 | 
|---|
| 17 | PRINT1 ; Print a single buffer record
 | 
|---|
| 18 |  N DIC,TIUI,FLDS,FR,TO,L,BY,IOP S TIUI=0
 | 
|---|
| 19 |  F  S TIUI=$O(TIUDA(TIUI)) Q:+TIUI'>0  D
 | 
|---|
| 20 |  . S IOP=$S($D(ZTIO):ZTIO,$D(ION):ION,1:"") Q:IOP']""
 | 
|---|
| 21 |  . S DIC="^TIU(8925.2,",FLDS="[TIU PRINT REPORT BUFFER]",L=0
 | 
|---|
| 22 |  . S BY=.01,(FR,TO)=+$G(^TIU(8925.2,+TIUDA(TIUI),0))
 | 
|---|
| 23 |  . D EN1^DIP
 | 
|---|
| 24 |  Q
 | 
|---|
| 25 | EDIT ; Edit Buffer record associated w/unresolved filing error
 | 
|---|
| 26 |  N TIUDA,BUFDA,TIUDATA,TIUI,DIROUT,TIUDI
 | 
|---|
| 27 |  I '$D(VALMY) D EN^VALM2(XQORNOD(0))
 | 
|---|
| 28 |  S TIUI=0
 | 
|---|
| 29 |  F  S TIUI=$O(VALMY(TIUI)) Q:+TIUI'>0  D  Q:$D(DIROUT)
 | 
|---|
| 30 |  . N VALMY
 | 
|---|
| 31 |  . S TIUDATA=$G(^TMP("TIUERRIDX",$J,TIUI))
 | 
|---|
| 32 |  . S BUFDA=+$P(TIUDATA,U,3)
 | 
|---|
| 33 |  . W !!,"Resolving Event #",TIUI
 | 
|---|
| 34 |  . S TIUDA=+$P(TIUDATA,U,2)
 | 
|---|
| 35 |  . D EN^VALM("TIU DISPLAY FILING EVENT")
 | 
|---|
| 36 |  . D RESTORE^TIULM(+$O(@VALMAR@("PICK",TIUI,0)))
 | 
|---|
| 37 |  W !,"Refreshing the list."
 | 
|---|
| 38 |  M TIUDI=^TMP("TIUERR",$J,"DIV")
 | 
|---|
| 39 |  D BUILD^TIUELST($P(^TMP("TIUERR",$J,0),U,2),$P(^(0),U,3),TIUEDT,TIULDT,.TIUDI)
 | 
|---|
| 40 |  K VALMY S:'$D(VALMBCK) VALMBCK="R"
 | 
|---|
| 41 |  Q
 | 
|---|
| 42 | EDIT1 ; Single record edit
 | 
|---|
| 43 |  ; Receives TIUDATA
 | 
|---|
| 44 |  N DIC,ERRDA,ERRTYPE,RETRY,DWPK K XQAKILL
 | 
|---|
| 45 |  D FULL^VALM1
 | 
|---|
| 46 |  I '$D(TIUPRM0)!'$D(TIUPRM1) D SETPARM^TIULE
 | 
|---|
| 47 |  S ERRDA=+$P(TIUDATA,U,2),ERRTYPE=$P(^TIU(8925.4,+ERRDA,0),U,8)
 | 
|---|
| 48 |  I +ERRTYPE=0 W !!,"Item #",+TIUDATA," was a successful filing event." H 3 Q
 | 
|---|
| 49 |  I +ERRTYPE=1 D FILERR(ERRDA)
 | 
|---|
| 50 |  I +ERRTYPE=2 D FLDERR(ERRDA)
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 | FILERR(ERRDA) ; Resolve filing errors
 | 
|---|
| 53 |  N TIUI,INQUIRE,BUFDA,TIUTYPE,RESCODE,TIUDONE
 | 
|---|
| 54 |  N TIUEVNT,TIUSKIP,ERR0,STATUS,PRFILERR
 | 
|---|
| 55 |  ; Set TIUEVNT for PN resolve code:
 | 
|---|
| 56 |  S TIUEVNT=+ERRDA
 | 
|---|
| 57 |  S TIUI=0,ERR0=$G(^TIU(8925.4,TIUEVNT,0)),STATUS=$P(ERR0,U,6)
 | 
|---|
| 58 |  I STATUS=1 W !,"Error has already been resolved.",! Q
 | 
|---|
| 59 |  S BUFDA=+$P(ERR0,U,5) I +BUFDA'>0 Q
 | 
|---|
| 60 |  I TIUEVNT D  I +$G(TIUDONE)!$G(TIUSKIP) G FILEX
 | 
|---|
| 61 |  . D WRITEHDR^TIUPEVNT(TIUEVNT)
 | 
|---|
| 62 |  . S TIUTYPE=$P(ERR0,U,3)
 | 
|---|
| 63 |  . I $L(TIUTYPE) S TIUTYPE=+$$WHATYPE^TIUPUTPN(TIUTYPE)
 | 
|---|
| 64 |  . I TIUTYPE>0 S RESCODE=$$FIXCODE^TIULC1(+TIUTYPE)
 | 
|---|
| 65 |  . ;E  S RESCODE="D GETPAT^TIUCHLP"
 | 
|---|
| 66 |  . I $G(RESCODE)]"" D  Q
 | 
|---|
| 67 |  . . W ! S INQUIRE=$$READ^TIUU("YO","Inquire to patient record","YES","^D INQRHELP^TIUPEVNT")
 | 
|---|
| 68 |  . . I $D(DIRUT) S TIUSKIP=1 Q
 | 
|---|
| 69 |  . . I +INQUIRE X RESCODE
 | 
|---|
| 70 |  . W !!,"Filing error resolution code could not found for this document type.",!,"Please edit the buffered data directly and refile."
 | 
|---|
| 71 |  W !!,"You may now edit the buffered upload data in an attempt to resolve error:",!,$P(ERR0,U,4),!
 | 
|---|
| 72 |  I '$$READ^TIUU("EA","Press RETURN to continue and edit the buffer or '^' to exit: ") G FILEX
 | 
|---|
| 73 |  S DIC="^TIU(8925.2,"_+BUFDA_",""TEXT"",",DWPK=1 D EN^DIWE
 | 
|---|
| 74 |  S RETRY=$$READ^TIUU("YO","Now would you like to retry the filer","YES","^D FIL^TIUDIRH")
 | 
|---|
| 75 |  I +RETRY D
 | 
|---|
| 76 |  . S PRFILERR=1 ; Tell Patient Record Flag lookup to get flag link
 | 
|---|
| 77 |  . D ALERTDEL^TIUPEVNT(+BUFDA),RESOLVE^TIUPEVNT(TIUEVNT)
 | 
|---|
| 78 |  . K TIUDONE
 | 
|---|
| 79 |  . D FILE^TIUUPLD(+BUFDA)
 | 
|---|
| 80 |  . I '$G(TIUDONE) W !,"Old error marked resolved; new error created.  New error may take several more",!,"seconds to file, and may not be within current date/time range.",! H 5
 | 
|---|
| 81 | FILEX S VALMBCK="Q" ;TIU*1*81 resolving twice creates errors so don't permit.
 | 
|---|
| 82 |  Q
 | 
|---|
| 83 | FLDERR(EVNTDA) ; Resolve field errors
 | 
|---|
| 84 |  N DIE,DA,DR,ERRDESC,EVNTDA1,EVNTREC,TIUFIX,ERR0,STATUS
 | 
|---|
| 85 |  S EVNTDA1=0
 | 
|---|
| 86 |  S ERR0=^TIU(8925.4,+EVNTDA,0),STATUS=$P(ERR0,U,6)
 | 
|---|
| 87 |  I STATUS=1 W "Error has already been resolved",! Q  ;TIU*1*81
 | 
|---|
| 88 |  S ERRDESC=$P(ERR0,U,4)
 | 
|---|
| 89 |  W !!,"You may now enter the correct information:",!
 | 
|---|
| 90 |  W !,ERRDESC
 | 
|---|
| 91 |  F  S EVNTDA1=$O(^TIU(8925.4,EVNTDA,1,EVNTDA1)) Q:+EVNTDA1'>0  D
 | 
|---|
| 92 |  . S EVNTREC=$G(^TIU(8925.4,EVNTDA,1,EVNTDA1,0)) Q:+EVNTREC'>0
 | 
|---|
| 93 |  . S DIE=$P(EVNTREC,U),DA=$P(EVNTREC,U,2)
 | 
|---|
| 94 |  . S DR=$P(EVNTREC,U,3)_"//"_$P(EVNTREC,U,4)
 | 
|---|
| 95 |  . I $$FIXED^TIUPEVN1(DIE,+DA,+DR) Q  ;P81 don't ask if already fixed; moved from TIUPEVNT
 | 
|---|
| 96 |  . D ^DIE
 | 
|---|
| 97 |  . ; P81 If missing field was just corrected, delete alert for that field:
 | 
|---|
| 98 |  . S TIUFIX=$$FIXED^TIUPEVN1(DIE,+DA,+DR) ; TIU*1*81 moved from TIUPEVNT
 | 
|---|
| 99 |  . I +TIUFIX=1 N XQAKILL,XQAID S XQAKILL=0,XQAID="TIUERR,"_+EVNTDA_","_+EVNTDA1 D DELETEA^XQALERT
 | 
|---|
| 100 |  . ; If entry is a TIU Document, do Post-filing action and SEND^TIUALRT
 | 
|---|
| 101 |  . I DIE="^TIU(8925," D
 | 
|---|
| 102 |  . . N TIUPOST,TIUREC,DR,DIE
 | 
|---|
| 103 |  . . S TIUPOST=$$POSTFILE^TIULC1(+$G(^TIU(8925,DA,0)))
 | 
|---|
| 104 |  . . S TIUREC("#")=DA
 | 
|---|
| 105 |  . . I TIUPOST]"" X TIUPOST I 1
 | 
|---|
| 106 |  . . D SEND^TIUALRT(DA)
 | 
|---|
| 107 |  D FLDRSLV^TIUPEVN1(EVNTDA) ; TIU*1*81 moved from TIUPEVNT
 | 
|---|
| 108 |  Q
 | 
|---|