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
|
---|