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

TIURENDX.m

Go to the documentation of this file.
  1. TIURENDX ; slc/mli - reindex TIU x-refs ;9/21/98@11:59:22
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**26**;Jun 20, 1997
  1. ;
  1. ; This routine will re-index the set logic only of the ACLPT, ACLAU,
  1. ; ACLEC, and ACLSB cross-references on file 8925 (TIU DOCUMENT).
  1. ; This will fix a problem with discharge summaries showing in TIU,
  1. ; but not in CPRS.
  1. ;
  1. EN ; -- allow process to be queued
  1. S ZTDESC="Re-index TIU x-refs",ZTIO="",ZTRTN="DQ^TIURENDX"
  1. D ^%ZTLOAD
  1. K ZTDESC,ZTIO,ZTRTN,ZTSK
  1. Q
  1. ;
  1. DQ ; -- dequeue process
  1. N TIUDA,TIUX,X
  1. ; Initialize ^XTMP("TIURENDX")
  1. K ^XTMP("TIURENDX")
  1. S ^XTMP("TIURENDX",0)=$$FMADD^XLFDT(DT,90)_U_DT
  1. S ^XTMP("TIURENDX","T0")=$$NOW^XLFDT
  1. S (^XTMP("TIURENDX","COUNT"),^("ACLPT"),^("ACLSB"),^("ACLAU"),^("ACLEC"))=0
  1. ; first, remove the ACL* x-refs, which may be corrupted
  1. K ^TIU(8925,"ACLAU"),^TIU(8925,"ACLEC")
  1. K ^TIU(8925,"ACLSB"),^TIU(8925,"ACLPT")
  1. ; next, rebuild 'em
  1. S TIUDA=0
  1. F S TIUDA=$O(^TIU(8925,TIUDA)) Q:'TIUDA D
  1. . N TIUSTAT,DA,TIUD0
  1. . S TIUD0=$G(^TIU(8925,TIUDA,0))
  1. . S TIUX=$P(TIUD0,U)
  1. . I TIUX']"" Q
  1. . I +$$ISCOMP(TIUD0) Q ; Don't process components
  1. . S TIUSTAT=+$P($G(^TIU(8925,TIUDA,0)),U,5) Q:TIUSTAT'>0
  1. . S DA=TIUDA
  1. . ; Include UNSIGNED documents in the ACLAU x-ref
  1. . I TIUSTAT=5 D SACLAU^TIUDD0(.01,TIUX),SACLAU1^TIUDD0(.01,TIUX) S ^XTMP("TIURENDX","ACLAU")=^XTMP("TIURENDX","ACLAU")+1,^XTMP("TIURENDX","COUNT")=^XTMP("TIURENDX","COUNT")+1
  1. . ; Include UNCOSIGNED documents in the ACLEC & ACLPT x-refs
  1. . I TIUSTAT=6 D SACLEC^TIUDD0(.01,TIUX),SACLPT^TIUDD0(.01,TIUX) S ^XTMP("TIURENDX","ACLEC")=^XTMP("TIURENDX","ACLEC")+1,^XTMP("TIURENDX","ACLPT")=^XTMP("TIURENDX","ACLPT")+1,^XTMP("TIURENDX","COUNT")=^XTMP("TIURENDX","COUNT")+1
  1. . ; Include ALL COMPLETED documents in the ACLPT & ACLSB x-refs
  1. . I TIUSTAT>6 D SACLPT^TIUDD0(.01,TIUX),SACLSB^TIUDD0(.01,TIUX) S ^XTMP("TIURENDX","ACLPT")=^XTMP("TIURENDX","ACLPT")+1,^XTMP("TIURENDX","ACLSB")=^XTMP("TIURENDX","ACLSB")+1,^XTMP("TIURENDX","COUNT")=^XTMP("TIURENDX","COUNT")+1
  1. . S ^XTMP("TIURENDX",+$P(TIUD0,U,5))=+$G(^XTMP("TIURENDX",+$P(TIUD0,U,5)))+1
  1. S ^XTMP("TIURENDX","T1")=$$NOW^XLFDT
  1. D BULLETIN
  1. Q
  1. ISCOMP(TIUD0) ; Is this record a component?
  1. Q $S($P($G(^TIU(8925.1,+TIUD0,0)),U,4)="CO":1,1:0)
  1. BULLETIN ; Send Bulletins on completion
  1. N TIUCNT,TIUBDT,TIUDIFF,TIUETM,TIUEDT,TIURPS,TIURAU,TIUREC,TIURPT
  1. N TIURSB,XMY,XMB,XMDUZ
  1. S TIUCNT=+$G(^XTMP("TIURENDX","COUNT"))
  1. S TIUBDT=$$DATE^TIULS(+^XTMP("TIURENDX","T0"),"MM/DD/YY HR:MIN")
  1. S TIUEDT=$$DATE^TIULS(+^XTMP("TIURENDX","T1"),"MM/DD/YY HR:MIN")
  1. S TIURAU=^XTMP("TIURENDX","ACLAU")
  1. S TIUREC=^XTMP("TIURENDX","ACLEC")
  1. S TIURPT=^XTMP("TIURENDX","ACLPT")
  1. S TIURSB=^XTMP("TIURENDX","ACLSB")
  1. S TIUDIFF=$$FMDIFF^XLFDT(+^XTMP("TIURENDX","T1"),+^XTMP("TIURENDX","T0"),2)
  1. S TIUETM=$$FMDIFF^XLFDT(+^XTMP("TIURENDX","T1"),+^XTMP("TIURENDX","T0"),3)
  1. S TIURPS=$J(TIUCNT/TIUDIFF,5,2)
  1. S XMY(+$G(DUZ))=""
  1. S XMB="TIU RE-INDEX DOCUMENT FILE"
  1. S XMDUZ="TIU RE-INDEX DOCUMENT FILE"
  1. S XMB(1)=TIUBDT,XMB(2)=TIUEDT,XMB(3)=TIURPT,XMB(4)=TIURSB
  1. S XMB(5)=TIURAU,XMB(6)=TIUREC,XMB(7)=TIUCNT,XMB(8)=TIUETM
  1. S XMB(9)=TIURPS
  1. D ^XMB,KILL^XM
  1. Q