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

APSPDSC1.m

Go to the documentation of this file.
  1. APSPDSC1 ; IHS/DSD/ENM - PRINT MEDICATION DISCHARGE FORM ;29-Jan-2004 08:56;PLS
  1. ;;7.0;IHS PHARMACY MODIFICATIONS;;09/03/97
  1. ; IHS/OHPRD/JCM 8/22/90 INSERT K APSS AT HEADER+7, MADE W CONDITIONAL
  1. ; ON LINE START+6
  1. ; Modified - IHS/CIA/PLS - 01/13/04
  1. U IO
  1. F I=1:1:APSPDSC("COPIES") D START Q:APSPDSC("COPIES")<1 ;COPY LOOP
  1. D ^%ZISC
  1. D EOJ
  1. Q
  1. START ;
  1. S (DX,DY)=1 X:$D(^%ZOSF("XY"))#2 ^("XY")
  1. S APSPAGE=1
  1. D HEADER
  1. D MEDS
  1. D:$E(IOST,1,2)="P-" TRAILER
  1. W:$E(IOST,1,2)="P-" !,@IOF ;IHS/OHPRD/JCM 8/22/90
  1. S APSPDSC("COPIES")=APSPDSC("COPIES")-1
  1. Q
  1. ;-------------------------------------------------------------------
  1. W:$D(APSPDSC("NAME")) !,"Name : ",APSPDSC("NAME")
  1. W ?(IOM-20),"Date : ",APSPDSC("DATE")
  1. W !?(IOM-20),"Page: ",APSPAGE
  1. I APSPAGE'>1 D EP^APSPGMR ;IHS/DSD/ENM 09/05/96
  1. W !
  1. W:$D(APSPDSC("FAC")) ?(IOM\2-($L(APSPDSC("FAC"))\2)),APSPDSC("FAC")
  1. W !?(IOM\2-12),"MEDICATION INSTRUCTIONS",!
  1. K APSS S $P(APSS,"-",(IOM-2))="" W APSS ;IHS/OHPRD/JCM 8/22/90
  1. S APSPAGE=APSPAGE+1
  1. Q
  1. MEDS ;
  1. S APSCNT=1,APSRX=0
  1. F S APSRX=$P(APSX,",",APSCNT) Q:APSRX="" S APSCNT=APSCNT+1 D RX
  1. Q
  1. RX ;
  1. Q:'$D(^PSRX(APSRX,0))#2 S APSRX0=^(0)
  1. I $P(APSRX0,U,6),$D(^PSDRUG($P(APSRX0,U,6),0))#2 S APSDRUG=^(0)
  1. S APSSIG=$P($G(^PSRX(APSRX,"SIG")),"^")
  1. I APSSIG="" S APSSIG=$P($G(^PSRX(APSRX,"SIG1",1,0)),"^")
  1. Q:APSSIG="" ;IHS/BAO/DMH dmh 3/26/2002
  1. Q:'$D(APSDRUG)!('$D(APSSIG))
  1. S APSDNAME=$P(APSDRUG,U,1) ; Drug name
  1. D SIG,WARNING
  1. Q
  1. SIG ;
  1. N INS1 ; IHS/CIA/PLS 01/12/04
  1. S X=APSSIG D SIG^PSOHELP
  1. I $Y+($L(INS1)\(IOM-30))+1>IOSL,$E(IOST,1,2)="P-" W !,@IOF D HEADER
  1. I IO=IO(0),$E(IOST,1,2)'="P-",$Y+2>IOSL S APSPDSC1("QUIT FLG")=0 S DIR(0)="E" D ^DIR S:Y="^" APSPDSC1("QUIT FLG")=1 K DIR,Y W @IOF G:APSPDSC1("QUIT FLG") SIGX
  1. W !,APSS
  1. W !!!,APSDNAME," - "
  1. W ?30,$E(INS1,1,(IOM-1))
  1. I $E(INS1,(IOM-1))]" " W "-"
  1. S APS2P=(IOM-1)
  1. I $Y+4>IOSL,$E(IOST,1,2)="P-" W !,@IOF D HEADER
  1. I IO=IO(0),$E(IOST,1,2)'="P-",$Y+2>IOSL S APSPDSC1("QUIT FLG")=0 S DIR(0)="E" D ^DIR S:Y=0 APSPDSC1("QUIT FLG")=1 K DIR,Y W @IOF G:APSPDSC1("QUIT FLG") SIGX
  1. I $L(INS1)>(IOM-1) F W !?30,$E(INS1,APS2P+1,(APS2P+(IOM-32))) Q:$L(INS1)'>(APS2P+(IOM-32)) W:$E(INS1,(APS2P+(IOM-31)))]" " "-" S APS2P=APS2P+(IOM-32)
  1. SIGX ;
  1. Q
  1. WARNING ;
  1. Q:$P(APSDRUG,U,8)']""
  1. S APSWLS=$P(APSDRUG,U,8)
  1. S APSCNT2=1,APSWL=0
  1. F S APSWL=$P(APSWLS,",",APSCNT2) Q:APSWL="" S APSCNT2=APSCNT2+1 D WARN2
  1. Q
  1. WARN3 ;IHS/DSD/ENM 06/10/97 ENM MODIFIED WARN2 MODULE
  1. S APSPJ=0,APSPK=""
  1. F S APSPJ=$O(^DIC(54,APSWL,1,APSPJ)) Q:APSPJ'=+APSPJ S APSPK=^DIC(54,APSWL,1,APSPJ,0) D EMW
  1. Q
  1. EMW I $Y+($L(APSPK)\(IOM-1))+1>IOSL,$E(IOST,1,2)="P-" W !,@IOF D HEADER
  1. I IO=IO(0),$E(IOST,1,2)'="P-",$Y+2>IOSL S APSPDSC1("QUIT FLG")=0 S DIR(0)="E" D ^DIR S:Y="^" APSPDSC1("QUIT FLG")=1 K DIR,Y W @IOF G:APSPDSC1("QUIT FLG") WARN2X
  1. W !!?2,$E(APSPK,1,(IOM-1))
  1. I $E(APSPK,(IOM-1))]" " W "-"
  1. S APS2P=(IOM-1)
  1. I $L(APSPK)>APS2P F W !,$E(APSPK,APS2P+1,(APS2P+(IOM-1))) Q:$L(APSPK)'>(APS2P+(IOM-1)) W:'" "[$E(APSPK,(APS2P+(IOM-1))) "-" S APS2P=APS2P+(IOM-1)
  1. WARN3X ;IHS/DSD/ENM END OF ENM WARN2 MODULE
  1. Q
  1. WARN2 ;IHS/DSD/ENM V5.06 WARN2 MODULE
  1. S APSPJ=0,APSPK=""
  1. F S APSPJ=$O(^DIC(54,APSWL,1,APSPJ)) Q:APSPJ'=+APSPJ S APSPK=$S(APSPK'="":APSPK_" "_^DIC(54,APSWL,1,APSPJ,0),1:^DIC(54,APSWL,1,APSPJ,0))
  1. I $Y+($L(APSPK)\(IOM-10))+1>IOSL,$E(IOST,1,2)="P-" W !,@IOF D HEADER
  1. I IO=IO(0),$E(IOST,1,2)'="P-",$Y+2>IOSL S APSPDSC1("QUIT FLG")=0 S DIR(0)="E" D ^DIR S:Y="^" APSPDSC1("QUIT FLG")=1 K DIR,Y W @IOF G:APSPDSC1("QUIT FLG") WARN2X
  1. W !!?10,$E(APSPK,1,(IOM-12))
  1. I $E(APSPK,(IOM-11))]" " W "-"
  1. S APS2P=(IOM-12)
  1. I $L(APSPK)>APS2P F W !?10,$E(APSPK,APS2P+1,(APS2P+(IOM-12))) Q:$L(APSPK)'>(APS2P+(IOM-12)) W:'" "[$E(APSPK,(APS2P+(IOM-11))) "-" S APS2P=APS2P+(IOM-12)
  1. WARN2X ;
  1. Q
  1. TRAILER ;
  1. I $Y+17>IOSL W !,@IOF D HEADER
  1. W !,APSS
  1. W !!!,"ADDITIONAL COMMENTS:",!
  1. F APSI=1:1:3 W !!,APSS
  1. W !!?(IOM-28) S APSS="",$P(APSS,"_",25)="" W APSS
  1. W !?(IOM-20),"PHARMACIST"
  1. Q
  1. EOJ ;
  1. K APS2P,APSCNT,APSCNT2,APSPDSC,APSDNAME,APSDRUG,APSI,APSPAGE,APSRX,APSPDSC1("QUIT FLG")
  1. K APSRX0,APSS,APSSIG,APSWL,APSWLS,APSX,APSPJ,APSPK,SIG,X,DX,DY,I
  1. I $D(ZTSK) K ZTSAVE,ZTIO,ZTDESC,ZTRTN,ZTSK ;IHS/DSD/ENM 01/14/97
  1. D EOJ^APSPDSC ;IHS/ITSC/POC/ENM 08/08/2002
  1. Q