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

GMRCP210.m

Go to the documentation of this file.
GMRCP210 ;ALB/JAS - GMRC*3.0*210 Post-Init Routine ; 07/29/2026 1:30PM
 ;;3.0;CONSULT/REQUEST TRACKING;**210**;DEC 27, 1997;Build 8
 ;;Per VHA Directive 6402, this routine should not be modified
 ;
 Q
 ;
TASK ; tasks off process to run the GMRC Consult file clean-up process
 D MES^XPDUTL("")
 D MES^XPDUTL(" GMRC*3.0*210 Post-Install to clean-up REQUEST/CONSULTATION (#123) file")
 D MES^XPDUTL("  entries that have the incorrect user DUZ stored in the REQUEST PROCESSING")
 D MES^XPDUTL("  ACTIVITY (#40) sub-file.")
 D MES^XPDUTL("")
 N ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSK
 S ZTDESC="GMRC*3.0*210 Post Install Routine Task 1"
 S ZTDTH=$P($H,",",1)_","_86399,ZTIO="",ZTRTN="REPORT^GMRCP210"
 D ^%ZTLOAD
 I $D(ZTSK) D
 . D MES^XPDUTL(" >>>Task "_ZTSK_" has been queued.")
 . D MES^XPDUTL("")
 I '$D(ZTSK) D
 . D MES^XPDUTL(" UNABLE TO QUEUE THIS JOB.")
 . D MES^XPDUTL(" Please contact the National Help Desk to report this issue.")
 Q
 ;
REPORT ;
 K ^XTMP("GMRCP210")
 ;
 D CLEANUP
 ;
 D MAIL
 Q
 ;
MAIL ;
 N STANUM,MESS1,PROD,XMTEXT,XMSUB,XMY,XMDUZ,DIFROM,%,D,D0,D1,D2,DG,DIC,DICR,DIW,XMDUN,XMZ
 S STANUM=$$KSP^XUPARAM("INST")_","
 S STANUM=$$GET1^DIQ(4,STANUM,99)
 S PROD=$$PROD^XUPROD
 S MESS1="Station: "_STANUM_" - "_" ("_$S(PROD:"PROD",1:"TEST")_") - "
 S XMDUZ=DUZ
 S XMTEXT="^XTMP(""GMRCP210"","
 S XMSUB=MESS1_"GMRC*3.0*210 - Post Install Data Cleanup Report"
 S XMDUZ=.5,XMY(DUZ)="",XMY(XMDUZ)=""
 S XMY("BARBER.LORI@DOMAIN.EXT")=""
 S XMY("SWESKY.JEFFREY@DOMAIN.EXT")=""
 I PROD D
 . S XMY("DUNNAM.DAVID@DOMAIN.EXT")=""
 . S XMY("CRUZ.ORLANDO@DOMAIN.EXT")=""
 D ^XMD
 Q
 ;
CLEANUP  ; Data clean-up for file #123 records that have wrong user DUZ saved to record
 N APPTIEN,CONSULTIEN,COUNT,CREATEDATE,FDA,REQUESTPTR
 ;
 S COUNT=0
 S ^XTMP("GMRCP210",COUNT)=$$FMADD^XLFDT(DT,120)_U_DT_U_"COMMENTS EDITED BY GMRC*3.0*210"
 ;
 S CREATEDATE=3240123.999999
 F  S CREATEDATE=$O(^SDEC(409.84,"AC",CREATEDATE)) Q:'CREATEDATE  D
 . S APPTIEN=0
 . F  S APPTIEN=$O(^SDEC(409.84,"AC",CREATEDATE,APPTIEN)) Q:'APPTIEN  I $D(^SDEC(409.84,APPTIEN,0)) D
 . . ; Only working with Consults
 . . S REQUESTPTR=$$GET1^DIQ(409.84,APPTIEN,.22,"I")
 . . Q:$P(REQUESTPTR,";",2)'["123"
 . . S CONSULTIEN=$P(REQUESTPTR,";")
 . . ;
 . . Q:'$D(^GMR(123,CONSULTIEN,40))
 . . ;
 . . N APPTDATA,CANCELDATE,CANCELUSER,CREATEUSER,FDA,NEWUSER,NOSHOWDATE,NOSHOWUSER,SDERRORS
 . . D GETS^DIQ(409.84,APPTIEN,".08;.12;.101;.102;.121","I","APPTDATA","SDERRORS")
 . . Q:$D(SDERRORS)
 . . S CREATEUSER=APPTDATA(409.84,APPTIEN_",",.08,"I")
 . . S NOSHOWDATE=APPTDATA(409.84,APPTIEN_",",.101,"I")
 . . S NOSHOWUSER=APPTDATA(409.84,APPTIEN_",",.102,"I")
 . . S CANCELDATE=APPTDATA(409.84,APPTIEN_",",.12,"I")
 . . S CANCELUSER=APPTDATA(409.84,APPTIEN_",",.121,"I")
 . . ;
 . . ; Check for DUZ mismatches
 . . N ACTIVITYDATE,CONACTIEN,CONSULTACTIVITY,CONSULTUSER,FIX
 . . S CONACTIEN=0
 . . F  S CONACTIEN=$O(^GMR(123,CONSULTIEN,40,CONACTIEN)) Q:'CONACTIEN  D
 . . . S ACTIVITYDATE=$$GET1^DIQ(123.02,CONACTIEN_","_CONSULTIEN_",",.01,"I")
 . . . S CONSULTUSER=$$GET1^DIQ(123.02,CONACTIEN_","_CONSULTIEN_",",4,"I")
 . . . S CONSULTACTIVITY=$$GET1^DIQ(123.02,CONACTIEN_","_CONSULTIEN_",",1,"E")
 . . . ;
 . . . ; Check for matching activity dates and mismatched DUZ's
 . . . S FIX=0
 . . . I CONSULTACTIVITY="SCHEDULED",ACTIVITYDATE=CREATEDATE,CONSULTUSER'=CREATEUSER S NEWUSER=CREATEUSER,FIX=1
 . . . I CONSULTACTIVITY="STATUS CHANGE" D
 . . . . I ACTIVITYDATE=NOSHOWDATE,CONSULTUSER'=NOSHOWUSER S NEWUSER=NOSHOWUSER,FIX=1 Q
 . . . . I ACTIVITYDATE=CANCELDATE,CONSULTUSER'=CANCELUSER S NEWUSER=CANCELUSER,FIX=1
 . . . ;
 . . . Q:'FIX
 . . . ; Fix the mismatching data
 . . . S FDA(123.02,CONACTIEN_","_CONSULTIEN_",",4)=NEWUSER
 . . . D FILE^DIE(,"FDA") K FDA
 . . . ;
 . . . ; Store before/after in ^XTMP
 . . . S COUNT=COUNT+1
 . . . S ^XTMP("GMRCP210",COUNT)="For Consult IEN "_CONSULTIEN_", Action IEN "_CONACTIEN_", the WHO ENTERED ACTIVITY value of "_CONSULTUSER_" has been corrected to "_NEWUSER
 ;
 I 'COUNT S ^XTMP("GMRCP210",1)="No Consult records needed to be corrected at this time."
 Q