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

BCHRC51.m

Go to the documentation of this file.
  1. BCHRC51 ; IHS/CMI/LAB - PROCESS REPORT ;
  1. ;;2.0;IHS RPMS CHR SYSTEM;;OCT 23, 2012;Build 27
  1. ;IHS/CMI/LAB - tmp to xtmp
  1. ;
  1. START ;
  1. D XTMP^BCHUTIL("BCHRC5","CHR CHR REPORT")
  1. S (BCHBT,BCHBTH)=$H,BCHJOB=$J,BCHTF=0,BCHTM=0
  1. S BCHRNN=BCHRBIN,BCHRA="" F I=1:1 S BCHRX=$P(BCHRNN,";",I) Q:BCHRX="" D SETA
  1. S BCHRDOBS=BCHRA
  1. D D,END
  1. Q
  1. ;
  1. D ; Run by date of service
  1. S X1=BCHBD,X2=-1 D C^%DTC S BCHSD=X
  1. S BCHODAT=BCHSD_".9999" F S BCHODAT=$O(^BCHR("B",BCHODAT)) Q:BCHODAT=""!((BCHODAT\1)>BCHED) D D1
  1. Q
  1. ;
  1. END ;
  1. S BCHET=$H
  1. D EOJ
  1. Q
  1. EOJ ;
  1. Q
  1. D1 ;
  1. S (BCHR,BCHRCNT)=0 F S BCHR=$O(^BCHR("B",BCHODAT,BCHR)) Q:BCHR'=+BCHR I $D(^BCHR(BCHR,0)),$P(^(0),U,2)]"",$P(^(0),U,3)]"" S BCHR0=^(0),BCHR11=$G(^BCHR(BCHR,11)) D PROC
  1. Q
  1. PROC ;
  1. S BCHPAT=$P(BCHR0,U,4)
  1. S BCHNRPAT=$P($G(^BCHR(BCHR,11)),U,12)
  1. ;I 'BCHPAT,'BCHNRPAT Q ;no patient
  1. I BCHREG="R",BCHPAT="" Q
  1. I BCHREG="N",BCHNRPAT="" Q
  1. I BCHPAT,BCHNRPAT S BCHNRPAT=""
  1. I BCHPAT Q:'$D(^DPT(BCHPAT,0))
  1. S BCHPROG=$P(BCHR0,U,2)
  1. I BCHPRG,BCHPRG'=BCHPROG Q
  1. S BCHPROV=$P(BCHR0,U,3)
  1. I BCHPROVT="O",BCHCHR1'=BCHPROV Q
  1. ;S (BCHX,BCHC)=0 F S BCHX=$O(^BCHRPROB("AD",BCHR,BCHX)) Q:BCHX'=+BCHX S BCHC=BCHC+1 D
  1. S (BCHX,BCHC)=0 F S BCHX=$O(^BCHRPROB("AD",BCHR,BCHX)) Q:BCHX'=+BCHX I $P(^BCHRPROB(BCHX,0),U,4),$P(^BCHTSERV($P(^BCHRPROB(BCHX,0),U,4),0),U,3)'="LT" S BCHC=BCHC+1 D
  1. .S BCHPROB=$P(^BCHRPROB(BCHX,0),U),BCHPROBN=$P(^BCHTPROB(BCHPROB,0),U)_"|"_$P(^BCHTPROB(BCHPROB,0),U,2)
  1. .D SETTMP
  1. .Q
  1. Q
  1. SETTMP ;
  1. S DFN=$P(BCHR0,U,4) I DFN S DOB=$P(^DPT(DFN,0),U,3)
  1. I 'DFN S DOB=$P(BCHR11,U,2)
  1. Q:DOB']""
  1. I DFN S SEX=$P(^DPT(DFN,0),U,2)
  1. I 'DFN S SEX=$P(BCHR11,U,3)
  1. Q:SEX="" ;no sex available
  1. Q:$P(BCHR0,U,12)'=1
  1. S BCHRAGE="" D GETAGE
  1. Q:'BCHRAGE
  1. I SEX="F" S BCHTF=BCHTF+1
  1. I SEX="M" S BCHTM=BCHTM+1
  1. S ^XTMP("BCHRC5",BCHJOB,BCHBT,"TOTAL AGE",BCHRAGE,SEX)=$G(^XTMP("BCHRC5",BCHJOB,BCHBT,"TOTAL AGE",BCHRAGE,SEX))+1
  1. S ^(SEX)=$S($D(^XTMP("BCHRC5",BCHJOB,BCHBT,"HA",BCHPROB,BCHRAGE,SEX)):^(SEX)+1,1:1)
  1. S ^(SEX)=$S($D(^XTMP("BCHRC5",BCHJOB,BCHBT,"HA",BCHPROB,"TOTAL",SEX)):^(SEX)+1,1:1)
  1. Q
  1. GETAGE ;
  1. F I=1:1 S BCHRNN=$P(BCHRA,";",I) Q:BCHRNN="" S BCHRX=$P(BCHRNN,"-"),BCHRY=$P(BCHRNN,"-",2) I DOB'<BCHRX,DOB'>BCHRY S BCHRAGE=I Q
  1. Q
  1. ;
  1. SETA ;
  1. S BCHRY=$P(BCHRX,"-"),BCHRZ=$P(BCHRX,"-",2)
  1. I BCHRA]"" S BCHRA=BCHRA_";"
  1. S BCHRA=BCHRA_(DT+1-(10000*(BCHRZ+1)))_"-"_(DT-(BCHRY*10000))
  1. S ^XTMP("BCHRC5",BCHJOB,BCHBT,"TOTAL AGE",I,"F")=0,^XTMP("BCHRC5",BCHJOB,BCHBT,"TOTAL AGE",I,"M")=0
  1. Q