PSBPXFL ;BIR/RMS - BCMA TO PCE LINK FOR IMMUNIZATIONS ; 4/29/09 2:08pm
 ;;3.0;BAR CODE MED ADMIN;**47**;Mar 2004;Build 7
 ;Per VHA Directive 2004-038 (or future revisions regarding same), this routine should not be modified.
 ;
 ; Reference/IA
 ; $$DATA2PCE^PXAPI/1889
 ; $$PKG2IEN^VSIT/1904
 ;
BCMA2PCE(PSBDFN,PSBIMM,PSBDX,PSBDT,PSBWHO) ;
 D CLEAN
 D SETUP
 Q:$G(PSBSTOP)
 S PSBRSLT=$$DATA2PCE^PXAPI(PSBROOT,PSBPKG,PSBSRC)
 W:$E(IOST)="C" !,"Result code: ",PSBRSLT
 D CLEAN
 Q
SETUP S PSBROOT="^TMP(""PSBXAPI"",$J)"
 S PSBPKG=$$PKG2IEN^VSIT("PSB")
 S PSBSRC="EXTERNAL API"
ENC S @PSBROOT@("ENCOUNTER",1,"ENC D/T")=$G(PSBDT,DT)
 S @PSBROOT@("ENCOUNTER",1,"PATIENT")=PSBDFN
 S @PSBROOT@("ENCOUNTER",1,"HOS LOC")=$$LOC Q:$G(PSBSTOP)
 S @PSBROOT@("ENCOUNTER",1,"SERVICE CATEGORY")="E"
 S @PSBROOT@("ENCOUNTER",1,"INSTITUTION")=+$$SITE^VASITE
 S @PSBROOT@("ENCOUNTER",1,"ENCOUNTER TYPE")="P"
 S @PSBROOT@("ENCOUNTER",1,"SC")=$$SC
PROV S @PSBROOT@("PROVIDER",1,"NAME")=PSBWHO
IMMUN S @PSBROOT@("IMMUNIZATION",1,"COMMENT")="@"
 S @PSBROOT@("IMMUNIZATION",1,"CONTRAINDICATED")=0
 S @PSBROOT@("IMMUNIZATION",1,"IMMUN")=PSBIMM
 S @PSBROOT@("IMMUNIZATION",1,"REACTION")="@"
 S @PSBROOT@("IMMUNIZATION",1,"SERIES")="@"
SC() ;SERVICE CONNECTED
 N VAEL
 S DFN=PSBDFN
 D ELIG^VADPT
 Q $S(+VAEL(3)=1:0,1:"")
LOC() ;HOSPITAL LOCATION
 N DFN,VAIP
 S DFN=PSBDFN
 S VAIP("D")="L"
 D IN5^VADPT
 S PSBLOC=$G(^DIC(42,+VAIP(5),44))
 S:PSBLOC']"" PSBSTOP=1
 Q PSBLOC
 ;
CLEAN K ^TMP("PSBPXAPI",$J)
 K PSBSTOP,PSBROOT,PSBPKG,PSBSRC,PSBRSLT,PSBLOC
 Q
PSBPXFL   ;BIR/RMS - BCMA TO PCE LINK FOR IMMUNIZATIONS ; 4/29/09 2:08pm
 +1       ;;3.0;BAR CODE MED ADMIN;**47**;Mar 2004;Build 7
 +2       ;Per VHA Directive 2004-038 (or future revisions regarding same), this routine should not be modified.
 +3       ;
 +4       ; Reference/IA
 +5       ; $$DATA2PCE^PXAPI/1889
 +6       ; $$PKG2IEN^VSIT/1904
 +7       ;
BCMA2PCE(PSBDFN,PSBIMM,PSBDX,PSBDT,PSBWHO) ;
 +1        DO CLEAN
 +2        DO SETUP
 +3        IF $GET(PSBSTOP)
               QUIT 
 +4        SET PSBRSLT=$$DATA2PCE^PXAPI(PSBROOT,PSBPKG,PSBSRC)
 +5        IF $EXTRACT(IOST)="C"
               WRITE !,"Result code: ",PSBRSLT
 +6        DO CLEAN
 +7        QUIT 
SETUP      SET PSBROOT="^TMP(""PSBXAPI"",$J)"
 +1        SET PSBPKG=$$PKG2IEN^VSIT("PSB")
 +2        SET PSBSRC="EXTERNAL API"
ENC        SET @PSBROOT@("ENCOUNTER",1,"ENC D/T")=$GET(PSBDT,DT)
 +1        SET @PSBROOT@("ENCOUNTER",1,"PATIENT")=PSBDFN
 +2        SET @PSBROOT@("ENCOUNTER",1,"HOS LOC")=$$LOC
           IF $GET(PSBSTOP)
               QUIT 
 +3        SET @PSBROOT@("ENCOUNTER",1,"SERVICE CATEGORY")="E"
 +4        SET @PSBROOT@("ENCOUNTER",1,"INSTITUTION")=+$$SITE^VASITE
 +5        SET @PSBROOT@("ENCOUNTER",1,"ENCOUNTER TYPE")="P"
 +6        SET @PSBROOT@("ENCOUNTER",1,"SC")=$$SC
PROV       SET @PSBROOT@("PROVIDER",1,"NAME")=PSBWHO
IMMUN      SET @PSBROOT@("IMMUNIZATION",1,"COMMENT")="@"
 +1        SET @PSBROOT@("IMMUNIZATION",1,"CONTRAINDICATED")=0
 +2        SET @PSBROOT@("IMMUNIZATION",1,"IMMUN")=PSBIMM
 +3        SET @PSBROOT@("IMMUNIZATION",1,"REACTION")="@"
 +4        SET @PSBROOT@("IMMUNIZATION",1,"SERIES")="@"
SC()      ;SERVICE CONNECTED
 +1        NEW VAEL
 +2        SET DFN=PSBDFN
 +3        DO ELIG^VADPT
 +4        QUIT $SELECT(+VAEL(3)=1:0,1:"")
LOC()     ;HOSPITAL LOCATION
 +1        NEW DFN,VAIP
 +2        SET DFN=PSBDFN
 +3        SET VAIP("D")="L"
 +4        DO IN5^VADPT
 +5        SET PSBLOC=$GET(^DIC(42,+VAIP(5),44))
 +6        IF PSBLOC']""
               SET PSBSTOP=1
 +7        QUIT PSBLOC
 +8       ;
CLEAN      KILL ^TMP("PSBPXAPI",$JOB)
 +1        KILL PSBSTOP,PSBROOT,PSBPKG,PSBSRC,PSBRSLT,PSBLOC
 +2        QUIT