- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/OUTPATIENT_PHARMACY-PSO-APSP-HUIP/PSOORFI5.m
r613 r623 1 PSOORFI5 ;BIR/SJA-finish cprs orders ;11/06/06 10:49am 2 ;;7.0;OUTPATIENT PHARMACY;**225**;DEC 1997;Build 29 3 ;External references UL^PSSLOCK supported by DBIA 2789 4 ;External reference to ^DPT supported by DBIA 10035 5 ; 6 FLG W ! K MEDP,MEDA,POERR("DFLG"),DIR D KQ S PSOSORT="FLAGGED^FLAGGED" 7 S LG=0,PATA=0 F S LG=$O(^PS(52.41,"AD",LG)) Q:'LG!($G(POERR("QFLG"))) F PSOD=0:0 S PSOD=$O(^PS(52.41,"AD",LG,PSOPINST,PSOD)) Q:'PSOD!($G(POERR("QFLG"))) D 8 .Q:'$D(^PS(52.41,PSOD,0))!('$P($G(^PS(52.41,PSOD,0)),"^",23)) 9 .Q:$G(PAT($P(^PS(52.41,PSOD,0),"^",2)))=$P(^PS(52.41,PSOD,0),"^",2) S PAT=$P(^PS(52.41,PSOD,0),"^",2) 10 .I PAT'=PATA,$O(PSORX("PSOL",0))!($D(RXRS)) D LBL^PSOORFIN 11 .D LK I $G(POERR("QFLG")) K POERR("QFLG") S PSOLK=1,PAT(PAT)=PAT Q 12 .I $$CHK^PSODPT(PAT_"^"_$P($G(^DPT(PAT,0)),"^"),1,1)<0 S PSOLK=1,PAT(PAT)=PAT S X=PAT D ULP K PSOQFLG,PSOQQ Q 13 .S (PSODFN,Y)=PAT_"^"_$P($G(^DPT(PAT,0)),"^"),PATA=PAT 14 .D:'$G(MEDA) PROFILE^PSOORFI2 S Y=PSODFN I $G(MEDP) D SPL D OERR^PSORX1 S PSOFIN=1 D QU S X=PSOPTLOK D KLLP,ULP,KLL Q 15 .D SDFN D POST^PSOORFI1 I $G(PSOQFLG)!($G(PSOQUIT)) S:$G(PSOQUIT) POERR("QFLG")=1 S:$G(PSOQFLG) PAT(PAT)=PAT S X=PAT D ULP K PSOQFLG Q 16 .S PAT(PAT)=PAT 17 .F ORD=0:0 S ORD=$O(^PS(52.41,"AOR",PAT,PSOPINST,ORD)) Q:'ORD!($G(POERR("QFLG")))!($G(PSOQQ)) D 18 ..I $P($G(^PS(52.41,ORD,0)),"^",23) D PP,LK1,ORD^PSOORFIN 19 .S X=PAT D ULP K PSOQQ 20 I $O(PSORX("PSOL",0))!($D(RXRS)) D LBL^PSOORFIN 21 I $G(PSOQUIT) K PSOQUIT D EX G ^PSOORFIN 22 G EX 23 ; 24 PRI ; Called from PSOORFIN due to it's routine size. 25 K DIR S PSOSORT="PRIORITY" 26 S DIR("A")="Select Priority",DIR(0)="SBM^S:STAT;E:EMERGENCY;R:ROUTINE",DIR("B")="ROUTINE" 27 D ^DIR G:$D(DIRUT) EX S PSOSORT=PSOSORT_"^"_Y,PSRT=Y 28 S LG=0,PATA=0 F S LG=$O(^PS(52.41,"AD",LG)) Q:'LG!($G(POERR("QFLG"))) F PSOD=0:0 S PSOD=$O(^PS(52.41,"AD",LG,PSOPINST,PSOD)) Q:'PSOD!($G(POERR("QFLG"))) D 29 .Q:$P($G(^PS(52.41,PSOD,0)),"^",23) 30 .Q:$G(PAT($P(^PS(52.41,PSOD,0),"^",2)))=$P(^PS(52.41,PSOD,0),"^",2) S PAT=$P(^PS(52.41,PSOD,0),"^",2) 31 .I PAT'=PATA,$O(PSORX("PSOL",0))!($D(RXRS)) D LBL^PSOORFIN 32 .I '$O(^PS(52.41,"AP",PAT,PSRT,0)) S PSOLK=1,PAT(PAT)=PAT Q 33 .D PRI^PSOORFI2 I $G(PSZFIN) S PSOLK=1,PAT(PAT)=PAT Q 34 .D LK I $G(POERR("QFLG")) K POERR("QFLG") S PSOLK=1,PAT(PAT)=PAT Q 35 .I $$CHK^PSODPT(PAT_"^"_$P($G(^DPT(PAT,0)),"^"),1,1)<0 S PSOLK=1,PAT(PAT)=PAT S X=PAT D ULP Q 36 .S (PSODFN,Y)=PAT_"^"_$P($G(^DPT(PAT,0)),"^"),PATA=PAT 37 .D:'$G(MEDA) PROFILE^PSOORFI2 S Y=PSODFN I $G(MEDP) D SPL D OERR^PSORX1 S PSOFIN=1 D QU S X=PSOPTLOK D KLLP,ULP,KLL Q 38 .D SDFN D POST^PSOORFI1 I $G(PSOQFLG)!($G(PSOQUIT)) S:$G(PSOQUIT) POERR("QFLG")=1 S:$G(PSOQFLG) PAT(PAT)=PAT S X=PAT D ULP K PSOQFLG Q 39 .D PP S ORD=0 D @PSRT S PAT(PAT)=PAT 40 .S X=PAT D ULP 41 I $O(PSORX("PSOL",0))!($D(RXRS)) D LBL^PSOORFIN 42 I $G(PSOQUIT) K PSOQUIT D EX G ^PSOORFIN 43 EX D EX^PSOORFI1 44 Q 45 LK D LOCK^PSOORFI1 46 Q 47 LK1 D LOCK1^PSOORFI1 Q 48 QU I $G(PSOQUIT) S POERR("QFLG")=1 K PSOQUIT 49 S:$G(PSOQFLG) PAT(PAT)=PAT 50 Q 51 ULP K PSORX("MAIL/WINDOW"),PSORX("METHOD OF PICK-UP") 52 D CLEAN^PSOVER1 53 I '$G(X) Q 54 D UL^PSSLOCK(X) Q 55 KLL K PSOPTLOK 56 Q 57 KLLP K PSONOLCK 58 Q 59 SPL D SPL^PSOORFI4 60 Q 61 SDFN S PSODFN=+$G(PSODFN) 62 Q 63 PP D PP^PSOORFI4 64 Q 65 KQ K PSOQUIT,POERR("QFLG") 66 Q 67 ; 68 LMDISP(ORD) ; Backdoor ListManager Display of Flag/Unflag Informaiton 69 N FLAG 70 K FLAGLINE S ORD=+$G(ORD) I 'ORD Q 71 ; 72 I '$G(^PS(52.41,ORD,"FLG")) Q 73 ; S X=IORVON_"Flagged"_IORVOFF 74 D GETS^DIQ(52.41,ORD,"33;34;35;36;37;38","IE","FLAG") 75 S L1="Flagged by "_$E(FLAG(52.41,ORD_",",34,"E"),1,30)_" on "_$$FMTE^XLFDT(FLAG(52.41,ORD_",",33,"I"),2)_": " 76 S LEN=80-$L(L1),L1=L1_$E(FLAG(52.41,ORD_",",35,"E"),1,LEN),L2=$E(FLAG(52.41,ORD_",",35,"E"),LEN+1,999) 77 S IEN=IEN+1,^TMP("PSOPO",$J,IEN,0)=L1,FLAGLINE(IEN)=7 78 I L2'="" S IEN=IEN+1,^TMP("PSOPO",$J,IEN,0)=L2 79 I FLAG(52.41,ORD_",",36,"I")'="" D 80 . S L1="Unflagged by "_$E(FLAG(52.41,ORD_",",37,"E"),1,30)_" on "_$$FMTE^XLFDT(FLAG(52.41,ORD_",",36,"I"),2)_": " 81 . S LEN=80-$L(L1),L1=L1_$E(FLAG(52.41,ORD_",",38,"E"),1,LEN),L2=$E(FLAG(52.41,ORD_",",38,"E"),LEN+1,999) 82 . S IEN=IEN+1,^TMP("PSOPO",$J,IEN,0)=L1,FLAGLINE(IEN)=9 83 . I L2'="" S IEN=IEN+1,^TMP("PSOPO",$J,IEN,0)=L2 84 S IEN=IEN+1,^TMP("PSOPO",$J,IEN,0)=" " 85 Q 1 PSOORFI5 ;VOE/mpa -finish cprs orders ; 1/15/07 5:40pm 2 ;;7.0;OUTPATIENT PHARMACY;**208**;DEC 2006;Build 39 3 ; Copyright (C) 2007 WorldVistA 4 ; 5 ; This program is free software; you can redistribute it and/or modify 6 ; it under the terms of the GNU General Public License as published by 7 ; the Free Software Foundation; either version 2 of the License, or 8 ; (at your option) any later version. 9 ; 10 ; This program is distributed in the hope that it will be useful, 11 ; but WITHOUT ANY WARRANTY; without even the implied warranty of 12 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 ; GNU General Public License for more details. 14 ; 15 ; You should have received a copy of the GNU General Public License 16 ; along with this program; if not, write to the Free Software 17 ; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 ;'Modified' MAS Patient Look-up Check Cross-References June 1987 19 ;Split from PSOORFIN 20 SUCC ; 21 D UL1^PSOORFI3,FULL^VALM1 22 D:$P($G(^PS(52.41,+$G(ORD),0)),"^",3)'="NW"&($P($G(^(0)),"^",3)'="RNW")&($P($G(^(0)),"^",3)'="HD")&($P($G(^(0)),"^",3)'="RF") 23 .K PSOSD("PENDING",$S('$G(OID):$P(^PS(50.7,$P(OR0,"^",8),0),"^")_" "_$P(^PS(50.606,$P(^PS(50.7,$P(OR0,"^",8),0),"^",2),0),"^"),1:$P(^PSDRUG($P(OR0,"^",9),0),"^"))) 24 S:$G(POERR("DFLG")) POERR("QFLG")=1 K POERR("DFLG"),PSONEW,ACP,OR0,DRET,SIG,OID,OI,PSORX("SC"),PSORX("CLINIC"),PSODRUG 25 Q 26 LBL ;Begin DAOU 27 S PSOFROM="NEW" D ^PSORXL 28 K PSORX("PSOL"),PPL,RXRS 29 ;End 5/4/2005 30 Q 31 CHK ; 32 D:'$D(PSOPAR) ^PSOLSET I '$D(PSOPAR) W !,$C(7),"Outpatient Division MUST be selected!",! G EX^PSOORFIN 33 D INST1^PSOORFI2 34 S PSZCNT=0 F PSZZI=0:0 S PSZZI=$O(^PS(59,PSZZI)) Q:'PSZZI S PSZCNT=PSZCNT+1 35 S TC=0 F TO=0:0 S TO=$O(^PS(52.41,"AOR",TO)) Q:'TO F TZ=0:0 S TZ=$O(^PS(52.41,"AOR",TO,TZ)) Q:'TZ F PSTZ=0:0 S PSTZ=$O(^PS(52.41,"AOR",TO,TZ,PSTZ)) Q:'PSTZ S TC=TC+1 36 W !!?10,$C(7),"Orders to be completed"_$S(PSZCNT=1:": ",1:" for all divisions: ")_TC,! Q:'TC 37 D SUMM^PSOORNE1 K PSZZI,PSZCNT,PSTZ 38 Q
Note:
See TracChangeset
for help on using the changeset viewer.