[613] | 1 | VAQEXT04 ;ALB/JFP,CMM,JRP - PDX, PROCESS EXTERNAL (MANUAL),PROCESS SCREEN;01MAR93
|
---|
| 2 | ;;1.5;PATIENT DATA EXCHANGE;**10,14,25**;NOV 17, 1993
|
---|
| 3 | PM ; -- Process remote request, manually
|
---|
| 4 | K ^TMP("VAQR5",$J)
|
---|
| 5 | D SEL^VALM2
|
---|
| 6 | Q:'$D(VALMY)
|
---|
| 7 | ;COPY VALMY ARRAY INTO TMP GLOBAL (IT'S USED LATER ON)
|
---|
| 8 | S SDI="" F S SDI=$O(VALMY(SDI)) Q:SDI="" S ^TMP("VAQR5",$J,SDI)=""
|
---|
| 9 | ;LOOP THROUGH COPY OF VALMY
|
---|
| 10 | S SDI="" F S SDI=$O(^TMP("VAQR5",$J,SDI)) Q:SDI="" D
|
---|
| 11 | .S SDAT=$G(^TMP("VAQR3","VAQIDX",$J,SDI))
|
---|
| 12 | .S VAQTRNO=$P(SDAT,U,2),VAQTRDE=""
|
---|
| 13 | .S VAQTRDE=$O(^VAT(394.61,"B",VAQTRNO,VAQTRDE))
|
---|
| 14 | .F ND=0,"QRY" S NODE(ND)=$G(^VAT(394.61,VAQTRDE,ND))
|
---|
| 15 | .S VAQPTNM=$P(NODE("QRY"),U,1),VAQISSN=$P(NODE("QRY"),U,2)
|
---|
| 16 | .S VAQESSN=$$DASHSSN^VAQUTL99(VAQISSN)
|
---|
| 17 | .S VAQIDOB=$P(NODE("QRY"),U,3),VAQEDOB=$$DOBFMT^VAQUTL99(VAQIDOB)
|
---|
| 18 | .S VAQPTID=$P(NODE("QRY"),U,4)
|
---|
| 19 | .D FIND
|
---|
| 20 | S VALMBG=1
|
---|
| 21 | D INIT^VAQEXT01
|
---|
| 22 | S VALMBCK="R"
|
---|
| 23 | K ^TMP("VAQR5",$J)
|
---|
| 24 | QUIT
|
---|
| 25 | ;
|
---|
| 26 | FIND ; -- Looks for match in local data base
|
---|
| 27 | N DPTD,HSDI,VAQCHK,DFNARR
|
---|
| 28 | S HSDI=SDI
|
---|
| 29 | I VAQISSN="" D
|
---|
| 30 | .S DX=0,DY=VALM("BM")+1 X IOXY W IOEDEOP
|
---|
| 31 | S VAQDFN=-1
|
---|
| 32 | ;Look for exact match on SSN
|
---|
| 33 | S:(VAQISSN'="") VAQDFN=$$GETDFN^VAQUTL97(VAQISSN,1)
|
---|
| 34 | ;No match found
|
---|
| 35 | I (VAQDFN<0) D NFND^VAQEXT02 S SDI=HSDI Q
|
---|
| 36 | ;Exact match found
|
---|
| 37 | S DFN=$P(VAQDFN,U,1),VAQHDOB=$P(^DPT(DFN,0),U,3)
|
---|
| 38 | I (VAQHDOB=VAQIDOB)&VAQDFN>0 D Q
|
---|
| 39 | . S DPTD(DFN)=""
|
---|
| 40 | . D EP^VAQEXT02
|
---|
| 41 | . S VAQDFN=1
|
---|
| 42 | . S SDI=HSDI
|
---|
| 43 | ;DOB not match but SSN does match - process as not found
|
---|
| 44 | I (VAQHDOB'=VAQIDOB)&VAQDFN>0 D
|
---|
| 45 | . D NFND^VAQEXT02 S SDI=HSDI
|
---|
| 46 | Q
|
---|
| 47 | ;Dont use code below per request nois id CTX-0597-70919
|
---|
| 48 | ;Look for possible matches (duplicates)
|
---|
| 49 | S DFNTR=$P(SDAT,U,2)
|
---|
| 50 | S VAQCHK=""
|
---|
| 51 | D EP^VAQLED03
|
---|
| 52 | S DPTD=+$G(DPTD)
|
---|
| 53 | ;Include exact lookup on name as possible match
|
---|
| 54 | S VAQDFN=+$$GETDFN^VAQUTL97(VAQPTNM,1)
|
---|
| 55 | S:(VAQDFN>0) DPTD=DPTD+1,DPTD(VAQDFN)=""
|
---|
| 56 | ;No possible matches - process as not found
|
---|
| 57 | I ('DPTD) D NFND^VAQEXT02 S SDI=HSDI Q
|
---|
| 58 | ;Possible matches found
|
---|
| 59 | D EP^VAQEXT02
|
---|
| 60 | S SDI=HSDI
|
---|
| 61 | Q
|
---|
| 62 | ;
|
---|
| 63 | TASK ; -- Load taskman variables and task off
|
---|
| 64 | S ZTRTN="GENXMIT^VAQADM50",ZTDESC="PDX, MANUAL PROCESS",ZTDTH=$H,ZTIO=""
|
---|
| 65 | S ZTSAVE("VAQTRN(")=""
|
---|
| 66 | I ZTRTN'="" D ^%ZTLOAD
|
---|
| 67 | I '$D(ZTSK) W !,"Error queueing Transaction (manual)...call IRM " D PAUSE^VAQUTL95
|
---|
| 68 | K ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSAVE,ZTSK
|
---|
| 69 | QUIT
|
---|
| 70 | ;
|
---|
| 71 | END ; -- End of code
|
---|
| 72 | QUIT
|
---|