- BHLERR ; cmi/flag/maw - BHL HL7 Error Processing ;
- ;;3.01;BHL IHS Interfaces with GIS;**2**;OCT 15, 2002
- ;
- ;this routine will handle error processing for HL7 messages
- ;
- TRAP ;-- file the error
- I BHLERCD="GEN" D
- . S BHLGERR="Error filing field "_$$BHLFLD(BHLEFL,BHLFLD)_" in file "_$$BHLFL(BHLEFL)
- S BHLERIEN=$O(^BHLEM("B",BHLERCD,0))
- Q:'$G(BHLERIEN)
- S BHLERT=$S(BHLERCD="GEN":BHLGERR,1:$G(^BHLEM(BHLERIEN,1)))
- I $P(^BHLEM(BHLERIEN,0),U,2)="W" S BHLERR("WARNING")=BHLERT
- I $P(^BHLEM(BHLERIEN,0),U,2)="F" S BHLERR("FATAL")=BHLERT
- S BHLVAL=$S($G(BHLVAL):$P(BHLVAL,CS),1:"NO DATA VALUE")
- D ERR
- K BHLERCD,BHLERT
- Q
- ;
- ERR ;-- this acutally files the error
- Q:'$G(BHLUIF)
- K DD,DO
- D NOW^%DTC S Y=% X ^DD("DD") S BHLNOW=Y
- S DIC="^BHLERR(",DIC(0)="L"
- S DIC("DR")=".02///"_$G(BHLRAP)_";.03///"_$G(BHPSAP)
- S DIC("DR")=DIC("DR")_";.04///"_$G(BHLRAF)_";.05///"_$G(BHLSAF)
- S DIC("DR")=DIC("DR")_";.06///"_$G(BHLRTN)_";.07///"_$G(BHLNOW)
- S DIC("DR")=DIC("DR")_";.08////"_$G(BHLERIEN)_";.09///"_$G(BHLERT)
- S DIC("DR")=DIC("DR")_";1///"_$G(BHLVAL)
- S X=BHLUIF
- D FILE^DICN
- Q
- ;
- BHLFLD(BHLDIE,BHLDR) ;get field name
- S BHLFNM=$P(^DD(BHLDIE,BHLDR,0),U)
- Q BHLFNM
- ;
- BHLFL(BHLDIE) ;get file name
- S BHLFLNM=$O(^DD(BHLDIE,0,"NM",0))
- Q BHLFLNM
- ;
- BHLERR ; cmi/flag/maw - BHL HL7 Error Processing ;
- +1 ;;3.01;BHL IHS Interfaces with GIS;**2**;OCT 15, 2002
- +2 ;
- +3 ;this routine will handle error processing for HL7 messages
- +4 ;
- TRAP ;-- file the error
- +1 IF BHLERCD="GEN"
- Begin DoDot:1
- +2 SET BHLGERR="Error filing field "_$$BHLFLD(BHLEFL,BHLFLD)_" in file "_$$BHLFL(BHLEFL)
- End DoDot:1
- +3 SET BHLERIEN=$ORDER(^BHLEM("B",BHLERCD,0))
- +4 IF '$GET(BHLERIEN)
- QUIT
- +5 SET BHLERT=$SELECT(BHLERCD="GEN":BHLGERR,1:$GET(^BHLEM(BHLERIEN,1)))
- +6 IF $PIECE(^BHLEM(BHLERIEN,0),U,2)="W"
- SET BHLERR("WARNING")=BHLERT
- +7 IF $PIECE(^BHLEM(BHLERIEN,0),U,2)="F"
- SET BHLERR("FATAL")=BHLERT
- +8 SET BHLVAL=$SELECT($GET(BHLVAL):$PIECE(BHLVAL,CS),1:"NO DATA VALUE")
- +9 DO ERR
- +10 KILL BHLERCD,BHLERT
- +11 QUIT
- +12 ;
- ERR ;-- this acutally files the error
- +1 IF '$GET(BHLUIF)
- QUIT
- +2 KILL DD,DO
- +3 DO NOW^%DTC
- SET Y=%
- XECUTE ^DD("DD")
- SET BHLNOW=Y
- +4 SET DIC="^BHLERR("
- SET DIC(0)="L"
- +5 SET DIC("DR")=".02///"_$GET(BHLRAP)_";.03///"_$GET(BHPSAP)
- +6 SET DIC("DR")=DIC("DR")_";.04///"_$GET(BHLRAF)_";.05///"_$GET(BHLSAF)
- +7 SET DIC("DR")=DIC("DR")_";.06///"_$GET(BHLRTN)_";.07///"_$GET(BHLNOW)
- +8 SET DIC("DR")=DIC("DR")_";.08////"_$GET(BHLERIEN)_";.09///"_$GET(BHLERT)
- +9 SET DIC("DR")=DIC("DR")_";1///"_$GET(BHLVAL)
- +10 SET X=BHLUIF
- +11 DO FILE^DICN
- +12 QUIT
- +13 ;
- BHLFLD(BHLDIE,BHLDR) ;get field name
- +1 SET BHLFNM=$PIECE(^DD(BHLDIE,BHLDR,0),U)
- +2 QUIT BHLFNM
- +3 ;
- BHLFL(BHLDIE) ;get file name
- +1 SET BHLFLNM=$ORDER(^DD(BHLDIE,0,"NM",0))
- +2 QUIT BHLFLNM
- +3 ;