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
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSDES904P 7812 printed Aug 26, 2025@23:12:01 Page 2
SDES904P ;ALB/JHV/JSJ,JAS,BWF - SD*5.3*904 Post Init Routine ; MAR 27, 2025
+1 ;;5.3;SCHEDULING;**904**;AUG 13, 1993;Build 1
+2 ;;Per VHA Directive 6402, this routine should not be modified
+3 ;
+4 ; Reference to NEW PERSON (200), KEY (200.051) in ICR #7054
+5 ; Reference to SECURITY KEY (19.1) in ICR #505
+6 ;
+7 QUIT
+8 ;
EN ;
+1 DO TASK
DO TASK2
DO TASK3
DO VSE9529
DO TASK4
+2 QUIT
+3 ;
TASK ; tasks off process to remove null comment audit entries from Recall Reminders file
+1 DO MES^XPDUTL("")
+2 DO MES^XPDUTL(" SD*5.3*904 Post-Install to remove null entries from the COMMENT")
+3 DO MES^XPDUTL(" AUDIT (#403.57) sub-file is being queued to run in the background.")
+4 DO MES^XPDUTL("")
+5 NEW ZTDESC,ZTRTN,ZTIO,ZTSK,X,ZTDTH,ZTSAVE
+6 SET ZTDESC="SD*5.3*904 Post Install Routine Task 1"
+7 DO NOW^%DTC
SET ZTDTH=X
SET ZTIO=""
SET ZTRTN="CLNRECREMS^SDES904P"
SET ZTSAVE("*")=""
DO ^%ZTLOAD
+8 IF $DATA(ZTSK)
Begin DoDot:1
+9 DO MES^XPDUTL(" >>>Task "_ZTSK_" has been queued.")
+10 DO MES^XPDUTL("")
End DoDot:1
+11 IF '$DATA(ZTSK)
Begin DoDot:1
+12 DO MES^XPDUTL(" UNABLE TO QUEUE THIS JOB.")
+13 DO MES^XPDUTL(" Please contact the National Help Desk to report this issue.")
End DoDot:1
+14 QUIT
+15 ;
CLNRECREMS ;
+1 ;
+2 NEW RECREQIEN,COMAUDIEN,COMMENT,COMMENTS,FDA
+3 SET RECREQIEN=0
+4 FOR
SET RECREQIEN=$ORDER(^SD(403.5,RECREQIEN))
if 'RECREQIEN
QUIT
IF $DATA(^SD(403.5,RECREQIEN,2))
Begin DoDot:1
+5 SET COMAUDIEN=0
+6 FOR
SET COMAUDIEN=$ORDER(^SD(403.5,RECREQIEN,2,COMAUDIEN))
if 'COMAUDIEN
QUIT
Begin DoDot:2
+7 if '$DATA(^SD(403.5,RECREQIEN,2,COMAUDIEN,0))
QUIT
+8 SET COMMENT=$$GET1^DIQ(403.57,COMAUDIEN_","_RECREQIEN_",",2)
+9 IF COMMENT=""
Begin DoDot:3
+10 SET FDA(403.57,COMAUDIEN_","_RECREQIEN_",",.01)="@"
+11 DO FILE^DIE("","FDA")
KILL FDA
End DoDot:3
End DoDot:2
End DoDot:1
+12 QUIT
+13 ;
TASK2 ; tasks off process to remove null comment audit entries from SDEC Appt Request file
+1 DO MES^XPDUTL("")
+2 DO MES^XPDUTL(" SD*5.3*904 Post-Install to remove null entries from the COMMENTS")
+3 DO MES^XPDUTL(" AUDIT (#409.8527) sub-file is being queued to run in the background.")
+4 DO MES^XPDUTL("")
+5 NEW ZTDESC,ZTRTN,ZTIO,ZTSK,X,ZTDTH,ZTSAVE
+6 SET ZTDESC="SD*5.3*904 Post Install Routine Task 2"
+7 DO NOW^%DTC
SET ZTDTH=X
SET ZTIO=""
SET ZTRTN="CLNAPREQS^SDES904P"
SET ZTSAVE("*")=""
DO ^%ZTLOAD
+8 IF $DATA(ZTSK)
Begin DoDot:1
+9 DO MES^XPDUTL(" >>>Task "_ZTSK_" has been queued.")
+10 DO MES^XPDUTL("")
End DoDot:1
+11 IF '$DATA(ZTSK)
Begin DoDot:1
+12 DO MES^XPDUTL(" UNABLE TO QUEUE THIS JOB.")
+13 DO MES^XPDUTL(" Please contact the National Help Desk to report this issue.")
End DoDot:1
+14 QUIT
+15 ;
CLNAPREQS ;
+1 ;
+2 NEW APREQIEN,COMAUDIEN,COMMENT,COMMENTS,FDA
+3 SET APREQIEN=0
+4 FOR
SET APREQIEN=$ORDER(^SDEC(409.85,APREQIEN))
if 'APREQIEN
QUIT
IF $DATA(^SDEC(409.85,APREQIEN,"COMAUD"))
Begin DoDot:1
+5 SET COMAUDIEN=0
+6 FOR
SET COMAUDIEN=$ORDER(^SDEC(409.85,APREQIEN,"COMAUD",COMAUDIEN))
if 'COMAUDIEN
QUIT
Begin DoDot:2
+7 SET COMMENT=$$GET1^DIQ(409.8527,COMAUDIEN_","_APREQIEN_",",2)
+8 IF COMMENT=""
Begin DoDot:3
+9 SET FDA(409.8527,COMAUDIEN_","_APREQIEN_",",.01)="@"
+10 DO FILE^DIE("","FDA")
KILL FDA
End DoDot:3
End DoDot:2
End DoDot:1
+11 QUIT
+12 ;
TASK3 ; tasks off process to remove null note audit entries from SDEC Appointment file
+1 DO MES^XPDUTL("")
+2 DO MES^XPDUTL(" SD*5.3*904 Post-Install to remove null entries from the NOTE")
+3 DO MES^XPDUTL(" AUDIT (#409.847) sub-file is being queued to run in the background.")
+4 DO MES^XPDUTL("")
+5 NEW ZTDESC,ZTRTN,ZTIO,ZTSK,X,ZTDTH,ZTSAVE
+6 SET ZTDESC="SD*5.3*904 Post Install Routine Task 3"
+7 DO NOW^%DTC
SET ZTDTH=X
SET ZTIO=""
SET ZTRTN="CLNAPPTS^SDES904P"
SET ZTSAVE("*")=""
DO ^%ZTLOAD
+8 IF $DATA(ZTSK)
Begin DoDot:1
+9 DO MES^XPDUTL(" >>>Task "_ZTSK_" has been queued.")
+10 DO MES^XPDUTL("")
End DoDot:1
+11 IF '$DATA(ZTSK)
Begin DoDot:1
+12 DO MES^XPDUTL(" UNABLE TO QUEUE THIS JOB.")
+13 DO MES^XPDUTL(" Please contact the National Help Desk to report this issue.")
End DoDot:1
+14 QUIT
+15 ;
CLNAPPTS ;
+1 ;
+2 NEW APPTIEN,APREQIEN,COMAUDIEN,COMMARRAY,COMMENT,COMMENTS,COMMIEN,DATEIEN,EDITEDNOTE,FDA,REQREC
+3 SET DATEIEN=3231130.999999
+4 FOR
SET DATEIEN=$ORDER(^SDEC(409.84,"B",DATEIEN))
if 'DATEIEN
QUIT
Begin DoDot:1
+5 SET APPTIEN=0
+6 FOR
SET APPTIEN=$ORDER(^SDEC(409.84,"B",DATEIEN,APPTIEN))
if 'APPTIEN
QUIT
IF $DATA(^SDEC(409.84,APPTIEN,"NOTEAUD"))
Begin DoDot:2
+7 SET COMAUDIEN=0
+8 FOR
SET COMAUDIEN=$ORDER(^SDEC(409.84,APPTIEN,"NOTEAUD",COMAUDIEN))
if 'COMAUDIEN
QUIT
Begin DoDot:3
+9 SET COMMENT=$$GET1^DIQ(409.847,COMAUDIEN_","_APPTIEN_",",2)
+10 IF COMMENT=""
Begin DoDot:4
+11 SET FDA(409.847,COMAUDIEN_","_APPTIEN_",",.01)="@"
+12 DO UPDATE^DIE("","FDA")
KILL FDA
End DoDot:4
End DoDot:3
End DoDot:2
End DoDot:1
+13 QUIT
+14 ;
VSE9529 ;report of appointments booked for 3/1/2026 and after and were booked before 3/10/2025
+1 NEW APPTST,MDDT
+2 KILL ^XTMP("SDES904P","VSE-9529")
+3 SET APPTST=$$ISOTFM^SDAMUTDT("2026-03-01T00:01-0400")
+4 SET MDDT=$$ISOTFM^SDAMUTDT("2025-03-10T00:00-0400")
+5 DO ACTIVAPT(APPTST,MDDT)
+6 DO MAIL
+7 QUIT
+8 ;
ACTIVAPT(APPTST,MDDT) ;
+1 NEW APPTDT,RECCNT,APPTIEN,WHOMADE,WHOMADENM,CLINIC,CLINICTXT,WHENMADE,WHENMADETXT,APPTDTTX,NODENUM,RESOURCE,STATUS
+2 SET RECCNT=0
+3 SET ^XTMP("SDES904P","VSE-9529",1)="CLINIC NAME;APPOINTMENT DATE/TIME;APPOINTMENT MADE DATE/TIME;WHO MADE"
+4 SET NODENUM=1
+5 SET APPTDT=APPTST-.0001
+6 FOR
SET APPTDT=$ORDER(^SDEC(409.84,"B",APPTDT))
if 'APPTDT
QUIT
Begin DoDot:1
+7 SET APPTDTTX=$PIECE($$FMTISO^SDAMUTDT(APPTDT),"-",1,3)
+8 SET APPTIEN=0
FOR
SET APPTIEN=$ORDER(^SDEC(409.84,"B",APPTDT,APPTIEN))
if 'APPTIEN
QUIT
Begin DoDot:2
+9 SET RESOURCE=$$GET1^DIQ(409.84,APPTIEN,.07,"I")
+10 SET CLINIC=$$GET1^DIQ(409.831,RESOURCE,.04,"I")
+11 SET CLINICTXT=$$GET1^DIQ(44,CLINIC,.01,"I")
+12 SET STATUS=$$GET1^DIQ(409.84,APPTIEN,.17,"I")
+13 IF STATUS'=""
IF ",C,CA,PC,PCA,"[STATUS
QUIT
+14 SET WHOMADE=$$GET1^DIQ(409.84,APPTIEN,.08,"I")
+15 SET WHOMADENM="UNKNOWN"
+16 IF WHOMADE'=""
SET WHOMADENM=$$GET1^DIQ(200,WHOMADE,.01,"I")
+17 SET WHENMADE=$$GET1^DIQ(409.84,APPTIEN,.09,"I")
+18 IF WHENMADE>MDDT
QUIT
+19 SET WHENMADETXT="UNKNOWN"
+20 IF WHENMADE'=""
SET WHENMADETXT=$PIECE($$FMTISO^SDAMUTDT(WHENMADE,CLINIC),"-",1,3)
+21 SET RECCNT=RECCNT+1
SET NODENUM=NODENUM+1
+22 SET ^XTMP("SDES904P","VSE-9529",NODENUM)=CLINICTXT_";"_APPTDTTX_";"_WHENMADETXT_";"_WHOMADENM
End DoDot:2
End DoDot:1
+23 SET NODENUM=NODENUM+1
+24 SET ^XTMP("SDES904P","VSE-9529",NODENUM)="TOTAL NUMBER RECORDS IMPACTED: "_RECCNT
+25 QUIT
TASK4 ;
+1 DO MES^XPDUTL("")
+2 DO MES^XPDUTL(" SD*5.3*904 Post-Install to assign SDECVIEW to appropriate users")
+3 DO MES^XPDUTL(" is being queued to run in the background.")
+4 DO MES^XPDUTL("")
+5 NEW ZTDESC,ZTRTN,ZTIO,ZTSK,X,ZTDTH,ZTSAVE
+6 SET ZTDESC="SD*5.3*904 Post Install Routine - SDECVIEW key assignment"
+7 DO NOW^%DTC
SET ZTDTH=X
SET ZTIO=""
SET ZTRTN="SDECVIEW^SDES904P"
SET ZTSAVE("*")=""
DO ^%ZTLOAD
+8 IF $DATA(ZTSK)
Begin DoDot:1
+9 DO MES^XPDUTL(" >>>Task "_ZTSK_" has been queued.")
+10 DO MES^XPDUTL("")
End DoDot:1
+11 IF '$DATA(ZTSK)
Begin DoDot:1
+12 DO MES^XPDUTL(" UNABLE TO QUEUE THIS JOB.")
+13 DO MES^XPDUTL(" Please contact the National Help Desk to report this issue.")
End DoDot:1
+14 QUIT
SDECVIEW ;
+1 NEW KEYS,RES,USER,SDECVIEWIEN,FDA,DINUMIEN,USERKEY,KEYIEN,KEYNAME,HASSDKEY
+2 SET KEYS(1)="ORES"
+3 SET KEYS(2)="ORELSE"
+4 SET SDECVIEWIEN=$$LKUP^XPDKEY("SDECVIEW")
+5 IF 'SDECVIEWIEN
QUIT
+6 ;
+7 SET USER=0
FOR
SET USER=$ORDER(^VA(200,USER))
if 'USER
QUIT
Begin DoDot:1
+8 if '+$$ACTIVE^XUSER(USER)
QUIT
+9 ; do not add to any user that has an SD* key
+10 SET (USERKEY,HASSDKEY)=0
+11 FOR
SET USERKEY=$ORDER(^VA(200,USER,51,USERKEY))
if 'USERKEY!(HASSDKEY)
QUIT
Begin DoDot:2
+12 SET KEYIEN=$$GET1^DIQ(200.051,USERKEY_","_USER_",",.01,"I")
+13 SET KEYNAME=$$GET1^DIQ(19.1,KEYIEN,.01,"E")
+14 IF $EXTRACT(KEYNAME,1,2)="SD"!(KEYNAME="SDECVIEW")
SET HASSDKEY=1
End DoDot:2
+15 if HASSDKEY
QUIT
+16 KILL RES
+17 DO OWNSKEY^XUSRB(.RES,.KEYS,USER)
+18 ; User has ORES or ORELSE
+19 IF RES(1)!(RES(2))
Begin DoDot:2
+20 ; add key to current user
+21 SET FDA(200.051,"+1,"_USER_",",.01)=SDECVIEWIEN
+22 SET FDA(200.051,"+1,"_USER_",",1)=.5
+23 SET FDA(200.051,"+1,"_USER_",",2)=DT
+24 SET DINUMIEN(1)=SDECVIEWIEN
+25 DO UPDATE^DIE(,"FDA","DINUMIEN")
KILL FDA
End DoDot:2
End DoDot:1
+26 QUIT
+27 ;
MAIL ;
+1 NEW STANUM,MESS1,XMTEXT,XMSUB,XMY,XMDUZ,DIFROM,%,D,D0,D1,D2,DG,DIC,DICR,DIW,XMDUN,XMZ
+2 SET STANUM=$$KSP^XUPARAM("INST")_","
+3 SET STANUM=$$GET1^DIQ(4,STANUM,99)
+4 SET MESS1="Station: "_STANUM_" - "
+5 SET XMDUZ=DUZ
+6 SET XMTEXT="^XTMP(""SDES904P"",""VSE-9529"","
+7 SET XMSUB=MESS1_"SD*5.3*904 - Post Install Data Report VSE-9529"
+8 SET XMDUZ=.5
SET XMY(DUZ)=""
SET XMY(XMDUZ)=""
+9 SET XMY("BARBER.LORI@DOMAIN.EXT")=""
+10 SET XMY("DUNNAM.DAVID@DOMAIN.EXT")=""
+11 SET XMY("CRUZ RIVERA,ORLANDO E@DOMAIN.EXT")=""
+12 SET XMY("JACK.STEVENS@DOMAIN.EXT")=""
+13 DO ^XMD
+14 KILL ^XTMP("SDES904","VSE-9529")
+15 QUIT