1 | IVM2034Z ;HEC/KSD - Correction software for HL7 Upgrade ; 7/10/02 10:13am
|
---|
2 | ;;2.0;INCOME VERIFICATION MATCH;**60,59**;
|
---|
3 | Q
|
---|
4 | ;
|
---|
5 | EN ; fix the ACK routine for the QRY-Z10 and QRY-Z11 in the
|
---|
6 | ; server protocol.
|
---|
7 | ;
|
---|
8 | N SITE,PROT,DGENDA,DATA,ERROR,RETURN,FILE
|
---|
9 | ;
|
---|
10 | S FILE=101
|
---|
11 | S SITE=$P($$SITE^VASITE,"^",3)
|
---|
12 | S PROTSTUB="VAMC "_SITE_" QRY-"
|
---|
13 | S DATA(772)="D ORF^IVMCM"
|
---|
14 | ;
|
---|
15 | ; Update Financial Query
|
---|
16 | S PROTOCOL=PROTSTUB_"Z10 SERVER"
|
---|
17 | S DGENDA=+$O(^ORD(101,"B",PROTOCOL,""))
|
---|
18 | S DATA(.01)=PROTOCOL
|
---|
19 | S RETURN=$$UPD^DGENDBS(FILE,.DGENDA,.DATA,.ERROR)
|
---|
20 | I ERROR'=""!(+RETURN=0) W "ERROR in Updating Financial Query" Q
|
---|
21 | ;
|
---|
22 | ; Update Enrollment/Eligibility Query
|
---|
23 | S PROTOCOL=PROTSTUB_"Z11 SERVER"
|
---|
24 | S DGENDA=+$O(^ORD(101,"B",PROTOCOL,""))
|
---|
25 | S DATA(.01)=PROTOCOL
|
---|
26 | S RETURN=$$UPD^DGENDBS(FILE,.DGENDA,.DATA,.ERROR)
|
---|
27 | I ERROR'=""!(+RETURN=0) W "ERROR in Updating Enrollment/Eligibility Query" Q
|
---|
28 | Q
|
---|
29 | ;
|
---|
30 | ADSIN ;Entry Point;
|
---|
31 | ;The ADS x-ref is being deleted by the #301.6 Status field Kill
|
---|
32 | ;logic when the ORU-Z07 is retransmitted after 3 days. When the
|
---|
33 | ;ORU-Z07 ACK is returning the Message Control ID is unable to find
|
---|
34 | ;the original ORU-Z07. Code falls into wrong processing and gets
|
---|
35 | ;an allocation error.
|
---|
36 | ;1. modify Kill logic to NOT remove x-ref (done by patch)
|
---|
37 | ;2. reset ADS x-ref for 30 days into the past
|
---|
38 | N RTN,IEN,STOP,TRANSDT,BEGDT,ENDDT,MSGCID,X1,X2,NO2,NODE
|
---|
39 | ;
|
---|
40 | S RTN="IVM2034Z"
|
---|
41 | S DESC="Temporary re-setting of ADS x-ref"
|
---|
42 | S ^XTMP(RTN,0)=$$HTFM^XLFDT($H+90,1)_"^"_$$DT^XLFDT()_"^"_DESC
|
---|
43 | ;
|
---|
44 | ; Reset the ADS x-ref beginning at 30 days in the past.
|
---|
45 | S (NOW,X1)=$P($$NOW^XLFDT,"."),X2=-30
|
---|
46 | D C^%DTC
|
---|
47 | S BEGDT=X
|
---|
48 | S X1=NOW,X2=-1
|
---|
49 | D C^%DTC
|
---|
50 | S ENDDT=X
|
---|
51 | S (IEN,STOP)=0
|
---|
52 | F S IEN=$O(^IVM(301.6,IEN)) Q:IEN="" D Q:STOP
|
---|
53 | . S NODE=$G(^IVM(301.6,IEN,0))
|
---|
54 | . S TRANSDT=+$P($P(NODE,"^",2),".")
|
---|
55 | . Q:TRANSDT<BEGDT
|
---|
56 | . I TRANSDT>ENDDT S STOP=1 Q
|
---|
57 | . S MSGCID=$P(NODE,"^",5)
|
---|
58 | . S ^IVM(301.6,"ADS",MSGCID,IEN)=""
|
---|
59 | . S ^XTMP(RTN,MSGCID,IEN)=""
|
---|
60 | Q
|
---|
61 | ;
|
---|
62 | ADSOUT ;Entry Point;
|
---|
63 | ;The ADSIN line label reset the ADS x-ref for entries a week
|
---|
64 | ;before the time of running. This software will undo that
|
---|
65 | ;change. It will remove all the ADS x-ref's that were added.
|
---|
66 | ;
|
---|
67 | N RTN,IEN,MSGCID
|
---|
68 | ;
|
---|
69 | S RTN="IVM2034Z"
|
---|
70 | ;
|
---|
71 | ; Remove the ADS x-ref's set by the ADSIN running.
|
---|
72 | ;
|
---|
73 | S MSGCID=0
|
---|
74 | F S MSGCID=$O(^XTMP(RTN,MSGCID)) Q:MSGCID="" D
|
---|
75 | . S IEN=""
|
---|
76 | . F S IEN=$O(^XTMP(RTN,MSGCID,IEN)) Q:IEN="" D
|
---|
77 | . . K ^IVM(301.6,"ADS",MSGCID,IEN)
|
---|
78 | Q
|
---|