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

PSNCLEHW.m

Go to the documentation of this file.
  1. PSNCLEHW ;BIR/LE-CLINICAL EFFECTS & HAZARDOUS WASTE DISPLAY ; 07/02/03 14:01
  1. ;;4.0;NATIONAL DRUG FILE;**396**; 30 Oct 98;Build 190
  1. ;
  1. Q
  1. ;
  1. ;This routine is called by PSNLOOK, PSNACT and PSNDRDOS routes for display
  1. ;of hazardous waste and clinical effects fields
  1. ;
  1. CLEFF(VAPRD,QUIT) ;Display Clinical Effects fields
  1. ;Input: VAPRD - VA PRODUCT (#50.68) IEN
  1. I '$G(QUIT) S QUIT=0
  1. Q:QUIT QUIT
  1. N X,Y,II,III,PSNPKG,PSNPKG2,PSNOMIT,PSNEXLMT,PSNCLEF,PSNCLEFA,QUIT,PSNHWQT
  1. D GETS^DIQ(50.68,VAPRD_",","108*","EI","PSNCLEFA")
  1. W !!,"CLINICAL EFFECT DURATION: ",$S($D(PSNCLEFA):"YES",1:"NO")
  1. Q:'$D(PSNCLEFA)
  1. S (II,III,QUIT)=0
  1. F S II=$O(PSNCLEFA(50.68108,II)) Q:II="" F S III=$O(PSNCLEFA(50.68108,II,III)) Q:III="" D
  1. .S PSNPKG=$G(PSNCLEFA(50.68108,II,.01,"I")),PSNOMIT=$G(PSNCLEFA(50.68108,II,1,"E"))
  1. .S PSNEXLMT=$G(PSNCLEFA(50.68108,II,2,"E")) S:PSNPKG'="" PSNCLEF(PSNPKG)=PSNOMIT_"^"_PSNEXLMT
  1. ;If package IO is defined only show it, otherwise show all packages
  1. I $D(PSNCLEF("IO")) S PSNPKG="IO" D CLEFFS,CLEFFW(PSNPKG,PSNOMIT,PSNEXLMT) Q QUIT
  1. S PSNPKG="" F S PSNPKG=$O(PSNCLEF(PSNPKG)) Q:PSNPKG="" D Q:QUIT
  1. .D CLEFFS,CLEFFW(PSNPKG,PSNOMIT,PSNEXLMT) S:QUIT PSNHWQT=1
  1. Q QUIT
  1. ;
  1. CLEFFS ;
  1. S (PSNOMIT,PSNEXLMT)="",PSNOMIT=$P(PSNCLEF(PSNPKG),"^"),PSNEXLMT=$P(PSNCLEF(PSNPKG),"^",2)
  1. Q
  1. ;
  1. CLEFFW(PSNPKG,PSNOMIT,PSNEXLMT) ;
  1. N PSNPACK2 S PSNPACK2=""
  1. S PSNPACK2=$S(PSNPKG="I":"INPATIENT",PSNPKG="O":"OUTPATIENT",PSNPKG="IO":"BOTH INPATIENT AND OUTPATIENT",1:"")
  1. W !?3,PSNPACK2," DURATION LIMIT: " W:PSNOMIT="NO" PSNEXLMT W !?6,"OMIT EXP/DC ORDER CHECK: ",PSNOMIT
  1. D:($Y+5)>IOSL HANG
  1. Q
  1. ;
  1. HAZWASTE(VAPRD,QUIT) ;Display Hazardous Waste fields
  1. ;Input: VAPRD - VA PRODUCT (#50.68) IEN
  1. ;returns PSNHWAT = 1 for quit or 0 don't quit.
  1. I '$G(QUIT) S QUIT=0
  1. Q:QUIT QUIT
  1. N HAZARY,HAZHTDX,PSNHWQT
  1. W !
  1. D:($Y+5)>IOSL HANG G END:QUIT
  1. D GETS^DIQ(50.68,VAPRD_",","101;102;103;104;105","EI","HAZARY")
  1. S HAZHTDX=0
  1. I $G(HAZARY(50.68,VAPRD_",",102,"I"))=1 S HAZHTDX=1
  1. W:$G(HAZARY(50.68,VAPRD_",",101,"E"))'="" !,"Hazardous to Handle: ",HAZARY(50.68,VAPRD_",",101,"E")
  1. D:($Y+5)>IOSL HANG G END:QUIT
  1. W:$G(HAZARY(50.68,VAPRD_",",102,"E"))'="" !,"Hazardous to Dispose: ",HAZARY(50.68,VAPRD_",",102,"E")
  1. D:($Y+5)>IOSL HANG G END:QUIT
  1. W:$G(HAZARY(50.68,VAPRD_",",103,"E"))'=""&(HAZHTDX) !," Primary EPA Code: ",HAZARY(50.68,VAPRD_",",103,"E")
  1. D:($Y+5)>IOSL HANG G END:QUIT
  1. W:$G(HAZARY(50.68,VAPRD_",",104,"E"))'=""&(HAZHTDX) !," Waste Sort Code: ",HAZARY(50.68,VAPRD_",",104,"E")
  1. I QUIT S PSNHWQT=1 G END:QUIT
  1. N HAZWCNT,HAZWCNT2,X,DIWL,DIWR,DIWF
  1. K ^UTILITY($J,"W")
  1. S HAZWCNT2=1,HAZWCNT=0,DIWL=1,DIWR=50
  1. F S HAZWCNT=$O(HAZARY(50.68,VAPRD_",",105,HAZWCNT)) Q:'HAZWCNT D
  1. . S X="",X=HAZARY(50.68,VAPRD_",",105,HAZWCNT) D ^DIWP
  1. S HAZWCNT=0 F HAZWCNT=0:0 S HAZWCNT=$O(^UTILITY($J,"W",DIWL,HAZWCNT)) Q:'HAZWCNT D
  1. .I HAZWCNT2=1 W !," DOT Shipping Name: "
  1. .I HAZWCNT2>1 W !," "
  1. .W $G(^UTILITY($J,"W",DIWL,HAZWCNT,0)) S HAZWCNT2=2
  1. K ^UTILITY($J,"W")
  1. ;W:$G(HAZARY(50.68,VAPRD_",",105,"E"))'=""&(HAZHTDX) !," DOT Shipping Name: ",HAZARY(50.68,VAPRD_",",105,"E")
  1. W !
  1. K HAZARY,HAZHTDX
  1. END ;
  1. Q QUIT
  1. ;
  1. HANG K DIR S DIR(0)="E",DIR("A")="Press return to continue or '^' to exit" D ^DIR W @IOF S $X=0 S:Y'=1 QUIT=1
  1. Q