[613] | 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
|
---|