Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: VBECHLRT

VBECHLRT.m

Go to the documentation of this file.
  1. VBECHLRT ;HOIFO/BNT - VBECS HL7 ADT Messaging Routing routine;July 13, 2004
  1. ;;2.0;VBEC;**3**;Jun 05, 2015;Build 3
  1. ;
  1. ; Note: This routine supports data exchange with an FDA registered
  1. ; medical device. As such, it may not be changed in any way without
  1. ; prior written approval from the medical device manufacturer.
  1. ;
  1. ; Integration Agreements:
  1. ; Reference to ^%ZTLOAD supported by IA #10063
  1. ; Reference to INIT^HLFNC2 supported by IA #2161
  1. ; Reference to GENERATE^HLMA supported by IA #2164
  1. ; Reference to GETDFN^MPIF001 supported by IA #2701
  1. ;
  1. QUIT
  1. ;
  1. EN ; Get Message and queue TaskMan to send it on.
  1. Q ;Remove ADT-08 messages for BCE. RLM 12/10/18
  1. ; Only send ADT A08 Message Types
  1. N VBECEVNT,HLA,MSG,VBI,VBJ,SG,VBECSEND
  1. D INIT^HLFNC2("VAFC ADT-A08 SERVER",.HL) ;Initialize HL7 variables
  1. S VBECEVNT=HL("ETN")
  1. S VBECSEND=0
  1. Q:VBECEVNT'[$E("A08")
  1. F VBI=1:1 X HLNEXT Q:HLQUIT'>0 S MSG=HLNODE,SG=$E(HLNODE,1,3) D
  1. . S HLA("HLS",VBI)=MSG
  1. . S VBJ=0 F S VBJ=$O(HLNODE(VBJ)) Q:'VBJ S MSG(VBJ)=HLNODE(VBJ),HLA("HLS",VBI,VBJ)=HLNODE(VBJ)
  1. . I $T(@SG)]"" D @SG
  1. Q:'VBECSEND
  1. ;
  1. S ZTIO=""
  1. S ZTRTN="SNDMSG^VBECHLRT"
  1. S ZTSAVE("HLA(""HLS"",")=""
  1. S ZTSAVE("VBECEVNT")=""
  1. S ZTDESC="VBECS HL7 Message Router"
  1. S ZTDTH=$H
  1. D ^%ZTLOAD
  1. D EXIT
  1. Q
  1. ;
  1. ZFF ; This segment contains the edited fields
  1. N X,VBECFLDS
  1. S VBECFLDS=$P(MSG,HL("FS"),3)
  1. F I=1:1 S X=$P(VBECFLDS,";",I) Q:X']"" D Q:VBECSEND
  1. . S VBECSEND=$S(X=".01":1,X=".02":1,X=".03":1,X=".09":1,X=".351":1,X="991.01":1,1:0)
  1. Q
  1. ;
  1. SNDMSG ; Create the ^TMP("HLS",$J global array and send the message
  1. S:$D(ZTQUEUED) ZTREQ="@"
  1. N EID
  1. S EID=$O(^ORD(101,"B","VBECS ADT-"_VBECEVNT_" SERVER",0))
  1. N HL,INT,HLRESLT,HLP
  1. S HL="HL",INT=0
  1. D INIT^HLFNC2(EID,.HL,INT)
  1. D GENERATE^HLMA(EID,"LM",1,.HLRESLT,"",.HLP)
  1. K HLA,VBECEVNT
  1. Q
  1. ;
  1. EXIT ; Kill variables and quit
  1. K SG,ZTIO,ZTSAVE,ZTDESC,ZTRTN,ZTDTH
  1. Q