BHLSETI ; cmi/flag/maw - BHL Setup Incoming Messages ;
;;3.01;BHL IHS Interfaces with GIS;**1,16**;JUN 01, 2002
;
;this routine will drop through the HL7 Message Text File (#772) and
;pull the segments into a working area ^TMP("BHLIWRK",$J), it will
;then call the appropriate filing routine
;
;
MAIN ;-- this is the main routine driver
D GVARS
Q
;
GVARS ; setup global variables
D ^XBKVAR
S (AGHL7IN,BHLIN)=1 ;flag for other apps to know inbound
S BHLERR="",BHLCNT=0
S BHLFS=INDELIM
S BHLECH=$E(INDELIMS,2,6)
S FS=BHLFS
S (BHLCS,CS)=$E(BHLECH,1),(BHLRS,RS)=$E(BHLECH,2)
S BHLET=$P($G(INV("MSH9")),CS,2)
S BHL("EVENT DATE")=$G(INV("EVN2"))
S BHL("EVENT DATE")=$$HDATE^INHUT(BHL("EVENT DATE"),"T")
S BHLRAP=$G(INV("MSH5"))
S BHLSAP=$G(INV("MSH3"))
S BHLSAF=$G(INV("MSH4"))
S BHLRAF=$G(INV("MSH6"))
S BHLUIF=$G(UIF)
S BHLFILE="""^BHL""_BHLR_""I"""
S BHLH=$H
S BHLTMP="BHL(BHLR)"
S BHLSTMP="BHL(BHLR,BHLPAR)"
S BHLSSTMP="BHL(BHLR,BHLPAR,BHLSPAR)"
S BHLERR="D TRAP^BHLERR"
S BHLDIE="D DIE^BHLU"
S BHLDIE4="D DIE4^BHLU"
S BHLDIEM="D DIEM^BHLU"
S BHLXKDIC="K DIC,DD,DO,DA"
S BHLKW="K BHLERR(""WARNING"")"
S BHLKSV="K APCDALVR S APCDALVR(""APCDVSIT"")=BHLVSIT,APCDALVR(""APCDPAT"")=BHLPAT"
S APCDALVR("APCDAUTO")=""
S APCDALVR("AUPNTALK")=""
S APCDALVR("APCDANE")=""
S BHLSITE=$O(^BHLSITE("B",DUZ(2),0))
Q:$G(BHLNOST) ;quit here when site parameters are not needed
;add an error if site parameter file is not setup
I '$D(^BHLSITE(BHLSITE,0)) S BHLERCD="NOSITE" X BHLERR
Q:$D(BHLERR("FATAL"))
S BHLDVT=$S($G(^APCCCTRL(DUZ(2),0)):$P($G(^APCCCTRL(DUZ(2),0)),U,4),1:"I")
S BHLDSC=$P($G(^BHLSITE(BHLSITE,1)),U,2)
S BHLDPRV=$P($G(^BHLSITE(BHLSITE,1)),U,3)
S BHLDLOC=$P($G(^BHLSITE(BHLSITE,1)),U,4)
S BHLDADMT=$P($G(^BHLSITE(BHLSITE,2)),U)
S BHLDDDMT=$P($G(^BHLSITE(BHLSITE,2)),U,2)
S BHLDADS=$P($G(^BHLSITE(BHLSITE,2)),U,3)
S BHLDDDS=$P($G(^BHLSITE(BHLSITE,2)),U,4)
S BHLDWRD=""
Q
;
EOJ ;EP - kill variables
D EN^XBVK("BHL")
D EN^XBVK("APCD")
D EN^XBVK("AUPN")
K CS,EID,FS,PIEN,RS,SEGCNT,SEX,SSN,VIEN
K DIC,DR,DOB,AGHL7IN
Q
;
BHLSETI ; cmi/flag/maw - BHL Setup Incoming Messages ;
+1 ;;3.01;BHL IHS Interfaces with GIS;**1,16**;JUN 01, 2002
+2 ;
+3 ;this routine will drop through the HL7 Message Text File (#772) and
+4 ;pull the segments into a working area ^TMP("BHLIWRK",$J), it will
+5 ;then call the appropriate filing routine
+6 ;
+7 ;
MAIN ;-- this is the main routine driver
+1 DO GVARS
+2 QUIT
+3 ;
GVARS ; setup global variables
+1 DO ^XBKVAR
+2 ;flag for other apps to know inbound
SET (AGHL7IN,BHLIN)=1
+3 SET BHLERR=""
SET BHLCNT=0
+4 SET BHLFS=INDELIM
+5 SET BHLECH=$EXTRACT(INDELIMS,2,6)
+6 SET FS=BHLFS
+7 SET (BHLCS,CS)=$EXTRACT(BHLECH,1)
SET (BHLRS,RS)=$EXTRACT(BHLECH,2)
+8 SET BHLET=$PIECE($GET(INV("MSH9")),CS,2)
+9 SET BHL("EVENT DATE")=$GET(INV("EVN2"))
+10 SET BHL("EVENT DATE")=$$HDATE^INHUT(BHL("EVENT DATE"),"T")
+11 SET BHLRAP=$GET(INV("MSH5"))
+12 SET BHLSAP=$GET(INV("MSH3"))
+13 SET BHLSAF=$GET(INV("MSH4"))
+14 SET BHLRAF=$GET(INV("MSH6"))
+15 SET BHLUIF=$GET(UIF)
+16 SET BHLFILE="""^BHL""_BHLR_""I"""
+17 SET BHLH=$HOROLOG
+18 SET BHLTMP="BHL(BHLR)"
+19 SET BHLSTMP="BHL(BHLR,BHLPAR)"
+20 SET BHLSSTMP="BHL(BHLR,BHLPAR,BHLSPAR)"
+21 SET BHLERR="D TRAP^BHLERR"
+22 SET BHLDIE="D DIE^BHLU"
+23 SET BHLDIE4="D DIE4^BHLU"
+24 SET BHLDIEM="D DIEM^BHLU"
+25 SET BHLXKDIC="K DIC,DD,DO,DA"
+26 SET BHLKW="K BHLERR(""WARNING"")"
+27 SET BHLKSV="K APCDALVR S APCDALVR(""APCDVSIT"")=BHLVSIT,APCDALVR(""APCDPAT"")=BHLPAT"
+28 SET APCDALVR("APCDAUTO")=""
+29 SET APCDALVR("AUPNTALK")=""
+30 SET APCDALVR("APCDANE")=""
+31 SET BHLSITE=$ORDER(^BHLSITE("B",DUZ(2),0))
+32 ;quit here when site parameters are not needed
IF $GET(BHLNOST)
QUIT
+33 ;add an error if site parameter file is not setup
+34 IF '$DATA(^BHLSITE(BHLSITE,0))
SET BHLERCD="NOSITE"
XECUTE BHLERR
+35 IF $DATA(BHLERR("FATAL"))
QUIT
+36 SET BHLDVT=$SELECT($GET(^APCCCTRL(DUZ(2),0)):$PIECE($GET(^APCCCTRL(DUZ(2),0)),U,4),1:"I")
+37 SET BHLDSC=$PIECE($GET(^BHLSITE(BHLSITE,1)),U,2)
+38 SET BHLDPRV=$PIECE($GET(^BHLSITE(BHLSITE,1)),U,3)
+39 SET BHLDLOC=$PIECE($GET(^BHLSITE(BHLSITE,1)),U,4)
+40 SET BHLDADMT=$PIECE($GET(^BHLSITE(BHLSITE,2)),U)
+41 SET BHLDDDMT=$PIECE($GET(^BHLSITE(BHLSITE,2)),U,2)
+42 SET BHLDADS=$PIECE($GET(^BHLSITE(BHLSITE,2)),U,3)
+43 SET BHLDDDS=$PIECE($GET(^BHLSITE(BHLSITE,2)),U,4)
+44 SET BHLDWRD=""
+45 QUIT
+46 ;
EOJ ;EP - kill variables
+1 DO EN^XBVK("BHL")
+2 DO EN^XBVK("APCD")
+3 DO EN^XBVK("AUPN")
+4 KILL CS,EID,FS,PIEN,RS,SEGCNT,SEX,SSN,VIEN
+5 KILL DIC,DR,DOB,AGHL7IN
+6 QUIT
+7 ;