| 1 | VAQPST23 ;ALB/JRP - POST INIT (FILE CONVERSION);29-JUL-93 | 
|---|
| 2 | ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993 | 
|---|
| 3 | RESULTS(CORARR,DEBUG) ;CONVERT RESULTS OF REQUEST & UNSOLICITED PDXs | 
|---|
| 4 | ;INPUT  : CORARR - Where correlation of 1.0 request with it's | 
|---|
| 5 | ;                  entry in 394.61 is stored (full global reference) | 
|---|
| 6 | ;         DEBUG - Turns on debug mode (info written to screen) | 
|---|
| 7 | ;           1 - Debug on | 
|---|
| 8 | ;           0 - Debug off (default) | 
|---|
| 9 | ;OUTPUT : X - Number of requests successfully converted | 
|---|
| 10 | ;        -1^Error_Text - Error (nothing converted) | 
|---|
| 11 | ;NOTES  : CORARR will be in the format | 
|---|
| 12 | ;           CORARR(X,Y)=Z | 
|---|
| 13 | ;             X = 1.0 request number | 
|---|
| 14 | ;             Y = 1.5 request number | 
|---|
| 15 | ;             Z = 1.5 IFN | 
|---|
| 16 | ; | 
|---|
| 17 | ;CHECK INPUT | 
|---|
| 18 | S CORARR=$G(CORARR) | 
|---|
| 19 | Q:(CORARR="") "-1^Did not pass reference to correlation array" | 
|---|
| 20 | S DEBUG=+$G(DEBUG) | 
|---|
| 21 | ;DECLARE VARIABLES | 
|---|
| 22 | N AMBGPTR,NTFNPTR,REJPTR,CNTPTR,RSLTPTR,NTRGPTR,UNSPTR | 
|---|
| 23 | N COUNT,ERRCNT,PTR10,STATUS,NODE0,NODE1,TMP,TRAN10,TRAN15 | 
|---|
| 24 | N LINE,PREPAR,BLOCK,XMER,TYPE,PTR15 | 
|---|
| 25 | ;DETERMIN CONSTANTS | 
|---|
| 26 | S PREPAR="^TMP(""VAQ-CNVRT"","_$J_")" | 
|---|
| 27 | K @PREPAR | 
|---|
| 28 | S AMBGPTR=+$O(^VAT(394.3,"B",11,"")) | 
|---|
| 29 | Q:('AMBGPTR) "-1^PDX STATUS file (#394.3) did not contain status # 11 (ambiguous)" | 
|---|
| 30 | S NTFNPTR=+$O(^VAT(394.3,"B",12,"")) | 
|---|
| 31 | Q:('NTFNPTR) "-1^PDX STATUS file (#394.3) did not contain status # 12 (not found)" | 
|---|
| 32 | S REJPTR=+$O(^VAT(394.3,"B",13,"")) | 
|---|
| 33 | Q:('REJPTR) "-1^PDX STATUS file (#394.3) did not contain status # 13 (rejected)" | 
|---|
| 34 | S CNTPTR=+$O(^VAT(394.3,"B",14,"")) | 
|---|
| 35 | Q:('CNTPTR) "-1^PDX STATUS file (#394.3) did not contain status # 14 (contact facility)" | 
|---|
| 36 | S RSLTPTR=+$O(^VAT(394.3,"B",15,"")) | 
|---|
| 37 | Q:('RSLTPTR) "-1^PDX STATUS file (#394.3) did not contain status # 15 (results)" | 
|---|
| 38 | S UNSPTR=+$O(^VAT(394.3,"B",16,"")) | 
|---|
| 39 | Q:('UNSPTR) "-1^PDX STATUS file (#394.3) did not contain status # 16 (Unsolicited PDX)" | 
|---|
| 40 | S NTRGPTR=+$O(^VAT(394.3,"B",18,"")) | 
|---|
| 41 | Q:('NTRGPTR) "-1^PDX STATUS file (#394.3) did not contain status # 18 (not registered)" | 
|---|
| 42 | W:(DEBUG) !!!! | 
|---|
| 43 | W:(DEBUG) !,"*********************" | 
|---|
| 44 | W:(DEBUG) !,"*                   *" | 
|---|
| 45 | W:(DEBUG) !,"*   PDX Result &    *" | 
|---|
| 46 | W:(DEBUG) !,"*  Unsolicited PDX  *" | 
|---|
| 47 | W:(DEBUG) !,"*    Conversion     *" | 
|---|
| 48 | W:(DEBUG) !,"*                   *" | 
|---|
| 49 | W:(DEBUG) !,"*********************" | 
|---|
| 50 | W:(DEBUG) !!,"Pointer Information" | 
|---|
| 51 | W:(DEBUG) !,"-------------------" | 
|---|
| 52 | W:(DEBUG) !,"Ambiguous Pointer: ",AMBGPTR | 
|---|
| 53 | W:(DEBUG) !,"Not Found Pointer: ",NTFNPTR | 
|---|
| 54 | W:(DEBUG) !,"Rejected Pointer: ",REJPTR | 
|---|
| 55 | W:(DEBUG) !,"Contact Facility Pointer: ",CNTPTR | 
|---|
| 56 | W:(DEBUG) !,"Results Pointer: ",RSLTPTR | 
|---|
| 57 | W:(DEBUG) !,"Not Registered Pointer: ",NTRGPTR | 
|---|
| 58 | W:(DEBUG) !,"Unsolicited PDX Pointer: ",UNSPTR | 
|---|
| 59 | ;FILE RESULTS | 
|---|
| 60 | W:(DEBUG) !!,"Converting results",!,"  Time: ",$$NOW^VAQUTL99,! | 
|---|
| 61 | S COUNT=0 | 
|---|
| 62 | S ERRCNT=0 | 
|---|
| 63 | S PTR10=0 | 
|---|
| 64 | F  S PTR10=+$O(^VAT(394,"AD",AMBGPTR,PTR10)) Q:('PTR10)  D FILE K ^VAT(394,"AD",AMBGPTR,PTR10) | 
|---|
| 65 | S PTR10=0 | 
|---|
| 66 | F  S PTR10=+$O(^VAT(394,"AD",NTFNPTR,PTR10)) Q:('PTR10)  D FILE K ^VAT(394,"AD",NTFNPTR,PTR10) | 
|---|
| 67 | S PTR10=0 | 
|---|
| 68 | F  S PTR10=+$O(^VAT(394,"AD",REJPTR,PTR10)) Q:('PTR10)  D FILE K ^VAT(394,"AD",REJPTR,PTR10) | 
|---|
| 69 | S PTR10=0 | 
|---|
| 70 | F  S PTR10=+$O(^VAT(394,"AD",CNTPTR,PTR10)) Q:('PTR10)  D FILE K ^VAT(394,"AD",CNTPTR,PTR10) | 
|---|
| 71 | S PTR10=0 | 
|---|
| 72 | F  S PTR10=+$O(^VAT(394,"AD",RSLTPTR,PTR10)) Q:('PTR10)  D FILE K ^VAT(394,"AD",RSLTPTR,PTR10) | 
|---|
| 73 | S PTR10=0 | 
|---|
| 74 | F  S PTR10=+$O(^VAT(394,"AD",NTRGPTR,PTR10)) Q:('PTR10)  D FILE K ^VAT(394,"AD",NTRGPTR,PTR10) | 
|---|
| 75 | ;FILE UNSOLICITED PDXS | 
|---|
| 76 | W:(DEBUG) !!,"Converting Unsolicited PDXs",!,"  Time: ",$$NOW^VAQUTL99,! | 
|---|
| 77 | S PTR10=0 | 
|---|
| 78 | F  S PTR10=+$O(^VAT(394,"AD",UNSPTR,PTR10)) Q:('PTR10)  D FILE K ^VAT(394,"AD",UNSPTR,PTR10) | 
|---|
| 79 | K @PREPAR | 
|---|
| 80 | Q (COUNT-ERRCNT) | 
|---|
| 81 | ; | 
|---|
| 82 | FILE ;FILE REQUESTS | 
|---|
| 83 | ;INCREMENT COUNT | 
|---|
| 84 | S COUNT=COUNT+1 | 
|---|
| 85 | I (DEBUG) W:(('(COUNT#5))&(COUNT#100)) "." W:('(COUNT#100)) "#" | 
|---|
| 86 | ;GET INFO FROM 1.0 TRANSACTION | 
|---|
| 87 | I ('$D(^VAT(394,PTR10))) S ERRCNT=ERRCNT+1 Q | 
|---|
| 88 | S NODE0=$G(^VAT(394,PTR10,0)) | 
|---|
| 89 | S NODE1=$G(^VAT(394,PTR10,1)) | 
|---|
| 90 | S TRAN10=+$P(NODE0,"^",2) | 
|---|
| 91 | I ('TRAN10) S ERRCNT=ERRCNT+1 Q | 
|---|
| 92 | S STATUS=+$P(NODE0,"^",12) | 
|---|
| 93 | I ((STATUS'=AMBGPTR)&(STATUS'=NTFNPTR)&(STATUS'=REJPTR)&(STATUS'=CNTPTR)&(STATUS'=RSLTPTR)&(STATUS'=NTRGPTR)&(STATUS'=UNSPTR)) S ERRCNT=ERRCNT+1 Q | 
|---|
| 94 | ;CONVERT PARENT TRANSACTION NUMBER | 
|---|
| 95 | S TMP=+$P(NODE0,"^",3) | 
|---|
| 96 | S PARENT=+$O(@CORARR@(TMP,"")) | 
|---|
| 97 | I (('PARENT)&(STATUS'=UNSPTR)) S ERRCNT=ERRCNT+1 Q | 
|---|
| 98 | S:(STATUS'=UNSPTR) $P(NODE0,"^",3)=PARENT | 
|---|
| 99 | ;GO TO CONTINUATION ROUTINE | 
|---|
| 100 | D CNVRT1^VAQPST25 | 
|---|
| 101 | Q | 
|---|