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

LRSORA3.m

Go to the documentation of this file.
  1. LRSORA3 ;VA/SLC/KCM - SEARCH LAB DATA AND PRINT REPORT ;JUL 06, 2010 3:14 PM;
  1. ;;5.2;LAB SERVICE;**1,344,1027**;NOV 01, 1997
  1. BUILD ;
  1. S LRLOG="I "
  1. F %=1:1:$L(LRTST(0)) D
  1. . S LRLOG=LRLOG_$S($E(LRTST(0),%)?1A:"T("_($A(LRTST(0),%)-64)_")",1:$E(LRTST(0),%))
  1. S LRDFN=0,LRLDFN=0,LREND=0
  1. D SHORT:'LRLONG,LONG:LRLONG
  1. Q
  1. SHORT ;
  1. S LRVDT=$P(LREDT,".",1)-.01
  1. F S LRVDT=$O(^LRO(69,LRVDT)) Q:LRVDT=""!(LRVDT>LRSDT) D
  1. . S LRLLOC=""
  1. . F S LRLLOC=$O(^LRO(69,LRVDT,1,"AN",LRLLOC)) Q:LRLLOC="" D
  1. .. S LRDFN=0
  1. .. F S LRDFN=$O(^LRO(69,LRVDT,1,"AN",LRLLOC,LRDFN)) Q:LRDFN<1 D GIDT
  1. Q
  1. GIDT ;
  1. S LRIDT=0
  1. F S LRIDT=$O(^LRO(69,LRVDT,1,"AN",LRLLOC,LRDFN,LRIDT)) Q:LRIDT<1 D EVTW
  1. Q
  1. LONG ;
  1. S LRSDT=9999998-LRSDT,LREDT=9999999-LREDT
  1. S LRDFN=0 F S LRDFN=$O(^LR(LRDFN)) Q:LRDFN<1 D GDATA
  1. Q
  1. GDATA ;
  1. S LRIDT=LRSDT
  1. F S LRIDT=$O(^LR(LRDFN,"CH",LRIDT)) Q:LRIDT=""!(LRIDT>LREDT) D
  1. . D:$L($P(^LR(LRDFN,"CH",LRIDT,0),U,3)) EVTW
  1. Q
  1. EVTW ;
  1. S %=$G(^LR(LRDFN,"CH",LRIDT,0)) Q:'$L(%)
  1. I LRAA S LRAAA=$P($P(%,U,6)," ") Q:'$D(LRAA(LRAAA))#2
  1. K V F J=1:1:LRTST S T(J)=0
  1. D EVAL Q:$G(LRNOP) X LRLOG
  1. I $T S LRIDT1=0 F S LRIDT1=$O(V(LRIDT1)) Q:LRIDT1<1 D
  1. . S LRSUB=0 F S LRSUB=$O(V(LRIDT1,LRSUB)) Q:LRSUB<1 D SET
  1. Q
  1. EVAL ;
  1. F J=1:1:LRTST X LRTST(J,1) D
  1. . I $T S T(J)=1
  1. . I S X=$P(LRTST(J,3),U,1)
  1. . I S $P(V(LRIDT,X),U,1)=$P(^LR(LRDFN,"CH",LRIDT,X),U,1)
  1. . I S $P(V(LRIDT,X),U,2)=$P(^LR(LRDFN,"CH",LRIDT,X),U,2)
  1. . I S $P(V(LRIDT,X),U,3)=$P(LRTST(J,2),U,1)
  1. Q
  1. SET ;
  1. K LRWRD
  1. S LRDPF=$P(^LR(LRDFN,0),U,2),DFN=$P(^(0),U,3) Q:LRDPF<1!(LRDPF=62.3) D PT^LRX
  1. I LRPTS Q:'$D(LRPTS(DFN))
  1. S %=^LR(LRDFN,"CH",LRIDT1,0),LRAN=$P(^(0),U,6),LRLOC=$P(^(0),U,11)
  1. Q:LRLOC="" I LRLCS Q:'$D(LRLCS(LRLOC))
  1. ;S LRWRD="" S:LRDPF=2 LRWRD=$S($D(^DPT(DFN,.1)):^(.1),1:"")
  1. S LRWRD=$G(^DPT(DFN,.1))
  1. S (Y1,LRDAT)=$P(^LR(LRDFN,"CH",LRIDT1,0),U,1),Y2=1
  1. S LRCDT=$$DDDATE^LRAFUNC1(Y1,Y2) K Y1,Y2
  1. ; S LRSUB1=$S(LRSRT="P":PNM_SSN,1:LRLOC)
  1. S LRSUB1=$S(LRSRT="P":PNM_HRCN,1:LRLOC) ;IHS/ANMC/CLS 08/18/96
  1. ; S LRSUB2=$S(LRSRT="P":LRDAT,1:PNM_SSN)
  1. S LRSUB2=$S(LRSRT="P":LRDAT,1:PNM_HRCN) ;IHS/ANMC/CLS 08/18/96
  1. S LRSUB3=$S(LRSRT="P":LRLOC,1:LRDAT)
  1. S LRSPEC=$P(^LR(LRDFN,"CH",LRIDT1,0),U,5) D RRNG
  1. S LRSPEC=$P($G(^LAB(61,LRSPEC,0)),U)
  1. S LRTEST=LRTSTX
  1. S LRVAL=$P(V(LRIDT1,LRSUB),U)
  1. S LRMRK=$P(V(LRIDT1,LRSUB),U,2)
  1. ; I LRSRT="P" S ^TMP("LR",$J,LRSUB1,LRSPEC,LRTEST,LRIDT)=PNM_U_SSN_U_LRLOC_U_U_LRSPEC_U_U_LRLO_U_LRHI_U_LRVAL_U_LRMRK_U_LRTHER_U_LRWRD_U_LRAN_U_LRDAT_U_LRTEST_U_LRUNITS
  1. I LRSRT="P" S ^TMP("LR",$J,LRSUB1,LRSPEC,LRTEST,LRIDT)=PNM_U_HRCN_U_LRLOC_U_U_LRSPEC_U_U_LRLO_U_LRHI_U_LRVAL_U_LRMRK_U_LRTHER_U_LRWRD_U_LRAN_U_LRDAT_U_LRTEST_U_LRUNITS ;IHS/ANMC/CLS 08/18/96
  1. ; I LRSRT'="P" S ^TMP("LR",$J,LRLOC,LRSUB2,LRSPEC,LRTEST,LRIDT)=PNM_U_SSN_U_LRLOC_U_U_LRSPEC_U_U_LRLO_U_LRHI_U_LRVAL_U_LRMRK_U_LRTHER_U_LRWRD_U_LRAN_U_LRDAT_U_LRTEST_U_LRUNITS
  1. I LRSRT'="P" S ^TMP("LR",$J,LRLOC,LRSUB2,LRSPEC,LRTEST,LRIDT)=PNM_U_HRCN_U_LRLOC_U_U_LRSPEC_U_U_LRLO_U_LRHI_U_LRVAL_U_LRMRK_U_LRTHER_U_LRWRD_U_LRAN_U_LRDAT_U_LRTEST_U_LRUNITS ;IHS/ANMC/CLS 08/18/96
  1. S C=0
  1. F S C=$O(^LR(LRDFN,"CH",LRIDT,1,C)) Q:'C D
  1. . I LRSRT="P" S ^TMP("LR",$J,LRSUB1,LRSPEC,LRTEST,LRIDT,"COM",C)=^LR(LRDFN,"CH",LRIDT,1,C,0)
  1. . I LRSRT'="P" S ^TMP("LR",$J,LRLOC,LRSUB2,LRSPEC,LRTEST,LRIDT,"COM",C)=^LR(LRDFN,"CH",LRIDT,1,C,0)
  1. Q
  1. RRNG ;
  1. N LRFLAG
  1. S (LRHI,LRLO,LRTHER,LRFLAG)="",X="CH;"_LRSUB_";1",X=$O(^LAB(60,"C",X,0))
  1. S LRTSTX=$P(^LAB(60,X,.1),U)
  1. S LRUNITS=$P($G(^LAB(60,X,1,LRSPEC,0)),"^",7)
  1. S:$L(X)&$L(LRSPEC) X=$S($D(^LAB(60,X,1,LRSPEC,0)):^(0),1:"") Q:X=""
  1. ;
  1. ; check for ranges in file 63
  1. D CHK63
  1. ;
  1. S LRTHER=$P(X,U,11)'=""&($P(X,U,12)'="")
  1. S LRLO=$S('LRTHER:$P(X,U,2),1:$P(X,U,11))
  1. S LRHI=$S('LRTHER:$P(X,U,3),1:$P(X,U,12))
  1. I 'LRFLAG D
  1. . S @("LRLO="_$S($L(LRLO):LRLO,1:""""""))
  1. . S @("LRHI="_$S($L(LRHI):LRHI,1:""""""))
  1. Q
  1. ;
  1. CHK63 ;
  1. N LR63DAT,PC5
  1. S LR63DAT=$G(^LR(LRDFN,"CH",LRIDT,LRSUB))
  1. I $G(^LR(LRDFN,"CH",LRIDT,"NPC"))>1,$P(LR63DAT,U,5,12)'="" S LRFLAG=1
  1. I LRFLAG D
  1. .S PC5=$P(LR63DAT,U,5)
  1. .S PC5=$TR(PC5,"!","^")
  1. .S X=PC5
  1. Q