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

IVM289A.m

Go to the documentation of this file.
  1. IVM289A ;ALB/RMM IVM Patient File Xref Cleanup Utility ; 01/27/2004
  1. ;;2.0;INCOME VERIFICATION MATCH;**89**;21-OCT-94
  1. ;
  1. ; Global Counter Storage Details:
  1. ; ^XTMP("IVM289",0,"IVM") Count of invalid 301.5 pointers
  1. ; ^XTMP("IVM289",0,"DGMT") Count of invalid 408.31 pointers
  1. ; ^XTMP("IVM289",0,"DUP") Count of Duplicate xref entries
  1. ; ^XTMP("IVM289",0,"TOT") Total count of all xrefs
  1. ; ^XTMP("IVM289",0,"DEL") Total count of all xrefs purged
  1. ;
  1. EN ; Begin processing
  1. ; Write message to installation device and to INSTALL file (#9.7)
  1. D BMES^XPDUTL("IVM Patient File Xref Cleanup Post Install")
  1. D MES^XPDUTL("When the the cleanup has completed, a MailMan message")
  1. D MES^XPDUTL("messawill bt containing a recap of the deleted")
  1. D MES^XPDUTL("cross references.")
  1. D BMES^XPDUTL("Beginning clean-up process "_$$FMTE^XLFDT($$NOW^XLFDT))
  1. ;
  1. INIT ; Initialize tracking global (See text above for description)
  1. N %,X,X1,X2,I
  1. S X1=DT,X2=120 D C^%DTC
  1. S ^XTMP("IVM289",0)=X_"^"_$$DT^XLFDT_"^IVM Patient File Xref Cleanup"
  1. ;
  1. F I="IVM","DGMT","DUP","TOT","DEL" S ^XTMP("IVM289",0,I)=0
  1. ;
  1. START ;
  1. N TYPE,FDATE,IVMPAT,MTIEN
  1. F TYPE="AC","AD" D
  1. .S FDATE=0
  1. .F S FDATE=$O(^IVM(301.5,TYPE,FDATE)) Q:('FDATE) D
  1. ..S IVMPAT=0
  1. ..F S IVMPAT=$O(^IVM(301.5,TYPE,FDATE,IVMPAT)) Q:'IVMPAT D
  1. ...S MTIEN=$O(^IVM(301.5,TYPE,FDATE,IVMPAT,""),-1)
  1. ...;
  1. ...D CKMULT
  1. ...I FDATE<DT D DUP,TOT,DEL,DELX(MTIEN) Q
  1. ...;
  1. ...I '$D(^IVM(301.5,IVMPAT,0)) D IVM,TOT,DEL,DELX(MTIEN) Q
  1. ...;
  1. ...I '$D(^DGMT(408.31,MTIEN,0)) D DGMT,TOT,DEL,DELX(MTIEN) Q
  1. ...;
  1. ...D TOT
  1. ;
  1. ;
  1. ; Send a mailman msg to the user with the results
  1. D MAIL^IVM289M
  1. D MES^XPDUTL(" >>clean-up process completed "_$$FMTE^XLFDT($$NOW^XLFDT))
  1. Q
  1. ;
  1. CKMULT ; Remove duplicate entries from cross reference, leaving last entry
  1. N MTREC S MTREC=0
  1. F S MTREC=$O(^IVM(301.5,TYPE,FDATE,IVMPAT,MTREC)) Q:(MTREC=MTIEN!('MTREC)) D DUP,TOT,DEL,DELX(MTREC)
  1. Q
  1. ;
  1. ; Delete Cross Reference
  1. DELX(MTIEN) K ^IVM(301.5,TYPE,FDATE,IVMPAT,MTIEN) Q
  1. ;
  1. ; Increment Global Counters
  1. IVM S ^XTMP("IVM289",0,"IVM")=^XTMP("IVM289",0,"IVM")+1 Q
  1. DGMT S ^XTMP("IVM289",0,"DGMT")=^XTMP("IVM289",0,"DGMT")+1 Q
  1. DUP S ^XTMP("IVM289",0,"DUP")=^XTMP("IVM289",0,"DUP")+1 Q
  1. TOT S ^XTMP("IVM289",0,"TOT")=^XTMP("IVM289",0,"TOT")+1 Q
  1. DEL S ^XTMP("IVM289",0,"DEL")=^XTMP("IVM289",0,"DEL")+1 Q
  1. Q