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

AGIVDRIV.m

Go to the documentation of this file.
  1. AGIVDRIV ;IHS/SD/EFG - DRIVER TO EXTRACT PT DATA FOR ENVOY (VERIQUEST) ; 9/30/04
  1. ;;7.1;PATIENT REGISTRATION;;AUG 25,2005
  1. N ASUFAC,AGPOP,SD,SDT,DFN,AGRECCNT,AGRECWRT
  1. D INIT ;
  1. D OPENIO ;
  1. I 'AGPOP D
  1. .D AGIVVIST
  1. E D
  1. .W #,"Error Creating or Opening Host file"
  1. D CLOSE^%ZISH("AGDEVICE") ;AGDEVICE contains host file name
  1. W !,"Records read: ",AGRECCNT
  1. W !,"Records wrtn: ",AGRECWRT
  1. D UPDTAGDT
  1. Q
  1. INIT ;
  1. S (AGRECCNT,AGRECWRT,AGPOP)=0 ;Variable used to halt this process
  1. S (SD,SDT,DFN)=""
  1. Q
  1. OPENIO ;
  1. D ASUFAC
  1. I 'AGPOP D
  1. .D NOW^%DTC
  1. .S FMDT=X
  1. .D YX^%DTC
  1. .D DATSTAMP
  1. .S AGFILNAM="AGVERI"_ASUFAC_"."_FMDT_HHMMSS
  1. D OPEN^%ZISH("AGDEVICE","/usr3/dsd/reisch/",AGFILNAM,"W")
  1. U IO
  1. Q
  1. ASUFAC ;
  1. I +$G(DUZ(2))=0 D
  1. .S AGPOP=1 ;No DUZ(2) value
  1. E D
  1. .S AULOCREC=$G(^AUTTLOC(DUZ(2),0))
  1. .S ASUFAC=$P(AULOCREC,"^",10)
  1. .I AULOCREC=""!(+ASUFAC=0) D
  1. ..S AGPOP=2 ;No Location record or ASUFAC value
  1. Q
  1. DATSTAMP ;
  1. D NOW^%DTC
  1. S FMDT=X
  1. D YX^%DTC
  1. S AGTIME=$P(Y,"@",2)
  1. S HHMMSS=$TR(AGTIME,":")
  1. I $L(HHMMSS)=4 S HHMMSS=HHMMSS_"00"
  1. Q
  1. UPDTAGDT ;
  1. ;UPDATE THE AUDIT FILE WITH APPROPRIATE DATA
  1. Q
  1. AGIVVIST ;
  1. ;GET TOMORROWS DATE
  1. START D NOW^%DTC S X1=X,X2=0 D C^%DTC S ZDT=X_".0001",EDT=X_".2359"
  1. ;LOOP ON FILE 44 B XREF
  1. S DIV=$G(DUZ(2)) Q:DIV']""
  1. LOOPA S SD=0 F SDXX=0:0 S SD=$O(^SC("B",SD)) Q:SD="" D CLIN
  1. Q
  1. CLIN S SDFL=0 F SC=0:0 S SC=$O(^SC("B",SD,SC)) Q:'SC I $D(^SC(SC,0)),$P(^(0),"^",3)="C" D LOOP
  1. Q
  1. LOOP S SDB=0 F SDT=ZDT:0 S SDT=$O(^SC(SC,"S",SDT)) Q:'SDT!(SDT>EDT) D MORE
  1. Q
  1. MORE I $D(^SC(SC,"S",SDT,1)) F K=0:0 S K=$O(^SC(SC,"S",SDT,1,K)) Q:'K I $P(^(K,0),"^",9)'["C" D PTL
  1. Q
  1. PTL S DFN=$P(^SC(SC,"S",SDT,1,K,0),"^",1)
  1. S AGRECCNT=AGRECCNT+1
  1. Q:$S('$D(^DPT(DFN,"S",SDT,0)):1,$P(^(0),"^",2)["C"!($P(^(0),"^",2)["N"):1,1:0)
  1. S AGRECWRT=AGRECWRT+1
  1. S PATNAME=$P(^DPT(DFN,0),"^",1)
  1. S PATNAME=$E(PATNAME,1,15)
  1. S SSN=$P($G(^DPT(DFN,0)),"^",9)
  1. ;Get the DOB and convert it to external format (i.e. OCT 31,1949)
  1. S Y=$P($G(^(0)),"^",3)
  1. X ^DD("DD")
  1. S DOB=Y
  1. S HRN=$P(^AUPNPAT(DFN,41,DIV,0),"^",2)
  1. S Y=$P(SDT,".",1)
  1. X ^DD("DD")
  1. S APPTDAT=Y
  1. I $L(APPTDAT)=10 S APPTDAT=$E(APPTDAT,1,3)_" "_$E(APPTDAT,4,10)
  1. S APPTIM=$P(SDT,".",2)
  1. I $L(APPTIM)<4 D
  1. .S APPTIM=$E((APPTIM_"00"),1,4)
  1. S APPTIM=$E(APPTIM,1,2)_":"_$E(APPTIM,3,4)
  1. S NAME=$P(SD,1,15)
  1. I AGRECCNT=1 D
  1. .W APPTDAT,?13,APPTIM,?20,PATNAME,?37,SSN,?50,DOB,?63,HRN,?70,$E(SD,1,10)
  1. E D
  1. .W !,APPTDAT,?13,APPTIM,?20,PATNAME,?37,SSN,?50,DOB,?63,HRN,?70,$E(SD,1,10)
  1. Q