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

APSPNE4.m

Go to the documentation of this file.
  1. APSPNE4 ; IHS/DSD/ENM - OUTPATIENT LABEL ASK OPTION 11/10/93 ;23-Sep-2011 15:54;PLS
  1. ;;7.0;IHS PHARMACY MODIFICATIONS;**1005,1008,1013**;Sep 23, 2004;Build 33
  1. ; Modified - IHS/CIA/PLS - 01/21/04
  1. ; IHS/MSC/PLS - 04/30/09
  1. ; - 09/16/2011 - Added PWH prompt
  1. OUT ;
  1. S:'$D(PPL) PPL=$G(PSORX("PSOL",1))
  1. I $G(PSORX("PSOL",1))]"" S PPL=PSORX("PSOL",1)
  1. OPT ;EP - ASK PRINT OPTION
  1. D CHKFDT^APSPFUNC(.PPL) S PSORX("PSOL",1)=PPL
  1. I 'PPL,'$D(RXRS) D Q
  1. .W !!,"No other labels to print. Exiting..."
  1. N PMI ;IHS/DSD/ENM 05/22/01
  1. S PMI("IN")="" ;IHS/DSD/ENM 05/22/01
  1. S X="APSEPPIM" X ^%ZOSF("TEST") I $T S PMI("IN")=1 ;IHS/DSD/EM 05/22/01
  1. S APSPZ1=$P($G(^APSPCTRL(PSOSITE,0)),"^",12),APSPZ2=$S(APSPZ1=1:"Summary",1:""),APSPZ3=$S(APSPZ1=1:"B=Sum+Cpro",1:"") ;IHS/DSD/ENM 08/01/96
  1. S DIR(0)="SA^P:Print Label;Q:Queue Labels;C:Labels & Chronic Med Profile;R:Refill Rx;M:Med Sheet;MS:Med Sheet+Summary;W:PWH;CA:Cancel Rx" ;_";"_APSPZ2_";"_APSPZ3
  1. I APSPZ2]""!APSPZ3]"" S DIR(0)=DIR(0)_";S:"_APSPZ2_";B:"_APSPZ3
  1. S DIR(0)=DIR(0)_$S($P(PSOPAR,"^",23):";H:Hold",1:"")_$S($P(PSOPAR,"^",24):";SU:Suspense",1:"")
  1. S DIR("A")="Print/Queue/Cpro/Med sheet/pWh/"_$S($P(PSOPAR,U,23):"Hold/",1:"")_$S($P(PSOPAR,U,24):"SUspend/",1:"")_"Refill/CAncel"_"/"_APSPZ2_"/"_APSPZ3_"/'^'=Exit: ",DIR("B")="P" ;IHS/OKCAO/POC 6/9/98
  1. S DIR("?",1)="Enter 'P' to Immediately Print Label(s) only",DIR("?",2)="Enter 'Q' to Queue Label(s) to a Printer",DIR("?",3)="Enter 'C' to Print Label(s) and Chronic Med Profile"
  1. S DIR("?",4)="Enter 'R' to Refill Prescription",DIR("?",5)="Enter 'CA' to Cancel Prescription",DIR("?",6)="*Enter 'S' to Print Labels + Summary Labels"
  1. S DIR("?",7)="*Enter 'B' to Print Label(s) + Chronic Med Profiles + Summary Labels"
  1. S DIR("?",8)="*Note: Summary labels depend on parameter setting in APSP CONTROL FILE"
  1. S DIR("?",9)="ENTER 'M' to print label(s) and patient med sheet" ;IHS/OKCAO/POC 6/9/98
  1. S DIR("?",10)="ENTER 'MS' to print label(s), patient med sheet, and summary label" ;IHS/OKCAO/POC 6/9/98
  1. S DIR("?",11)="Enter 'W' to print a Patient Wellness Handout"
  1. S:$P(PSOPAR,U,23) DIR("?",11)="Enter 'H' to hold label until Rx can be filled"
  1. S:$P(PSOPAR,U,24) DIR("?",12)="Enter 'SU' to suspend labels to print later"
  1. S DIR("?")="ENTER '^' TO EXIT"
  1. W !!
  1. COME D ^DIR S PX=Y,APSPX1=""
  1. I $D(DUOUT) D G CQ:PX=U
  1. .D EXCK
  1. .D:PX=U AL^PSOLBL("UT")
  1. K DIR
  1. OUT1 ;
  1. I $E(PX,1)="R" D G OUT
  1. .W !,*7,"<The Refill Function is currently unavailable!>" Q
  1. .S PSORX("DO REFILL")=1,PX="",APSPZIT=1 D
  1. ..I $G(PSORX("DO REFILL")),'PSORX("REFILL") W !,*7,"No prescriptions with refills allowed ",! G OUT ;IHS/DSD/ENM 02/14/97
  1. ..I $G(PSORX("DO REFILL")),$D(PSOSD)>1,PSORX("REFILL") W !,"Now entering Refill Option",! N PSOOPT S PSOOPT=4 D ^PSOREF
  1. ..K APSPFLG,PSORX("DO REFILL") ;IHS/DSD/ENM 02/14/97
  1. ..W !,*7,"<--- RETURNING TO 'NEW RX' OPTION",! Q
  1. I $E(PX,1,2)="CA" D G OUT
  1. .W !,*7,"<The Cancel Function is currently unavailable!>" Q
  1. .D ^APSPCAN W !!
  1. I "P"[PX S APSQSTOP=0 D P^PSORXL K APSQSTOP G CQ ;IHS/OKCAO/POC 01/09/2001 VARIABLE SET FOR SIGNATURE LABEL USED IN APSPLBL AND PSORXL
  1. ;IHS/ASD/ENM 05/22/01 NEXT TWO LINES CHECK IF PMI'S EXIST
  1. I "M"[PX,PMI("IN")=1 S APSQSTOP=0 D EN^APSEPPIM,P^PSORXL K APSQSTOP G CQ ;IHS/ASDS/ENM 03/26/01 IHS/OKCAO/POC 01/09/2001 APSQSTOP USED TO DECIDE IF PRINT SIGNATURE LABEL IN RTN APSPLBL AND PSORXL ;IHS/ASDS/ENM 03/26/01
  1. I "M"[PX,PMI("IN")="" S APSQSTOP=0 D P^PSORXL K APSQSTOP G CQ ;IHS/ASDS/ENM 03/26/01 IHS/OKCAO/POC 01/09/2001 APSQSTOP USED TO DECIDE IF PRINT SIGNATURE LABEL IN RTN APSPLBL AND PSORXL ;IHS/ASDS/ENM 03/26/01
  1. I "W"[PX D EN2^APCHPWHG(2,PSODFN),P^PSORXL G CQ ;IHS/MSC/PLS - 09/16/2011
  1. I "C"[PX S APSQSTOP=0 D PCOPY,P^PSORXL,CPCK K APSQSTOP G CQ ;IHS/OKCAO/POC 01/09/2001 APSQSTOP SET FOR PRINTING SIGNATURE LABEL IN RTNS PSORXL AND APSPLBL
  1. I "S"[PX K ARRAY S APSQSTOP=0 D P^PSORXL,EP2^APSPSLBL:$D(ARRAY(1)) K APSQSTOP G CQ ;IHS/DSD/ENM 08/02/96 IHS/OKCAO/POC 01/09/2001 APSQSTOP USED TO PRINT SIGNATURE LABEL IN RTNS APSPLBL AND PSORXL
  1. ;IHS/ASD/ENM 05/22/01 NEXT TWO LINES CHECK IF PMI EXIST
  1. I "MS"[PX,PMI("IN")=1 K ARRAY S APSQSTOP=0 D EN^APSEPPIM,P^PSORXL,EP2^APSPSLBL:$D(ARRAY(1)) K APSQSTOP G CQ ;IHS/ASDS/ENM/POC 03/26/2001 APSQSTOP USED TO DECIDE TO PRINT SIGNATURE LABEL IN RTNS APSPLBL AND PSORXL
  1. I "MS"[PX,PMI("IN")="" K ARRAY S APSQSTOP=0 D P^PSORXL,EP2^APSPSLBL:$D(ARRAY(1)) K APSQSTOP G CQ ;IHS/ASDS/ENM 03/26/01 IHS/OKCAO/POC 01/09/2001 APSQSTOP USED TO DECIDE TO PRINT SIGNATURE LABEL IN RTNS APSPLBL AND PSORXL ;IHS/ASDS/ENM 03/26/01
  1. I "B"[PX K ARRAY S APSQSTOP=0 D PCOPY,P^PSORXL,EP2^APSPSLBL:$D(ARRAY(1)),CPCK K APSQSTOP G CQ ;IHS/DSD/ENM 08/02/96 IHS/OKCAO/POC 01/09/2001 APSQSTOP USED TO DECIDE IF PRINT SIGNATURE LABEL IN RTNS APSPLBL AND PSORXL
  1. I "Q"[PX S APSPXQ="1" D Q^PSORXL G CQ ;IHS/DSD/ENM 10/16/97
  1. I PX="H" D H1^PSORXL G CQ ;IHS/CIA/PLS - 01/29/04
  1. I PX="SU" D S^PSORXL G CQ ;IHS/CIA/PLS - 01/29/04
  1. S PX=PX_"^PSORXL" F PI=1:1 Q:$P(PPL,",",PI)="" S DA=$P(PPL,",",PI),ZD=$P(^PSRX(DA,2),"^",2),RXF=0 D @PX
  1. CQ K NEW1,NEW11 D ^%ZISC
  1. U IO(0) K APSEFDT,APSZFDT,ARRAY,SPFL1,AL,PSD,PS(53),PC,PL,PY,PI,PNM,DFN,NOW,PR,IOP,RX,SIG,SIGD,RXM,RX0,RX2,PPL ;S PPL=""
  1. K APFLAG,APSP,APSP1,APSP2,APSPCTR,APSPD,APSPDR,APSPDZ,APSPM0,APSPPDY,APSPPLOT,APSPPMF,APSPRFD,APSPRXX,APSPZDT,APSPZRN,APSPDY,APSPLOT,APSPMF,APSPZ,APSPZ1,APSPZ2,APSPZ3,APSPZZ,APSHRN
  1. K APSPZZN ;IHS/DSD/ENM 07/31/96
  1. Q
  1. PCOPY ;ASK CM COPIES
  1. D COPIES^APSPCP2
  1. Q
  1. CPCK ;CHECK CHRONIC MED PRINT STATUS
  1. I $G(APSPCP)=2 D INIT^APSPCP2 G CQ ;IHS/DSD/ENM 09/05/96
  1. I $G(APSPCPP)]"" S ZTIO=APSPCPP D EMPRT^APSPCP2 G CQ
  1. I APSPCP=1,$G(APSPCPP)']"" D INIT^APSPCP2 G CQ
  1. Q
  1. EXCK ;IHS/DSD/ENM 02/23/96 QUESTION USER EXIT ACTION
  1. ;If a user exits before label prints release and label print info
  1. ;will not be set.
  1. W !,*7,?30,"Warning!!",!
  1. W ?10,"Exiting at this point will result in an incomplete",!
  1. W ?10,"prescription entry. To avoid future problems with",!
  1. W ?10,"this Rx, PRINT the label and then destroy the label",!
  1. W ?10,"after it prints.",!
  1. S DIR(0)="Y",DIR("B")="NO",DIR("A")="Do you still want to Exit" D ^DIR K DIR
  1. I Y=0 S PX="P" Q
  1. S PX="^"
  1. Q