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

BCHRPT4.m

Go to the documentation of this file.
  1. BCHRPT4 ; IHS/CMI/LAB - PROCESS VISIT LIST ;
  1. ;;2.0;IHS RPMS CHR SYSTEM;;OCT 23, 2012;Build 27
  1. ;IHS/CMI/LAB - tmp to xtmp
  1. ;
  1. ;
  1. ;
  1. START ;
  1. D XTMP^BCHUTIL("BCHRPT","CHR RECORD LIST")
  1. D XTMP^BCHUTIL("BCHRAP2","CHR REPORT")
  1. D XTMP^BCHUTIL("BCHTEN","CHR TOP TEN DX")
  1. S (BCHBT,BCHBTH)=$H,BCHJOB=$J
  1. I $P(^BCHRCNT(BCHRPTC,0),U,11)]"" S BCHRPREP=$P(^(0),U,11) S BCHRPREP=$TR(BCHRPREP,"~","^") D @BCHRPREP
  1. D D,END
  1. Q
  1. ;
  1. S ;run by search template
  1. S BCHR=0 F S BCHR=$O(^DIBT(BCHSEAT,1,BCHR)) Q:BCHR'=+BCHR I $D(^BCHR(BCHR,0)),$P(^(0),U,9),'$P(^(0),U,11) D PROC,EOJ
  1. Q
  1. D ; Run by visit date
  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 V1
  1. Q
  1. ;
  1. END ;
  1. I $P(^BCHRCNT(BCHRPTC,0),U,9)]"" S BCHRPOSP=$P(^(0),U,9) S BCHRPOSP=$TR(BCHRPOSP,"~","^") D @BCHRPOSP
  1. S BCHET=$H
  1. D EOJ
  1. Q
  1. EOJ ;
  1. K BCHB,BCHI,BCHR,BCHRCNT
  1. Q
  1. V1 ;
  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),DFN=$P(BCHR0,U,4) D PROC
  1. Q
  1. PROC ;
  1. S BCHR0=^BCHR(BCHR,0)
  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 BCHR11=$G(^BCHR(BCHR,11)),BCHR12=$G(^BCHR(BCHR,12)),BCHR13=$G(^BCHR(BCHR,13))
  1. D SCREENS
  1. Q:$D(BCHSKIP)
  1. K BCHSRT,BCHPRNT S BCHCRIT=BCHSORT,BCHX=0
  1. X:$D(^BCHSORT(BCHSORT,5)) ^BCHSORT(BCHSORT,5) I $G(BCHPRNT)']"" D
  1. . I BCHPTVS="V" S Y=$P($P(BCHR0,U),".") S BCHPRNT=Y Q
  1. . S BCHPRNT=$S($G(DFN):$P(^DPT(DFN,0),U),1:$P($G(^BCHR(BCHR,11)),U))
  1. .Q
  1. S BCHSRT=BCHPRNT I BCHSRT="" S BCHSRT="NONE AVAILABLE"
  1. I $G(BCHRPTST)]"" D @(BCHRPTST) Q
  1. S ^XTMP("BCHRPT",BCHJOB,BCHBTH,"RECORDS",BCHSRT,BCHR)=""
  1. Q
  1. SCREENS ;
  1. S DFN=$P(BCHR0,U,4)
  1. K BCHSKIP
  1. S BCHI=0 F S BCHI=$O(^BCHTRPT(BCHRPT,11,BCHI)) Q:BCHI'=+BCHI!($D(BCHSKIP)) D
  1. .I '$P(^BCHSORT(BCHI,0),U,8) D SINGLE Q
  1. .D MULT
  1. .Q
  1. Q
  1. SINGLE ;
  1. S X=""
  1. X:$D(^BCHSORT(BCHI,1)) ^(1)
  1. I X="" S BCHSKIP="" Q
  1. I '$D(^BCHTRPT(BCHRPT,11,BCHI,11,"B",X)) S BCHSKIP="" Q
  1. Q
  1. MULT ;
  1. K BCHFOUN,BCHSKIP,X S BCHX=0,X=""
  1. X:$D(^BCHSORT(BCHI,1)) ^(1)
  1. I '$L($O(X)) S BCHSKIP="" Q
  1. S Y="" F S Y=$O(X(Y)) Q:Y="" I $D(^BCHTRPT(BCHRPT,11,BCHI,11,"B",Y)) S BCHFOUN="" Q
  1. S:'$D(BCHFOUN) BCHSKIP=""
  1. Q