1 | SCDXUTL5 ;ALB/ABR - RETRANSMIT CORRECTED HL7 UTILITY ; 10/25/96
|
---|
2 | ;;5.3;Scheduling;**70**;AUG 13, 1993
|
---|
3 | ;
|
---|
4 | EN ;
|
---|
5 | N DA,DIE,DR,ENC,ENCNODE,II,SDDATE,SDDAY,SDEN,SDN,SDPATCH,X,X1,X2
|
---|
6 | ; +SDPATCH = date/time of patch install
|
---|
7 | ; SDDATE = last date run (starting point for today's run
|
---|
8 | S SDPATCH=$G(^SD(404.91,1,"PATCH70")) Q:'SDPATCH
|
---|
9 | S (SDDATE,X1)=$P(SDPATCH,U,2),X2=3
|
---|
10 | Q:'SDDATE ;update complete
|
---|
11 | ;
|
---|
12 | D C^%DTC ; find date + 3
|
---|
13 | S $P(SDDATE,".",2)=9,SDDAY=$P(X,".") I SDDAY>DT S SDDAY=DT ; cannot be greater than today
|
---|
14 | S SDEND=SDDAY+.9,SDSTA=SDDATE ; end date, start from date
|
---|
15 | ;
|
---|
16 | D DELTX
|
---|
17 | D NOXMIT
|
---|
18 | D SETFL
|
---|
19 | I SDDATE,SDDAY<DT S $P(^SD(404.91,1,"PATCH70"),U,2)=SDDAY G ENQ
|
---|
20 | D CLNDONE
|
---|
21 | ENQ Q
|
---|
22 | ;
|
---|
23 | DELTX ; deleted encounters
|
---|
24 | N SDEL
|
---|
25 | S SDEL=0
|
---|
26 | F S SDEL=$O(^SD(409.73,"ADEL",SDEL)) Q:'SDEL D
|
---|
27 | . I +$G(^SD(409.74,SDEL,0))<SDDATE Q ; quit if delete for already xmited enc.
|
---|
28 | . S SDN=$O(^SD(409.73,"ADEL",SDEL,0))
|
---|
29 | . ; clean out files, reset 0-nodes
|
---|
30 | . D KILL("^SD(409.74,",SDEL)
|
---|
31 | . D:SDN KILL("^SD(409.73,",SDN)
|
---|
32 | Q
|
---|
33 | KILL(DIK,DA) ; cleans out deleted encounters
|
---|
34 | D ^DIK
|
---|
35 | Q
|
---|
36 | ;
|
---|
37 | NOXMIT ; don't transmit encounters out of date range
|
---|
38 | N SDX,SDX1
|
---|
39 | S SDX=0
|
---|
40 | F S SDX=$O(^SD(409.73,"AACXMIT",SDX)) Q:'SDX D
|
---|
41 | . F SDX1=0:0 S SDX1=$O(^SD(409.73,"AACXMIT",SDX,SDX1)) Q:'SDX1 D
|
---|
42 | ..; check if encounter beyond today's send range
|
---|
43 | .. S SDEN=+$P($G(^SD(409.73,SDX1,0)),U,2) Q:'SDEN I $G(^SCE(SDEN,0))>SDEND!('$G(^SCE(SDEN,0))) D
|
---|
44 | ...S DIE="^SD(409.73,",DA=SDX1,DR=".04////0" D ^DIE
|
---|
45 | Q
|
---|
46 | SETFL ; loop checks encounters transmitted up through date/time of patch installation
|
---|
47 | F S SDDATE=$O(^SCE("B",SDDATE)) Q:'SDDATE!(SDDATE>SDEND) D
|
---|
48 | . F SDEN=0:0 S SDEN=$O(^SCE("B",SDDATE,SDEN)) Q:'SDEN S SDN=$O(^SD(409.73,"AENC",SDEN,0)) I SDN D
|
---|
49 | .. ; quit if xmit date after patch install or already set to YES
|
---|
50 | .. Q:($G(^SD(409.73,SDN,1))>SDPATCH)!$P($G(^(0)),U,4)
|
---|
51 | .. S DIE="^SD(409.73,",DR=".04////1",DA=SDN D ^DIE
|
---|
52 | Q
|
---|
53 | ;
|
---|
54 | CLNDONE ; cleanup done
|
---|
55 | ;update node and create bulletin
|
---|
56 | S $P(^SD(404.91,1,"PATCH70"),U,2)=""
|
---|
57 | ;
|
---|
58 | MSG N MSGTXT,XMB,XMTEXT,XMY,XMDUZ,XMDT,XMZ,DIFROM
|
---|
59 | S XMB="SCDX AMBCARE TO NPCDB SUMMARY"
|
---|
60 | ; recipients are same as for SCDX AMBCARE TO NPCDB SUMMARY bulletin
|
---|
61 | ; and group at Albany IRMFO
|
---|
62 | S XMY("G.ACRP MAINTENANCE@ISC-ALBANY")=""
|
---|
63 | S XMB(1)="** HL7 TRANSMISSIONS UP-TO-DATE **" ;subject
|
---|
64 | ; message text
|
---|
65 | S MSGTXT(1)="Patch SD*5.3*70 began retransmitting Ambulatory Care Reporting Project"
|
---|
66 | S MSGTXT(2)="(ACRP) data beginning with encounters on 10/1. The retransmission of past"
|
---|
67 | S MSGTXT(3)="workload is now complete. The nightly background job will now resume"
|
---|
68 | S MSGTXT(4)="normal operations."
|
---|
69 | S XMTEXT="MSGTXT("
|
---|
70 | ;
|
---|
71 | D ^XMB
|
---|
72 | Q
|
---|