1 | PSXDODAT ;BRM/PDW-DOD PROCESS/FILE AUTO-SCHEDULING INFORMATION ;09/09/02 11:15 AM
|
---|
2 | ;;2.0;CMOP;**38,45**;11 Apr 97
|
---|
3 | Q
|
---|
4 | EN(PATH,FNAME) ; needs directory & file name
|
---|
5 | I $L(PATH),$L(FNAME) I 1
|
---|
6 | E S PSXERR="0^BAD PATH OR FILENAME" G ERRMSG
|
---|
7 | K ^TMP($J,"PSXDOD")
|
---|
8 | S FNAME1=FNAME
|
---|
9 | S GBL="^TMP("_$J_",""PSXDOD"",1)"
|
---|
10 | S Y=$$FTG^%ZISH(PATH,FNAME,$NA(^TMP($J,"PSXDOD",1)),3)
|
---|
11 | I Y'>0 S PSXERR="9^"_PATH_U_FNAME_U_" DID NOT LOAD" G ERRMSG
|
---|
12 | I $D(^TMP($J,"PSXDOD"))'>1 S PSXERR="9^"_PATH_U_FNAME_U_" DID NOT LOAD" G ERRMSG
|
---|
13 | EN1 ;
|
---|
14 | K PSXERR
|
---|
15 | S (MSH,MSH1)=^TMP($J,"PSXDOD",1),ARQ=^TMP($J,"PSXDOD",2)
|
---|
16 | I $E(MSH,1,3)="MSH",$E(ARQ,1,3)="ARQ" I 1
|
---|
17 | E S PSXERR="1^ BAD SEGMENT SEQUENCE ^ Auto Scheduling Information ^ "_PATH_U_FNAME G ERRMSG
|
---|
18 | ; variables are being set to call DOD^PSXMISC
|
---|
19 | F YY="SENDAPP^3","MSGTYPID^9","MSGID^10","HLDATETM^7" D PIECE(MSH,"|",YY)
|
---|
20 | I $E(IOST)="C" W !,"MSGTYPID ",MSGTYPID
|
---|
21 | S SITE="1"_$P(MSGID,"-") ;****Institution File
|
---|
22 | S XX=$O(^PSX(552,"D",SITE,0)),SITENM=$$GET1^DIQ(552,XX,.01)
|
---|
23 | S ARQ=$P(ARQ,"ARQ|",2)
|
---|
24 | F YY="STAT^6","DATE^11","HOUR^13","ROFF^15" D PIECE(ARQ,"|",YY)
|
---|
25 | S HOUR=$E(HOUR,2,99),HOUR=+HOUR,DATE=$$FMDATE^HLFNC(DATE)
|
---|
26 | I "SIU^S07,SIU^S20"'[MSGTYPID I $E(IOST)="C" W !,"STOPPING ",MSGTYPID Q ; Not a scheduling message.
|
---|
27 | S ROFF=$$FMNAME^HLFNC(ROFF,"^") ; remote official name
|
---|
28 | ;S STDATE=$$FMDATE^HLFNC(DATE)
|
---|
29 | S:STAT=1 STAT=1,PSXCS=0
|
---|
30 | S:STAT=2 STAT=1,PSXCS=1
|
---|
31 | S:STAT=3 STAT=0,PSXCS=0
|
---|
32 | S:STAT=4 STAT=0,PSXCS=1
|
---|
33 | D DOD^PSXMISC
|
---|
34 | K ^TMP($J,"PSXDOD1")
|
---|
35 | D NOW^%DTC S DATETM=$$HLDATE^HLFNC(%),DATETM=+DATETM
|
---|
36 | S RESP=$S(MSGTYPID["SIU":"SRR^S07",1:"SRR^S20")
|
---|
37 | S MSH="MSH|^~\&|VistA||CHCS||2001121401100||SRR^SO7|10111-011214|P|2.3.1|NE|NE"
|
---|
38 | F YY="SENDAPP^5","MSGID^10","DATETM^7","RESP^9" D PUT(.MSH,"|",YY)
|
---|
39 | S ^TMP($J,"PSXDOD1",1)=MSH
|
---|
40 | S MSA="MSA|CA|"_MSGID_"|"
|
---|
41 | S ^TMP($J,"PSXDOD1",2)=MSA
|
---|
42 | S FNAME2=$P(FNAME1,"."),FNAME2=FNAME2_".HAC",PATH=$$GET1^DIQ(554,1,21)
|
---|
43 | F XX=1:1:5 S Y=$$GTF^%ZISH($NA(^TMP($J,"PSXDOD1",1)),3,PATH,FNAME2) Q:Y=1 H 4
|
---|
44 | I Y'=1 S GBL=$NA(^TMP($J,"PSXDOD")) D FALERT^PSXDODNT(FNAME2,PATH,GBL)
|
---|
45 | ;I $E(IOST)="C" W !," FILING RESPONSE ",PATH," ",FNAME2," ",Y
|
---|
46 | S PATH=$$GET1^DIQ(554,1,22)
|
---|
47 | F XX=1:1:5 S Y=$$GTF^%ZISH($NA(^TMP($J,"PSXDOD1",1)),3,PATH,FNAME2) Q:Y=1 H 4
|
---|
48 | I Y'=1 S GBL=$NA(^TMP($J,"PSXDOD")) D FALERT^PSXDODNT(FNAME2,PATH,GBL)
|
---|
49 | Q
|
---|
50 | PIECE(REC,DLM,XX) ;
|
---|
51 | ; Set variable V = piece P of REC using delimiter DLM
|
---|
52 | N V,P S V=$P(XX,U),P=$P(XX,U,2),@V=$P(REC,DLM,P)
|
---|
53 | Q
|
---|
54 | PUT(REC,DLM,XX) ;
|
---|
55 | ; Set Variable V into piece P of REC using delimiter DLM
|
---|
56 | N V,P S V=$P(XX,U),P=$P(XX,U,2)
|
---|
57 | S $P(REC,DLM,P)=$G(@V)
|
---|
58 | Q
|
---|
59 | AUTO ; AUTO SCAN IN DIRECTORY AND FIRE UP JOBS
|
---|
60 | S PATH=$$GET1^DIQ(554,1,20)
|
---|
61 | Q:'$L(PATH)
|
---|
62 | K PSXF,PSXL
|
---|
63 | S PSXF("*.SCH")="",Y=$$LIST^%ZISH(PATH,"PSXF","PSXL")
|
---|
64 | I $E(IOST)="C" I 'Y W !,"NO FILES FOUND" Q
|
---|
65 | S FNAME="" F S FNAME=$O(PSXL(FNAME)) Q:FNAME="" D
|
---|
66 | . I $E(IOST)="C" W !," processing ",PATH," ",FNAME
|
---|
67 | . D EN(PATH,FNAME)
|
---|
68 | Q
|
---|
69 | ERRMSG ;
|
---|
70 | MSGSEQER ;send error message to folks & DOD
|
---|
71 | ;W !,"error ",PSXERR
|
---|
72 | S XMSUB="DOD to CMOP Auto Scheduling Error"
|
---|
73 | ;S XMY(DUZ)="" ;***TESTING
|
---|
74 | S XMY("G.CMOP MANAGERS")=""
|
---|
75 | S XMTEXT="PSXTXT("
|
---|
76 | S PSXTXT(1,0)="DOD to VA CMOP Auto Scheduling experienced an error"
|
---|
77 | S PSXTXT(2,0)=$G(PSXERR)
|
---|
78 | D ^XMD
|
---|
79 | Q
|
---|