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

DG53829P.m

Go to the documentation of this file.
  1. DG53829P ; ALB/LBD - DG*5.3*829 POST INSTALL CLEAN-UP ROUTINE ; 4/11/11 9:37am
  1. ;;5.3;PIMS;**1016**;JUN 30, 2012;Build 20
  1. ;
  1. EN ; Entry point for post installation routine DG*5.3*829
  1. N ZTDESC,ZTDTH,ZTRTN,ZTSK,ZTIO
  1. S ZTRTN="CLUP^DG53829P"
  1. S ZTDESC="DG*5.3*829 Clean Up Merged Pt Recs in File #38.5"
  1. S ZTIO="",ZTDTH=$$NOW^XLFDT
  1. D ^%ZTLOAD
  1. D BMES^XPDUTL("Clean Up Merged Patient Recs in File #38.5 started - task #"_$G(ZTSK))
  1. Q
  1. ;
  1. CLUP ; entry for deleting merged patient records from the
  1. ; INCONSISTENT DATA file (#38.5)
  1. N DGNOW,DGCNT,DGREC,DFN,Z
  1. I '$D(^XTMP("DG53829")) D
  1. . S ^XTMP("DG53829",0)=$$FMADD^XLFDT(DT,180)_U_DT_U_"CLEAN UP MERGED PATIENT RECS IN FILE #38.5",^XTMP("DG53829","PARAMS")=""
  1. S Z=$G(^XTMP("DG53829","PARAMS"))
  1. I $P(Z,U,4)="RUNNING" D Q
  1. . S DGNOW=$O(^XTMP("DG53829","RUNNING",""))
  1. . D BULL(,,DGNOW,"RUNNING")
  1. . S ^XTMP("DG53829","RUNNING",$$NOW^XLFDT)="CLEANUP ALREADY RUNNING"
  1. I $P(Z,U,4)="DONE" D Q
  1. . S DGNOW=$O(^XTMP("DG53829","RUNNING",""))
  1. . D BULL(,,DGNOW,"DONE")
  1. . S ^XTMP("DG53829","RUNNING",$$NOW^XLFDT)="CLEANUP ALREADY COMPLETED"
  1. S $P(^XTMP("DG53829","PARAMS"),U,4)="RUNNING"
  1. S DGNOW=$$NOW^XLFDT,^XTMP("DG53829","RUNNING",DGNOW)="",^XTMP("DG53829","RUNNING",DGNOW,+$G(ZTSK))=""
  1. S DGCNT=+Z,DFN=+$P(Z,U,2),DGREC=+$P(Z,U,3)
  1. ; Loop through the INCONSISTENT DATA file (#38.5)
  1. F S DFN=$O(^DGIN(38.5,DFN)) Q:'DFN Q:$$STOP(DGREC) D
  1. . S DGREC=DGREC+1,$P(^XTMP("DG53829","PARAMS"),U,2,3)=DFN_U_DGREC
  1. . ; If record is pointing to a merged patient in the PATIENT file (#2), delete it
  1. . I $D(^DPT(DFN,-9)) D
  1. .. N DA,DIK
  1. .. S DIK="^DGIN(38.5,",DA=DFN D ^DIK
  1. .. S DGCNT=DGCNT+1,$P(^XTMP("DG53829","PARAMS"),U,1)=DGCNT
  1. .. S ^XTMP("DG53829","REC_DELETED",DFN)=""
  1. S $P(^XTMP("DG53829","PARAMS"),U,4)=$S('$G(ZTSTOP):"DONE",1:"STOPPED"),^XTMP("DG53829","RUNNING",DGNOW)=$$NOW^XLFDT
  1. D BULL(DGCNT,DGREC,DGNOW,'$G(ZTSTOP))
  1. Q
  1. ;
  1. BULL(DELETED,READ,WHEN,DONE) ; Send bulletin
  1. N LN,TMP,XMDUZ,XMSUB,XMTEXT,XMY
  1. S XMY(DUZ)="",XMY("G.DGEN ELIGIBILITY ALERT")="",XMDUZ=.5,XMTEXT="TMP("""_"DG53829"_""","
  1. ; Set up copay test 'links' deleted bulletin
  1. S XMSUB="DG*5.3*829 - INCONSISTENT DATA FILE CLEANUP RESULTS"
  1. S LN=1
  1. S TMP("DG53829",LN)=""
  1. I DONE="RUNNING" D Q
  1. . S LN=LN+1
  1. . S TMP("DG53829",LN)="Sorry, the INCONSISTENT DATA file (#38.5) clean up is already running."
  1. . S LN=LN+1
  1. . S TMP("DG53829",LN)=""
  1. . S LN=LN+1
  1. . S TMP("DG53829",LN)="Date/Time Started: "_WHEN
  1. . S LN=LN+1
  1. . S TMP("DG53829",LN)=""
  1. . D ^XMD
  1. I DONE="DONE" D Q
  1. . S LN=LN+1
  1. . S TMP("DG53829",LN)="Sorry, the INCONSISTENT DATA file (#38.5) clean up has already completed."
  1. . S LN=LN+1
  1. . S TMP("DG53829",LN)=""
  1. . S LN=LN+1
  1. . S TMP("DG53829",LN)="Date/Time Completed: "_$$FMTE^XLFDT($G(^XTMP("DG53829","RUNNING",WHEN)))
  1. . D ^XMD
  1. S LN=LN+1
  1. S TMP("DG53829",LN)="This message contains the results of the job to clean up records in"
  1. S LN=LN+1
  1. S TMP("DG53829",LN)="the INCONSISTENT DATA file (#38.5). Patient records that pointed to"
  1. S LN=LN+1
  1. S TMP("DG53829",LN)="merged patients in the PATIENT file (#2) were deleted."
  1. S LN=LN+1
  1. S TMP("DG53829",LN)=""
  1. S LN=LN+1
  1. S TMP("DG53829",LN)="The cleanup has "_$S(DONE:"run to completion",1:"finished a partial run")_". Here are the results"_$S(DONE:"",1:" to date")_":"
  1. S LN=LN+1
  1. S TMP("DG53829",LN)=""
  1. S LN=LN+1
  1. S TMP("DG53829",LN)=" Start Date/Time: "_$$FMTE^XLFDT(WHEN)
  1. S LN=LN+1
  1. S TMP("DG53829",LN)=" End Date/Time: "_$$FMTE^XLFDT($G(^XTMP("DG53829","RUNNING",WHEN)))
  1. S LN=LN+1
  1. S TMP("DG53829",LN)=""
  1. S LN=LN+1
  1. S TMP("DG53829",LN)=" Total File #38.5 Records Processed: "_READ
  1. S LN=LN+1
  1. S TMP("DG53829",LN)="Total Merged Patient Records Deleted: "_DELETED
  1. S LN=LN+1
  1. S TMP("DG53829",LN)=""
  1. S LN=LN+1
  1. S TMP("DG53829",LN)="Deleted records are referenced in the global ^XTMP("""_"DG53829"_""",""REC_DELETED"""
  1. S LN=LN+1
  1. S TMP("DG53829",LN)=""
  1. D ^XMD
  1. Q
  1. ;
  1. STOP(DGREC) ; Check if asked to stop
  1. ; Only check if tasked and every 1000 records read
  1. Q:$S('$G(ZTSK):1,1:DGREC#1000) 0
  1. N X
  1. S X=$$S^%ZTLOAD
  1. I X S ZTSTOP=1
  1. Q $G(ZTSTOP)
  1. ;
  1. ;
  1. RESTART ; Restart copay test invalid link
  1. N ZTDESC,ZTDTH,ZTRTN,ZTSK,ZTIO
  1. S $P(^XTMP("DG53829","PARAMS"),U,4)=""
  1. S ZTRTN="CLUP^DG53829P"
  1. S ZTDESC="DG*5.3*829 Clean Up Merged Pt Recs in File #38.5 Restart"
  1. S ZTIO="",ZTDTH=$$NOW^XLFDT
  1. D ^%ZTLOAD
  1. W !,"TASK # IS: ",$G(ZTSK)
  1. Q
  1. ;