BHLOBRI ; cmi/sitka/maw - File Inbound OBR Segment ;
;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
;
;this routine will file the inbound OBR segment it will then call
;the corresponding entry point to file the OBX segment (result)
;
;
MAIN ;-- this is the main routine driver
S BHLODA=0 F S BHLODA=$O(@BHLTMP@(BHLODA)) Q:BHLODA="" D
. S BHLVFL=$P($G(@BHLTMP@(BHLODA,3)),CS,3)
. Q:BHLVFL=""
. Q:'$L($T(@BHLVFL))
. S BHLPAR=BHLODA
. D @BHLVFL
D EOJ
Q
;
MSR ;-- this is the v measurement file
X BHLKW
K BHLMTCH
S BHLTP=$P($G(@BHLTMP@(BHLODA,4)),CS,4)
Q:BHLTP=""
I '$O(^AUTTMSR("B",BHLTP,0)) S BHLERCD="NOMSR" X BHLERR Q
S BHLTPI=$O(^AUTTMSR("B",BHLTP,0))
S BHLDA=0 F S BHLDA=$O(^AUPNVMSR("AD",BHLVSIT,BHLDA)) Q:BHLDA=""!($D(BHLMTCH)) D
. I $P(^AUPNVMSR(BHLDA,0),U)=BHLTPI S BHLMTCH=1
Q:$D(BHLMTCH)
D @BHLVFL^BHLOBXI
Q
;
EYE ;-- this is the v eye glass file
X BHLKW
D @BHLVFL^BHLOBXI
Q
;
LAB ;-- this is the v lab file
X BHLKW
K BHLMTCH
S BHLLB=$P($G(@BHLTMP@(BHLODA,4)),CS,4)
Q:BHLLB=""
I '$O(^LAB(60,"B",BHLLB,0)) S BHLERCD="NOLAB" X BHLERR Q
S BHLLBI=$O(^LAB(60,"B",BHLLB,0))
S BHLDA=0 F S BHLDA=$O(^AUPNVLAB("AD",BHLVSIT,BHLDA)) Q:BHLDA=""!($D(BHLMTCH)) D
. I $P(^AUPNVLAB(BHLDA,0),U)=BHLLBI S BHLMTCH=1
Q:$D(BHLMTCH)
S BHLSITE=$G(@BHLTMP@(BHLODA,15))
I BHLSITE'="" D
. I '$O(^LAB(61,"B",BHLSITE,0)) S BHLERCD="NOLSITE" X BHLERR Q
. S BHLSITEI=$O(^LAB(61,"B",BHLSITE,0))
S BHLOP=$P($G(@BHLTMP@(BHLODA,16)),CS,2)
X BHLKSV
S APCDALVR("APCDTSTE")=BHLSITE
S APCDALVR("APCDTPRV")=BHLOP
D @BHLVFL^BHLOBXI
Q
;
SK ;-- this is the v skin test file
X BHLKW
K BHLMTCH
S BHLSK=$P($G(@BHLTMP@(BHLODA,4)),CS,5)
Q:BHLSK=""
I '$O(^AUTTSK("B",BHLSK,0)) S BHLERCD="NOSK" X BHLERR Q
S BHLSKI=$O(^AUTTSK("B",BHLSK,0))
S BHLOSD=$G(@BHLTMP@(BHLODA,7))
S BHLOED=$G(@BHLTMP@(BHLODA,8))
S BHLDA=0 F S BHLDA=$O(^AUPNVSK("AD",BHLVSIT,BHLDA)) Q:BHLDA=""!$D(BHLERR("WARNING")) D
. I $P(^AUPNVSK(BHLDA,0),U)=BHLSKI S BHLMTCH=1
I '$D(BHLMTCH) D
. X BHLKSV
. S APCDALVR("APCDATMP")="[APCDALVR 9000010.12 (ADD)]"
. S APCDALVR("APCDTSK")=BHLSK
. S APCDALVR("APCDTCDT")=BHLOSD
. S APCDALVR("APCDTDR")=BHLOED
. D ^APCDALVR
. I $D(APCDALVR("APCDAFLG")) S BHLERCD="NOVSK" X BHLERR Q
D @BHLVFL^BHLOBXI
Q
;
XAM ;-- this is the v exam file
X BHLKW
K BHLMTCH
S BHLXM=$P($G(@BHLTMP@(BHLODA,4)),CS,4)
Q:BHLXM=""
I '$O(^AUTTEXAM("B",BHLXM,0)) S BHLERCD="NOXAM" X BHLERR Q
S BHLXMI=$O(^AUTTEXAM("B",BHLXM,0))
S BHLDA=0 F S BHLDA=$O(^AUPNVXAM("AD",BHLVSIT,BHLDA)) Q:BHLDA=""!($D(BHLMTCH)) D
. I $P(^AUPNVXAM(BHLDA,0),U)=BHLXMI S BHLMTCH=1
Q:$D(BHLMTCH)
X BHLKSV
S APCDALVR("APCDATMP")="[APCDALVR 9000010.13 (ADD)]"
S APCDALVR("APCDTEX")=BHLXM
D @BHLVFL^BHLOBXI
Q
;
TRT ;-- this is the v treatment file
X BHLKW
K BHLMTCH
S BHLTRT=$P($G(@BHLTMP@(BHLODA,4)),CS,4)
Q:BHLTRT=""
I '$O(^AUTTTRT("B",BHLTRT,0)) S BHLERCD="NOTRT" X BHLERR Q
S BHLTRTI=$O(^AUTTTRT("B",BHLTRT,0))
S BHLDA=0 F S BHLDA=$O(^AUPNVTRT("AD",BHLVSIT,BHLDA)) Q:BHLDA=""!($D(BHLMTCH)) D
. I $P(^AUPNVTRT(BHLDA,0),U)=BHLTRTI S BHLMTCH=1
Q:$D(BHLMTCH)
X BHLKSV
S APCDALVR("APCDATMP")="[APCDALVR 9000010.15 (ADD)]"
S APCDALVR("APCDTTRT")="`"_BHLTRTI
D @BHLVFL^BHLOBXI
Q
;
PED ;-- this is the v patient ed file
X BHLKW
K BHLMTCH
S BHLED=$P($G(@BHLTMP@(BHLODA,4)),CS,4)
S BHLEDC=$P($G(@BHLTMP@(BHLODA,4)),CS,5)
Q:BHLED=""
I '$O(^AUTTEDT("B",BHLED,0)) S BHLERCD="NOPED" X BHLERR Q
S BHLEDI=$O(^AUTTEDT("B",BHLED,0))
S BHLDA=0 F S BHLDA=$O(^AUPNVPED("AD",BHLVSIT,BHLDA)) Q:BHLDA=""!($D(BHLMTCH)) D
. I $P(^AUPNVPED(BHLDA,0),U)=BHLEDI S BHLMTCH=1
Q:$D(BHLMTCH)
X BHLKSV
S APCDALVR("APCDATMP")="[APCDALVR 9000010.16 (ADD)]"
S APCDALVR("APCDTTOP")=BHLED
D @BHLVFL^BHLOBXI
Q
;
PT ;-- this is the v physical therapy file
X BHLKW
K BHLMTCH
S BHLPT=$P($G(@BHLTMP@(BHLODA,4)),CS,4)
Q:BHLPT=""
I '$O(^AUTTPHTH("B",BHLPT,0)) S BHLERCD="NOPT" X BHLERR Q
S BHLPTI=$O(^AUTTPHTH("B",BHLPT,0))
S BHLDA=0 F S BHLDA=$O(^AUPNVPT("AD",BHLVSIT,BHLDA)) Q:BHLDA=""!($D(BHLMTCH)) D
. I $P(^AUPNVPT(BHLDA,0),U)=BHLPTI S BHLMTCH=1
Q:$D(BHLMTCH)
X BHLKSV
S APCDALVR("APCDATMP")="[APCDALVR 9000010.17 (ADD)]"
S APCDALVR("APCDTCOD")=BHLPT
D @BHLVFL^BHLOBXI
Q
;
CPT ;-- this is the v cpt file
X BHLKW
K BHLMTCH
S BHLC=$P($G(@BHLTMP@(BHLODA,4)),CS,4)
Q:BHLC=""
I '$O(^ICPT("B",BHLC,0)) S BHLERCD="NOCPT" X BHLERR Q
S BHLCI=$O(^ICPT("B",BHLC,0))
S BHLDA=0 F S BHLDA=$O(^AUPNVCPT("AD",BHLVSIT,BHLDA)) Q:BHLDA=""!($D(BHLMTCH)) D
. I $P(^AUPNVCPT(BHLDA,0),U)=BHLCI S BHLMTCH=1
Q:$D(BHLMTCH)
X BHLKSV
S APCDALVR("APCDATMP")="[APCDALVR 9000010.18 (ADD)]"
S APCDALVR("APCDTCPT")=BHLC
D @BHLVFL^BHLOBXI
Q
;
DXP ;-- this is the v diagnostic procedure file
X BHLKW
K BHLMTCH
S BHLDXP=$P($G(@BHLTMP@(BHLODA,4)),CS,4)
Q:BHLDXP=""
I '$O(^AUTTDXPR("B",BHLDXP,0)) S BHLERCD="NODXP" X BHLERR Q
S BHLDXPI=$O(^AUTTDXPR("B",BHLDXP,0))
S BHLPRV=$P($G(@BHLTMP@(BHLODA,16)),CS,2)
S BHLDA=0 F S BHLDA=$O(^AUPNVDXP("AD",BHLVSIT,BHLDA)) Q:BHLDA=""!$D(BHLERR("WARNING")) D
. I $P(^AUPNVDXP(BHLDA,0),U)=BHLDXPI S BHLMTCH=1
I '$D(BHLMTCH) D
. X BHLKSV
. S APCDALVR("APCDATMP")="[APCDALVR 9000010.21 (ADD)]"
. S APCDALVR("APCDTDXR")=BHLDXP
. S APCDALVR("APCDTPRV")=BHLPRV
. D ^APCDALVR
. I $D(APCDALVR("APCDAFLG")) S BHLERCD="NOVDXP" X BHLERR Q
D @BHLVFL^BHLOBXI
Q
;
RAD ;-- this is the v radiology file
X BHLKW
K BHLMTCH
S BHLIMP=$P($G(@BHLTMP@(BHLODA,4)),CS,4)
Q:BHLIMP=""
I '$O(^RAMIS(71,"B",BHLIMP,0)) S BHLERCD="NORAD" X BHLERR Q
S BHLIMPI=$O(^RAMIS(71,"B",BHLIMP,0))
S BHLDA=0 F S BHLDA=$O(^AUPNVRAD("AD",BHLVSIT,BHLDA)) Q:BHLDA=""!($D(BHLMTCH)) D
. I $P(^AUPNVRAD(BHLDA,0),U)=BHLIMPI S BHLMTCH=1
Q:$D(BHLMTCH)
S BHLPRV=$P($G(@BHLTMP@(BHLODA,16)),CS,2)
X BHLKSV
S APCDALVR("APCDATMP")="[APCDALVR 9000010.22 (ADD)]"
S APCDALVR("APCDTRAD")=BHLIMP
D @BHLVFL^BHLOBXI
Q
;
HF ;-- this is the v health factors file
X BHLKW
K BHLMTCH
S BHLHF=$P($G(@BHLTMP@(BHLODA,4)),CS,4)
Q:BHLHF=""
I '$O(^AUTTHF("B",BHLHF,0)) S BHLERCD="NOHF" X BHLERR Q
S BHLHFI=$O(^AUTTHF("B",BHLHF,0))
S BHLDA=0 F S BHLDA=$O(^AUPNVHF("AD",BHLVSIT,BHLDA)) Q:BHLDA=""!$D(BHLERR("WARNING")) D
. I $P(^AUPNVHF(BHLDA,0),U)=BHLHFI S BHLMTCH=1
I '$D(BHLMTCH) D
. X BHLKSV
. S APCDALVR("APCDATMP")="[APCDALVR 9000010.23 (ADD)]"
. S APCDALVR("APCDTHF")=BHLHF
. D ^APCDALVR
. I $D(APCDALVR("APCDAFLG")) S BHLERCD="NOVHF" X BHLERR Q
D @BHLVFL^BHLOBXI
Q
;
EOJ ;-- kill variables
K @BHLTMP
K BHLDA,BHLVFL,BHLMTCH,BHLTP,BHLTPI,BHLLB,BHLLBI,BHLSITE,BHLOP
K BHLSK,BHLOSD,BHLOED,BHLXM,BHLTRT,BHLED,BHLPT,BHLC,BHLDXP,BHLPRV
K BHLIMP,BHLHF,BHLVL,BHLVIEN,BHLFL,BHLFLD,BHLX,BHLUT,BHLRL,BHLRH
K BHLSITEI,BHLABN,BHLUP,BHLEDT,BHLVAL,BHLTPI,BHLLBI,BHLSKI,BHLXMI
K BHLTRTI,BHLEDI,BHLPTI,BHLCI,BHLDXPI,BHLIMPI,BHLHFI
Q
;
BHLOBRI ; cmi/sitka/maw - File Inbound OBR Segment ;
+1 ;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
+2 ;
+3 ;this routine will file the inbound OBR segment it will then call
+4 ;the corresponding entry point to file the OBX segment (result)
+5 ;
+6 ;
MAIN ;-- this is the main routine driver
+1 SET BHLODA=0
FOR
SET BHLODA=$ORDER(@BHLTMP@(BHLODA))
IF BHLODA=""
QUIT
Begin DoDot:1
+2 SET BHLVFL=$PIECE($GET(@BHLTMP@(BHLODA,3)),CS,3)
+3 IF BHLVFL=""
QUIT
+4 IF '$LENGTH($TEXT(@BHLVFL))
QUIT
+5 SET BHLPAR=BHLODA
+6 DO @BHLVFL
End DoDot:1
+7 DO EOJ
+8 QUIT
+9 ;
MSR ;-- this is the v measurement file
+1 XECUTE BHLKW
+2 KILL BHLMTCH
+3 SET BHLTP=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,4)
+4 IF BHLTP=""
QUIT
+5 IF '$ORDER(^AUTTMSR("B",BHLTP,0))
SET BHLERCD="NOMSR"
XECUTE BHLERR
QUIT
+6 SET BHLTPI=$ORDER(^AUTTMSR("B",BHLTP,0))
+7 SET BHLDA=0
FOR
SET BHLDA=$ORDER(^AUPNVMSR("AD",BHLVSIT,BHLDA))
IF BHLDA=""!($DATA(BHLMTCH))
QUIT
Begin DoDot:1
+8 IF $PIECE(^AUPNVMSR(BHLDA,0),U)=BHLTPI
SET BHLMTCH=1
End DoDot:1
+9 IF $DATA(BHLMTCH)
QUIT
+10 DO @BHLVFL^BHLOBXI
+11 QUIT
+12 ;
EYE ;-- this is the v eye glass file
+1 XECUTE BHLKW
+2 DO @BHLVFL^BHLOBXI
+3 QUIT
+4 ;
LAB ;-- this is the v lab file
+1 XECUTE BHLKW
+2 KILL BHLMTCH
+3 SET BHLLB=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,4)
+4 IF BHLLB=""
QUIT
+5 IF '$ORDER(^LAB(60,"B",BHLLB,0))
SET BHLERCD="NOLAB"
XECUTE BHLERR
QUIT
+6 SET BHLLBI=$ORDER(^LAB(60,"B",BHLLB,0))
+7 SET BHLDA=0
FOR
SET BHLDA=$ORDER(^AUPNVLAB("AD",BHLVSIT,BHLDA))
IF BHLDA=""!($DATA(BHLMTCH))
QUIT
Begin DoDot:1
+8 IF $PIECE(^AUPNVLAB(BHLDA,0),U)=BHLLBI
SET BHLMTCH=1
End DoDot:1
+9 IF $DATA(BHLMTCH)
QUIT
+10 SET BHLSITE=$GET(@BHLTMP@(BHLODA,15))
+11 IF BHLSITE'=""
Begin DoDot:1
+12 IF '$ORDER(^LAB(61,"B",BHLSITE,0))
SET BHLERCD="NOLSITE"
XECUTE BHLERR
QUIT
+13 SET BHLSITEI=$ORDER(^LAB(61,"B",BHLSITE,0))
End DoDot:1
+14 SET BHLOP=$PIECE($GET(@BHLTMP@(BHLODA,16)),CS,2)
+15 XECUTE BHLKSV
+16 SET APCDALVR("APCDTSTE")=BHLSITE
+17 SET APCDALVR("APCDTPRV")=BHLOP
+18 DO @BHLVFL^BHLOBXI
+19 QUIT
+20 ;
SK ;-- this is the v skin test file
+1 XECUTE BHLKW
+2 KILL BHLMTCH
+3 SET BHLSK=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,5)
+4 IF BHLSK=""
QUIT
+5 IF '$ORDER(^AUTTSK("B",BHLSK,0))
SET BHLERCD="NOSK"
XECUTE BHLERR
QUIT
+6 SET BHLSKI=$ORDER(^AUTTSK("B",BHLSK,0))
+7 SET BHLOSD=$GET(@BHLTMP@(BHLODA,7))
+8 SET BHLOED=$GET(@BHLTMP@(BHLODA,8))
+9 SET BHLDA=0
FOR
SET BHLDA=$ORDER(^AUPNVSK("AD",BHLVSIT,BHLDA))
IF BHLDA=""!$DATA(BHLERR("WARNING"))
QUIT
Begin DoDot:1
+10 IF $PIECE(^AUPNVSK(BHLDA,0),U)=BHLSKI
SET BHLMTCH=1
End DoDot:1
+11 IF '$DATA(BHLMTCH)
Begin DoDot:1
+12 XECUTE BHLKSV
+13 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.12 (ADD)]"
+14 SET APCDALVR("APCDTSK")=BHLSK
+15 SET APCDALVR("APCDTCDT")=BHLOSD
+16 SET APCDALVR("APCDTDR")=BHLOED
+17 DO ^APCDALVR
+18 IF $DATA(APCDALVR("APCDAFLG"))
SET BHLERCD="NOVSK"
XECUTE BHLERR
QUIT
End DoDot:1
+19 DO @BHLVFL^BHLOBXI
+20 QUIT
+21 ;
XAM ;-- this is the v exam file
+1 XECUTE BHLKW
+2 KILL BHLMTCH
+3 SET BHLXM=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,4)
+4 IF BHLXM=""
QUIT
+5 IF '$ORDER(^AUTTEXAM("B",BHLXM,0))
SET BHLERCD="NOXAM"
XECUTE BHLERR
QUIT
+6 SET BHLXMI=$ORDER(^AUTTEXAM("B",BHLXM,0))
+7 SET BHLDA=0
FOR
SET BHLDA=$ORDER(^AUPNVXAM("AD",BHLVSIT,BHLDA))
IF BHLDA=""!($DATA(BHLMTCH))
QUIT
Begin DoDot:1
+8 IF $PIECE(^AUPNVXAM(BHLDA,0),U)=BHLXMI
SET BHLMTCH=1
End DoDot:1
+9 IF $DATA(BHLMTCH)
QUIT
+10 XECUTE BHLKSV
+11 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.13 (ADD)]"
+12 SET APCDALVR("APCDTEX")=BHLXM
+13 DO @BHLVFL^BHLOBXI
+14 QUIT
+15 ;
TRT ;-- this is the v treatment file
+1 XECUTE BHLKW
+2 KILL BHLMTCH
+3 SET BHLTRT=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,4)
+4 IF BHLTRT=""
QUIT
+5 IF '$ORDER(^AUTTTRT("B",BHLTRT,0))
SET BHLERCD="NOTRT"
XECUTE BHLERR
QUIT
+6 SET BHLTRTI=$ORDER(^AUTTTRT("B",BHLTRT,0))
+7 SET BHLDA=0
FOR
SET BHLDA=$ORDER(^AUPNVTRT("AD",BHLVSIT,BHLDA))
IF BHLDA=""!($DATA(BHLMTCH))
QUIT
Begin DoDot:1
+8 IF $PIECE(^AUPNVTRT(BHLDA,0),U)=BHLTRTI
SET BHLMTCH=1
End DoDot:1
+9 IF $DATA(BHLMTCH)
QUIT
+10 XECUTE BHLKSV
+11 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.15 (ADD)]"
+12 SET APCDALVR("APCDTTRT")="`"_BHLTRTI
+13 DO @BHLVFL^BHLOBXI
+14 QUIT
+15 ;
PED ;-- this is the v patient ed file
+1 XECUTE BHLKW
+2 KILL BHLMTCH
+3 SET BHLED=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,4)
+4 SET BHLEDC=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,5)
+5 IF BHLED=""
QUIT
+6 IF '$ORDER(^AUTTEDT("B",BHLED,0))
SET BHLERCD="NOPED"
XECUTE BHLERR
QUIT
+7 SET BHLEDI=$ORDER(^AUTTEDT("B",BHLED,0))
+8 SET BHLDA=0
FOR
SET BHLDA=$ORDER(^AUPNVPED("AD",BHLVSIT,BHLDA))
IF BHLDA=""!($DATA(BHLMTCH))
QUIT
Begin DoDot:1
+9 IF $PIECE(^AUPNVPED(BHLDA,0),U)=BHLEDI
SET BHLMTCH=1
End DoDot:1
+10 IF $DATA(BHLMTCH)
QUIT
+11 XECUTE BHLKSV
+12 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.16 (ADD)]"
+13 SET APCDALVR("APCDTTOP")=BHLED
+14 DO @BHLVFL^BHLOBXI
+15 QUIT
+16 ;
PT ;-- this is the v physical therapy file
+1 XECUTE BHLKW
+2 KILL BHLMTCH
+3 SET BHLPT=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,4)
+4 IF BHLPT=""
QUIT
+5 IF '$ORDER(^AUTTPHTH("B",BHLPT,0))
SET BHLERCD="NOPT"
XECUTE BHLERR
QUIT
+6 SET BHLPTI=$ORDER(^AUTTPHTH("B",BHLPT,0))
+7 SET BHLDA=0
FOR
SET BHLDA=$ORDER(^AUPNVPT("AD",BHLVSIT,BHLDA))
IF BHLDA=""!($DATA(BHLMTCH))
QUIT
Begin DoDot:1
+8 IF $PIECE(^AUPNVPT(BHLDA,0),U)=BHLPTI
SET BHLMTCH=1
End DoDot:1
+9 IF $DATA(BHLMTCH)
QUIT
+10 XECUTE BHLKSV
+11 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.17 (ADD)]"
+12 SET APCDALVR("APCDTCOD")=BHLPT
+13 DO @BHLVFL^BHLOBXI
+14 QUIT
+15 ;
CPT ;-- this is the v cpt file
+1 XECUTE BHLKW
+2 KILL BHLMTCH
+3 SET BHLC=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,4)
+4 IF BHLC=""
QUIT
+5 IF '$ORDER(^ICPT("B",BHLC,0))
SET BHLERCD="NOCPT"
XECUTE BHLERR
QUIT
+6 SET BHLCI=$ORDER(^ICPT("B",BHLC,0))
+7 SET BHLDA=0
FOR
SET BHLDA=$ORDER(^AUPNVCPT("AD",BHLVSIT,BHLDA))
IF BHLDA=""!($DATA(BHLMTCH))
QUIT
Begin DoDot:1
+8 IF $PIECE(^AUPNVCPT(BHLDA,0),U)=BHLCI
SET BHLMTCH=1
End DoDot:1
+9 IF $DATA(BHLMTCH)
QUIT
+10 XECUTE BHLKSV
+11 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.18 (ADD)]"
+12 SET APCDALVR("APCDTCPT")=BHLC
+13 DO @BHLVFL^BHLOBXI
+14 QUIT
+15 ;
DXP ;-- this is the v diagnostic procedure file
+1 XECUTE BHLKW
+2 KILL BHLMTCH
+3 SET BHLDXP=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,4)
+4 IF BHLDXP=""
QUIT
+5 IF '$ORDER(^AUTTDXPR("B",BHLDXP,0))
SET BHLERCD="NODXP"
XECUTE BHLERR
QUIT
+6 SET BHLDXPI=$ORDER(^AUTTDXPR("B",BHLDXP,0))
+7 SET BHLPRV=$PIECE($GET(@BHLTMP@(BHLODA,16)),CS,2)
+8 SET BHLDA=0
FOR
SET BHLDA=$ORDER(^AUPNVDXP("AD",BHLVSIT,BHLDA))
IF BHLDA=""!$DATA(BHLERR("WARNING"))
QUIT
Begin DoDot:1
+9 IF $PIECE(^AUPNVDXP(BHLDA,0),U)=BHLDXPI
SET BHLMTCH=1
End DoDot:1
+10 IF '$DATA(BHLMTCH)
Begin DoDot:1
+11 XECUTE BHLKSV
+12 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.21 (ADD)]"
+13 SET APCDALVR("APCDTDXR")=BHLDXP
+14 SET APCDALVR("APCDTPRV")=BHLPRV
+15 DO ^APCDALVR
+16 IF $DATA(APCDALVR("APCDAFLG"))
SET BHLERCD="NOVDXP"
XECUTE BHLERR
QUIT
End DoDot:1
+17 DO @BHLVFL^BHLOBXI
+18 QUIT
+19 ;
RAD ;-- this is the v radiology file
+1 XECUTE BHLKW
+2 KILL BHLMTCH
+3 SET BHLIMP=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,4)
+4 IF BHLIMP=""
QUIT
+5 IF '$ORDER(^RAMIS(71,"B",BHLIMP,0))
SET BHLERCD="NORAD"
XECUTE BHLERR
QUIT
+6 SET BHLIMPI=$ORDER(^RAMIS(71,"B",BHLIMP,0))
+7 SET BHLDA=0
FOR
SET BHLDA=$ORDER(^AUPNVRAD("AD",BHLVSIT,BHLDA))
IF BHLDA=""!($DATA(BHLMTCH))
QUIT
Begin DoDot:1
+8 IF $PIECE(^AUPNVRAD(BHLDA,0),U)=BHLIMPI
SET BHLMTCH=1
End DoDot:1
+9 IF $DATA(BHLMTCH)
QUIT
+10 SET BHLPRV=$PIECE($GET(@BHLTMP@(BHLODA,16)),CS,2)
+11 XECUTE BHLKSV
+12 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.22 (ADD)]"
+13 SET APCDALVR("APCDTRAD")=BHLIMP
+14 DO @BHLVFL^BHLOBXI
+15 QUIT
+16 ;
HF ;-- this is the v health factors file
+1 XECUTE BHLKW
+2 KILL BHLMTCH
+3 SET BHLHF=$PIECE($GET(@BHLTMP@(BHLODA,4)),CS,4)
+4 IF BHLHF=""
QUIT
+5 IF '$ORDER(^AUTTHF("B",BHLHF,0))
SET BHLERCD="NOHF"
XECUTE BHLERR
QUIT
+6 SET BHLHFI=$ORDER(^AUTTHF("B",BHLHF,0))
+7 SET BHLDA=0
FOR
SET BHLDA=$ORDER(^AUPNVHF("AD",BHLVSIT,BHLDA))
IF BHLDA=""!$DATA(BHLERR("WARNING"))
QUIT
Begin DoDot:1
+8 IF $PIECE(^AUPNVHF(BHLDA,0),U)=BHLHFI
SET BHLMTCH=1
End DoDot:1
+9 IF '$DATA(BHLMTCH)
Begin DoDot:1
+10 XECUTE BHLKSV
+11 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.23 (ADD)]"
+12 SET APCDALVR("APCDTHF")=BHLHF
+13 DO ^APCDALVR
+14 IF $DATA(APCDALVR("APCDAFLG"))
SET BHLERCD="NOVHF"
XECUTE BHLERR
QUIT
End DoDot:1
+15 DO @BHLVFL^BHLOBXI
+16 QUIT
+17 ;
EOJ ;-- kill variables
+1 KILL @BHLTMP
+2 KILL BHLDA,BHLVFL,BHLMTCH,BHLTP,BHLTPI,BHLLB,BHLLBI,BHLSITE,BHLOP
+3 KILL BHLSK,BHLOSD,BHLOED,BHLXM,BHLTRT,BHLED,BHLPT,BHLC,BHLDXP,BHLPRV
+4 KILL BHLIMP,BHLHF,BHLVL,BHLVIEN,BHLFL,BHLFLD,BHLX,BHLUT,BHLRL,BHLRH
+5 KILL BHLSITEI,BHLABN,BHLUP,BHLEDT,BHLVAL,BHLTPI,BHLLBI,BHLSKI,BHLXMI
+6 KILL BHLTRTI,BHLEDI,BHLPTI,BHLCI,BHLDXPI,BHLIMPI,BHLHFI
+7 QUIT
+8 ;