BHLDG1I ; cmi/sitka/maw - BHL File Inbound DG1 segment ;
;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
;
;this routine will file the inbound DG1 segment
;
MAIN ;-- this is the main routine driver
Q:'$G(BHLVSIT)
D FILE,EOJ
Q
;
FILE ;-- get the data and file it
F M="DH","AD","NB","PV" S BHLDGC(M)=1
S BHLDA=0 F S BHLDA=$O(@BHLTMP@(BHLDA)) Q:BHLDA="" D
. S BHLDC=$P($G(@BHLTMP@(BHLDA,3)),CS)
. Q:BHLDC=""
. S BHLDCI=$O(^ICD9("BA",BHLDC,0))
. S BHLDTP=$G(@BHLTMP@(BHLDA,6))
. S BHLDCL=$G(@BHLTMP@(BHLDA,19))
. I $O(BHL("ZDX",0)) D FILE^BHLZDXI
. I '$D(BHLDGC(BHLDTP)) S BHLERCD="NODGTP" X BHLERR Q
. I BHLDTP="PV" D PV Q
. D @BHLDTP,PV
Q
;
DH ;death dx
S BHLFL=9000001,BHLFLD=1114,BHLX=APCDALVR("APCDVSIT"),BHLVAL=BHLDC
X BHLDIE
Q
;
AD ;-- admitting dx
S BHLVIEN=$O(^AUPNVINP("AD",APCDALVR("APCDVSIT"),0))
I BHLVIEN="" S BHLERCD="NOVHOSP" X BHLERR Q
S BHLFL=9000010.02,BHLFLD=.12,BHLX=BHLVIEN,BHLVAL=BHLDC X BHLDIE
Q
;
NB ;-- newborn diagnosis
S BHLVIEN=$O(^AUPNVCHS("AD",APCDALVR("APCDVSIT"),0))
I BHLVIEN="" S BHLERCD="NOVCHS" X BHLERR Q
S BHLFL=9000010.03,BHLFLD=.09,BHLX=BHLVIEN,BHLVAL=BHLDC X BHLDIE
Q
;
PV ;-- purpose of visit
K BHLPOVE
S BHLPDA=0 F S BHLPDA=$O(^AUPNVPOV("AD",BHLVSIT,BHLPDA)) Q:BHLPDA=""!($D(BHLPOVE)) D
. I $P(^AUPNVPOV(BHLPDA,0),U)=BHLDCI S BHLPOVE=1 Q
Q:$D(BHLPOVE)
X BHLKSV
S APCDALVR("APCDATMP")="[APCDALVR 9000010.07 (ADD)]"
S APCDALVR("APCDTPOV")=BHLDC
S APCDALVR("APCDTNQ")=$G(BHLPVN)
S APCDALVR("APCDTSTG")=$G(BHLSTG)
S APCDALVR("APCDTMOD")=$G(BHLMOD)
S APCDALVR("APCDTCD")=$G(BHLCAU)
S APCDALVR("APCDTFR")=$G(BHLFR)
S APCDALVR("APCDTCI")=$G(BHLCOI)
S APCDALVR("APCDTPS")=$G(BHLDCL)
D ^APCDALVR
I $D(APCDALVR("APCDAFLG")) S BHLERCD="NOVPOV" X BHLERR
Q
;
EOJ ;-- kill variables and quit
K BHLDA,BHLDC,BHLDTP,BHLDCL,BHLVIEN,BHLFL,BHLFLD,BHLX,BHLVAL,BHLPVN
K BHLSTG,BHLMOD,BHLCAU,BHLFR,BHLCOI,BHLDCL
Q
;
BHLDG1I ; cmi/sitka/maw - BHL File Inbound DG1 segment ;
+1 ;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
+2 ;
+3 ;this routine will file the inbound DG1 segment
+4 ;
MAIN ;-- this is the main routine driver
+1 IF '$GET(BHLVSIT)
QUIT
+2 DO FILE
DO EOJ
+3 QUIT
+4 ;
FILE ;-- get the data and file it
+1 FOR M="DH","AD","NB","PV"
SET BHLDGC(M)=1
+2 SET BHLDA=0
FOR
SET BHLDA=$ORDER(@BHLTMP@(BHLDA))
IF BHLDA=""
QUIT
Begin DoDot:1
+3 SET BHLDC=$PIECE($GET(@BHLTMP@(BHLDA,3)),CS)
+4 IF BHLDC=""
QUIT
+5 SET BHLDCI=$ORDER(^ICD9("BA",BHLDC,0))
+6 SET BHLDTP=$GET(@BHLTMP@(BHLDA,6))
+7 SET BHLDCL=$GET(@BHLTMP@(BHLDA,19))
+8 IF $ORDER(BHL("ZDX",0))
DO FILE^BHLZDXI
+9 IF '$DATA(BHLDGC(BHLDTP))
SET BHLERCD="NODGTP"
XECUTE BHLERR
QUIT
+10 IF BHLDTP="PV"
DO PV
QUIT
+11 DO @BHLDTP
DO PV
End DoDot:1
+12 QUIT
+13 ;
DH ;death dx
+1 SET BHLFL=9000001
SET BHLFLD=1114
SET BHLX=APCDALVR("APCDVSIT")
SET BHLVAL=BHLDC
+2 XECUTE BHLDIE
+3 QUIT
+4 ;
AD ;-- admitting dx
+1 SET BHLVIEN=$ORDER(^AUPNVINP("AD",APCDALVR("APCDVSIT"),0))
+2 IF BHLVIEN=""
SET BHLERCD="NOVHOSP"
XECUTE BHLERR
QUIT
+3 SET BHLFL=9000010.02
SET BHLFLD=.12
SET BHLX=BHLVIEN
SET BHLVAL=BHLDC
XECUTE BHLDIE
+4 QUIT
+5 ;
NB ;-- newborn diagnosis
+1 SET BHLVIEN=$ORDER(^AUPNVCHS("AD",APCDALVR("APCDVSIT"),0))
+2 IF BHLVIEN=""
SET BHLERCD="NOVCHS"
XECUTE BHLERR
QUIT
+3 SET BHLFL=9000010.03
SET BHLFLD=.09
SET BHLX=BHLVIEN
SET BHLVAL=BHLDC
XECUTE BHLDIE
+4 QUIT
+5 ;
PV ;-- purpose of visit
+1 KILL BHLPOVE
+2 SET BHLPDA=0
FOR
SET BHLPDA=$ORDER(^AUPNVPOV("AD",BHLVSIT,BHLPDA))
IF BHLPDA=""!($DATA(BHLPOVE))
QUIT
Begin DoDot:1
+3 IF $PIECE(^AUPNVPOV(BHLPDA,0),U)=BHLDCI
SET BHLPOVE=1
QUIT
End DoDot:1
+4 IF $DATA(BHLPOVE)
QUIT
+5 XECUTE BHLKSV
+6 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.07 (ADD)]"
+7 SET APCDALVR("APCDTPOV")=BHLDC
+8 SET APCDALVR("APCDTNQ")=$GET(BHLPVN)
+9 SET APCDALVR("APCDTSTG")=$GET(BHLSTG)
+10 SET APCDALVR("APCDTMOD")=$GET(BHLMOD)
+11 SET APCDALVR("APCDTCD")=$GET(BHLCAU)
+12 SET APCDALVR("APCDTFR")=$GET(BHLFR)
+13 SET APCDALVR("APCDTCI")=$GET(BHLCOI)
+14 SET APCDALVR("APCDTPS")=$GET(BHLDCL)
+15 DO ^APCDALVR
+16 IF $DATA(APCDALVR("APCDAFLG"))
SET BHLERCD="NOVPOV"
XECUTE BHLERR
+17 QUIT
+18 ;
EOJ ;-- kill variables and quit
+1 KILL BHLDA,BHLDC,BHLDTP,BHLDCL,BHLVIEN,BHLFL,BHLFLD,BHLX,BHLVAL,BHLPVN
+2 KILL BHLSTG,BHLMOD,BHLCAU,BHLFR,BHLCOI,BHLDCL
+3 QUIT
+4 ;