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

FHOMRL1.m

Go to the documentation of this file.
  1. FHOMRL1 ;Hines OIFO/RTK OUTPATIENT MEALS RECURRING MEALS LIST ;1/25/05 11:35
  1. ;;5.5;DIETETICS;**1,5**;Dec 22, 2004;Build 53
  1. ;
  1. W @IOF,!!?20,"R E C U R R I N G M E A L S L I S T"
  1. START S (FHSELOC,FHSLCOM,FHSLPRO)=""
  1. W !! K DIR S DIR("A")="Print by LOCATION, COMM OFFICE, PRODUCTION FACILITY or ALL: "
  1. S DIR(0)="SAO^A:ALL;C:COMM OFFICE;L:LOCATION;P:PROD FACILITY" D ^DIR
  1. Q:$D(DIRUT) S FHLBY=Y
  1. I FHLBY="L" W ! D OUTLOC^FHOMUTL Q:FHLOC="" S FHSELOC=FHLOC,FHLOC=""
  1. I FHLBY="C" D Q:FHSLCOM=""
  1. .W ! K DIC S DIC=119.73,DIC("A")="Select Communication Office: "
  1. .S DIC(0)="AEQZ" D ^DIC Q:$D(DUOUT) I Y=-1 S FHSLCOM="" Q
  1. .S FHSLCOM=+Y
  1. I FHLBY="P" D Q:FHSLPRO=""
  1. .W ! K DIC S DIC=119.71,DIC("A")="Select Production Facility: "
  1. .S DIC(0)="AEQZ" D ^DIC Q:$D(DUOUT) I Y=-1 S FHSLPRO="" Q
  1. .S FHSLPRO=+Y
  1. W ! D STDATE^FHOMUTL I STDT="" Q
  1. W ! D ENDATE^FHOMUTL I ENDT="" Q
  1. S X1=STDT,X2=-1 D C^%DTC S STDT=X
  1. D DEV,START
  1. Q
  1. DEV ;get device and set up queue
  1. W ! K %ZIS,IOP S %ZIS="Q" D ^%ZIS Q:POP
  1. I '$D(IO("Q")) U IO D DISP,^%ZISC,END Q
  1. S ZTRTN="DISP^FHOMRL1"
  1. S ZTSAVE("STDT")="",ZTSAVE("ENDT")="",ZTSAVE("FHDFN")=""
  1. S ZTSAVE("FHLBY")="",ZTSAVE("FHSELOC")="",ZTSAVE("FHSLCOM")="",ZTSAVE("FHSLPRO")=""
  1. S ZTDESC="Outpatient Meals Recurring Meals List" D ^%ZTLOAD
  1. D ^%ZISC K %ZIS,IOP
  1. D END Q
  1. Q
  1. DISP ; First build data in ^TMP global
  1. K ^TMP($J) S EX="",FHPG=0
  1. F FHXRDT=STDT:0 S FHXRDT=$O(^FHPT("RM",FHXRDT)) Q:FHXRDT'>0!(FHXRDT>ENDT)!(EX=U) D
  1. .F FHDFN=0:0 S FHDFN=$O(^FHPT("RM",FHXRDT,FHDFN)) Q:FHDFN'>0!(EX=U) D
  1. ..F FHRM=0:0 S FHRM=$O(^FHPT("RM",FHXRDT,FHDFN,FHRM)) Q:FHRM'>0!(EX=U) D
  1. ...S FHZN=$G(^FHPT(FHDFN,"OP",FHRM,0)),FHST=$P(FHZN,U,15) I FHST="C" Q
  1. ...D PATNAME^FHOMUTL
  1. ...S FHLOC=$P(FHZN,U,3) Q:FHLOC="" I FHLBY="L",FHSELOC'=FHLOC Q
  1. ...S FHCOMM=$P($G(^FH(119.6,FHLOC,0)),U,8) I FHLBY="C",FHSLCOM'=FHCOMM Q
  1. ...S FHPRD=$P($G(^FH(119.73,FHCOMM,0)),U,4) I FHLBY="P",FHSLPRO'=FHPRD Q
  1. ...S FHPRORD=$P($G(^FH(119.6,FHLOC,0)),U,4) I FHPRORD="" S FHPRORD=99
  1. ...S FHPRORD=$S(FHPRORD<1:99,FHPRORD<10:"0"_FHPRORD,1:FHPRORD)
  1. ...S FHLOCNM=$P($G(^FH(119.6,FHLOC,0)),U,1)
  1. ...S ^TMP($J,FHPRORD_"~"_FHLOCNM,FHXRDT,FHPTNM_"~"_FHRM_"~"_FHDFN)=FHZN
  1. ...Q
  1. ..Q
  1. .Q
  1. ; Now display data from the ^TMP global
  1. S FHLSRT="" F S FHLSRT=$O(^TMP($J,FHLSRT)) Q:FHLSRT=""!(EX=U) D
  1. .D:FHPG>0&(IOST?1"C".E) PG Q:EX=U
  1. .D HDR S FHPG=FHPG+1
  1. .F FHXRDT=0:0 S FHXRDT=$O(^TMP($J,FHLSRT,FHXRDT)) Q:FHXRDT'>0!(EX=U) D
  1. ..S FHPTN="" F S FHPTN=$O(^TMP($J,FHLSRT,FHXRDT,FHPTN)) Q:FHPTN=""!(EX=U) D
  1. ...S FHZN=$G(^TMP($J,FHLSRT,FHXRDT,FHPTN)),FHLOC=$P(FHZN,U,3)
  1. ...S FHLOCZN=$G(^FH(119.6,FHLOC,0)),FHRNUM=$P(FHPTN,"~",2)
  1. ...S FHRMBD=$P(FHZN,U,18),FHRMBNM=""
  1. ...I FHRMBD'="" S FHRMBNM=$E($P($G(^DG(405.4,FHRMBD,0)),U,1),1,14)
  1. ...S FHDFN=$P(FHPTN,"~",3)
  1. ...W ! S DTP=FHXRDT D DTP^FH W DTP
  1. ...W ?11,$E($P(FHPTN,"~",1),1,19)
  1. ...W ?32,$P(FHZN,U,4)
  1. ...S FHSRV=$P(FHLOCZN,U,10)
  1. ...S FHSPT=$S(FHSRV["T":$P(FHLOCZN,U,5),FHSRV["C":$P(FHLOCZN,U,6),1:"")
  1. ...S FHSRVPT="" I FHSPT'="" S FHSRVPT=$P($G(^FH(119.72,FHSPT,0)),U,1)
  1. ...W ?36,$E(FHSRVPT,1,11),?48,FHRMBNM
  1. ...I $P($G(^FH(119.6,FHLOC,1)),U,4)="Y" D DIETPAT^FHOMRR1 W ?64,$E(FHDIETP,1,16)
  1. ...I $P($G(^FH(119.6,FHLOC,1)),U,4)'="Y" S FHDPTR=$P(FHZN,U,2) Q:FHDPTR="" W ?64,$E($P($G(^FH(111,FHDPTR,0)),U,1),1,16)
  1. ...I $Y>(IOSL-4) D PG I EX=U Q
  1. Q
  1. PG ;
  1. I IOST?1"C".E W ! K DIR S DIR(0)="E" D ^DIR I 'Y S EX=U Q
  1. D HDR Q
  1. HDR ;
  1. W:$Y @IOF
  1. W !?25,"R E C U R R I N G M E A L L I S T"
  1. W !!?5,"LOCATION: ",$P(FHLSRT,"~",2)
  1. W !!,"Date",?11,"Patient Name",?31,"Meal",?36,"Service Pnt"
  1. W ?48,"Room-Bed",?64,"Diet Ordered"
  1. W !,"=========",?11,"===================",?31,"===="
  1. W ?36,"===========",?48,"==============",?64,"================"
  1. Q
  1. END ;
  1. K ENDT,FHXRDT,FHRM,FHST,FHSLCOM,FHSLPRO,FHZN,STDT Q