Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: FHASN6

FHASN6.m

Go to the documentation of this file.
  1. FHASN6 ; HISC/NCA - List Inpats By Nutrition Status Level ;3/1/95 10:58
  1. ;;5.5;DIETETICS;**27**;Jan 28, 2005;Build 9
  1. EN2 ; Select Status to print
  1. K DIR S DIR(0)="SO^1:NORMAL;2:MILDLY COMPROMISED;3:MODERATELY COMPROMISED;4:SEVERELY COMPROMISED;5:UNCLASSIFIED",DIR("A")="Choose a Nutrition Status Level" D ^DIR G:$D(DIRUT)!($D(DIROUT)) KIL S STS=+Y
  1. F0 R !!,"Print by CLINICIAN or WARD? WARD// ",X:DTIME G:'$T!(X["^") KIL S:X="" X="W" D TR^FH I $P("CLINICIAN",X,1)'="",$P("WARD",X,1)'="" W *7," Answer with C or W" G F0
  1. S SRT=$E(X,1)
  1. L0 K IOP S %ZIS="MQ",%ZIS("B")="HOME" W ! D ^%ZIS K %ZIS,IOP G:POP KIL
  1. I $D(IO("Q")) S FHPGM="Q0^FHASN6",FHLST="STS^SRT" D EN2^FH G KIL
  1. U IO D Q0 D ^%ZISC K %ZIS,IOP G FHASN6
  1. Q0 ; Process Screening
  1. K ^TMP($J)
  1. S TIT="Current Inpatients At Nutrition Status: ",ANS=""
  1. S TIT=TIT_$P("I,II,III,IV,V",",",+STS)_" "_$S(STS<5:$P($G(^FH(115.4,+STS,0)),"^",2),1:"Unclassified")
  1. F W1=0:0 S W1=$O(^FH(119.6,W1)) Q:W1'>0 D W1 F FHDFN=0:0 S FHDFN=$O(^FHPT("AW",W1,FHDFN)) Q:FHDFN<1 S ADM=$G(^FHPT("AW",W1,FHDFN)) Q:ADM<1 D Q1
  1. D P0
  1. KIL K ^TMP($J) G KILL^XUSCLEAN
  1. Q1 ; Tabulate status
  1. S DTE="",X5=$O(^FHPT(FHDFN,"S",0)) G:X5="" Q2 S X5=^(X5,0)
  1. I $P(X5,"^",1)<$S($D(^FHPT(FHDFN,"A",ADM,0)):$P(^(0),"^",1),1:9999999) G Q2
  1. S S1=$P(X5,"^",2),D1=$P(X5,"^",3),DTE=$P(X5,"^",1) I S1,S1<5 G Q3
  1. Q2 ; Unclassified
  1. S S1=5,D1=WD
  1. Q3 ; Set Classification
  1. S XX=$S(SRT="W":W1,1:D1)
  1. Q4 ; Store Status
  1. I S1'=STS Q
  1. D PATNAME^FHOMUTL I DFN="" Q
  1. S X2=$G(^FHPT(FHDFN,"A",ADM,0)),RM=$P(X2,"^",9),RM=$P($G(^DG(405.4,+RM,0)),"^",1),X3=$G(^DPT(DFN,0)),PAT=$E($P(X3,"^",1),1,23) D PID^FHDPA
  1. D P1
  1. Q
  1. P0 ; Print summary
  1. D NOW^%DTC S DTP=% D DTP^FH S NOW=DTP,PG=0,LN="",$P(LN,"-",80)="" D HDR
  1. I '$D(^TMP($J)) W !!,"There are No current inpatients with ",$S(STS<5:$P($G(^FH(115.4,+STS,0)),"^",2),1:"Unclassified")," nutrition status.",!! Q
  1. W ! S NAM="" F W1=0:0 S NAM=$O(^TMP($J,NAM)) Q:NAM=""!(ANS="^") W NAM F W2=0:0 S W2=$O(^TMP($J,NAM,W2)) Q:W2<1!(ANS="^") S PAT="" D P2
  1. W ! Q
  1. P1 I SRT="W" S NAM=$E($P($G(^FH(119.6,+XX,0)),"^",1),1,15) D P15
  1. E D
  1. . F X1=0:0 S X1=$O(^FH(119.6,W1,2,X1)) Q:'X1>0 D
  1. .. S X2=$G(^FH(119.6,W1,2,X1,0)) Q:X2=""
  1. ..S NAM=$E($P($G(^VA(200,+X2,0)),"^",1),1,26)
  1. .. D P15
  1. . K X1,X2
  1. Q
  1. P15 Q:NAM="" S:DTE="" DTE=$P(^FHPT(FHDFN,"A",ADM,0),"^",1) S ^TMP($J,NAM,DTE,PAT)=BID_"^"_$E(RM,1,10) Q
  1. P2 S PAT=$O(^TMP($J,NAM,W2,PAT)) Q:PAT="" S D1=$G(^(PAT))
  1. D:$Y'<(IOSL-3) HD Q:ANS="^"
  1. S BID=$P(D1,"^",1),RM=$P(D1,"^",2)
  1. W:SRT="W" ?15,RM W ?28,PAT,?53,BID,?62 S DTP=W2 D DTP^FH W DTP,!!
  1. G P2
  1. W1 ; Get ward parameters
  1. S WD=$P($G(^FH(119.6,W1,0)),"^",2) S:'WD WD=0 Q
  1. HD ; Check for end of page
  1. I IOST?1"C".E W:$X>1 ! W *7 K DIR S DIR(0)="E" D ^DIR I 'Y S ANS="^" Q
  1. HDR W:'($E(IOST,1,2)'="C-"&'PG) @IOF S PG=PG+1 W !,NOW,?72,"Page ",PG,!!?(80-$L(TIT)\2),TIT
  1. W !!,$S(SRT="W":"Ward Room",1:"Clinician"),?28,"Patient",?53,"ID#",?62,"Date Entered",!,LN,! Q