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

SDES904P.m

Go to the documentation of this file.
SDES904P ;ALB/JHV/JSJ,JAS,BWF - SD*5.3*904 Post Init Routine ; MAR 27, 2025
 ;;5.3;SCHEDULING;**904**;AUG 13, 1993;Build 1
 ;;Per VHA Directive 6402, this routine should not be modified
 ;
 ; Reference to NEW PERSON (200), KEY (200.051) in ICR #7054
 ; Reference to SECURITY KEY (19.1) in ICR #505
 ;
 Q
 ;
EN ;
 D TASK,TASK2,TASK3,VSE9529,TASK4
 Q
 ;
TASK ; tasks off process to remove null comment audit entries from Recall Reminders file
 D MES^XPDUTL("")
 D MES^XPDUTL(" SD*5.3*904 Post-Install to remove null entries from the COMMENT")
 D MES^XPDUTL(" AUDIT (#403.57) sub-file is being queued to run in the background.")
 D MES^XPDUTL("")
 N ZTDESC,ZTRTN,ZTIO,ZTSK,X,ZTDTH,ZTSAVE
 S ZTDESC="SD*5.3*904 Post Install Routine Task 1"
 D NOW^%DTC S ZTDTH=X,ZTIO="",ZTRTN="CLNRECREMS^SDES904P",ZTSAVE("*")="" 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
 ;
CLNRECREMS ;
 ;
 N RECREQIEN,COMAUDIEN,COMMENT,COMMENTS,FDA
 S RECREQIEN=0
 F  S RECREQIEN=$O(^SD(403.5,RECREQIEN)) Q:'RECREQIEN  I $D(^SD(403.5,RECREQIEN,2)) D
 . S COMAUDIEN=0
 . F  S COMAUDIEN=$O(^SD(403.5,RECREQIEN,2,COMAUDIEN)) Q:'COMAUDIEN  D
 . . Q:'$D(^SD(403.5,RECREQIEN,2,COMAUDIEN,0))
 . . S COMMENT=$$GET1^DIQ(403.57,COMAUDIEN_","_RECREQIEN_",",2)
 . . I COMMENT="" D
 . . . S FDA(403.57,COMAUDIEN_","_RECREQIEN_",",.01)="@"
 . . . D FILE^DIE("","FDA") K FDA
 Q
 ;
TASK2 ; tasks off process to remove null comment audit entries from SDEC Appt Request file
 D MES^XPDUTL("")
 D MES^XPDUTL(" SD*5.3*904 Post-Install to remove null entries from the COMMENTS")
 D MES^XPDUTL(" AUDIT (#409.8527) sub-file is being queued to run in the background.")
 D MES^XPDUTL("")
 N ZTDESC,ZTRTN,ZTIO,ZTSK,X,ZTDTH,ZTSAVE
 S ZTDESC="SD*5.3*904 Post Install Routine Task 2"
 D NOW^%DTC S ZTDTH=X,ZTIO="",ZTRTN="CLNAPREQS^SDES904P",ZTSAVE("*")="" 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
 ;
CLNAPREQS ;
 ;
 N APREQIEN,COMAUDIEN,COMMENT,COMMENTS,FDA
 S APREQIEN=0
 F  S APREQIEN=$O(^SDEC(409.85,APREQIEN)) Q:'APREQIEN  I $D(^SDEC(409.85,APREQIEN,"COMAUD")) D
 . S COMAUDIEN=0
 . F  S COMAUDIEN=$O(^SDEC(409.85,APREQIEN,"COMAUD",COMAUDIEN)) Q:'COMAUDIEN  D
 . . S COMMENT=$$GET1^DIQ(409.8527,COMAUDIEN_","_APREQIEN_",",2)
 . . I COMMENT="" D
 . . . S FDA(409.8527,COMAUDIEN_","_APREQIEN_",",.01)="@"
 . . . D FILE^DIE("","FDA") K FDA
 Q
 ;
TASK3 ; tasks off process to remove null note audit entries from SDEC Appointment file
 D MES^XPDUTL("")
 D MES^XPDUTL(" SD*5.3*904 Post-Install to remove null entries from the NOTE")
 D MES^XPDUTL(" AUDIT (#409.847) sub-file is being queued to run in the background.")
 D MES^XPDUTL("")
 N ZTDESC,ZTRTN,ZTIO,ZTSK,X,ZTDTH,ZTSAVE
 S ZTDESC="SD*5.3*904 Post Install Routine Task 3"
 D NOW^%DTC S ZTDTH=X,ZTIO="",ZTRTN="CLNAPPTS^SDES904P",ZTSAVE("*")="" 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
 ;
CLNAPPTS ;
 ;
 N APPTIEN,APREQIEN,COMAUDIEN,COMMARRAY,COMMENT,COMMENTS,COMMIEN,DATEIEN,EDITEDNOTE,FDA,REQREC
 S DATEIEN=3231130.999999
 F  S DATEIEN=$O(^SDEC(409.84,"B",DATEIEN)) Q:'DATEIEN  D
 . S APPTIEN=0
 . F  S APPTIEN=$O(^SDEC(409.84,"B",DATEIEN,APPTIEN)) Q:'APPTIEN  I $D(^SDEC(409.84,APPTIEN,"NOTEAUD")) D
 . . S COMAUDIEN=0
 . . F  S COMAUDIEN=$O(^SDEC(409.84,APPTIEN,"NOTEAUD",COMAUDIEN)) Q:'COMAUDIEN  D
 . . . S COMMENT=$$GET1^DIQ(409.847,COMAUDIEN_","_APPTIEN_",",2)
 . . . I COMMENT="" D
 . . . . S FDA(409.847,COMAUDIEN_","_APPTIEN_",",.01)="@"
 . . . . D UPDATE^DIE("","FDA") K FDA
 Q
 ;
VSE9529 ;report of appointments booked for 3/1/2026 and after and were booked before 3/10/2025
 N APPTST,MDDT
 K ^XTMP("SDES904P","VSE-9529")
 S APPTST=$$ISOTFM^SDAMUTDT("2026-03-01T00:01-0400")
 S MDDT=$$ISOTFM^SDAMUTDT("2025-03-10T00:00-0400")
 D ACTIVAPT(APPTST,MDDT)
 D MAIL
 Q
 ;
ACTIVAPT(APPTST,MDDT) ;
 N APPTDT,RECCNT,APPTIEN,WHOMADE,WHOMADENM,CLINIC,CLINICTXT,WHENMADE,WHENMADETXT,APPTDTTX,NODENUM,RESOURCE,STATUS
 S RECCNT=0
 S ^XTMP("SDES904P","VSE-9529",1)="CLINIC NAME;APPOINTMENT DATE/TIME;APPOINTMENT MADE DATE/TIME;WHO MADE"
 S NODENUM=1
 S APPTDT=APPTST-.0001
 F  S APPTDT=$O(^SDEC(409.84,"B",APPTDT)) Q:'APPTDT  D
 . S APPTDTTX=$P($$FMTISO^SDAMUTDT(APPTDT),"-",1,3)
 . S APPTIEN=0 F  S APPTIEN=$O(^SDEC(409.84,"B",APPTDT,APPTIEN)) Q:'APPTIEN  D
 .. S RESOURCE=$$GET1^DIQ(409.84,APPTIEN,.07,"I")
 .. S CLINIC=$$GET1^DIQ(409.831,RESOURCE,.04,"I")
 .. S CLINICTXT=$$GET1^DIQ(44,CLINIC,.01,"I")
 .. S STATUS=$$GET1^DIQ(409.84,APPTIEN,.17,"I")
 .. I STATUS'="" I ",C,CA,PC,PCA,"[STATUS Q
 .. S WHOMADE=$$GET1^DIQ(409.84,APPTIEN,.08,"I")
 .. S WHOMADENM="UNKNOWN"
 .. I WHOMADE'="" S WHOMADENM=$$GET1^DIQ(200,WHOMADE,.01,"I")
 .. S WHENMADE=$$GET1^DIQ(409.84,APPTIEN,.09,"I")
 .. I WHENMADE>MDDT Q
 .. S WHENMADETXT="UNKNOWN"
 .. I WHENMADE'="" S WHENMADETXT=$P($$FMTISO^SDAMUTDT(WHENMADE,CLINIC),"-",1,3)
 .. S RECCNT=RECCNT+1,NODENUM=NODENUM+1
 .. S ^XTMP("SDES904P","VSE-9529",NODENUM)=CLINICTXT_";"_APPTDTTX_";"_WHENMADETXT_";"_WHOMADENM
 S NODENUM=NODENUM+1
 S ^XTMP("SDES904P","VSE-9529",NODENUM)="TOTAL NUMBER RECORDS IMPACTED: "_RECCNT
 Q
TASK4 ;
 D MES^XPDUTL("")
 D MES^XPDUTL(" SD*5.3*904 Post-Install to assign SDECVIEW to appropriate users")
 D MES^XPDUTL(" is being queued to run in the background.")
 D MES^XPDUTL("")
 N ZTDESC,ZTRTN,ZTIO,ZTSK,X,ZTDTH,ZTSAVE
 S ZTDESC="SD*5.3*904 Post Install Routine - SDECVIEW key assignment"
 D NOW^%DTC S ZTDTH=X,ZTIO="",ZTRTN="SDECVIEW^SDES904P",ZTSAVE("*")="" 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
SDECVIEW ;
 N KEYS,RES,USER,SDECVIEWIEN,FDA,DINUMIEN,USERKEY,KEYIEN,KEYNAME,HASSDKEY
 S KEYS(1)="ORES"
 S KEYS(2)="ORELSE"
 S SDECVIEWIEN=$$LKUP^XPDKEY("SDECVIEW")
 I 'SDECVIEWIEN Q
 ;
 S USER=0 F  S USER=$O(^VA(200,USER)) Q:'USER  D
 .Q:'+$$ACTIVE^XUSER(USER)
 .; do not add to any user that has an SD* key
 .S (USERKEY,HASSDKEY)=0
 .F  S USERKEY=$O(^VA(200,USER,51,USERKEY)) Q:'USERKEY!(HASSDKEY)  D
 ..S KEYIEN=$$GET1^DIQ(200.051,USERKEY_","_USER_",",.01,"I")
 ..S KEYNAME=$$GET1^DIQ(19.1,KEYIEN,.01,"E")
 ..I $E(KEYNAME,1,2)="SD"!(KEYNAME="SDECVIEW") S HASSDKEY=1
 .Q:HASSDKEY
 .K RES
 .D OWNSKEY^XUSRB(.RES,.KEYS,USER)
 .; User has ORES or ORELSE
 .I RES(1)!(RES(2)) D
 ..; add key to current user
 ..S FDA(200.051,"+1,"_USER_",",.01)=SDECVIEWIEN
 ..S FDA(200.051,"+1,"_USER_",",1)=.5
 ..S FDA(200.051,"+1,"_USER_",",2)=DT
 ..S DINUMIEN(1)=SDECVIEWIEN
 ..D UPDATE^DIE(,"FDA","DINUMIEN") K FDA
 Q
 ;
MAIL ;
 N STANUM,MESS1,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 MESS1="Station: "_STANUM_" - "
 S XMDUZ=DUZ
 S XMTEXT="^XTMP(""SDES904P"",""VSE-9529"","
 S XMSUB=MESS1_"SD*5.3*904 - Post Install Data Report VSE-9529"
 S XMDUZ=.5,XMY(DUZ)="",XMY(XMDUZ)=""
 S XMY("BARBER.LORI@DOMAIN.EXT")=""
 S XMY("DUNNAM.DAVID@DOMAIN.EXT")=""
 S XMY("CRUZ RIVERA,ORLANDO E@DOMAIN.EXT")=""
 S XMY("JACK.STEVENS@DOMAIN.EXT")=""
 D ^XMD
 K ^XTMP("SDES904","VSE-9529")
 Q