1 | PSGPR ;BIR/CML3-PATIENT PROFILE ;19 SEP 96 / 3:59 PM
|
---|
2 | ;;5.0; INPATIENT MEDICATIONS ;**110,111,169**;16 DEC 97
|
---|
3 | ;* N PSJNEW,PSGPTMP,PPAGE,PSGOEPRF S PSJNEW=1
|
---|
4 | N PSGLI,PSGOE,PSGOEEWF,PSGOH,PSGWD,PSJPWDO,PSJSTOP,PSJTEAM
|
---|
5 | N ACTION,CONT,PAT,LD,LN2,PFLG,PSJNEW,PSGPTMP,PPAGE,PSGOEPRF S PSJNEW=1
|
---|
6 | ;
|
---|
7 | S PSJOPC="UD"
|
---|
8 | D ENCV^PSGSETU
|
---|
9 | ;I '$D(XQUIT) F PSGPR=0:0 S (PSGP,PSGPRWD,PSGPRWG)=0,(PSGPRWDN,PSGPRWGN)="",PSGSSH="PPR" S PSGPTMP=0,PPAGE=1 D GWP^PSJPDIR Q:'$D(PSJSEL) D @PSJSEL("SELECT") D ENL^PSGOU I "^N"'[PSGOL D GO
|
---|
10 | I '$D(XQUIT) F PSGPR=0:0 S (PSGP,PSGPRWD,PSGPRWG)=0,(PSGPRWDN,PSGPRWGN)="",PSGSSH="PPR" S PSGPTMP=0,PPAGE=1 D Q:'$D(PSJSEL("SELECT"))
|
---|
11 | .K PSJSEL,Y F K ^TMP("PSJSELECT",$J),PSJSEL D ^PSGSEL Q:"^"[PSGSS S PSJSEL("SELECT")=PSGSS,PSJSTOP="" D
|
---|
12 | ..D:(PSJSEL("SELECT")="P") P^PSJPDIR D:(PSJSEL("SELECT")="W") W^PSJPDIR D:(PSJSEL("SELECT")="G") G^PSJPDIR
|
---|
13 | ..; PSJ*5*169 Check PSJSTOP before continuing.
|
---|
14 | ..Q:$G(PSJSTOP)=1
|
---|
15 | ..I PSJSEL("SELECT")'="P",PSJSEL("SELECT")'="L" D RBPPN^PSJPDIR
|
---|
16 | ..Q:$G(PSJSTOP)=1
|
---|
17 | ..Q:(((PSGSS="W")!(PSGSS="G"))&($G(Y)<0)) Q:((PSGSS="P")&'$D(PSJSEL("P")))
|
---|
18 | ..S (PSGP,WD,WG)=0 S PSGPTMP=0,PPAGE=1 D @PSGSS Q:(((PSGSS="L")!(PSGSS="C"))&($G(Y)<0)) D ENL^PSGOU I "^N"'[PSGOL D GO
|
---|
19 | ;
|
---|
20 | DONE ;
|
---|
21 | D:'$D(PSGOEPRF) ENKV^PSGSETU K AND,AT,C,CA,DOB,DRGI,FQC,MF,ND,NF,O,ON,PG,PN,PSGON,PSGORD,PRI,PSGONC,PSGONR,PSGONV,PSGSEL,PX,^TMP("PSGPR",$J)
|
---|
22 | K RCT,PSGAPTM,PSGOL,PSGOS,PSGPR,PSGSS,PSGSSH,PSGPATM,PSGPRWD,PSGPRWDN,PSGPRWG,PSGPRWGN,PSGPRA,PSGPRP,PSJOPC,PSJSEL,S1,S2,S3,S4,HDT,PSGODT,QFLG,RF,SD,SLS,SSN,TF,TM,UD,UDU,WD,WDP,WT,ZTOUT,ZTSK,OD,PDRG
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | GO ;
|
---|
26 | S PSGPRP="P",PSGPRA="" S PSGSS=PSJSEL("SELECT") G:PSGSS'="P" ENDEV
|
---|
27 | K DIR S DIR(0)="SAO^P:PROFILE;E:EXPANDED VIEWS;B:BOTH",DIR("A")="Show PROFILE only, EXPANDED VIEWS only, or BOTH: ",DIR("B")="PROFILE",DIR("?")="^D PH^PSGPR" W ! D ^DIR K DIR Q:"^"[Y S PSGPRP=Y
|
---|
28 | I "EB"[PSGPRP F R !!,"Show SHORT, LONG, or NO activity log? NO// ",AT:DTIME D ALC^PSGVW0 I Q S PSGPRA=AT Q
|
---|
29 | Q:PSGPRA="^"
|
---|
30 | ENDEV ;
|
---|
31 | K ZTSAVE S PSGTIR="ENQ^PSGPR",ZTDESC="PATIENT PROFILE" F X="PSGP","PSGP(","PSGSS","PSGPRWD","PSGPRWG","PSGPRWDN","PSGPRWGN","PSGOL","PSGPRA","PSGPRP","PSGPTMP","PSJSEL(","PPAGE" S ZTSAVE(X)=""
|
---|
32 | D ENDEV^PSGTI I POP!$D(IO("Q")) G:$D(PSGOEPRF) DONE Q
|
---|
33 | ;
|
---|
34 | ENQ ;
|
---|
35 | K ^TMP("PSGPR",$J)
|
---|
36 | K PSGVBY N RB,ATM S PSGPR=IO'=IO(0)!($E(IOST)'="C") N RBP S RBP=$S($D(PSJSEL("RBP")):PSJSEL("RBP"),1:"P") D @("P"_PSGSS) I PSGPR W:$Y @IOF D ^%ZISC
|
---|
37 | G:$D(PSGOEPRF) DONE Q
|
---|
38 | ;
|
---|
39 | G ; get ward group
|
---|
40 | S PSGPRWG=+PSJSEL("WG"),PSGPRWGN=$P(PSJSEL("WG"),"^",2) Q
|
---|
41 | ;
|
---|
42 | W ; get ward
|
---|
43 | S PSGPRWD=+PSJSEL("W"),PSGPRWDN=$P(PSJSEL("W"),"^",2)
|
---|
44 | I $D(PSJSEL("TM")) S TM="" F S TM=$O(PSJSEL("TM",TM)) Q:TM="" S PSGAPTM(TM)=TM
|
---|
45 | Q
|
---|
46 | ;
|
---|
47 | C ;
|
---|
48 | K DIR S DIR(0)="FAO",DIR("A")="Select CLINIC: "
|
---|
49 | S DIR("?")="^D CDIC^PSGVBW" W ! D ^DIR
|
---|
50 | CDIC ;
|
---|
51 | K DIC S DIC="^SC(",DIC(0)="QEMIZ" D ^DIC K DIC S:+Y>0 CL=+Y
|
---|
52 | W:X["?" !!,"Enter the clinic you want to use to select patients for processing.",!
|
---|
53 | Q
|
---|
54 | ;
|
---|
55 | P ; get patient
|
---|
56 | N PAT S PAT="" F S PAT=$O(PSJSEL("P",PAT)) Q:PAT="" S PSGP(PAT)=$O(PSJSEL("P",PAT,PSGP))
|
---|
57 | Q
|
---|
58 | ;
|
---|
59 | PG ;
|
---|
60 | F PSGPRWD=0:0 S PSGPRWD=$O(^PS(57.5,"AC",PSGPRWG,PSGPRWD)) Q:'PSGPRWD I $D(^DIC(42,PSGPRWD,0)),$P(^(0),"^")]"" S PSGPRWDN=$P(^(0),"^") D
|
---|
61 | .F PSGP=0:0 S PSGP=$O(^DPT("CN",PSGPRWDN,PSGP)) Q:'PSGP D
|
---|
62 | ..I RBP="R" S RB=$G(^DPT(PSGP,.101)) S:RB="" RB="zz" S ^TMP("PSGPR",$J,RB,PSGPRWDN,RB)=PSGP
|
---|
63 | ..I RBP="P" D ^PSJAC S ^TMP("PSGPR",$J,PSGPRWDN,PSGP(0))=PSGP
|
---|
64 | I $D(^TMP("PSGPR",$J)) N PSGX S PSGX="^TMP(""PSGPR"",$J)" F S PSGX=$Q(@PSGX) Q:PSGX'[("""PSGPR"""_","_$J) S PSGP=$G(@PSGX) D PP0 Q:$G(X)?1"^"."^"
|
---|
65 | Q
|
---|
66 | ;
|
---|
67 | PW ;
|
---|
68 | I $D(PSJSEL("TM")) S TM="" F S TM=$O(PSJSEL("TM",TM)) Q:TM="" S PSGPATM(TM)=TM
|
---|
69 | F PSGP=0:0 S PSGP=$O(^DPT("CN",PSGPRWDN,PSGP)) Q:'PSGP S RB=$G(^DPT(PSGP,.101)),TM="zz" D
|
---|
70 | .I '$D(PSGPATM) D SET Q
|
---|
71 | .S:RB]"" TM=$O(^PS(57.7,"AWRT",PSGPRWD,RB,0)) S:'TM TM="zz" I $D(PSGPATM("ALL"))!$D(PSGPATM(TM)) D SET Q
|
---|
72 | I $D(^TMP("PSGPR",$J)) N PSGX S PSGX="^TMP(""PSGPR"",$J)" F S PSGX=$Q(@PSGX) Q:PSGX'[("""PSGPR"""_","_$J) S PSGP=$G(@PSGX) D PP0 Q:$G(X)?1"^"."^"
|
---|
73 | Q
|
---|
74 | ;
|
---|
75 | L ;
|
---|
76 | D L^PSGVBW
|
---|
77 | Q
|
---|
78 | ;
|
---|
79 | PL S CL="" F S CL=$O(^PS(57.8,"AD",CG,CL)) Q:CL="" D PC
|
---|
80 | Q
|
---|
81 | ;
|
---|
82 | PC S WDN=$S($D(^SC(CL,0)):$P(^(0),"^"),1:"")
|
---|
83 | S PSGP="" F S PSGP=$O(^PS(53.1,"AD",CL,PSGP)) Q:'PSGP S RB=$G(^DPT(PSGP,.101)),TM="zz" D
|
---|
84 | .D SET Q
|
---|
85 | I $D(^TMP("PSGPR",$J)) N PSGX S PSGX="^TMP(""PSGPR"",$J)" F S PSGX=$Q(@PSGX) Q:PSGX'[("""PSGPR"""_","_$J) S PSGP=$G(@PSGX) D PP0 Q:$G(X)?1"^"."^"
|
---|
86 | Q
|
---|
87 | ;
|
---|
88 | SET ;
|
---|
89 | S:TM'["zz" TM=$G(^PS(57.7,$G(PSGPRWD),1,TM,0)) I RB="" S RB="z"
|
---|
90 | I RBP="P" D ^PSJAC S ^TMP("PSGPR",$J,TM,PSGP(0))=PSGP Q
|
---|
91 | I RBP="R" S ^TMP("PSGPR",$J,TM,RB)=PSGP
|
---|
92 | Q
|
---|
93 | ;
|
---|
94 | PP ;
|
---|
95 | S PAT="" F S PAT=$O(PSGP(PAT)) Q:PAT="" S PSGP=PSGP(PAT) D PP0 Q:$G(X)?1"^"."^"
|
---|
96 | Q
|
---|
97 | ;
|
---|
98 | PP0 ;
|
---|
99 | N PSJACNWP S PSJACNWP=1 D ^PSJAC I PSGPRP'="E" D ^PSGO I PSGPRP="P",'PSGPR D:'PSGON READ^PSJUTL Q:$G(X)?1"^"."^" I PSGON S (PSGONC,PSGONF,PSGONR,PSGONV,PSGPRF)=0 D ENVO^PSGOE0 K PSGPRF Q
|
---|
100 | Q:PSGPRP="P" I PSGPRP="E" U IO D ENGORD^PSGOU,ENPR^PSGO
|
---|
101 | I 'PSGPR,PSGSS'="P",'$D(^TMP("PSG",$J)) D READ^PSJUTL Q
|
---|
102 | S (S1,S2,S3,X)=""
|
---|
103 | F S S1=$O(^TMP("PSG",$J,S1)) Q:S1="" F S S2=$O(^TMP("PSG",$J,S1,S2)) Q:S2="" F S S3=$O(^TMP("PSG",$J,S1,S2,S3)) Q:S3="" D PP1
|
---|
104 | D:X'["^"&PSGPR BOT^PSGO K ^TMP("PSG",$J) Q
|
---|
105 | ;
|
---|
106 | PP1 ;
|
---|
107 | ;* S PSGORD=$P(S3,"^",2)_S1 D EN2^PSGVW I PSGPRA'="N" S AT=PSGPRA D ENA^PSGVW0
|
---|
108 | S PSGORD=$P(S3,"^",2)_$S(S1["BD":"",S1["B":"P",S1["CD":"",S1["C":"P",1:"U") D EN2^PSGVW I PSGPRA'="N" S AT=PSGPRA D ENA^PSGVW0
|
---|
109 | S X="" I 'PSGPR S DIR(0)="E" W ! D ^DIR S:$D(DIRUT) X="^" I X["^" S (S1,S2,S3)="~"
|
---|
110 | Q
|
---|
111 | ;
|
---|
112 | PH ;
|
---|
113 | W !!?2,"Enter a 'P' to print ONLY the PROFILE of orders for this patient. Enter an",!,"'E' to print ONLY the EXPANDED VIEW of the orders for this patient. Enter a",!,"'B' to have BOTH the profile (first) and the expanded views print."
|
---|
114 | W " Enter an '^'to exit." Q
|
---|
115 | ;
|
---|
116 | ENOR S (DFN,PSGP)=+ORVP
|
---|
117 | ENLM N PSJNEW,PSGPTMP,PPAGE,PSGOEPRF S PSJNEW=1
|
---|
118 | S PSJOPC="UD",PSGPTMP=0,PPAGE=1
|
---|
119 | D ENCV^PSGSETU Q:$D(XQUIT)
|
---|
120 | S PSJSEL("SELECT")="P",PSJSEL("P",$P($G(^DPT(DFN,0)),U),DFN)="" D ^VADPT
|
---|
121 | D ^PSJAC,ENL^PSGOU I "^N"'[PSGOL D
|
---|
122 | .S PSGSS="P",(PSGPRWD,PSGPRWG)=0,(PSGPRWDN,PSGPRWGN)=""
|
---|
123 | .S PSGP(PSGP(0))=DFN K PSGP(0) D GO
|
---|
124 | S PSJNKF=1 D READ^PSJUTL G DONE
|
---|