1 | FHWORA ; HISC/GJC - OE/RR Procedure Call (Assessments) ;11/6/97 15:35
|
---|
2 | ;;5.5;DIETETICS;**8**;Jan 28, 2005;Build 28
|
---|
3 | FHWORADT(DFN) ; Pass back the Assessment Dates for a particular patient.
|
---|
4 | ;----------------------------------------------------------------------
|
---|
5 | ; Input : DFN -> the ien of the patient
|
---|
6 | ; Output: -1^error text -> no assessments passed back with reason being
|
---|
7 | ; error text
|
---|
8 | ; 1 -> Assessments for our patient have been found. Data will
|
---|
9 | ; stored in:
|
---|
10 | ; ^TMP($J,"FHADT",DFN,inv internal dt/time)=ext dt/time
|
---|
11 | ;----------------------------------------------------------------------
|
---|
12 | Q:'$L(DFN) "-1^patient data missing"
|
---|
13 | S FHZ115="P"_DFN D CHECK^FHOMDPA I FHDFN="" Q "-1^patient data missing"
|
---|
14 | Q:'$D(^FHPT(FHDFN,0)) "-1^invalid patient (not in Dietetics Patient file)"
|
---|
15 | Q:'+$O(^FHPT(FHDFN,"N",0)) "-1^No assessments on file"
|
---|
16 | ;K ^TMP($J,"FHADT",DFN) N FH115A,I S I=6929298 ;7/1/2007
|
---|
17 | ;K ^TMP($J,"FHADT",DFN) N FH115A,I S I=6929398 ;6/1/2007
|
---|
18 | K ^TMP($J,"FHADT",DFN) N FH115A,I S I=6928998 ;10/1/2007
|
---|
19 | F S I=$O(^FHPT(FHDFN,"N",I)) Q:I'>0 D
|
---|
20 | . S FH115A=$G(^FHPT(FHDFN,"N",I,0))
|
---|
21 | . S ^TMP($J,"FHADT",DFN,I)=$$FMTE^XLFDT($P(FH115A,"^"),1)
|
---|
22 | . Q
|
---|
23 | Q $S($D(^TMP($J,"FHADT",DFN)):1,1:"-1^No assessments prior to 10/1/2007 on file")
|
---|
24 | ;
|
---|
25 | FHWORASM(DFN,FHADTX) ; Store Assessment data so it can be displayed
|
---|
26 | ;----------------------------------------------------------------------
|
---|
27 | ; Input : DFN -> ien of the patient
|
---|
28 | ; FHADTX -> Assessment Date (external format)
|
---|
29 | ; Output: -1^error text, error text will be failure reason
|
---|
30 | ; 1, no error data to be stored in:
|
---|
31 | ; ^TMP($J,"FHASM",DFN,seq #)="lines of text"
|
---|
32 | ;----------------------------------------------------------------------
|
---|
33 | Q:'$L(DFN) "-1^patient data missing"
|
---|
34 | S FHZ115="P"_DFN D CHECK^FHOMDPA I FHDFN="" Q "-1^patient data missing"
|
---|
35 | Q:'$L(FHADTX) "-1^patient assessment date missing"
|
---|
36 | Q:+FHADTX=FHADTX "-1^expecting the external format for a date/time"
|
---|
37 | Q:'$D(^FHPT(FHDFN,0)) "-1^invalid patient (not in Dietetics Patient file)"
|
---|
38 | N FHADTI,FHADTINV D DT^DILF("T",FHADTX,.FHADTI)
|
---|
39 | Q:FHADTI=-1 "-1^invalid assessment date"
|
---|
40 | S FHADTINV=(9999999-FHADTI)
|
---|
41 | Q:'$D(^FHPT(FHDFN,"N",FHADTINV,0)) "-1^No assessments on file for this date/time"
|
---|
42 | K ^TMP($J,"FHASM",DFN)
|
---|
43 | N ACIR,ACIRP,ADT,AGE,AMP,BFAMA,BFAMAP,BMI,BMIP,CCIR,CCIRP,CNT,DTP,DWGT
|
---|
44 | N FHAPPER,FHASMNT,FHLAB,FHUNIT,FLD,FRM,HGP,HGT,I,IBW,KCAL,N,NAM,NB,PRO
|
---|
45 | N RC,SCA,SCAP,SEX,STR,STR1,TAB,TSF,TSFP,UWGT,WGP,WGT,X,X1,X2,X3,XD,Y,Z
|
---|
46 | S CNT=0
|
---|
47 | ; Note: '^FH(119.9,1' is the Dietetics Site Parameter file!
|
---|
48 | S FHUNIT=$P($G(^FH(119.9,1,3)),"^") ; Eng. or Metric units of measure
|
---|
49 | S FHASMNT(0)=$G(^FHPT(FHDFN,"N",FHADTINV,0))
|
---|
50 | F I=1:1:22 S @$P("ADT SEX AGE HGT HGP WGT WGP DWGT UWGT IBW FRM AMP X X X KCAL PRO FLD RC XD BMI BMIP"," ",I)=$P(FHASMNT(0),"^",I)
|
---|
51 | S SIGN=$P(FHASMNT(0),U,23) S:SIGN'="" SIGN1="Entered by: "_$P($P(^VA(200,SIGN,0),U),",",2)_" "_$P($P(^VA(200,SIGN,0),U),",") K SIGN
|
---|
52 | S NAM=$P(^DPT(DFN,0),"^"),NB=$P(FHASMNT(0),"^",25)
|
---|
53 | S SEX=$S(SEX="M":"Male",SEX="F":"Female",1:"")
|
---|
54 | S FHASMNT(1)=$G(^FHPT(FHDFN,"N",FHADTINV,1))
|
---|
55 | F I=1:1:10 S @$P("TSF TSFP SCA SCAP ACIR ACIRP CCIR CCIRP BFAMA BFAMAP"," ",I)=$P(FHASMNT(1),"^",I)
|
---|
56 | S FHAPPER=$G(^FHPT(FHDFN,"N",FHADTINV,2)),I=0
|
---|
57 | F S I=$O(^FHPT(FHDFN,"N",FHADTINV,"L",I)) Q:I'>0 S FHLAB(I)=$G(^(I,0))
|
---|
58 | D SETUP^FHWORA1
|
---|
59 | Q $S($D(^TMP($J,"FHASM",DFN)):1,1:"-1^No assessments on file for this date/time")
|
---|
60 | ;
|
---|
61 | CNT(X) ; Increment our subscript
|
---|
62 | S X=X+1 S CNT=X
|
---|
63 | Q CNT
|
---|
64 | ;
|
---|
65 | COMMENT ; Display the Nutritional Assessment comments.
|
---|
66 | S ^TMP($J,"FHASM",DFN,$$CNT^FHWORA(CNT))=" "
|
---|
67 | S ^TMP($J,"FHASM",DFN,$$CNT^FHWORA(CNT))="Comments"
|
---|
68 | S ^TMP($J,"FHASM",DFN,$$CNT^FHWORA(CNT))=" "
|
---|
69 | Q:'+$O(^FHPT(FHDFN,"N",FHADTINV,"X",0)) ; quit if no comments
|
---|
70 | N DIW,DIWF,DIWI,DIWL,DIWR,DIWT,DIWTC,DIWX,FHI,X
|
---|
71 | S DIWF="",DIWL=1,DIWR=79 K ^UTILITY($J,"W",DIWL) S FHI=0
|
---|
72 | F S FHI=$O(^FHPT(FHDFN,"N",FHADTINV,"X",FHI)) Q:FHI'>0 D
|
---|
73 | . S X=$G(^FHPT(FHDFN,"N",FHADTINV,"X",FHI,0)) D ^DIWP
|
---|
74 | . Q
|
---|
75 | S I=0 F S I=$O(^UTILITY($J,"W",DIWL,I)) Q:I'>0 D
|
---|
76 | . S ^TMP($J,"FHASM",DFN,$$CNT(CNT))=$G(^UTILITY($J,"W",DIWL,I,0))
|
---|
77 | . Q
|
---|
78 | K ^UTILITY($J,"W",DIWL)
|
---|
79 | Q
|
---|
80 | ;
|
---|
81 | LAB(I) ; Display lab data for our patient.
|
---|
82 | S X1=$P(FHLAB(I),"^",7) Q:X1="" S DTP=X1\1 D DTP^FH
|
---|
83 | S:'X3 ^TMP($J,"FHASM",DFN,$$CNT(CNT))=" " ; initial linefeed
|
---|
84 | S X3=X3+1 ; lab data found? $S(X3>0:"Yes",1:"No")
|
---|
85 | K STR S $P(STR," ",81)="",TAB=5
|
---|
86 | S $E(STR,(TAB+1),(TAB+$L($P(FHLAB(I),"^"))))=$P(FHLAB(I),"^")
|
---|
87 | S TAB=27
|
---|
88 | S $E(STR,(TAB+1),(TAB+$L($P(FHLAB(I),"^",6))))=$P(FHLAB(I),"^",6)
|
---|
89 | S TAB=40
|
---|
90 | S $E(STR,(TAB+1),(TAB+$L($P(FHLAB(I),"^",4))))=$P(FHLAB(I),"^",4)
|
---|
91 | S TAB=51
|
---|
92 | S $E(STR,(TAB+1),(TAB+$L($P(FHLAB(I),"^",5))))=$P(FHLAB(I),"^",5)
|
---|
93 | S TAB=65,$E(STR,(TAB+1),(TAB+$L(DTP)))=DTP
|
---|
94 | S ^TMP($J,"FHASM",DFN,$$CNT(CNT))=STR
|
---|
95 | Q
|
---|
96 | ;
|
---|
97 | TRUNC(I) ; Set each node to no more than eighty (80) chars in length.
|
---|
98 | N A,B,C S A=$L(I(0)),B=A\80
|
---|
99 | F C=1:1:B S ^TMP($J,"FHASM",DFN,$$CNT(CNT))=$E(I(0),$S(C=1:1,1:((C-1)*80)),((C*80)-1))
|
---|
100 | S ^TMP($J,"FHASM",DFN,$$CNT(CNT))=$E(I(0),(((80*B)+1)-1),A)
|
---|
101 | Q
|
---|