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

ORCXPND3.m

Go to the documentation of this file.
  1. ORCXPND3 ; SLC/MKB,dcm - Expanded display of Reports ;08/31/09 09:35
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**25,30,43,85,172,243,280,527**;Dec 17, 1997;Build 19
  1. ;
  1. AP ; -- Retrieve AP results for a specific date/time specimen taken
  1. ; [alert follow-up, from LABS^ORCXPND1]
  1. N ORLRSS,ORDTSTKN S ORLRSS=$P($G(XQADATA),U),ORDTSTKN=$P($G(XQADATA),U,3)
  1. I ORLRSS?1(1"SP",1"CY",1"EM",1"AU"),ORDTSTKN'="" D
  1. . N ORLRDFN S ORLRDFN=$$LRDFN^LR7OR1(DFN) ;DBIA/ICR #2503
  1. . K ^TMP("ORAP",$J) D EN^LR7OSAP4("^TMP(""ORAP"",$J)",ORLRDFN,ORLRSS,ORDTSTKN)
  1. . I '$O(^TMP("ORAP",$J,0)) S ^TMP("ORAP",$J,1,0)="",^TMP("ORAP",$J,2,0)="No Anatomic Pathology report available..."
  1. . N I S I=0 F S I=$O(^TMP("ORAP",$J,I)) Q:I<1 S X=^(I,0),LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X
  1. . K ^TMP("ORAP",$J)
  1. Q
  1. ;
  1. LRA ; -- Anatomic Pathology Report
  1. N DFN,Y,I,LRLLOC,LRQ
  1. D TIT^ORCXPNDR("Anatomic Path Report") Q:$$OS^ORCXPNDR()
  1. D PREP^ORCXPNDR
  1. D RPT^ORWRP(.Y,ID,3)
  1. D ITEM^ORCXPND("Anatomic Path Report")
  1. S I=3 F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("ORDATA",$J,1,I)
  1. K ^TMP("ORDATA",$J)
  1. Q
  1. ;
  1. LRAA ; -- Alternate Anatomic Path Report
  1. N DFN,Y,I,LRLLOC,LRQ
  1. D TIT^ORCXPNDR("Alternate Anatomic Path Report") Q:$$OS^ORCXPNDR()
  1. D PREP^ORCXPNDR I $$OS^ORCXPNDR() Q
  1. D AP^LR7OSUM(ID)
  1. D ITEM^ORCXPND("Anatomic Pathology Report")
  1. I '$O(^TMP("LRC",$J,0)) S ^TMP("LRC",$J,1,0)="No Anatomic Pathology reports available..."
  1. S I=0 F S I=$O(^TMP("LRC",$J,I)) Q:I<1 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("LRC",$J,I,0)
  1. K ^TMP("LRC",$J)
  1. Q
  1. ;
  1. LRB1 ; -- Blood Bank Report
  1. N DFN,Y,I,LRBLOOD,LRCAPA,LRDT0,LRLABKY,LRLLOC,LRO,LRPCEVSO,LRPLASMA,LRSERUM,LRT,LRUNKNOW,LRURINE,LRVIDO,LRVIDOF
  1. D TIT^ORCXPNDR("Blood Bank Report") Q:$$OS^ORCXPNDR()
  1. D PREP^ORCXPNDR
  1. D RPT^ORWRP(.Y,ID,2)
  1. D ITEM^ORCXPND("Blood Bank Report")
  1. S I=5 F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("ORDATA",$J,1,I)
  1. K ^TMP("ORDATA",$J)
  1. Q
  1. ;
  1. LRB ; -- A better Blood Bank Report
  1. N DFN,ORY,I,SUBHEAD
  1. D TIT^ORCXPNDR("Blood Bank Report")
  1. S DFN=ID
  1. D PREP^ORCXPNDR
  1. I $$GET^XPAR("DIV^SYS^PKG","OR VBECS ON",1,"Q"),$L($T(EN^ORWLR1)),$L($T(CPRS^VBECA3B)) D Q ;Transition to VBEC's interface
  1. . K ^TMP("ORLRC",$J)
  1. . ;D EN^ORWLR1(DFN) ;RLM
  1. . D EN^VBECRPT ;RLM
  1. . I '$O(^TMP("ORLRC",$J,0)) S ^TMP("ORLRC",$J,1,0)="",^TMP("ORLRC",$J,2,0)="No Blood Bank report available..."
  1. . D ITEM^ORCXPND("Blood Bank Report"),BLANK^ORCXPND
  1. . S I=0 F S I=$O(^TMP("ORLRC",$J,I)) Q:I'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("ORLRC",$J,I,0)
  1. . K ^TMP("ORLRC",$J)
  1. S SUBHEAD("BLOOD BANK")=""
  1. D EN^LR7OSUM(.ORY,DFN,,,,,.SUBHEAD)
  1. I '$O(^TMP("LRC",$J,0)) S ^TMP("LRC",$J,1,0)="No Blood Bank report available..."
  1. D ITEM^ORCXPND("Blood Bank Report"),BLANK^ORCXPND
  1. S I=0 F S I=$O(^TMP("LRC",$J,I)) Q:I'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("LRC",$J,I,0)
  1. K ^TMP("LRC",$J),^TMP("LRH",$J)
  1. Q
  1. ;
  1. LRC ; -- Lab Cumulative
  1. N DFN,ORY,I,BEG,END,OREND,ORSSTRT,ORSSTOP
  1. D TIT^ORCXPNDR("Lab Cumulative")
  1. S DFN=ID
  1. D RANGE($S($G(ORWARD):7,1:180)) Q:OREND S BEG=+ORSSTRT,END=+ORSSTOP
  1. D PREP^ORCXPNDR
  1. D EN^LR7OSUM(.ORY,DFN,BEG,END)
  1. D ITEM^ORCXPND("Lab Cumulative"),BLANK^ORCXPND
  1. S I=0 F S I=$O(^TMP("LRC",$J,I)) Q:I'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=^TMP("LRC",$J,I,0)
  1. K ^TMP("LRC",$J),^TMP("LRH",$J)
  1. Q
  1. ;
  1. LRG ; -- Graph Lab Tests
  1. N DFN,Y,I,X,BCNT,LRSS,LRCW,LRFLAG,LRCTRL,LRNSET,N,LOW,LRPCEVSO,LRPRAC,LRRB,LRTREA,LRVIDO,LRVIDOF,OREND,ORSSTRT,ORSSTOP
  1. D TIT^ORCXPNDR("Graph Lab Tests") Q:$$OS^ORCXPNDR()
  1. D RANGE($S($G(ORWARD):7,1:180)) Q:OREND
  1. S LRSS="CH",LRCW=8,LRFLAG="",LRCTRL=0,(LRNSET,N)=80
  1. D L2^LRDIST4 Q:'$D(LRTEST)
  1. D PREP^ORCXPNDR
  1. D RPT^ORWRP(.Y,ID,8,,,,+ORSSTRT,+ORSSTOP)
  1. D ITEM^ORCXPND("Lab Graph")
  1. S I=4,BCNT=0
  1. F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D
  1. . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
  1. . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
  1. K ^TMP("ORDATA",$J)
  1. Q
  1. ;
  1. LRI ; -- Interim Lab Results
  1. N ORX,DFN,Y,I,X,BCNT,LREDT,LRIDT,LRLLT,LRPCEVSO,LRPRAC,LRRB,LRTREA,LRVIDO,LRVIDOF,OREND,ORSSTRT,ORSSTOP
  1. D TIT^ORCXPNDR("Lab Interim Results") Q:$$OS^ORCXPNDR()
  1. D RANGE($S($G(ORWARD):7,1:180)) Q:OREND
  1. D SET^LRRP4
  1. D PREP^ORCXPNDR
  1. D RPT^ORWRP(.Y,ID,3,,,,+ORSSTRT,+ORSSTOP)
  1. D ITEM^ORCXPND("Lab Interim Report")
  1. S I=0,BCNT=0
  1. F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D
  1. . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
  1. . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
  1. K ^TMP("ORDATA",$J)
  1. Q
  1. ;
  1. LRGEN ;Lab Results by Test
  1. N DFN,Y,I,II,X,BCNT,LRPRETTY,LREDT,LRLLT,LRPCEVSO,LRPRAC,LRRB,LRTREA,LRVIDO,LRVIDOF,LRCW,LREND,LRTP,LRIX,LRWPL,LRIDT,LRSC,DIC,LRTSTS,LRORD,LRTEST,LRSUB,LRHDR,LRSSP,LRHI,LRLO
  1. N LBL,LRBLOOD,LRDAT,LRDFN,LRDPF,LRDT0,LREX,LRFFLG,LRFOOT,LRLAB,LRLABKY,LRND,LRNG,LRNOP,LRNOTE,LRODT0,LRONESPC,LRONETST,LRPAGE,LRPARAM,LRPLASMA,LRPP,LRSERUM,LRPS,LRTN,LRUNKNOW,LRURINE,LRWRD,LRX,LRY
  1. N AGE,I,INC,LRIDT1,LRSV,OREND,ORSSTRT,ORSSTOP
  1. K ^TMP("LR",$J)
  1. D TIT^ORCXPNDR("Lab Results by Test") Q:$$OS^ORCXPNDR()
  1. D RANGE($S($G(ORWARD):7,1:180)) Q:OREND
  1. D SET^LRGEN
  1. Q:LREND!'LRTSTS
  1. D PREP^ORCXPNDR
  1. D RPT^ORWRP(.Y,ID,16,,,,+ORSSTRT,+ORSSTOP)
  1. D ITEM^ORCXPND("Lab Results by Test")
  1. S I=1,BCNT=0
  1. F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D
  1. . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
  1. . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
  1. K ^TMP("ORDATA",$J)
  1. Q
  1. ;
  1. STAT ; -- Lab test status
  1. N DFN,Y,I,X,BCNT,OREND,ORSSTRT,ORSSTOP
  1. D TIT^ORCXPNDR("Lab Test Status") Q:$$OS^ORCXPNDR()
  1. D RANGE($S($G(ORWARD):7,1:180)) Q:$G(OREND)
  1. D PREP^ORCXPNDR
  1. D RPT^ORWRP(.Y,ID,9,,,,+ORSSTRT,+ORSSTOP)
  1. D ITEM^ORCXPND("Lab Test Status")
  1. S I=0,BCNT=0
  1. F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=$S($D(^(I))#2:^(I),$D(^(I,0))#2:^(0),1:"") D
  1. . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
  1. . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
  1. K ^TMP("ORDATA",$J)
  1. Q
  1. ;
  1. RANGE(BEG) ;Get date range for report
  1. ;BEG=# of days (T-BEG) for start default
  1. ;Output: ORSSTRT=Start date/time
  1. ; ORSSTOP=Stop date/time
  1. ; OREND=1 if user '^'s out, so look for it!
  1. S BEG=$$FMADD^XLFDT(DT,-$G(BEG)),END=$$NOW^XLFDT
  1. D RANGE^ORPRS01(BEG,END)
  1. Q
  1. ;
  1. MED(MED) ; -- Medicine Summary of Patient Procedures
  1. N DFN,Y,I,X,BCNT,OREND,PROCID
  1. D TIT^ORCXPNDR("Summary of Patient Procedures") Q:$$OS^ORCXPNDR()
  1. D PREP^ORCXPNDR
  1. S DFN=+ID,PROCID=$P(MED,"~",2)
  1. D RPT^ORWRP(.Y,DFN,19,,,PROCID)
  1. D ITEM^ORCXPND("Summary of Patient Procedures")
  1. S I=4,BCNT=0
  1. F S I=$O(^TMP("ORDATA",$J,1,I)) Q:I<1 S X=^(I) D
  1. . I '$L(X) S BCNT=BCNT+1 I BCNT>1 Q
  1. . I $E(X,1,4)="Pg. " Q
  1. . I X["PHYSICIANS' SIGNATURE" Q
  1. . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X S:$L(X) BCNT=0
  1. K ^TMP("ORDATA",$J)
  1. Q