- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/OUTPATIENT_PHARMACY-PSO-APSP-HUIP/PSOORFI2.m
r628 r636 1 PSOORFI2 ;BIR/BHW-finish cprs orders cont. ;07/29/96 2 ;;7.0;OUTPATIENT PHARMACY;**7,15,23,27,46,130,146,177,222**;DEC 1997;Build 12 3 ;External reference ^YSCL(603.01 supported by DBIA 2697 4 ;External references PSOL and PSOUL^PSSLOCK supported by DBIA 2789 1 PSOORFI2 ;BIR/BHW-finish cprs orders cont. ;1/27/07 13:25 2 ;;7.0;OUTPATIENT PHARMACY;**7,15,23,27,46,130,146,177,222,208**;DEC 1997;Build 39 3 ; Modified from FOIA VISTA, 4 ; GPL Copyright (C) 2007 WorldVistA 5 ;Ext ref ^YSCL(603.01 supported by DBIA 2697 6 ;Ext refs PSOL and PSOUL^PSSLOCK supported by DBIA 2789 5 7 HLP W !,"Enter 'S' to process orders with a priority of STAT",!," 'E' to process orders with an Emergency priority,",!," 'R' to process Routine orders.",! Q 6 8 HELP ; … … 20 22 .I $P($G(^PS(52.41,PSZFZZ,0)),"^",3)="NW"!($P($G(^(0)),"^",3)="RNW")!($P($G(^(0)),"^",3)="RF") I $P($G(^PS(52.41,PSZFZZ,"INI")),"^")=$G(PSOPINST) S PSZFIN=0 21 23 Q 22 PROFILE ;display med profile 23 S MEDA=3 ;3=question asked already 24 W !!! K MEDP,DIR,DUOUT,DIRUT,DTOUT S DIR(0)="Y",DIR("B")="Yes",DIR("A")="Do you want to see Medication Profile" D ^DIR K DIR Q:$D(DIRUT)!('Y) 25 I Y S MEDP=1 24 PROFILE ; 25 S MEDA=3 26 I $G(PSOAFYN)'="Y" W !!! K MEDP,DIR,DUOUT,DIRUT,DTOUT S DIR(0)="Y",DIR("B")="Yes",DIR("A")="Do you want to see Medication Profile" D ^DIR K DIR Q:$D(DIRUT)!('Y) 27 I $G(PSOAFYN)'="Y" I Y S MEDP=1 28 I $G(PSOAFYN)="Y" K MEDP 26 29 K DIR,DUOUT,DIRUT,DTOUT 27 30 Q 28 31 DC I '$G(PSOORRNW),$G(PSOOPT)=3 S PSORENW("DFLG")=1 S:'$D(PSOBBC1("FROM")) VALMBCK="Q",VALMSG="Renew Rx Request Canceled.",Y=-1 Q 29 N VALMCNT W ! K DIR,DUOUT,DIROUT,DTOUT,PSOELSE I '$G(PSOERR("DEAD")) S PSOELSE=1 D Q:$D(DIRUT)32 I $G(PSOAFYN)'="Y" N VALMCNT W ! K DIR,DUOUT,DIROUT,DTOUT,PSOELSE I '$G(PSOERR("DEAD")) S PSOELSE=1 D Q:$D(DIRUT) 30 33 .D NOOR^PSOCAN4 Q:$D(DIRUT) 31 34 .S DIR("A")="Comments",DIR(0)="F^10:75",DIR("B")="Per Pharmacy Request" D ^DIR K DIR 35 I $G(PSOAFYN)="Y" N VALMCNT K DIR,DUOUT,DIROUT,DTOUT,PSOELSE I '$G(PSOERR("DEAD")) S PSOELSE=1 D Q:$D(DIRUT) ;vfah 36 .D NOOR^PSOCAN4 Q:$D(DIRUT) ;vfah 37 .S Y="Rx AutoFinish" ;vfah 38 I $G(PSOAFYN)'="Y" S PSOELSE="1" 32 39 I '$G(PSOELSE) K PSOELSE S PSONOOR="A" G DE 33 40 K PSOELSE I $D(DIRUT) K DIRUT,DUOUT,DTOUT,Y Q 34 41 S ACOM=Y 35 DE Q:'$D(^PS(52.41,ORD,0)) 42 DE I $G(PSOAFYN)="Y" Q 43 I $G(PSOAFYN)'="Y" Q:'$D(^PS(52.41,ORD,0)) 36 44 K ^PS(52.41,"AOR",$P(^PS(52.41,ORD,0),"^",2),+$P($G(^PS(52.41,ORD,"INI")),"^"),ORD),^PS(52.41,"AD",$P(^PS(52.41,ORD,0),"^",12),+$P($G(^PS(52.41,ORD,"INI")),"^"),ORD) 37 45 S $P(^PS(52.41,ORD,0),"^",3)="DC",POERR("PLACER")=$P(^(0),"^"),POERR("STAT")="OC" … … 42 50 S Y=-1 Q 43 51 ; 44 RF ; process refill request from CPRS52 RF ; 45 53 S PSOREF("IRXN")=$P(OR0,"^",19) D PSOL^PSSLOCK($P(OR0,"^",19)) I '$G(PSOMSG) D D PAUSE^VALM1 K PSOREF,PSOMSG Q 46 54 .I $P($G(PSOMSG),"^",2)'="" W $C(7),!!,$P(PSOMSG,"^",2),! Q … … 52 60 S PSONEW("DAYS SUPPLY")=$P(^PSRX(PSOREF("IRXN"),0),"^",8),PSONEW("# OF REFILLS")=$P(^(0),"^",9) D FULL^VALM1 53 61 W !!,"Processing Refill Request for Rx "_$P(^PSRX(PSOREF("IRXN"),0),"^") 54 ;S:$G(PSOREQFD)]"" PSORX("FILL DATE")=PSOREQFD55 62 D FILLDT^PSODIR2(.PSOREF) I PSOREF("DFLG") S VALMBCK="R" G END 56 ;S:$G(PSORX("FILL DATE"))]"" PSOREQFD=PSORX("FILL DATE")57 63 ; 58 ;S:$G(PSOREQMP)]"" PSORX(" METHOD OF PICK-UP")=PSOREQMP59 64 S PSORX("MAIL/WINDOW")=$S($P(OR0,"^",17)="M":"MAIL",1:"WINDOW") D MW^PSODIR2(.PSOREF) I PSOREF("DFLG") S VALMBCK="R" G END 60 ;S:$G(PSORX("METHOD OF PICK-UP"))]"" PSOREQMP=PSORX("METHOD OF PICK-UP")61 65 S:'$G(PSOFROM)'="NEW" PSOFROM="REFILL" S PSOREF("DFLG")=0 62 66 D ^PSOREF0 … … 88 92 KPRIZ K PSOQUIT,POERR("QFLG") 89 93 Q 90 INST ; Select Institution94 INST ; 91 95 I '$G(PSOSITE) D ^PSOLSET I '$G(PSOSITE) S PSOIQUIT=1 Q 92 96 N PSIR,PSCT,PSINST K PSOPINST 93 S PSCT=0 F PSIR=0:0 S PSIR=$O(^PS(59,PSOSITE,"INI1",PSIR)) Q:'PSIR I $P($G(^PS(59,PSOSITE,"INI1",PSIR,0)),"^") S PSCT=PSCT+1 I PSCT=1 S PSOPINST=$P($G(^(0)),"^") 97 I $G(PSOAFYN)="Y" S PSCT=1,PSOPINST=+ORL ;vfah selects CPRS Ordering Institution if autofinishing and non-interactive 98 I $G(PSOAFYN)'="Y" S PSCT=0 F PSIR=0:0 S PSIR=$O(^PS(59,PSOSITE,"INI1",PSIR)) Q:'PSIR I $P($G(^PS(59,PSOSITE,"INI1",PSIR,0)),"^") S PSCT=PSCT+1 I PSCT=1 S PSOPINST=$P($G(^(0)),"^") ;vfah 94 99 I PSCT=0 W !!,"There are no CPRS Ordering Institutions associated with this Outpatient site!",!,"Use the Site Parameter enter/edit option to enter CPRS Ordering Institutions!",! S PSOIQUIT=1 Q 95 100 I PSCT=1 Q … … 104 109 F PSIR=0:0 S PSIR=$O(^PS(59,PSOSITE,"INI1",PSIR)) Q:'PSIR!($G(PSOPINST)) I $P($G(^PS(59,PSOSITE,"INI1",PSIR,0)),"^") S PSOPINST=$P($G(^(0)),"^") 105 110 Q 106 CLOZ ; checks clozapine status of patient111 CLOZ ; 107 112 S CLOZPAT=$O(^YSCL(603.01,"C",PSODFN,0)) 108 113 S CLOZPAT=$P($G(^YSCL(603.01,+CLOZPAT,0)),"^",3) … … 113 118 I $G(CLOZPAT)=2 S IEN=IEN+1,^TMP("PSOPO",$J,IEN,0)=" Patient Eligible for 28 Day Supply or 14 Day Supply with 1 refill or 7 Day Supply with 3 refill" 114 119 Q 115 USER(USER) ; returns .01 of 200120 USER(USER) ; 116 121 K DIC,X,Y S DIC="^VA(200,",DIC(0)="M",X="`"_USER D ^DIC S USER1=$S(+Y:$P(Y,"^",2),1:"Unknown") K DIC,X,Y 117 122 Q
Note:
See TracChangeset
for help on using the changeset viewer.