1 | FHWOR8 ; HISC/NCA - Dietetics Order Parameter ;2/24/95 07:56 ;
|
---|
2 | ;;5.5;DIETETICS;;Jan 28, 2005;
|
---|
3 | EN(DFN,FHPAR) ; Get the Order Parameter by passing the DFN and Variable
|
---|
4 | ; array FHPAR(1)-FHPAR(3) is returned.
|
---|
5 | N WARD,ADM,DP,FHWRD
|
---|
6 | S FHPAR="",WARD=$G(^DPT(DFN,.1)) G:WARD="" EXIT
|
---|
7 | S ADM=$G(^DPT("CN",WARD,DFN)) G:ADM<1 EXIT
|
---|
8 | S FHZ115="P"_DFN D CHECK^FHOMDPA I FHDFN="" Q
|
---|
9 | S FHWRD=$P($G(^FHPT(FHDFN,"A",ADM,0)),"^",8),DP=$P($G(^FH(119.6,+FHWRD,0)),"^",8)
|
---|
10 | S FHPAR(1)=$G(^FH(119.73,+DP,1)),FHPAR(2)=$G(^FH(119.73,+DP,2))
|
---|
11 | S FHPAR(3)=$P($G(^FH(119.6,+FHWRD,0)),"^",10)
|
---|
12 | EXIT Q
|
---|
13 | ;
|
---|
14 | EN1(LOC,FHPAR) ; Get the Order Parameters by passing the WARD/HOSP LOCATION
|
---|
15 | ; array FHPAR(1)-FHPAR(3) is returned.
|
---|
16 | K FHPAR N DP,FHVPTR,FHLOC
|
---|
17 | S FHVPTR=$P(LOC,";",1)
|
---|
18 | I LOC["SC" S FHLOC=$O(^FH(119.6,"AL",FHVPTR,"")) I FHLOC="" D
|
---|
19 | .S FHVPTR=$G(^SC(FHVPTR,42)) Q:FHVPTR="" S FHLOC=$O(^FH(119.6,"AW",FHVPTR,""))
|
---|
20 | I LOC'["SC" S FHLOC=$O(^FH(119.6,"AW",FHVPTR,"")) I FHLOC="" D
|
---|
21 | .S FHVPTR=$G(^DIC(42,FHVPTR,44)) Q:FHVPTR="" S FHLOC=$O(^FH(119.6,"AL",FHVPTR,""))
|
---|
22 | I FHLOC="" Q
|
---|
23 | S DP=$P($G(^FH(119.6,+FHLOC,0)),"^",8) I DP="" Q
|
---|
24 | S FHPAR(1)=$G(^FH(119.73,+DP,1)),FHPAR(2)=$G(^FH(119.73,+DP,2))
|
---|
25 | S FHPAR(3)=$P($G(^FH(119.6,+FHLOC,0)),"^",10)
|
---|
26 | Q
|
---|
27 | EN2(DFN,FHM,FHPAR) ; Get the list of meal dates by passing the DFN/MEAL
|
---|
28 | ; array FHPAR() is returned.
|
---|
29 | S FHZ115="P"_DFN D CHECK^FHOMDPA I FHDFN="" Q
|
---|
30 | K FHPAR S FHINDX=0
|
---|
31 | D NOW^%DTC S FHNOW=X,X1=FHNOW,X2=-1 D C^%DTC S FHNOW=X
|
---|
32 | I '$O(^FHPT(FHDFN,"OP","B",FHNOW)) Q
|
---|
33 | F FHRM=FHNOW:0 S FHRM=$O(^FHPT(FHDFN,"OP","B",FHRM)) Q:FHRM'>0 D
|
---|
34 | .F FHRNUM=0:0 S FHRNUM=$O(^FHPT(FHDFN,"OP","B",FHRM,FHRNUM)) Q:FHRNUM'>0 D
|
---|
35 | ..I $P($G(^FHPT(FHDFN,"OP",FHRNUM,0)),U,15)="C" Q
|
---|
36 | ..S FHMEAL1=$P($G(^FHPT(FHDFN,"OP",FHRNUM,0)),U,4)
|
---|
37 | ..I FHM'="",FHM'=FHMEAL1 Q
|
---|
38 | ..S FHINDX=FHINDX+1
|
---|
39 | ..S FHPAR(FHINDX)=FHRM_"^"_FHMEAL1 Q
|
---|
40 | Q
|
---|
41 | EN3(DFN,FHPAR) ; Get the list of recurring meal dates by passing the DFN
|
---|
42 | ; array FHPAR() is returned.
|
---|
43 | S FHZ115="P"_DFN D CHECK^FHOMDPA I FHDFN="" Q
|
---|
44 | K FHPAR S FHINDX=0
|
---|
45 | D NOW^%DTC S FHNOW=X,X1=FHNOW,X2=-1 D C^%DTC S FHNOW=X
|
---|
46 | I '$O(^FHPT(FHDFN,"OP","B",FHNOW)) Q
|
---|
47 | F FHRM=FHNOW:0 S FHRM=$O(^FHPT(FHDFN,"OP","B",FHRM)) Q:FHRM'>0 D
|
---|
48 | .F FHRNUM=0:0 S FHRNUM=$O(^FHPT(FHDFN,"OP","B",FHRM,FHRNUM)) Q:FHRNUM'>0 D
|
---|
49 | ..I $P($G(^FHPT(FHDFN,"OP",FHRNUM,0)),U,15)="C" Q
|
---|
50 | ..S FHMEAL1=$P($G(^FHPT(FHDFN,"OP",FHRNUM,0)),U,4)
|
---|
51 | ..S FHINDX=FHINDX+1
|
---|
52 | ..S FHPAR(FHINDX)=FHRM_"^"_FHMEAL1 Q
|
---|
53 | Q
|
---|