1 | FHNO8 ; HISC/REL - History of Supp. Fdgs. ;5/17/93 14:24
|
---|
2 | ;;5.5;DIETETICS;**5**;Jan 28, 2005;Build 53
|
---|
3 | ;patch #5 - add outpatient SFs,
|
---|
4 | ;
|
---|
5 | SF K FHDFN,X,WARD,SDT,EDT,STDT,ENDT
|
---|
6 | S ADM="",FHALL=1 D ^FHOMDPA
|
---|
7 | G:'FHDFN KIL
|
---|
8 | I $O(^FHPT(FHDFN,"A",0))<1 W !!,"NO ADMISSIONS ON FILE!" G OSF
|
---|
9 | S DIC="^FHPT(FHDFN,""A"",",DIC(0)="Q",DA=FHDFN,X="??" D ^DIC
|
---|
10 | S WARD="" I $G(DFN)'="" S WARD=$G(^DPT(DFN,.1))
|
---|
11 | K ADM
|
---|
12 | SF0 W !!,"Select ADMISSION or RETURN for OUTPATIENT ",$S(WARD'="":" (or C for CURRENT)",1:""),": " R X:DTIME G:X["^" KIL D:X="c" TR^FH
|
---|
13 | I (X="")&'($D(^FHPT(FHDFN,"OP"))) W !!,"NO OUTPATIENT DATA ON FILE!" G SF
|
---|
14 | I (X="")&($D(^FHPT(FHDFN,"OP"))) G OSF
|
---|
15 | I WARD'="",X="C" S ADM=$G(^DPT("CN",WARD,DFN)) G CAD:ADM
|
---|
16 | S DIC="^FHPT(FHDFN,""A"",",DIC(0)="EQM" D ^DIC G:Y<1 SF0 S ADM=+Y
|
---|
17 | CAD I $G(ADM),$G(^FHPT(FHDFN,"A",ADM,0)) G IN
|
---|
18 | ;
|
---|
19 | SF1 I '($D(^FHPT(FHDFN,"OP"))) W !!,"NO OUTPATIENT DATA ON FILE!" G SF
|
---|
20 | W !!,"Enter the Start Date and End Date for outpatient data.",!
|
---|
21 | D STDATE^FHOMUTL S SDT=STDT I STDT="" Q
|
---|
22 | S X="T+30" D ^%DT S ENDT=Y
|
---|
23 | D DD^%DT S FHDTDF=Y K DIR
|
---|
24 | S DIR("A")="Select End Date: ",DIR("B")=FHDTDF,DIR(0)="DAO^"_STDT
|
---|
25 | D ^DIR
|
---|
26 | Q:$D(DIRUT) S ENDT=Y S Y=ENDT D DD^%DT W " ",Y
|
---|
27 | D ADM
|
---|
28 | Q
|
---|
29 | OSF ;process outpatient SFs.
|
---|
30 | ;
|
---|
31 | S FHSFLG=0
|
---|
32 | S FHSOOP=$O(^FHPT(FHDFN,"OP","B",DT-30))
|
---|
33 | I '$D(^FHPT(FHDFN,"OP"))!'$G(FHSOOP) G FHNO8
|
---|
34 | ;W !!,"Outpatient Recurring Meals... "
|
---|
35 | D ASK0
|
---|
36 | G:'$G(ADM) SF
|
---|
37 | S (N1,LST)=0
|
---|
38 | I $G(ADM) F K=0:0 S K=$O(^FHPT(FHDFN,"OP",ADM,"SF",K)) Q:K<1 S X=^(K,0),LST=K D LIS
|
---|
39 | I $G(ADM),'N1 W !!,"No Supplemental Feedings for this outpatient date!",! K DIR S DIR(0)="E",DIR("A")="Enter RETURN to Continue or '^' to Exit" D ^DIR Q:'Y G OSF
|
---|
40 | I $G(ADM),$G(N1) G OSF0
|
---|
41 | G OSF
|
---|
42 | OSF0 R !!,"Detailed Display of which Order #? ",X:DTIME G:'$T!("^"[X) FHNO8 I X'?1N.N!(X<1)!(X>LST) W *7," Enter # of Order to List" G OSF0
|
---|
43 | S NO=+X,Y=$G(^FHPT(FHDFN,"OP",ADM,"SF",NO,0)) D:Y'="" L1^FHNO7
|
---|
44 | G SF
|
---|
45 | Q
|
---|
46 | ASK0 ;ask for Recurring Meal entry.
|
---|
47 | K ADM
|
---|
48 | W @IOF,!,"Outpatient Recurring Meals... "
|
---|
49 | S FHQ=0,FHSDT=DT-60
|
---|
50 | F FHI=FHSDT-1:0 S FHI=$O(^FHPT("RM",FHI)) Q:FHI'>0!FHQ F FHJ=0:0 S FHJ=$O(^FHPT("RM",FHI,FHDFN,FHJ)) Q:FHJ'>0!FHQ I ($P($G(^FHPT(FHDFN,"OP",FHJ,0)),U,15)'="C") D
|
---|
51 | .S FHDA15=$G(^FHPT(FHDFN,"OP",FHJ,0))
|
---|
52 | .S FHMEAL=$P(FHDA15,U,4),FHLOC=$P(FHDA15,U,3),FHLOCN=$P($G(^FH(119.6,FHLOC,0)),U,1),FHMEAL=$S(FHMEAL="B":"Break",FHMEAL="N":"Noon",1:"Even"),FH11=FHMEAL_" "_FHLOCN
|
---|
53 | .S Y=$P(FHDA15,U,1) X ^DD("DD") S DTP=Y
|
---|
54 | .S (FHCOFLG,FHDATL,FHSF)=0
|
---|
55 | .I $Y>(IOSL-5) K DIR S DIR(0)="E",DIR("A")="Enter RETURN to Continue or '^' to Quit Listing" D ^DIR W:Y @IOF I 'Y S FHQ=1 Q
|
---|
56 | .W !,DTP,?12,FH11
|
---|
57 | .S FHDATL=$L(DTP)+13+$L(FH11)
|
---|
58 | .S:$D(^FHPT(FHDFN,"OP",FHJ,"SF",0)) FHSF=$P(^FHPT(FHDFN,"OP",FHJ,"SF",0),U,3)
|
---|
59 | .Q:'$G(FHSF)
|
---|
60 | .S FHDA15SF=$G(^FHPT(FHDFN,"OP",FHJ,"SF",FHSF,0))
|
---|
61 | .Q:$P(FHDA15SF,U,32)
|
---|
62 | .S FHDASFNM=$P($G(^FH(118.1,$P(FHDA15SF,U,4),0)),U,1)
|
---|
63 | .W ?40," (",FHDASFNM,")"
|
---|
64 | W !
|
---|
65 | K DIC S DIC(0)="AEQM"
|
---|
66 | S DIC("W")="S FHMEAL=$P(^(0),U,4),FHLOC=$P(^(0),U,3),FHLOCN=$P($G(^FH(119.6,FHLOC,0)),U,1),FHMEAL=$S(FHMEAL=""B"":""Break"",FHMEAL=""N"":""Noon"",1:""Even""),FH11=FHMEAL_"" ""_FHLOCN D EN^DDIOL(FH11,"""",""?3"")"
|
---|
67 | S DIC("S")="I $P(^FHPT(FHDFN,""OP"",+Y,0),U,1)>(DT-60)"
|
---|
68 | S DIC="^FHPT(FHDFN,""OP"","
|
---|
69 | S DIC("?")="Select a Date, '^' to exit"
|
---|
70 | S DIC("A")="Select the Outpatient Date :" D ^DIC K DIC Q:(Y'>0)!$D(DTOUT)
|
---|
71 | S ADM=+Y
|
---|
72 | S FHMEAL=$P($G(^FHPT(FHDFN,"OP",ADM,0)),U,4) ;outpatient standing orders.
|
---|
73 | Q
|
---|
74 | ;
|
---|
75 | S ALL=1 D ^FHDPA G:'DFN KIL G:'FHDFN KIL
|
---|
76 | I $O(^FHPT(FHDFN,"A",0))<1 W !!,"NO ADMISSIONS ON FILE!" G FHNO8
|
---|
77 | S DIC="^FHPT(FHDFN,""A"",",DIC(0)="Q",DA=FHDFN,X="??" D ^DIC
|
---|
78 | A0 W !!,"Select ADMISSION",$S($D(^DPT(DFN,.1)):" (or C for CURRENT)",1:""),": " R X:DTIME G:'$T!("^"[X) KIL D:X="c" TR^FH
|
---|
79 | ;
|
---|
80 | IN ;D ADM G SF0:ADM'>0
|
---|
81 | ;
|
---|
82 | P0 S (N1,LST)=0 F K=0:0 S K=$O(^FHPT(FHDFN,"A",ADM,"SF",K)) Q:K<1 S X=^(K,0),LST=K D LIS
|
---|
83 | I 'N1 W !!,"No Supplemental Feedings for this Admission!" G FHNO8
|
---|
84 | P1 R !!,"Detailed Display of which Order #? ",X:DTIME G:'$T!("^"[X) FHNO8 I X'?1N.N!(X<1)!(X>LST) W *7," Enter # of Order to List" G P1
|
---|
85 | S NO=+X,Y=$G(^FHPT(FHDFN,"A",ADM,"SF",NO,0)) D L1^FHNO7
|
---|
86 | G SF
|
---|
87 | ADM ;S WARD=$G(^DPT(DFN,.1))
|
---|
88 | ;I WARD="" W *7,!!,"NOT CURRENTLY AN INPATIENT!",! S ADM="" Q
|
---|
89 | ;S ADM=$G(^DPT("CN",WARD,DFN)) Q
|
---|
90 | ;
|
---|
91 | LIS I 'N1 W !!,"Ord Date/Time Ordered Supplemental Feeding Menu Date/Time Cancelled",!
|
---|
92 | S N1=N1+1,D1=$P(X,"^",2),NM=$P(X,"^",4),D2=$P(X,"^",32)
|
---|
93 | S DTP=D1 D DTP^FH W !,$J(K,3)," ",DTP
|
---|
94 | S X=$P($G(^FH(118.1,+NM,0)),"^",1) W:X'="" ?24,X
|
---|
95 | I D2 S DTP=D2 D DTP^FH W ?54,DTP
|
---|
96 | Q
|
---|
97 | KIL G KILL^XUSCLEAN
|
---|