| 1 | LRRP2 ;DALOI/RWF-INTERIM REPORT ;8/11/97
 | 
|---|
| 2 |  ;;5.2;LAB SERVICE;**106,121,221,283,300**;Sep 27, 1994
 | 
|---|
| 3 |  ;from option LRRP2
 | 
|---|
| 4 | BEGIN D INIT K DIC S LRPRTPG=0 D ^LRDPA D:LRDFN>0 START G:LRDFN<0 END G BEGIN
 | 
|---|
| 5 | END D ^LRRK
 | 
|---|
| 6 |  Q
 | 
|---|
| 7 | CUM ;ENTRY POINT FOR CUMULATIVE OPTIONS- LRAC PT,LRAC 1 PAGE, LRAC MANUAL
 | 
|---|
| 8 |  S LRPRTPG=1
 | 
|---|
| 9 | SUM ;ENTRY POINT FROM SUM^LRACM2- PRINT A FULL PATIENT SUMMARY
 | 
|---|
| 10 |  D INIT K DIC D ^LRDPA D:LRDFN>0 START G:LRDFN<0 END
 | 
|---|
| 11 |  Q
 | 
|---|
| 12 | START I $O(^LR(LRDFN,0))="" W !,"NO LAB DATA ON THIS PATIENT!",$C(7) Q
 | 
|---|
| 13 |  S LRLAB=$S($D(LRLABKY):1,1:0)
 | 
|---|
| 14 |  I $D(LRCUM) S LRIDT=0,LREDT=9999999
 | 
|---|
| 15 |  E  D
 | 
|---|
| 16 |  . S LREDT="T-7" D ^LRWU3 Q:LREND
 | 
|---|
| 17 |  . S LRIDT=9999999-LRSDT,LREDT=9999999-LREDT
 | 
|---|
| 18 |  I LREND Q
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 | ASKPG I '$G(LRPRTPG) D
 | 
|---|
| 21 |  . S DIR(0)="Y",DIR("A")="Print address page",DIR("B")="NO",LRPRTPG=0
 | 
|---|
| 22 |  . D ^DIR K DIR
 | 
|---|
| 23 |  . I Y S LRPRTPG=1
 | 
|---|
| 24 |  S %ZIS="Q",ZTSAVE("DFN")="",ZTSAVE("LR*")="",ZTRTN="SDQ^LRRP2"
 | 
|---|
| 25 |  D IO^LRWU
 | 
|---|
| 26 |  Q
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 | SDQ ; dequeued
 | 
|---|
| 30 |  S:$D(ZTQUEUED) ZTREQ="@" U IO D PT^LRX
 | 
|---|
| 31 |  F  S LRCNIDT=+$O(^LR(LRDFN,"CH",LRIDT)),LRMNIDT=+$O(^LR(LRDFN,"MI",LRIDT)) Q:'LRCNIDT&'LRMNIDT  D SWITCH Q:LREND!LRSTOP!(LRIDT>LREDT)
 | 
|---|
| 32 |  D FOOT^LRRP1
 | 
|---|
| 33 |  D:$G(LRPRTPG) PLSPG
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 | SWITCH I LRCNIDT=LRMNIDT S LRIDT=LRCNIDT Q:LRIDT>LREDT  D CH,MI Q
 | 
|---|
| 37 |  I 'LRMNIDT S LRIDT=LRCNIDT Q:LRIDT>LREDT  D CH Q
 | 
|---|
| 38 |  I 'LRCNIDT S LRIDT=LRMNIDT Q:LRIDT>LREDT  D MI Q
 | 
|---|
| 39 |  I LRCNIDT<LRMNIDT S LRIDT=LRCNIDT Q:LRIDT>LREDT  D CH Q
 | 
|---|
| 40 |  S LRIDT=LRMNIDT Q:LRIDT>LREDT  D MI
 | 
|---|
| 41 |  Q
 | 
|---|
| 42 |  ;
 | 
|---|
| 43 | GENP W !!,"Too many tests!  Will use alternate format.  May show extra tests.",!
 | 
|---|
| 44 |  S LREDT="T-7" D ^LRWU3 Q:LREND  S LRSDT=9999999-LRSDT,LREDT=9999999-LREDT
 | 
|---|
| 45 |  K ^TMP("LR",$J,"T"),LRORD,LRTSTS S ZTSAVE("^TMP(""LR"",$J,")="",ZTSAVE("DFN")="",ZTRTN="GDQ^LRRP2" D IO^LRWU
 | 
|---|
| 46 |  Q
 | 
|---|
| 47 |  ;
 | 
|---|
| 48 | GDQ ;dequeued
 | 
|---|
| 49 |  S:$D(ZTQUEUED) ZTREQ="@" U IO D PT^LRX
 | 
|---|
| 50 |  S LRSUB="" F  S LRSUB=$O(^TMP("LR",$J,"TMP",LRSUB)) Q:LRSUB=""  S X=+$P(LRSUB,";",2),^TMP("LR",$J,"T",X)=""
 | 
|---|
| 51 |  S LRIDT=LRSDT F  S LRIDT=$O(^LR(LRDFN,"CH",LRIDT)) Q:LRIDT<1!(LRIDT>LREDT)  D GEN2 Q:LREND!LRSTOP
 | 
|---|
| 52 |  K ^TMP("LR",$J,"T"),^TMP("LR",$J,"TMP"),LRSDT,LREDT,LRTSTS,LRSUB,LRIDT
 | 
|---|
| 53 |  Q
 | 
|---|
| 54 |  ;
 | 
|---|
| 55 | GEN2 S LRTN=0 F  S LRTN=$O(^LR(LRDFN,"CH",LRIDT,LRTN)) Q:LRTN<1  I $D(^TMP("LR",$J,"T",LRTN)) D CH Q
 | 
|---|
| 56 |  I '$P($G(^LR(LRDFN,"CH",LRIDT,0)),U,3),$O(^LR(LRDFN,"CH",LRIDT,1,0)) D  Q:'$G(LRCAN)  D CH
 | 
|---|
| 57 |  . S LRCAN=0 F  S LRCAN=+$O(^LR(LRDFN,"CH",LRIDT,1,LRCAN)) Q:LRCAN<1  Q:$E($G(^(LRCAN,0)))="*"
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | AIDQUE ;
 | 
|---|
| 62 |  D INIT
 | 
|---|
| 63 |  S LRLAB=$S($D(LRLABKY):1,1:0)
 | 
|---|
| 64 |  K ^TMP($J)
 | 
|---|
| 65 |  S LROCE=$S($D(LROC):LROC,1:""),LROC=$S(LROCE="":$O(^LAB(64.6,"AI","")),1:LROC)
 | 
|---|
| 66 |  D:LROC'="" AI2
 | 
|---|
| 67 |  F  S LROC=$O(^LAB(64.6,"AI",LROC)) Q:LROC=""!($L(LROCE)&(LROC'=LROCE))  D AI2
 | 
|---|
| 68 |  S LROC="UNKNOWN" D AI2
 | 
|---|
| 69 |  ;
 | 
|---|
| 70 | PRT ; Print sorted data
 | 
|---|
| 71 |  U IO K VA D KVAR^VADPT S LREND=0
 | 
|---|
| 72 |  I $O(^TMP($J,0))="" D  Q
 | 
|---|
| 73 |  . W !!?10,"No Interim report Patients to Print "
 | 
|---|
| 74 |  . W !?20,$$HTE^XLFDT($H),!!
 | 
|---|
| 75 |  . D QUIT
 | 
|---|
| 76 |  S LROC=""
 | 
|---|
| 77 |  F  S LROC=$O(^TMP($J,LROC)) Q:LROC=""!($G(LREND))  D
 | 
|---|
| 78 |  . S LRPHY=""
 | 
|---|
| 79 |  . F  S LRPHY=$O(^TMP($J,LROC,LRPHY)) Q:LRPHY=""!($G(LREND))  D
 | 
|---|
| 80 |  . . S LRSSN=""
 | 
|---|
| 81 |  . . F  S LRSSN=$O(^TMP($J,LROC,LRPHY,LRSSN)) Q:LRSSN=""!($G(LREND))  D
 | 
|---|
| 82 |  . . . S LRDFN=0
 | 
|---|
| 83 |  . . . F  S LRHF=1,LRDFN=$O(^TMP($J,LROC,LRPHY,LRSSN,LRDFN)) Q:LRDFN<1!($G(LREND))  D
 | 
|---|
| 84 |  . . . . S LRIDT=0
 | 
|---|
| 85 |  . . . . F  S LRIDT=$O(^TMP($J,LROC,LRPHY,LRSSN,LRDFN,LRIDT)) Q:LRIDT<1!($G(LREND))  D
 | 
|---|
| 86 |  . . . . . S LRSS="",PNM=^(LRIDT),SSN=$P(PNM,U,2),AGE=$P(PNM,U,3),SEX=$P(PNM,U,4),PNM=$P(PNM,U),LRFOOT=0
 | 
|---|
| 87 |  . . . . . D:$D(^LR(LRDFN,"CH",LRIDT,0))#2 CH
 | 
|---|
| 88 |  . . . . . S LRFOOT=0
 | 
|---|
| 89 |  . . . . . I $D(^LR(LRDFN,"MI",LRIDT,0))#2 D
 | 
|---|
| 90 |  . . . . . . I $G(LRSS)="CH" D FOOT^LRRP1 D:$G(LRPRTPG) PLSPG
 | 
|---|
| 91 |  . . . . . . D MI
 | 
|---|
| 92 |  . . . . . I $G(LRSS)="CH" D FOOT^LRRP1 D:$G(LRPRTPG) PLSPG
 | 
|---|
| 93 |  D QUIT
 | 
|---|
| 94 |  Q
 | 
|---|
| 95 |  ;
 | 
|---|
| 96 |  ;
 | 
|---|
| 97 | QUIT ;
 | 
|---|
| 98 |  S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 99 |  D ^%ZISC,^LRRK
 | 
|---|
| 100 |  Q
 | 
|---|
| 101 |  ;
 | 
|---|
| 102 |  ;
 | 
|---|
| 103 | AI2 ;
 | 
|---|
| 104 |  Q:'$L($G(LROC))
 | 
|---|
| 105 |  F LRDFN=0:0 S LRDFN=$O(^LRO(69,"AN",LROC,LRDFN)) Q:LRDFN<1  I $D(^LR(LRDFN,0))#2 D
 | 
|---|
| 106 |  . S LRDPF=$P(^LR(LRDFN,0),U,2),DFN=$P(^(0),U,3) D PT^LRX Q:LREND
 | 
|---|
| 107 |  . I '$G(VAERR) D AI3
 | 
|---|
| 108 |  Q
 | 
|---|
| 109 | AI3 ;
 | 
|---|
| 110 |  Q:$G(LREND)  N LRCAN
 | 
|---|
| 111 |  S LRSSN=$P(PNM,",")_SSN(1)
 | 
|---|
| 112 |  F LRIDT=0:0 S LRIDT=$O(^LRO(69,"AN",LROC,LRDFN,LRIDT)) Q:LRIDT<1  D
 | 
|---|
| 113 |  . S LRND=$S($G(^LR(LRDFN,"CH",LRIDT,0)):^(0),$G(^LR(LRDFN,"MI",LRIDT,0)):^(0),1:"") D
 | 
|---|
| 114 |  . . I $G(^LR(LRDFN,"CH",LRIDT,0)) D
 | 
|---|
| 115 |  . . . I $O(^LR(LRDFN,"CH",LRIDT,1)),$P(LRND,U,3) D AI3SET Q  ; Print verified results.
 | 
|---|
| 116 |  . . . I $O(^LR(LRDFN,"CH",LRIDT,1)) Q  ; Don't print unverified results.
 | 
|---|
| 117 |  . . . S LRCAN=0 F  S LRCAN=+$O(^LR(LRDFN,"CH",LRIDT,1,LRCAN)) Q:LRCAN<1  Q:($E(^(LRCAN,0))="*")
 | 
|---|
| 118 |  . . . I $G(LRCAN) D AI3SET ; Print if cancel comment and no unverified results.
 | 
|---|
| 119 |  . . I $P($G(^LR(LRDFN,"MI",LRIDT,0)),U,3) D
 | 
|---|
| 120 |  . . . S I=$O(^LR(LRDFN,"MI",LRIDT,0)) Q:I'=99  D AI3SET
 | 
|---|
| 121 |  Q
 | 
|---|
| 122 | AI3SET S LRPHY=$P($G(^VA(200,+$P(LRND,U,10),0)),U) S:LRPHY="" LRPHY="UNKNOWN"
 | 
|---|
| 123 |  S ^TMP($J,LROC,LRPHY,LRSSN,LRDFN,LRIDT)=PNM_U_SSN_U_AGE_U_SEX
 | 
|---|
| 124 |  Q
 | 
|---|
| 125 | CH ;Also used by DVBC Package
 | 
|---|
| 126 |  Q:'$G(^LR(LRDFN,"CH",LRIDT,0))
 | 
|---|
| 127 |  N LROC,LRCAN
 | 
|---|
| 128 |  K ^TMP("LR",$J,"TP"),LRTP S LR0=^LR(LRDFN,"CH",LRIDT,0)
 | 
|---|
| 129 |  Q:$O(^LR(LRDFN,"CH",LRIDT,1))&('$P(LR0,U,3))
 | 
|---|
| 130 |  I '$P(LR0,U,3),$O(^LR(LRDFN,"CH",LRIDT,1,0)) D  Q:'$G(LRCAN)
 | 
|---|
| 131 |  . S LRCAN=0 F  S LRCAN=+$O(^LR(LRDFN,"CH",LRIDT,1,LRCAN)) Q:LRCAN<1  Q:$E($G(^(LRCAN,0)))="*"
 | 
|---|
| 132 |  S LRCDT=+LR0,LRSS="CH",LROC=$P(LR0,U,11),LRAA="",LRAAO=1,LRTC=0,LRSPEC=$P(LR0,U,5)
 | 
|---|
| 133 |  D CH^LRRP
 | 
|---|
| 134 |  Q
 | 
|---|
| 135 | MI ;Also used by DVBC package
 | 
|---|
| 136 |  S LRCDT=9999999-LRIDT,^TMP("LR",$J,"TP",1)="^MI",^(1,LRCDT)="",^(LRCDT,-1)="",LRSS="MI",LRH=1 D:LRFOOT FOOT^LRRP1 Q:LRSTOP  D EN1^LRMIPC S LRHF=1,LRFOOT=0 K A,Z,LRH S:LREND LREND=0,LRSTOP=1
 | 
|---|
| 137 |  Q
 | 
|---|
| 138 |  ;
 | 
|---|
| 139 | INIT D EN^LRPARAM
 | 
|---|
| 140 |  S (LREND,LRSTOP,LRPG,LRFOOT)=0,LRCW=8,LRHF=1,(LRONESPC,LRONETST)=""
 | 
|---|
| 141 |  K LRPLS
 | 
|---|
| 142 |  Q
 | 
|---|
| 143 |  ;
 | 
|---|
| 144 | EN69 ;entry point for surgery pkg
 | 
|---|
| 145 |  D START,^LRRK
 | 
|---|
| 146 |  Q
 | 
|---|
| 147 | GEN ;from LRGEN test overflow
 | 
|---|
| 148 |  S LRLAB=$S($D(LRLABKY):1,1:0) D INIT,GENP,^LRRK
 | 
|---|
| 149 |  Q
 | 
|---|
| 150 | DS ;from LRRD, LRRS
 | 
|---|
| 151 |  D INIT S DFN=$P(^LR(LRDFN,0),U,3),LRDPF=$P(^(0),U,2) D SDQ
 | 
|---|
| 152 |  Q
 | 
|---|
| 153 |  ;
 | 
|---|
| 154 |  ;
 | 
|---|
| 155 | AIDQ ;tasked from LRTASK DAILY INTERIM,LRTASK CUM
 | 
|---|
| 156 |  N LRLAB,LRH,LRWRDVEW,LRPRTPG
 | 
|---|
| 157 |  S (LRH,LRWRDVEW)="",LRPRTPG=1
 | 
|---|
| 158 |  D AIDQUE
 | 
|---|
| 159 |  K ^TMP($J)
 | 
|---|
| 160 |  Q
 | 
|---|
| 161 |  ;
 | 
|---|
| 162 |  ;
 | 
|---|
| 163 | DQ ;tasked from LRVER3 thru LRTP for IMMEDIATE INTERIM REPORTING
 | 
|---|
| 164 |  S:$D(ZTQUEUED) ZTREQ="@" D INIT S LRLAB=0,LRDPF=$P(^LR(LRDFN,0),U,2),DFN=$P(^(0),U,3) D PT^LRX D CH D FOOT^LRRP1 D ^%ZISC
 | 
|---|
| 165 |  Q
 | 
|---|
| 166 |  ;
 | 
|---|
| 167 | OR ;OE/RR entry point
 | 
|---|
| 168 |  Q:'$D(ORVP)  S KILL=1 I '$D(LRPARAM) D EN^LRPARAM S KILL=0
 | 
|---|
| 169 |  S (LREND,LRSTOP)=0,LRCW=8,LRHF=1,LRFOOT=0,(LRONESPC,LRONETST)=""
 | 
|---|
| 170 |  D DT^LRX K DIC,LRTP S LRTP=0,DFN=+ORVP,LRDPF=+$P(@("^"_$P(ORVP,";",2)_"0)"),"^",2)_"^"_$P(ORVP,";",2) D END^LRDPA Q:LRDFN<1
 | 
|---|
| 171 |  D START,^LRRK
 | 
|---|
| 172 |  I 'KILL K LRBLOOD,LRDT0,LRPARAM,LRPLASMA,LRSERUM,LRSB,LRTP,LRUNKNOW,LRURINE
 | 
|---|
| 173 |  K KILL
 | 
|---|
| 174 |  Q
 | 
|---|
| 175 |  ;
 | 
|---|
| 176 |  ;
 | 
|---|
| 177 | PLSPG ;PRINT LAST PAGE WITH PERFORMING LAB SITE NAMES AND ADDRESSES
 | 
|---|
| 178 |  W @IOF
 | 
|---|
| 179 |  I $D(LRPG) D
 | 
|---|
| 180 |  .S LRPG=LRPG+1
 | 
|---|
| 181 |  .W !?65,"page ",LRPG
 | 
|---|
| 182 |  W !,PNM,?30,SSN,?50,$$FMTE^XLFDT($$NOW^XLFDT,"5FMPZ")
 | 
|---|
| 183 |  W !!,"PERFORMING LAB SITES"
 | 
|---|
| 184 |  W !!!!
 | 
|---|
| 185 |  S LRPLS=0
 | 
|---|
| 186 |  F  S LRPLS=$O(LRPLS(LRPLS)) Q:LRPLS=""  D 
 | 
|---|
| 187 |  .W "[",LRPLS,"]  ",$$NAME^XUAF4(LRPLS),"     "
 | 
|---|
| 188 |  .S X=$$PADD^XUAF4(LRPLS)
 | 
|---|
| 189 |  .W $P(X,U),"     ",$P(X,U,2),", ",$P(X,U,3)," ",$P(X,U,4)
 | 
|---|
| 190 |  .W !
 | 
|---|
| 191 |  Q
 | 
|---|