Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: VAQEXT04

VAQEXT04.m

Go to the documentation of this file.
  1. VAQEXT04 ;ALB/JFP,CMM,JRP - PDX, PROCESS EXTERNAL (MANUAL),PROCESS SCREEN;01MAR93
  1. ;;1.5;PATIENT DATA EXCHANGE;**10,14,25**;NOV 17, 1993
  1. PM ; -- Process remote request, manually
  1. K ^TMP("VAQR5",$J)
  1. D SEL^VALM2
  1. Q:'$D(VALMY)
  1. ;COPY VALMY ARRAY INTO TMP GLOBAL (IT'S USED LATER ON)
  1. S SDI="" F S SDI=$O(VALMY(SDI)) Q:SDI="" S ^TMP("VAQR5",$J,SDI)=""
  1. ;LOOP THROUGH COPY OF VALMY
  1. S SDI="" F S SDI=$O(^TMP("VAQR5",$J,SDI)) Q:SDI="" D
  1. .S SDAT=$G(^TMP("VAQR3","VAQIDX",$J,SDI))
  1. .S VAQTRNO=$P(SDAT,U,2),VAQTRDE=""
  1. .S VAQTRDE=$O(^VAT(394.61,"B",VAQTRNO,VAQTRDE))
  1. .F ND=0,"QRY" S NODE(ND)=$G(^VAT(394.61,VAQTRDE,ND))
  1. .S VAQPTNM=$P(NODE("QRY"),U,1),VAQISSN=$P(NODE("QRY"),U,2)
  1. .S VAQESSN=$$DASHSSN^VAQUTL99(VAQISSN)
  1. .S VAQIDOB=$P(NODE("QRY"),U,3),VAQEDOB=$$DOBFMT^VAQUTL99(VAQIDOB)
  1. .S VAQPTID=$P(NODE("QRY"),U,4)
  1. .D FIND
  1. S VALMBG=1
  1. D INIT^VAQEXT01
  1. S VALMBCK="R"
  1. K ^TMP("VAQR5",$J)
  1. QUIT
  1. ;
  1. FIND ; -- Looks for match in local data base
  1. N DPTD,HSDI,VAQCHK,DFNARR
  1. S HSDI=SDI
  1. I VAQISSN="" D
  1. .S DX=0,DY=VALM("BM")+1 X IOXY W IOEDEOP
  1. S VAQDFN=-1
  1. ;Look for exact match on SSN
  1. S:(VAQISSN'="") VAQDFN=$$GETDFN^VAQUTL97(VAQISSN,1)
  1. ;No match found
  1. I (VAQDFN<0) D NFND^VAQEXT02 S SDI=HSDI Q
  1. ;Exact match found
  1. S DFN=$P(VAQDFN,U,1),VAQHDOB=$P(^DPT(DFN,0),U,3)
  1. I (VAQHDOB=VAQIDOB)&VAQDFN>0 D Q
  1. . S DPTD(DFN)=""
  1. . D EP^VAQEXT02
  1. . S VAQDFN=1
  1. . S SDI=HSDI
  1. ;DOB not match but SSN does match - process as not found
  1. I (VAQHDOB'=VAQIDOB)&VAQDFN>0 D
  1. . D NFND^VAQEXT02 S SDI=HSDI
  1. Q
  1. ;Dont use code below per request nois id CTX-0597-70919
  1. ;Look for possible matches (duplicates)
  1. S DFNTR=$P(SDAT,U,2)
  1. S VAQCHK=""
  1. D EP^VAQLED03
  1. S DPTD=+$G(DPTD)
  1. ;Include exact lookup on name as possible match
  1. S VAQDFN=+$$GETDFN^VAQUTL97(VAQPTNM,1)
  1. S:(VAQDFN>0) DPTD=DPTD+1,DPTD(VAQDFN)=""
  1. ;No possible matches - process as not found
  1. I ('DPTD) D NFND^VAQEXT02 S SDI=HSDI Q
  1. ;Possible matches found
  1. D EP^VAQEXT02
  1. S SDI=HSDI
  1. Q
  1. ;
  1. TASK ; -- Load taskman variables and task off
  1. S ZTRTN="GENXMIT^VAQADM50",ZTDESC="PDX, MANUAL PROCESS",ZTDTH=$H,ZTIO=""
  1. S ZTSAVE("VAQTRN(")=""
  1. I ZTRTN'="" D ^%ZTLOAD
  1. I '$D(ZTSK) W !,"Error queueing Transaction (manual)...call IRM " D PAUSE^VAQUTL95
  1. K ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSAVE,ZTSK
  1. QUIT
  1. ;
  1. END ; -- End of code
  1. QUIT