BHLORCI ; cmi/sitka/maw - BHL File Inbound ORC Segment ;
;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
;
;this routine will file the inbound ORC segment
;
MAIN ;-- get the event type and file accordingly
I BHLET="O01" D VMED,EOJ Q
D VIMM,EOJ
Q
;
VIMM ;-- V immunization record
S BHLDA=0 F S BHLDA=$O(@BHLTMP@(BHLDA)) Q:BHLDA="" D
. S BHLOC=$G(@BHLTMP@(BHLDA,1))
. S BHLVIEN=$P($G(@BHLTMP@(BHLDA,3)),CS)
. S BHLVSDT=$P($G(@BHLTMP@(BHLDA,3)),CS,2)
. ;I $D(^AUPNVIMM(BHLVIEN,0)) S BHLERCD="EXVIMM" X BHLERR Q future
. I BHLVIEN'="" Q:$D(^AUPNVIMM(BHLVIEN,0))
. X BHLKSV
. D VIMM^BHLRXAI
. Q:$D(BHLMTCH)
. I BHLIMM="" S BHLERCD="NOIMM" X BHLERR Q
. D VIMM^BHLZRAI
. S APCDALVR("APCDATMP")="[APCDALVR 9000010.11 (ADD)]"
. D ^APCDALVR
. I $D(APCDALVR("APCDAFLG")) S BHLERCD="NOVIMM" X BHLERR Q
Q
;
VMED ;-- V medication record
S BHLDA=0 F S BHLDA=$O(@BHLTMP@(BHLDA)) Q:BHLDA="" D
. S BHLPT=$G(@BHLTMP@(BHLDA,1))
. S BHLVIEN=$P($G(@BHLTMP@(BHLDA,3)),CS)
. S BHLVSDT=$P($G(@BHLTMP@(BHLDA,3)),CS,2)
. S BHLOED=$G(@BHLTMP@(BHLDA,15))
. I BHLPT="DC" S BHLFL=9000010.14,BHLFLD=.08,BHLX=BHLVIEN,BHLVAL=BHLOED X BHLDIE Q
. I BHLVIEN'="" Q:$D(^AUPNVMED(BHLVIEN,0))
. S BHLQTY=$P($G(@BHLTMP@(BHLDA,7)),CS)
. S BHLSIG=$P($G(@BHLTMP@(BHLDA,7)),CS,2)
. S BHLDAY=$P($G(@BHLTMP@(BHLDA,7)),CS,3)
. S BHLOP=$P($G(@BHLTMP@(BHLDA,12)),CS,2)
. S BHLOP=$S($$DIC^BHLU(200,BHLOP)'<0:BHLOP,1:BHLDPRV)
. X BHLKSV
. D VMED^BHLRXDI
. Q:$D(BHLMTCH)
. I BHLMED="" S BHLERCD="NOMED" X BHLERR Q
. S APCDALVR("APCDATMP")="[APCDALVR 9000010.14 (ADD)]"
. S APCDALVR("APCDTSIG")=BHLSIG
. S APCDALVR("APCDTQTY")=BHLQTY
. S APCDALVR("APCDTDAY")=BHLDAY
. S APCDALVR("APCDTPRV")=BHLOP
. D ^APCDALVR
. I $D(APCDALVR("APCDAFLG")) S BHLERCD="NOVMED" X BHLERR Q
Q
;
EOJ ;-- kill variables and quit
K @BHLTMP
K BHLDA,BHLOC,BHLVIEN,BHLVSDT,BHLIMM,BHLLOT,BHLMED,BHLDTD,BHLNTD,BHLSER
K BHLREA,BHLCON,BHLPT,BHLOED,BHLQTY,BHLSIG,BHLDAY,BHLOP
Q
;
BHLORCI ; cmi/sitka/maw - BHL File Inbound ORC Segment ;
+1 ;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
+2 ;
+3 ;this routine will file the inbound ORC segment
+4 ;
MAIN ;-- get the event type and file accordingly
+1 IF BHLET="O01"
DO VMED
DO EOJ
QUIT
+2 DO VIMM
DO EOJ
+3 QUIT
+4 ;
VIMM ;-- V immunization record
+1 SET BHLDA=0
FOR
SET BHLDA=$ORDER(@BHLTMP@(BHLDA))
IF BHLDA=""
QUIT
Begin DoDot:1
+2 SET BHLOC=$GET(@BHLTMP@(BHLDA,1))
+3 SET BHLVIEN=$PIECE($GET(@BHLTMP@(BHLDA,3)),CS)
+4 SET BHLVSDT=$PIECE($GET(@BHLTMP@(BHLDA,3)),CS,2)
+5 ;I $D(^AUPNVIMM(BHLVIEN,0)) S BHLERCD="EXVIMM" X BHLERR Q future
+6 IF BHLVIEN'=""
IF $DATA(^AUPNVIMM(BHLVIEN,0))
QUIT
+7 XECUTE BHLKSV
+8 DO VIMM^BHLRXAI
+9 IF $DATA(BHLMTCH)
QUIT
+10 IF BHLIMM=""
SET BHLERCD="NOIMM"
XECUTE BHLERR
QUIT
+11 DO VIMM^BHLZRAI
+12 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.11 (ADD)]"
+13 DO ^APCDALVR
+14 IF $DATA(APCDALVR("APCDAFLG"))
SET BHLERCD="NOVIMM"
XECUTE BHLERR
QUIT
End DoDot:1
+15 QUIT
+16 ;
VMED ;-- V medication record
+1 SET BHLDA=0
FOR
SET BHLDA=$ORDER(@BHLTMP@(BHLDA))
IF BHLDA=""
QUIT
Begin DoDot:1
+2 SET BHLPT=$GET(@BHLTMP@(BHLDA,1))
+3 SET BHLVIEN=$PIECE($GET(@BHLTMP@(BHLDA,3)),CS)
+4 SET BHLVSDT=$PIECE($GET(@BHLTMP@(BHLDA,3)),CS,2)
+5 SET BHLOED=$GET(@BHLTMP@(BHLDA,15))
+6 IF BHLPT="DC"
SET BHLFL=9000010.14
SET BHLFLD=.08
SET BHLX=BHLVIEN
SET BHLVAL=BHLOED
XECUTE BHLDIE
QUIT
+7 IF BHLVIEN'=""
IF $DATA(^AUPNVMED(BHLVIEN,0))
QUIT
+8 SET BHLQTY=$PIECE($GET(@BHLTMP@(BHLDA,7)),CS)
+9 SET BHLSIG=$PIECE($GET(@BHLTMP@(BHLDA,7)),CS,2)
+10 SET BHLDAY=$PIECE($GET(@BHLTMP@(BHLDA,7)),CS,3)
+11 SET BHLOP=$PIECE($GET(@BHLTMP@(BHLDA,12)),CS,2)
+12 SET BHLOP=$SELECT($$DIC^BHLU(200,BHLOP)'<0:BHLOP,1:BHLDPRV)
+13 XECUTE BHLKSV
+14 DO VMED^BHLRXDI
+15 IF $DATA(BHLMTCH)
QUIT
+16 IF BHLMED=""
SET BHLERCD="NOMED"
XECUTE BHLERR
QUIT
+17 SET APCDALVR("APCDATMP")="[APCDALVR 9000010.14 (ADD)]"
+18 SET APCDALVR("APCDTSIG")=BHLSIG
+19 SET APCDALVR("APCDTQTY")=BHLQTY
+20 SET APCDALVR("APCDTDAY")=BHLDAY
+21 SET APCDALVR("APCDTPRV")=BHLOP
+22 DO ^APCDALVR
+23 IF $DATA(APCDALVR("APCDAFLG"))
SET BHLERCD="NOVMED"
XECUTE BHLERR
QUIT
End DoDot:1
+24 QUIT
+25 ;
EOJ ;-- kill variables and quit
+1 KILL @BHLTMP
+2 KILL BHLDA,BHLOC,BHLVIEN,BHLVSDT,BHLIMM,BHLLOT,BHLMED,BHLDTD,BHLNTD,BHLSER
+3 KILL BHLREA,BHLCON,BHLPT,BHLOED,BHLQTY,BHLSIG,BHLDAY,BHLOP
+4 QUIT
+5 ;