[613] | 1 | VAQPST22 ;ALB/JRP - POST INIT (FILE CONVERSION);11-JUN-93
|
---|
| 2 | ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
|
---|
| 3 | PROCESS(REMOTE,RETURN,DEBUG) ;CONVERT REMOTE REQUESTS
|
---|
| 4 | ;INPUT : REMOTE - Name of local site (used as authorizing site)
|
---|
| 5 | ; RETURN - Domain of local site (used as authorizing domain)
|
---|
| 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 : All remote requests will be stored as requires manual
|
---|
| 12 | ; processing (even if they are marked for automatic)
|
---|
| 13 | ;
|
---|
| 14 | ;CHECK INPUT
|
---|
| 15 | S REMOTE=$G(REMOTE)
|
---|
| 16 | Q:(REMOTE="") "-1^Did not pass name of local site"
|
---|
| 17 | S RETURN=$G(RETURN)
|
---|
| 18 | Q:(RETURN="") "-1^Did not pass domain of local site"
|
---|
| 19 | S DEBUG=+$G(DEBUG)
|
---|
| 20 | N AUTOPTR,MANPTR,TMP,NODE0,NODE1,PTR10,TRAN10,COUNT
|
---|
| 21 | N REMTRAN,ERRCNT,RELEASE,PATPTR,NAME,SSN,DOB,PID,DATE
|
---|
| 22 | N USER,SITE,PTR15,TRAN15,STATUS,DOMAIN
|
---|
| 23 | ;DETERMIN CONSTANTS
|
---|
| 24 | S AUTOPTR=+$O(^VAT(394.3,"B",20,""))
|
---|
| 25 | Q:('AUTOPTR) "-1^PDX STATUS file (#394.3) did not contain status # 20 (automatic processing)"
|
---|
| 26 | S MANPTR=+$O(^VAT(394.3,"B",17,""))
|
---|
| 27 | Q:('MANPTR) "-1^PDX STATUS file (#394.3) did not contain status # 17 (requires processing)"
|
---|
| 28 | W:(DEBUG) !!!!
|
---|
| 29 | W:(DEBUG) !,"*******************************"
|
---|
| 30 | W:(DEBUG) !,"* *"
|
---|
| 31 | W:(DEBUG) !,"* Remote Request Conversion *"
|
---|
| 32 | W:(DEBUG) !,"* *"
|
---|
| 33 | W:(DEBUG) !,"*******************************"
|
---|
| 34 | W:(DEBUG) !!,"Pointer Information"
|
---|
| 35 | W:(DEBUG) !,"-------------------"
|
---|
| 36 | W:(DEBUG) !,"Automatic Processing Pointer: ",AUTOPTR
|
---|
| 37 | W:(DEBUG) !,"Requires Processing Pointer: ",MANPTR
|
---|
| 38 | ;FILE REMOTE REQUESTS
|
---|
| 39 | W:(DEBUG) !!,"Converting remote requests ",!," Time: ",$$NOW^VAQUTL99,!
|
---|
| 40 | S COUNT=0
|
---|
| 41 | S ERRCNT=0
|
---|
| 42 | S PTR10=0
|
---|
| 43 | F S PTR10=+$O(^VAT(394,"AD",AUTOPTR,PTR10)) Q:('PTR10) D FILE K ^VAT(394,"AD",AUTOPTR,PTR10)
|
---|
| 44 | S PTR10=0
|
---|
| 45 | F S PTR10=+$O(^VAT(394,"AD",MANPTR,PTR10)) Q:('PTR10) D FILE K ^VAT(394,"AD",MANPTR,PTR10)
|
---|
| 46 | Q (COUNT-ERRCNT)
|
---|
| 47 | ;
|
---|
| 48 | FILE ;FILE REQUESTS
|
---|
| 49 | ;INCREMENT COUNT
|
---|
| 50 | S COUNT=COUNT+1
|
---|
| 51 | I (DEBUG) W:(('(COUNT#5))&(COUNT#100)) "." W:('(COUNT#100)) "#"
|
---|
| 52 | ;GET INFO FROM 1.0 TRANSACTION
|
---|
| 53 | I ('$D(^VAT(394,PTR10))) S ERRCNT=ERRCNT+1 Q
|
---|
| 54 | S NODE0=$G(^VAT(394,PTR10,0))
|
---|
| 55 | S NODE1=$G(^VAT(394,PTR10,1))
|
---|
| 56 | S TRAN10=+$P(NODE0,"^",2)
|
---|
| 57 | I ('TRAN10) S ERRCNT=ERRCNT+1 Q
|
---|
| 58 | S TMP=+$P(NODE0,"^",12)
|
---|
| 59 | I ((TMP'=AUTOPTR)&(TMP'=MANPTR)) S ERRCNT=ERRCNT+1 Q
|
---|
| 60 | S STATUS="VAQ-PROC"
|
---|
| 61 | S PATPTR=$P(NODE0,"^",9)
|
---|
| 62 | S NAME=$P(NODE0,"^",4)
|
---|
| 63 | S DOB=$P(NODE0,"^",7)
|
---|
| 64 | S SSN=$P(NODE0,"^",5)
|
---|
| 65 | S PID=$S(SSN="":"",1:($E(SSN,1,3)_"-"_$E(SSN,4,5)_"-"_$E(SSN,6,10)))
|
---|
| 66 | I (PATPTR="") S:(SSN'="") PATPTR=$O(^DPT("SSN",SSN,""))
|
---|
| 67 | S DATE=$P(NODE0,"^",1)
|
---|
| 68 | S USER=$P(NODE0,"^",19)
|
---|
| 69 | S SITE=$P(NODE0,"^",17)
|
---|
| 70 | I (SITE) D
|
---|
| 71 | .S TMP=+$O(^DIC(4,"D",SITE,""))
|
---|
| 72 | .Q:('TMP)
|
---|
| 73 | .S SITE=$P($G(^DIC(4,TMP,0)),"^",1)
|
---|
| 74 | .S:(SITE="") SITE=$P(NODE0,"^",17)
|
---|
| 75 | S DOMAIN=$P(NODE1,"^",1)
|
---|
| 76 | I (DOMAIN="") S ERRCNT=ERRCNT+1 Q
|
---|
| 77 | S REMTRAN=$P(NODE0,"^",3)
|
---|
| 78 | S RELEASE="VAQ-RQACK"
|
---|
| 79 | ;GO TO CONTINUATION ROUTINE
|
---|
| 80 | D CNVRT^VAQPST24
|
---|
| 81 | Q
|
---|