source: WorldVistAEHR/trunk/r/OUTPATIENT_PHARMACY-PSO-APSP-HUIP/PSOORFI5.m@ 613

Last change on this file since 613 was 613, checked in by George Lilly, 14 years ago

initial load of WorldVistAEHR

File size: 4.0 KB
Line 
1PSOORFI5 ;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 ;
6FLG 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 ;
24PRI ; 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
43EX D EX^PSOORFI1
44 Q
45LK D LOCK^PSOORFI1
46 Q
47LK1 D LOCK1^PSOORFI1 Q
48QU I $G(PSOQUIT) S POERR("QFLG")=1 K PSOQUIT
49 S:$G(PSOQFLG) PAT(PAT)=PAT
50 Q
51ULP K PSORX("MAIL/WINDOW"),PSORX("METHOD OF PICK-UP")
52 D CLEAN^PSOVER1
53 I '$G(X) Q
54 D UL^PSSLOCK(X) Q
55KLL K PSOPTLOK
56 Q
57KLLP K PSONOLCK
58 Q
59SPL D SPL^PSOORFI4
60 Q
61SDFN S PSODFN=+$G(PSODFN)
62 Q
63PP D PP^PSOORFI4
64 Q
65KQ K PSOQUIT,POERR("QFLG")
66 Q
67 ;
68LMDISP(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
Note: See TracBrowser for help on using the repository browser.