| [613] | 1 | LRSORA3 ;SLC/KCM - SEARCH LAB DATA AND PRINT REPORT ;8/28/89  12:07 ;
 | 
|---|
 | 2 |  ;;5.2;LAB SERVICE;**1,344**;Sep 27, 1994
 | 
|---|
 | 3 | BUILD ;
 | 
|---|
 | 4 |  S LRLOG="I "
 | 
|---|
 | 5 |  F %=1:1:$L(LRTST(0)) D
 | 
|---|
 | 6 |  . S LRLOG=LRLOG_$S($E(LRTST(0),%)?1A:"T("_($A(LRTST(0),%)-64)_")",1:$E(LRTST(0),%))
 | 
|---|
 | 7 |  S LRDFN=0,LRLDFN=0,LREND=0
 | 
|---|
 | 8 |  D SHORT:'LRLONG,LONG:LRLONG
 | 
|---|
 | 9 |  Q
 | 
|---|
 | 10 | SHORT ;
 | 
|---|
 | 11 |  S LRVDT=$P(LREDT,".",1)-.01
 | 
|---|
 | 12 |  F  S LRVDT=$O(^LRO(69,LRVDT)) Q:LRVDT=""!(LRVDT>LRSDT)  D
 | 
|---|
 | 13 |  . S LRLLOC=""
 | 
|---|
 | 14 |  . F  S LRLLOC=$O(^LRO(69,LRVDT,1,"AN",LRLLOC)) Q:LRLLOC=""  D
 | 
|---|
 | 15 |  .. S LRDFN=0
 | 
|---|
 | 16 |  .. F  S LRDFN=$O(^LRO(69,LRVDT,1,"AN",LRLLOC,LRDFN)) Q:LRDFN<1  D GIDT
 | 
|---|
 | 17 |  Q
 | 
|---|
 | 18 | GIDT ;
 | 
|---|
 | 19 |  S LRIDT=0
 | 
|---|
 | 20 |  F  S LRIDT=$O(^LRO(69,LRVDT,1,"AN",LRLLOC,LRDFN,LRIDT)) Q:LRIDT<1  D EVTW
 | 
|---|
 | 21 |  Q
 | 
|---|
 | 22 | LONG ;
 | 
|---|
 | 23 |  S LRSDT=9999998-LRSDT,LREDT=9999999-LREDT
 | 
|---|
 | 24 |  S LRDFN=0 F  S LRDFN=$O(^LR(LRDFN)) Q:LRDFN<1  D GDATA
 | 
|---|
 | 25 |  Q
 | 
|---|
 | 26 | GDATA ;
 | 
|---|
 | 27 |  S LRIDT=LRSDT
 | 
|---|
 | 28 |  F  S LRIDT=$O(^LR(LRDFN,"CH",LRIDT)) Q:LRIDT=""!(LRIDT>LREDT)  D
 | 
|---|
 | 29 |  . D:$L($P(^LR(LRDFN,"CH",LRIDT,0),U,3)) EVTW
 | 
|---|
 | 30 |  Q
 | 
|---|
 | 31 | EVTW ;
 | 
|---|
 | 32 |  S %=$G(^LR(LRDFN,"CH",LRIDT,0)) Q:'$L(%)
 | 
|---|
 | 33 |  I LRAA S LRAAA=$P($P(%,U,6)," ") Q:'$D(LRAA(LRAAA))#2
 | 
|---|
 | 34 |  K V F J=1:1:LRTST S T(J)=0
 | 
|---|
 | 35 |  D EVAL Q:$G(LRNOP)  X LRLOG
 | 
|---|
 | 36 |  I $T S LRIDT1=0 F  S LRIDT1=$O(V(LRIDT1)) Q:LRIDT1<1  D
 | 
|---|
 | 37 |  . S LRSUB=0 F  S LRSUB=$O(V(LRIDT1,LRSUB)) Q:LRSUB<1  D SET
 | 
|---|
 | 38 |  Q
 | 
|---|
 | 39 | EVAL ;
 | 
|---|
 | 40 |  F J=1:1:LRTST X LRTST(J,1) D
 | 
|---|
 | 41 |  . I $T S T(J)=1
 | 
|---|
 | 42 |  . I  S X=$P(LRTST(J,3),U,1)
 | 
|---|
 | 43 |  . I  S $P(V(LRIDT,X),U,1)=$P(^LR(LRDFN,"CH",LRIDT,X),U,1)
 | 
|---|
 | 44 |  . I  S $P(V(LRIDT,X),U,2)=$P(^LR(LRDFN,"CH",LRIDT,X),U,2)
 | 
|---|
 | 45 |  . I  S $P(V(LRIDT,X),U,3)=$P(LRTST(J,2),U,1)
 | 
|---|
 | 46 |  Q
 | 
|---|
 | 47 | SET ;
 | 
|---|
 | 48 |  K LRWRD
 | 
|---|
 | 49 |  S LRDPF=$P(^LR(LRDFN,0),U,2),DFN=$P(^(0),U,3) Q:LRDPF<1!(LRDPF=62.3)  D PT^LRX
 | 
|---|
 | 50 |  I LRPTS Q:'$D(LRPTS(DFN))
 | 
|---|
 | 51 |  S %=^LR(LRDFN,"CH",LRIDT1,0),LRAN=$P(^(0),U,6),LRLOC=$P(^(0),U,11)
 | 
|---|
 | 52 |  Q:LRLOC=""  I LRLCS Q:'$D(LRLCS(LRLOC))
 | 
|---|
 | 53 |  ;S LRWRD="" S:LRDPF=2 LRWRD=$S($D(^DPT(DFN,.1)):^(.1),1:"")
 | 
|---|
 | 54 |  S LRWRD=$G(^DPT(DFN,.1))
 | 
|---|
 | 55 |  S (Y1,LRDAT)=$P(^LR(LRDFN,"CH",LRIDT1,0),U,1),Y2=1
 | 
|---|
 | 56 |  S LRCDT=$$DDDATE^LRAFUNC1(Y1,Y2) K Y1,Y2
 | 
|---|
 | 57 |  S LRSUB1=$S(LRSRT="P":PNM_SSN,1:LRLOC)
 | 
|---|
 | 58 |  S LRSUB2=$S(LRSRT="P":LRDAT,1:PNM_SSN)
 | 
|---|
 | 59 |  S LRSUB3=$S(LRSRT="P":LRLOC,1:LRDAT)
 | 
|---|
 | 60 |  S LRSPEC=$P(^LR(LRDFN,"CH",LRIDT1,0),U,5) D RRNG
 | 
|---|
 | 61 |  S LRSPEC=$P($G(^LAB(61,LRSPEC,0)),U)
 | 
|---|
 | 62 |  S LRTEST=LRTSTX
 | 
|---|
 | 63 |  S LRVAL=$P(V(LRIDT1,LRSUB),U)
 | 
|---|
 | 64 |  S LRMRK=$P(V(LRIDT1,LRSUB),U,2)
 | 
|---|
 | 65 |  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
 | 
|---|
 | 66 |  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
 | 
|---|
 | 67 |  S C=0
 | 
|---|
 | 68 |  F  S C=$O(^LR(LRDFN,"CH",LRIDT,1,C)) Q:'C  D
 | 
|---|
 | 69 |  . I LRSRT="P" S ^TMP("LR",$J,LRSUB1,LRSPEC,LRTEST,LRIDT,"COM",C)=^LR(LRDFN,"CH",LRIDT,1,C,0)
 | 
|---|
 | 70 |  . I LRSRT'="P" S ^TMP("LR",$J,LRLOC,LRSUB2,LRSPEC,LRTEST,LRIDT,"COM",C)=^LR(LRDFN,"CH",LRIDT,1,C,0)
 | 
|---|
 | 71 |  Q
 | 
|---|
 | 72 | RRNG ;
 | 
|---|
 | 73 |  N LRFLAG
 | 
|---|
 | 74 |  S (LRHI,LRLO,LRTHER,LRFLAG)="",X="CH;"_LRSUB_";1",X=$O(^LAB(60,"C",X,0))
 | 
|---|
 | 75 |  S LRTSTX=$P(^LAB(60,X,.1),U)
 | 
|---|
 | 76 |  S LRUNITS=$P($G(^LAB(60,X,1,LRSPEC,0)),"^",7)
 | 
|---|
 | 77 |  S:$L(X)&$L(LRSPEC) X=$S($D(^LAB(60,X,1,LRSPEC,0)):^(0),1:"") Q:X=""
 | 
|---|
 | 78 |  ;
 | 
|---|
 | 79 |  ; check for ranges in file 63
 | 
|---|
 | 80 |  D CHK63
 | 
|---|
 | 81 |  ;
 | 
|---|
 | 82 |  S LRTHER=$P(X,U,11)'=""&($P(X,U,12)'="")
 | 
|---|
 | 83 |  S LRLO=$S('LRTHER:$P(X,U,2),1:$P(X,U,11))
 | 
|---|
 | 84 |  S LRHI=$S('LRTHER:$P(X,U,3),1:$P(X,U,12))
 | 
|---|
 | 85 |  I 'LRFLAG D
 | 
|---|
 | 86 |  . S @("LRLO="_$S($L(LRLO):LRLO,1:""""""))
 | 
|---|
 | 87 |  . S @("LRHI="_$S($L(LRHI):LRHI,1:""""""))
 | 
|---|
 | 88 |  Q
 | 
|---|
 | 89 |  ;
 | 
|---|
 | 90 | CHK63 ;
 | 
|---|
 | 91 |  N LR63DAT,PC5
 | 
|---|
 | 92 |  S LR63DAT=$G(^LR(LRDFN,"CH",LRIDT,LRSUB))
 | 
|---|
 | 93 |  I $G(^LR(LRDFN,"CH",LRIDT,"NPC"))>1,$P(LR63DAT,U,5,12)'="" S LRFLAG=1
 | 
|---|
 | 94 |  I LRFLAG D
 | 
|---|
 | 95 |  .S PC5=$P(LR63DAT,U,5)
 | 
|---|
 | 96 |  .S PC5=$TR(PC5,"!","^")
 | 
|---|
 | 97 |  .S X=PC5
 | 
|---|
 | 98 |  Q
 | 
|---|