- LRGEN ;SLC/RWF - GENERAL REPORT FOR SELECTED TESTS ;8/11/97 [ 04/14/2003 8:08 AM ]
- ;;5.2T9;LR;**1003,1006,1018**;Nov 17, 2004
- ;;5.2;LAB SERVICE;**121,201,202,242**;Sep 27, 1994
- ;from option LRGEN
- BEGIN D ^LRPARAM W !!?20,"GENERAL LAB DATA DISPLAY"
- K DIC,LRTP S (LRTP,LREND)=0 D ^LRDPA I LRDFN'=-1 D GEN
- END K ^TMP("LR",$J),A8,C,DFN,DOB,DTOUT,DUOUT,I,II,IOBS,J,LRAA,LRAAC,LRAD,LRAN,LRCMNT,LRCW,LRDAT,LRDFN,LRDPF,LREDT,LREND,LREX,LREXPD,LRFFLG,LRFOOT,LRHDR,LRHI,LRIDT,LRIDT1,LRIX,LRLLT,LRLO,LRND,LRNG,LRNON,LRNOP,LRNOTE,LRONESPC,LRONETST
- ;K LRORD,LRPAGE,LRPG,LRPP,LRPR,LRPS,LRSC,LRSDT,LRSSP,LRSUB,LRSV,LRTEST,LRTHER,LRTN,LRTP,LRTSTS,LRWPL,LRWRD,LRX,LRY,PNM,POP,S,S1,S2,SSN,T,X,Y,Z
- ;----- BEGIN IHS MODIFICATIONS LR*5.2*1018
- K LRORD,LRPAGE,LRPG,LRPP,LRPR,LRPS,LRSC,LRSDT,LRSSP,LRSUB,LRSV,LRTEST,LRTHER,LRTN,LRTP,LRTSTS,LRWPL,LRWRD,LRX,LRY,PNM,POP,S,S1,S2,SSN,HRCN,T,X,Y,Z ;IHS/ANMC/CLS 11/1/95
- ;----- END IHS MODIFICATIONS
- K LRODT0
- Q
- GEN I $O(^LR(LRDFN,0))="" W !,"NO LAB DATA ON THIS PATIENT!",$C(7) Q
- S LRCW=10,LRPAGE=0 K ^TMP("LR",$J),LRTSTS,LRORD,LRTEST,LRSUB,LRHDR,LRSSP,LRHI,LRLO
- D TESTS^LRGEN2 K DIC Q:LREND!'LRTSTS I LRTSTS>18 D GEN^LRRP2 Q
- DATE S LREDT="T-14" D ^LRWU3 Q:LREND S LREDT=9999999-LREDT K LRSV,DIC
- Q:LRIX=0 S LREND=0,LRWPL=IOSL-(3*LRIX)\LRIX,LRSC=LRIX,LRIDT=9999999-LRSDT
- F II=1:1:LRIX S LRIDT(II)=LRIDT
- S %ZIS="MQ",ZTRTN="DQ^LRGEN1" D IO^LRWU
- Q
- EN2 ;from LRSOR1
- D DATE
- Q
- OR ;OE/RR entry point
- Q:'$D(ORVP) S KILL=1 I '$D(LRPARAM) D EN^LRPARAM S KILL=0
- D DT^LRX K DIC,LRTP S (LRTP,LREND)=0,DFN=+ORVP,LRDPF=+$P(@("^"_$P(ORVP,";",2)_"0)"),"^",2)_"^"_$P(ORVP,";",2) D END^LRDPA Q:LRDFN<1
- D GEN,END
- I 'KILL K LRBLOOD,LRDT0,LRPARAM,LRPLASMA,LRSERUM,LRUNKNOW,LRURINE
- K KILL Q
- SET ;Initial Set up for CPRS call
- N LRDONT
- S (LRTP,LRPAGE,LREND)=0,LRCW=10,LRDONT=1
- D SET^LRRP4,TESTS^LRGEN2
- Q
- SET1 ;Print patient report for CPRS
- I '$D(^DPT(DFN,"LR")) W !,"No Lab Data for: "_$P(^(0),"^") Q
- S LRDFN=$$LRDFN^LR7OR1(DFN) I 'LRDFN W !,"No Lab Data for: "_$P(^DPT(DFN,0),"^") Q
- I '$D(^LR(LRDFN,0)) W !,"No Lab Data for: "_$P(^DPT(DFN,0),"^") Q
- I $D(LRPRETTY),$O(LRTEST(0)) S X=LRTEST($O(LRTEST(0))) I $L(X) D @X Q
- I LRTSTS>18 W !!,"Too many tests! Will use alternate format. May show extra tests." S (LREND,LRFOOT,LRSTOP)=0,LRCW=8,LRHF=1,(LRONESPC,LRONETST)="" D GDQ^LRRP2 Q
- S LRWPL=IOSL-(3*LRIX)\LRIX,LRSC=LRIX,LRIDT=LRSDT
- F II=1:1:LRIX S LRIDT(II)=LRIDT
- U IO S LRCW=LRCW-3,LRDPF=$P(^LR(LRDFN,0),U,2),DFN=$P(^(0),U,3),LRY=2 D DT^LRX,PT^LRX
- D HEAD^LRGEN1
- F I=0:0 D NX^LRGEN1 Q:LREND
- Q
- LRGEN ;SLC/RWF - GENERAL REPORT FOR SELECTED TESTS ;8/11/97 [ 04/14/2003 8:08 AM ]
- +1 ;;5.2T9;LR;**1003,1006,1018**;Nov 17, 2004
- +2 ;;5.2;LAB SERVICE;**121,201,202,242**;Sep 27, 1994
- +3 ;from option LRGEN
- BEGIN DO ^LRPARAM
- WRITE !!?20,"GENERAL LAB DATA DISPLAY"
- +1 KILL DIC,LRTP
- SET (LRTP,LREND)=0
- DO ^LRDPA
- IF LRDFN'=-1
- DO GEN
- END KILL ^TMP("LR",$JOB),A8,C,DFN,DOB,DTOUT,DUOUT,I,II,IOBS,J,LRAA,LRAAC,LRAD,LRAN,LRCMNT,LRCW,LRDAT,LRDFN,LRDPF,LREDT,LREND,LREX,LREXPD,LRFFLG,LRFOOT,LRHDR,LRHI,LRIDT,LRIDT1,LRIX,LRLLT,LRLO,LRND,LRNG,LRNON,LRNOP,LRNOTE,LRONESPC,LRONETST
- +1 ;K LRORD,LRPAGE,LRPG,LRPP,LRPR,LRPS,LRSC,LRSDT,LRSSP,LRSUB,LRSV,LRTEST,LRTHER,LRTN,LRTP,LRTSTS,LRWPL,LRWRD,LRX,LRY,PNM,POP,S,S1,S2,SSN,T,X,Y,Z
- +2 ;----- BEGIN IHS MODIFICATIONS LR*5.2*1018
- +3 ;IHS/ANMC/CLS 11/1/95
- KILL LRORD,LRPAGE,LRPG,LRPP,LRPR,LRPS,LRSC,LRSDT,LRSSP,LRSUB,LRSV,LRTEST,LRTHER,LRTN,LRTP,LRTSTS,LRWPL,LRWRD,LRX,LRY,PNM,POP,S,S1,S2,SSN,HRCN,T,X,Y,Z
- +4 ;----- END IHS MODIFICATIONS
- +5 KILL LRODT0
- +6 QUIT
- GEN IF $ORDER(^LR(LRDFN,0))=""
- WRITE !,"NO LAB DATA ON THIS PATIENT!",$CHAR(7)
- QUIT
- +1 SET LRCW=10
- SET LRPAGE=0
- KILL ^TMP("LR",$JOB),LRTSTS,LRORD,LRTEST,LRSUB,LRHDR,LRSSP,LRHI,LRLO
- +2 DO TESTS^LRGEN2
- KILL DIC
- IF LREND!'LRTSTS
- QUIT
- IF LRTSTS>18
- DO GEN^LRRP2
- QUIT
- DATE SET LREDT="T-14"
- DO ^LRWU3
- IF LREND
- QUIT
- SET LREDT=9999999-LREDT
- KILL LRSV,DIC
- +1 IF LRIX=0
- QUIT
- SET LREND=0
- SET LRWPL=IOSL-(3*LRIX)\LRIX
- SET LRSC=LRIX
- SET LRIDT=9999999-LRSDT
- +2 FOR II=1:1:LRIX
- SET LRIDT(II)=LRIDT
- +3 SET %ZIS="MQ"
- SET ZTRTN="DQ^LRGEN1"
- DO IO^LRWU
- +4 QUIT
- EN2 ;from LRSOR1
- +1 DO DATE
- +2 QUIT
- OR ;OE/RR entry point
- +1 IF '$DATA(ORVP)
- QUIT
- SET KILL=1
- IF '$DATA(LRPARAM)
- DO EN^LRPARAM
- SET KILL=0
- +2 DO DT^LRX
- KILL DIC,LRTP
- SET (LRTP,LREND)=0
- SET DFN=+ORVP
- SET LRDPF=+$PIECE(@("^"_$PIECE(ORVP,";",2)_"0)"),"^",2)_"^"_$PIECE(ORVP,";",2)
- DO END^LRDPA
- IF LRDFN<1
- QUIT
- +3 DO GEN
- DO END
- +4 IF 'KILL
- KILL LRBLOOD,LRDT0,LRPARAM,LRPLASMA,LRSERUM,LRUNKNOW,LRURINE
- +5 KILL KILL
- QUIT
- SET ;Initial Set up for CPRS call
- +1 NEW LRDONT
- +2 SET (LRTP,LRPAGE,LREND)=0
- SET LRCW=10
- SET LRDONT=1
- +3 DO SET^LRRP4
- DO TESTS^LRGEN2
- +4 QUIT
- SET1 ;Print patient report for CPRS
- +1 IF '$DATA(^DPT(DFN,"LR"))
- WRITE !,"No Lab Data for: "_$PIECE(^(0),"^")
- QUIT
- +2 SET LRDFN=$$LRDFN^LR7OR1(DFN)
- IF 'LRDFN
- WRITE !,"No Lab Data for: "_$PIECE(^DPT(DFN,0),"^")
- QUIT
- +3 IF '$DATA(^LR(LRDFN,0))
- WRITE !,"No Lab Data for: "_$PIECE(^DPT(DFN,0),"^")
- QUIT
- +4 IF $DATA(LRPRETTY)
- IF $ORDER(LRTEST(0))
- SET X=LRTEST($ORDER(LRTEST(0)))
- IF $LENGTH(X)
- DO @X
- QUIT
- +5 IF LRTSTS>18
- WRITE !!,"Too many tests! Will use alternate format. May show extra tests."
- SET (LREND,LRFOOT,LRSTOP)=0
- SET LRCW=8
- SET LRHF=1
- SET (LRONESPC,LRONETST)=""
- DO GDQ^LRRP2
- QUIT
- +6 SET LRWPL=IOSL-(3*LRIX)\LRIX
- SET LRSC=LRIX
- SET LRIDT=LRSDT
- +7 FOR II=1:1:LRIX
- SET LRIDT(II)=LRIDT
- +8 USE IO
- SET LRCW=LRCW-3
- SET LRDPF=$PIECE(^LR(LRDFN,0),U,2)
- SET DFN=$PIECE(^(0),U,3)
- SET LRY=2
- DO DT^LRX
- DO PT^LRX
- +9 DO HEAD^LRGEN1
- +10 FOR I=0:0
- DO NX^LRGEN1
- IF LREND
- QUIT
- +11 QUIT