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

GMRYSE1.m

Go to the documentation of this file.
  1. GMRYSE1 ;HIRMFO/YH-ITEMIZED PATIENT I/O REPORT BY SHIFT PART 2 ;3/11/97
  1. ;;4.0;Intake/Output;**9**;Apr 25, 1997;Build 6
  1. BODY ;
  1. I '$D(^TMP($J)) W !!,?5,"NO DATA FOR THIS PERIOD",!! Q
  1. D INITOT^GMRYRP3,INISHFT^GMRYRP3,SHFTP,DAYP S (GRNDIP,GRNDOP)="" D SUM^GMRYSE2
  1. Q
  1. F X=1:1 W ! Q:IOSL<($Y+$S($E(IOST)="P":4,1:10))
  1. D FOOTER^GMRYRP3 Q
  1. REPORT ;
  1. D TITLE^GMRYRP3
  1. S GMRDOT="",$P(GMRDOT,".",50)="",GMRX="",$P(GMRX,"-",$S(GRPT=2:53,GRPT=3:32,1:53))="" D HEADER2 S GQT=1 D BODY D:'GMROUT FOOTER I $E(IOST)'="P",'GMROUT W !,"Press return to continue " R X:DTIME I '$T!(X["^") S GMROUT=1
  1. K GCATH,GTOTAL,GLEFT,GREASON,GY Q
  1. HEADER2 ;
  1. I GQT D FOOTER
  1. I GQT,'GQ,$E(IOST)'="P" W !,"Press return to continue or ""^"" to stop " R X:DTIME I '$T!(X="^") S GMROUT=1 Q
  1. W:'($E(IOST)'="C"&'GPC) @IOF
  1. S GQT=1,GPC=GPC+1,GCOL=$S(IOM>80:40,1:10) W !,?GCOL,"PATIENT INTAKE/OUTPUT REPORT BY SHIFT AND EVENT TYPE" S GCOL=$S(IOM>80:120,1:70) W ?GCOL,"PAGE: ",GPC
  1. S GCOL=$S(IOM>80:40,1:10) W !,?GCOL,$S(GRPT=9:$E(GMRX,1,46),1:GMRX),! S GCOL=GCOL+8 W ?GCOL,GMRDT1," - ",GMRDT2,!
  1. I $D(GY) W GY_"(continued)",!
  1. Q
  1. NPOS ;OBTAIN NURSE POSITION
  1. N GPOS
  1. S GNURSE=$P(GDATA,"^",3),GTEXT=$P(GDATA,"^",2) D WHR^GMRYSE3
  1. W ?14,$S(GIO="IN":$P($G(^GMRD(126.56,+GTYPE,0)),"^")_" intake vol: ",GIO="OUT":$P($G(^GMRD(126.58,+GTYPE,0)),"^")_" output vol: ",1:""),GAMOUNT_$S(GAMOUNT>0!(GAMOUNT="0"):" mls",1:"")
  1. I GIO="OUT",(GSUB>0&(GSUB<99)),$D(^GMRD(126.6,GSUB,0)) W " "_$P(^GMRD(126.6,+GSUB,0),"^")
  1. I GIO="OUT",$P(GDATA,"^",2)'="" S GTXT(1)="- "_$P(GDATA,"^",2) D WLINE^GMRYSE3
  1. S GITEM=$P(GDATA,"^",4) I GITEM'="" S GTXT(1)="- "_GITEM D WLINE^GMRYSE3
  1. S GITEM="" G:GNURSE="" Q S GCOL=$S(IOM>80:120,1:70) W ?GCOL,$E($P($P(^VA(200,GNURSE,0),"^"),",",2)),$E($P(^(0),"^"))
  1. S GPOS=$$GPOS(GNURSE)
  1. W "/"_$S(GPOS="R":"RN",GPOS="L":"LPN",GPOS="N":"NA",GPOS="C":"CL",1:"OTH")
  1. Q W ! Q
  1. ;
  1. GPOS(GNURSE) ;
  1. N GDATE1,GLOC1,GSEQ,GSTR,GSTART,GEND
  1. S (GPOS,GLOC1,GSEQ,GSTR,GSTART,GEND)=""
  1. I GNURSE="" Q GPOS
  1. ;
  1. ;Retrieve previous start date to I/O date unless I/O date also a start date.
  1. ;
  1. S GDATE1=$S($D(^NURSF(211.8,"ASDT",GNURSE,GDATE)):GDATE,1:$O(^NURSF(211.8,"ASDT",GNURSE,GDATE),-1))
  1. I GDATE1="" Q GPOS
  1. F S GLOC1=$O(^NURSF(211.8,"ASDT",GNURSE,GDATE1,GLOC1)) Q:GLOC1="" D
  1. . F S GSEQ=$O(^NURSF(211.8,"ASDT",GNURSE,GDATE1,GLOC1,GSEQ)) Q:GSEQ="" D
  1. . . S GSTR=$G(^NURSF(211.8,GLOC1,1,GSEQ,0)) Q:GSTR=""
  1. . . S GSTART=$P(GSTR,"^"),GEND=$P(GSTR,"^",6)
  1. . . ;
  1. . . ;Checking to see if the date that I/O was recorded (GDATE)
  1. . . ;falls in timeframe when the service position was active.
  1. . . ;
  1. . . I $S(GEND="":1,GEND'<GDATE:1,1:0),$D(^NURSF(211.8,GLOC1,0)) D
  1. . . . S GPOS=$P(^NURSF(211.8,GLOC1,0),"^",2)
  1. Q GPOS
  1. ;
  1. ILABEL ;
  1. I II>3 S GLAB=$P(^GMRD(126.56,$O(^GMRD(126.56,"C",II-3,0)),0),"^") Q
  1. S GLAB=$S(II=1:"IV FLUIDS",II=2:"BLOOD/PRODUCT",II=3:"PARENTERAL NUTR.",1:"") Q
  1. OLABEL ;
  1. S GLAB=$P(^GMRD(126.58,II,0),"^") Q
  1. CHKPR ;
  1. I ($Y+4)>IOSL D HEADER2 Q:GMROUT
  1. I GIO="IN",GPRT(1)=0 W ?2,"INTAKE:",! S GPRT(1)=1 Q
  1. I GIO="OUT",GPRT(2)=0 W ?2,"OUTPUT:",! S GPRT(2)=1 Q
  1. Q
  1. CHKTYP ;
  1. I ($Y+4)>IOSL D HEADER2 Q:GMROUT
  1. I GIO="IN" W ?4,$S(GSUB=1:"PO",GSUB=2:"NASOGASTRIC",GSUB=3:"GASTROTOMY",GSUB=4:"PHARYNGOTOMY",1:"OTHER")
  1. I GIO="OUT" W ?4,$P(^GMRD(126.6,+GSUB,0),"^")
  1. Q
  1. SHFTP ;FIELD TO SAVE '+' CODE FOR SHIFT TOTAL
  1. F II=1:1:GN(1) S GSIP(II)=""
  1. F II=1:1:GN(2) S GSOP(II)=""
  1. Q
  1. DAYP ;FIELD TO SAVE '+' CODE FOR DAY TOTAL
  1. F II=1:1:GN(1) S GDIP(II)=""
  1. F II=1:1:GN(2) S GDOP(II)=""
  1. Q