| 1 | TIUP146 ;SLC/RMO - Post-Install for TIU*1*146 ;9/9/02@09:51:20
 | 
|---|
| 2 |  ;;1.0;Text Integration Utilities;**146**;Jun 20, 1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | EN ;Entry point to queue a job to identify documents linked to a
 | 
|---|
| 5 |  ;different patient's visit
 | 
|---|
| 6 |  N ZTDESC,ZTIO,ZTRTN,ZTSAVE,ZTSK
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 |  W !!,"PATCH TIU*1*146"
 | 
|---|
| 9 |  W !!,"Search ALL entries in the TIU Document file (#8925) to identify"
 | 
|---|
| 10 |  W !,"documents linked to a different patient's visit.",!
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 |  ;Set variables
 | 
|---|
| 13 |  S ZTRTN="EN1^TIUP146",ZTIO="",ZTSAVE("DUZ")=""
 | 
|---|
| 14 |  S ZTDESC="Search TIU Documents - Patch 146"
 | 
|---|
| 15 |  D ^%ZTLOAD
 | 
|---|
| 16 |  I $G(ZTSK) D
 | 
|---|
| 17 |  . W !!,"A task has been queued in the background and a bulletin will be sent"
 | 
|---|
| 18 |  . W !,"to you upon completion of the task or if the task is stopped."
 | 
|---|
| 19 |  . W !!,"The task number is "_$G(ZTSK)_"."
 | 
|---|
| 20 |  Q
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 | EN1 ;Entry point to identify documents pointing to a different patient's
 | 
|---|
| 23 |  ;visit
 | 
|---|
| 24 |  ; Input  -- None
 | 
|---|
| 25 |  ; Output -- ^XTMP("TIUP146", Global
 | 
|---|
| 26 |  N TIUD0,TIUDA,TIUDFN,TIUVSIT,TIURSTDA
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  ;Initialize re-start if check point exists
 | 
|---|
| 29 |  I +$G(^XTMP("TIUP146","CHKPT")) D
 | 
|---|
| 30 |  . S TIURSTDA=+$G(^XTMP("TIUP146","CHKPT"))
 | 
|---|
| 31 |  ELSE  D
 | 
|---|
| 32 |  . ;Clean-up ^XTMP("TIUP146")
 | 
|---|
| 33 |  . K ^XTMP("TIUP146")
 | 
|---|
| 34 |  . ;Initialize ^XTMP("TIUP146" if not re-start
 | 
|---|
| 35 |  . S ^XTMP("TIUP146",0)=$$FMADD^XLFDT(DT,90)_U_DT
 | 
|---|
| 36 |  . S ^XTMP("TIUP146","CNT","EX")=0
 | 
|---|
| 37 |  . S ^XTMP("TIUP146","CNT","TOT")=0
 | 
|---|
| 38 |  . S ^XTMP("TIUP146","CHKPT")=""
 | 
|---|
| 39 |  K ^XTMP("TIUP146","STOP")
 | 
|---|
| 40 |  S ^XTMP("TIUP146","T0")=$$NOW^XLFDT
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 |  ;Loop through documents
 | 
|---|
| 43 |  S TIUDA=$S($G(TIURSTDA):TIURSTDA,1:0)
 | 
|---|
| 44 |  F  S TIUDA=+$O(^TIU(8925,TIUDA)) Q:'TIUDA!($G(ZTSTOP))  I $D(^(TIUDA,0)) S TIUD0=^(0) D
 | 
|---|
| 45 |  . ;Set variables
 | 
|---|
| 46 |  . S TIUDFN=$P(TIUD0,U,2)
 | 
|---|
| 47 |  . S TIUVSIT=$P(TIUD0,U,3)
 | 
|---|
| 48 |  . ;
 | 
|---|
| 49 |  . ;Check if document linked to a different patient's visit
 | 
|---|
| 50 |  . I TIUVSIT>0,TIUDFN>0,+$G(^AUPNVSIT(+TIUVSIT,0)),$P(^(0),U,5)'=TIUDFN D SETXTMP(TIUDA,TIUVSIT)
 | 
|---|
| 51 |  . S ^XTMP("TIUP146","CNT","TOT")=+$G(^XTMP("TIUP146","CNT","TOT"))+1
 | 
|---|
| 52 |  . ;
 | 
|---|
| 53 |  . ;Set check point for Document IEN
 | 
|---|
| 54 |  . S ^XTMP("TIUP146","CHKPT")=TIUDA
 | 
|---|
| 55 |  . ;
 | 
|---|
| 56 |  . ;Check if user requested to stop task
 | 
|---|
| 57 |  . I $$S^%ZTLOAD S ZTSTOP=1
 | 
|---|
| 58 |  ;
 | 
|---|
| 59 |  ;Send bulletin, re-set check point and clean up variables
 | 
|---|
| 60 |  I $G(ZTSTOP) S ^XTMP("TIUP146","STOP")=$$NOW^XLFDT
 | 
|---|
| 61 |  S ^XTMP("TIUP146","T1")=$$NOW^XLFDT
 | 
|---|
| 62 |  ;
 | 
|---|
| 63 |  D MAIL^TIUP146P
 | 
|---|
| 64 |  ;
 | 
|---|
| 65 |  I '$G(ZTSTOP) S ^XTMP("TIUP146","CHKPT")=""
 | 
|---|
| 66 |  K TIURSTDA
 | 
|---|
| 67 |  Q
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | SETXTMP(TIUDA,TIUVSIT) ;Set ^XTMP for entries processed
 | 
|---|
| 70 |  ; Input  -- TIUDA    TIU Document file (#8925) IEN
 | 
|---|
| 71 |  ;           TIUVSIT  VIsit file (#9000010) IEN
 | 
|---|
| 72 |  ; Output -- Set ^XTMP("TIUP146","EX",TIUDA)=TIUVSIT
 | 
|---|
| 73 |  S ^XTMP("TIUP146","EX",TIUDA)=TIUVSIT
 | 
|---|
| 74 |  S ^XTMP("TIUP146","CNT","EX")=+$G(^XTMP("TIUP146","CNT","EX"))+1
 | 
|---|
| 75 |  Q
 | 
|---|
| 76 |  ;
 | 
|---|
| 77 | ENDBI ;Entry point to remove documents pointing to a visit of IEN=1
 | 
|---|
| 78 |  ;from ^XTMP
 | 
|---|
| 79 |  N C,TIUDA
 | 
|---|
| 80 |  W !,"Killing entries in ^XTMP(""TIUP146"",""EX"" that point to Visit IEN=1..."
 | 
|---|
| 81 |  S (C,TIUDA)=0
 | 
|---|
| 82 |  F  S TIUDA=$O(^XTMP("TIUP146","EX",TIUDA)) Q:'TIUDA  I +$G(^(TIUDA))=1 D
 | 
|---|
| 83 |  . W:'(C#1000) "."
 | 
|---|
| 84 |  . K ^XTMP("TIUP146","EX",TIUDA)
 | 
|---|
| 85 |  . S C=C+1
 | 
|---|
| 86 |  W !?1,C," ",$S(C=1:"entry",1:"entries")," removed."
 | 
|---|
| 87 |  Q
 | 
|---|