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

BEHOVMC.m

Go to the documentation of this file.
  1. BEHOVMC ;IHS/MSC/MGH - CUMULATIVE VITALS/MEASUREMENTS FOR PATIENT OVER GIVEN DATE RANGE ;07-Jun-2010 09:17;MGH
  1. ;;1.1;BEH COMPONENTS;**001004,001005**;March 20,2007
  1. DEV ;S %ZIS="Q",%ZIS("B")="" D ^%ZIS K %ZIS G:POP Q3 I $E(IOST)="P",'$D(IO("Q")),'$D(IO("S")) D ^%ZISC W !,?3,"PRINTED REPORTS MUST BE QUEUED!!",$C(7) G DEV
  1. ;I $D(IO("Q")) S (ZTSAVE("^TMP($J,"),ZTSAVE("GMRVSDT"),ZTSAVE("GMRVFDT"))="",ZTIO=ION,ZTDESC="Cumulative vital/measurement report",ZTRTN="START^GMRVSC0" D ^%ZTLOAD K IO("Q"),ZTSK,ZTIO G Q3
  1. ;W !!,"*** (E) - Error entry",
  1. W !! W:VADM(1)'="" ?$X-3,$E(VADM(1),1,15) W:VADM(2)'="" ?17,$P(VADM(2),"^",2) W:VADM(3)'="" ?30,$P(VADM(3),"^",2) W:VADM(4)'="" ?43,$P(VADM(4),"^")_" YRS"
  1. W:VADM(5)'="" ?51,$P(VADM(5),"^",2)
  1. W ?65,"VAF 10-7987j" W !,"Unit: "_$S($P(VAIN(4),"^",2)'="":$P(VAIN(4),"^",2),1:" "),?32,"Room: "_$S($P(VAIN(5),"^")'="":$P(VAIN(5),"^"),1:" "),!
  1. I '$D(BEHVHLOC) S BEHVHLOC=$P($G(^DIC(42,+$G(VAIN(4)),44)),"^")
  1. W "Division: "_$S(BEHVHLOC>0:$$GET1^DIQ(4,+$$GET1^DIQ(44,+BEHVHLOC,3,"I"),.01,"I"),1:""),!
  1. Q
  1. WRT ;
  1. S GMR1ST=1 K GMRSITE D DEM^VADPT,INP^VADPT S GWARD=$S($P(VAIN(4),"^",2)'="":$P(VAIN(4),"^",2),1:" "),GBED=$S(VAIN(5)'="":$P(VAIN(5),"^"),1:" ") D HDR^BEHOVMC2
  1. Q
  1. EN3(DFN,BEHVSDT,BEHVFDT) ; APPLICATION PROGRAM INTERFACE FOR PATIENT CUMULATIVE VITALS REPORT
  1. ; INPUT VARIABLES: DFN=PATIENT NUMBER
  1. ; BEHVSDT=START DATE
  1. ; BEHVFDT=FINISH DATE OF REPORT
  1. S BEHVOR=1
  1. EN5 S (BEHOUT,BEHPG)=0 D DEM^VADPT,INP^VADPT S GBED=$S(VAIN(5)'="":VAIN(5),1:" "),GWARD=$S($P(VAIN(4),"^",2)="":" ",1:$P(VAIN(4),"^",2))
  1. S BEH1ST=1,BEHDATE(0)=0 D NOW^%DTC S Y=% D D^DIQ S BEHPDT=$P(Y,"@")_" ("_$P($P(Y,"@",2),":",1,2)_")",$P(BEHDSH,"-",81)=""
  1. N GPEDIS S GPEDIS=$O(^GMRD(120.52,"B","DORSALIS PEDIS",0)) Q:GPEDIS'>0
  1. K ^TMP("BEHV",$J)
  1. ;Find the vitals from the parameter
  1. S PRM="BEHOVM VITAL LIST"
  1. N ENT,DATA
  1. S ENT=$$ENT^CIAVMRPC(PRM)
  1. D GETLST^XPAR(.DATA,ENT,PRM,"I")
  1. ;F I=1:1:DATA S BEHVTYP=$G(DATA(I)) D
  1. S I="" F S I=$O(DATA(I)) Q:I="" D
  1. .;Get the abbreviation
  1. .S BEHVTYP=$G(DATA(I))
  1. .Q:BEHVTYP=""
  1. .S BEHVITY=$P($G(^BEHOVM(90460.01,BEHVTYP,0)),U,7)
  1. .D SETVAR
  1. U IO D HDR^BEHOVMC2
  1. I $O(^TMP("BEHV",$J,0))'>0 W !!,"No cumulative vitals data for "_$S($D(OPSPNM):ORSPNM,1:"this patient"),! S:$D(ORSPNM) BEHOUT=1 G Q3
  1. F BEHDATE=0:0 S BEHDATE=$O(BEHVDT(BEHDATE)) Q:BEHDATE'>0!BEHOUT I $D(^TMP("BEHV",$J,BEHDATE)) D PRT
  1. Q3 I IOSL'<($Y+10) F X=1:1 W ! Q:IOSL<($Y+10)
  1. I 'BEHOUT W ! D FOOTER^BEHOVMC
  1. D KVAR^VADPT K BEHVOR,VA,GBED,GWARD,^TMP("BEHV",$J),BEH1ST,BEHVTY,BEHVITY,BEHVDATE,BEHSITE,BEHDSH,BEHQUAL,BEHVX,GMRX,GX,BEHDAT,GMRLN,GMRPDT,GMRSP,GMRVDA,GMRY,%,BEHDATE
  1. K BEHDT,BEHPDT,BEHPG,BEHVDA,BEHVDT,BEHVHLOC,BEHVTYP,GMR1ST,GPRT,I,PRM,X,Y,AGE
  1. I $D(ORSPNM) K GMRPG,BEHVSDT,BEHVFDT S:$D(ZTQUEUED) ZTREQ="@" D ^%ZISC
  1. Q
  1. SETVAR ;Get the vital data
  1. S BEHDT="" F S BEHDT=$O(^AUPNVMSR("AE",DFN,BEHVTYP,BEHDT)) Q:BEHDT'>0 S BEHDATE=9999999-BEHDT I '(BEHDATE>BEHVFDT!(BEHDATE<BEHVSDT)) D SETND
  1. Q
  1. SETND ;
  1. S BEHVDA="" F S BEHVDA=$O(^AUPNVMSR("AE",DFN,BEHVTYP,BEHDT,BEHVDA)) Q:BEHVDA'>0 D SETUT
  1. Q
  1. SETUT N STIM
  1. ;S STIM=$P($G(^AUPNVMSR(BEHVDA,0)),U,7)
  1. S STIM=$P($G(^AUPNVMSR(BEHVDA,12)),U,1)
  1. I STIM="" S STIM=BEHDATE
  1. S ^TMP("BEHV",$J,+$E(STIM,1,12),BEHVITY,BEHVDA)=$S('$D(^AUPNVMSR(BEHVDA,2)):0,1:+$P(^(2),"^"))
  1. S BEHVDT(+$E(STIM,1,12))="" Q
  1. Q
  1. PRT ;PRINT V/M BY DATE/TIME
  1. D:IOSL<($Y+9) HDR^BEHOVMC2 Q:BEHOUT
  1. S Y=BEHDATE X ^DD("DD") I $P(BEHDATE,".")'=BEHDATE(0) W !,$E(BEHDATE,4,5)_"/"_$E(BEHDATE,6,7)_"/"_$E(BEHDATE,2,3) S BEHDATE(0)=$P(BEHDATE,".")
  1. D:IOSL<($Y+9) HDR^BEHOVMC2 Q:BEHOUT W !,?2,$P($P(Y,"@",2),":",1,2)
  1. I $D(^TMP("BEHV",$J,BEHDATE)) D
  1. .K BEHLN,GERROR S BEHVTY="" F S BEHVTY=$O(^TMP("BEHV",$J,BEHDATE,BEHVTY)) Q:BEHVTY="" D
  1. ..S GPRT(BEHVTY)=0 I $D(^TMP("BEHV",$J,BEHDATE,BEHVTY)) D
  1. ...F BEHVDA=0:0 S BEHVDA=$O(^TMP("BEHV",$J,BEHDATE,BEHVTY,BEHVDA)) Q:BEHVDA'>0!BEHOUT D SETLN^BEHOVMC2
  1. Q