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

BDW1VBL2.m

Go to the documentation of this file.
  1. BDW1VBL2 ;IHS/CMI/LAB - DW process visit during backload;
  1. ;;1.0;IHS DATA WAREHOUSE;;JAN 23, 2006
  1. ;
  1. ;
  1. K BDWE
  1. D VISIT
  1. I $D(BDWE) D ^BDW1VBLE Q
  1. D PROCTX
  1. K BDWE,BDWT,BDWH
  1. Q
  1. ;
  1. VISIT ;EP
  1. I '$P(BDWV("V REC"),U,9),'$P(BDWV("V REC"),U,11) S BDW("ZERO")=BDW("ZERO")+1,BDWE("ERROR")=102 Q
  1. S BDWV("TYPE")=$P(BDWV("V REC"),U,3)
  1. I BDWV("TYPE")="" S BDWE("ERROR")="130",BDW("NO TYPE")=BDW("NO TYPE")+1 Q
  1. S BDWV("SRV CAT")=$P(BDWV("V REC"),U,7)
  1. I BDWV("SRV CAT")="" S BDWE("ERROR")="132",BDW("NO CAT")=BDW("NO CAT")+1 Q
  1. S BDWV("LOC DFN")=$P(BDWV("V REC"),U,6)
  1. ;I BDWV("LOC DFN")="" S BDWE("ERROR")="111",BDW("NO LOC")=BDW("NO LOC")+1 Q ;cmi/anch/maw 7/26/2004 changed due to location at Crow being 0
  1. I '+$G(BDWV("LOC DFN")) S BDWE("ERROR")="111",BDW("NO LOC")=BDW("NO LOC")+1 Q ;cmi/anch/maw 7/26/2004 modified
  1. I '$D(^AUTTLOC(BDWV("LOC DFN"),0)) S BDWE("ERROR")="111",BDW("NO LOC")=BDW("NO LOC")+1 Q ;cmi/anch/maw 7/26/2004 modified
  1. S BDWV("IHS LOCATION CODE")=$P(^AUTTLOC(BDWV("LOC DFN"),0),U,10) I BDWV("IHS LOCATION CODE")="" S BDWE("ERROR")="113",BDW("NO LOC")=BDW("NO LOC")+1 Q
  1. S BDWV("PATIENT DFN")=$P(BDWV("V REC"),U,5) I BDWV("PATIENT DFN")="" S BDWE("ERROR")="104",BDW("NO PAT")=BDW("NO PAT")+1 Q
  1. I '$D(^DPT(BDWV("PATIENT DFN"),0)) S BDWE("ERROR")="104",BDW("NO PAT")=BDW("NO PAT")+1 Q
  1. S Y=BDWV("PATIENT DFN") D ^AUPNPAT
  1. S BDWV("PATIENT NAME")=$P(^DPT(BDWV("PATIENT DFN"),0),U)
  1. I BDWV("PATIENT NAME")["DEMO,PATIENT" S BDW("DEMO")=BDW("DEMO")+1,BDWE("ERROR")=101 Q
  1. Q
  1. ;
  1. PROCTX ; process and generate appropriate statistical record
  1. S BDW("VISITS")=$G(BDW("VISITS"))+1
  1. S BDWVMSG=$$DW1A08^BHLEVENT(BDW("V DFN"))
  1. S ^BDWTMP(BDWIEDST,BDWVMSG)=""
  1. ;I BDWVA D VA
  1. D VA
  1. D RESET^BDW1VBL
  1. Q
  1. VREC(BDWVIEN,BDWRTYP,DFN,BDWVFIEN) ;EP
  1. S BDWRIEN=$O(^BDWVARD("B",BDWRTYP,0))
  1. I 'BDWRIEN Q ""
  1. NEW BDWY,BDWT S BDWY=0,BDWT="" F S BDWY=$O(^BDWVARD(BDWRIEN,11,"B",BDWY)) Q:BDWY'=+BDWY D
  1. .S X=""
  1. .S BDWZ=$O(^BDWVARD(BDWRIEN,11,"B",BDWY,0))
  1. .Q:'$D(^BDWVARD(BDWRIEN,11,BDWZ,1))
  1. .X ^BDWVARD(BDWRIEN,11,BDWZ,1)
  1. .S $P(BDWT,U,BDWY)=X
  1. Q BDWT
  1. VA ;EP
  1. S BDWVIEN=BDW("V DFN")
  1. S BDWPDFN=$P($G(^AUPNVSIT(BDWVIEN,0)),U,5)
  1. I BDWPDFN="" Q ""
  1. S BDWUVID=$$UIDV^BDWAID(BDWVIEN)
  1. S BDWVAX=$$VREC(BDWVIEN,"V000",BDWPDFN,0)
  1. D SET
  1. K BDWVAY D PROV^BDWUTIL1(.BDWVAY,BDWVIEN)
  1. I $G(BDWVAY(1))="" D
  1. . S BDWVAX="V010"_U_BDWUVID_U_"1^^^" D SET
  1. S BDWVAY=0 F S BDWVAY=$O(BDWVAY(BDWVAY)) Q:BDWVAY'=+BDWVAY D
  1. .S BDWVAX="V010"_U_BDWUVID_U_BDWVAY_U_$E($P(BDWVAY(BDWVAY),U,3))_U_$E($P(BDWVAY(BDWVAY),U,3),2,3)_U_$P(BDWVAY(BDWVAY),U,8)
  1. .D SET
  1. .Q
  1. K BDWVAY D CPT^BDWUTIL(.BDWVAY,BDWVIEN)
  1. S BDWVAY=0 F S BDWVAY=$O(BDWVAY(BDWVAY)) Q:BDWVAY'=+BDWVAY D
  1. .S BDWVAX="V025"_U_BDWUVID_U_BDWVAY_U_$P(BDWVAY(BDWVAY),U)_U_$P(BDWVAY(BDWVAY),U,2)
  1. .D SET
  1. .Q
  1. K BDWVAY D PROC^BDWUTIL1(.BDWVAY,BDWVIEN)
  1. S BDWVAY=0 F S BDWVAY=$O(BDWVAY(BDWVAY)) Q:BDWVAY'=+BDWVAY D
  1. .S BDWVAX="V020"_U_BDWUVID_U_BDWVAY_U_$P(BDWVAY(BDWVAY),U)_U_$$DATE^INHUT($P(BDWVAY(BDWVAY),U,2))_U_$P(BDWVAY(BDWVAY),U,6)
  1. .D SET
  1. .Q
  1. K BDWVAY D DENT^BDWUTIL(.BDWVAY,BDWVIEN)
  1. S BDWVAY=0 F S BDWVAY=$O(BDWVAY(BDWVAY)) Q:BDWVAY'=+BDWVAY D
  1. .S BDWVAX="V030"_U_BDWUVID_U_BDWVAY_U_$P(BDWVAY(BDWVAY),U)_U_$P(BDWVAY(BDWVAY),U,2)_U_$P(BDWVAY(BDWVAY),U,3)
  1. .D SET
  1. .Q
  1. K BDWVAY D POVS^BDWUTIL(.BDWVAY,BDWVIEN)
  1. S BDWVAY=0 F S BDWVAY=$O(BDWVAY(BDWVAY)) Q:BDWVAY'=+BDWVAY D
  1. .S BDWVAX="V040"_U_BDWUVID_U_BDWVAY_U_$P(BDWVAY(BDWVAY),U)_U_$P(BDWVAY(BDWVAY),U,2)_U_$P(BDWVAY(BDWVAY),U,3)_U_$P(BDWVAY(BDWVAY),U,4)
  1. .D SET
  1. .Q
  1. Q
  1. ;
  1. SET ;
  1. S BDWVA("COUNT")=BDWVA("COUNT")+1
  1. I BDWVA("COUNT")=1 S ^BDWDATA(BDWVA("COUNT"))="H0^"_$P($$DATE^INHUT($$NOW^XLFDT,1),"-",1),BDWVA("COUNT")=BDWVA("COUNT")+1
  1. S ^BDWDATA(BDWVA("COUNT"))=BDWVAX
  1. Q