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

LR7OGMP.m

Go to the documentation of this file.
  1. LR7OGMP ;DALOI/STAFF- Interim report rpc memo print ;11/20/09 10:36
  1. ;;5.2;LAB SERVICE;**187,246,282,286,344,395,350**;Sep 27, 1994;Build 230
  1. ;
  1. PRINT(OUTCNT) ; from LR7OGMC
  1. N ACC,AGE,CDT,CMNT,DATA,DOC,FLAG,HIGH,IDT,INTP,LINE,LOW,LRCW,LRDRL,LREAL,LRX,PORDER,PRNTCODE,RANGE,REFHIGH,REFLOW,SEX,SITE,SPEC,SUB,TESTNUM
  1. N TESTSPEC,THER,THERHIGH,THERLOW,UNITS,VALUE,X,ZERO
  1. ;
  1. ; the variables AGE, SEX, LRCW, and X are used within the lab's print codes and ref ranges
  1. S AGE=$P(^TMP("LR7OG",$J,"G"),U,4),SEX=$P(^("G"),U,5),LRCW=$P(^("G"),U,6)
  1. ;
  1. ; Flag to determine if reporting laboratory is printed on report
  1. S LRDRL=$$GET^XPAR("DIV^PKG","LR REPORTS FACILITY PRINT",1,"Q")#2
  1. ;
  1. S CDT=0
  1. F S CDT=$O(^TMP("LR7OG",$J,"TP",CDT)) Q:CDT="" D
  1. . S IDT=9999999-CDT
  1. . S ZERO=$S($D(^TMP("LR7OG",$J,"TP",CDT))#2:^(CDT),1:"")
  1. . S SPEC=+$P(ZERO,U,5)
  1. . S DOC=$$NAME(+$P(ZERO,U,10)),LREAL=+$P(ZERO,U,2)
  1. . D SETLINE("",.OUTCNT)
  1. . I LRDRL D RL
  1. . S LINE="Report Released Date/Time: "
  1. . I $P(ZERO,"^",3) S LINE=LINE_$$FMTE^XLFDT($P(ZERO,"^",3),"M")
  1. . D SETLINE(LINE,.OUTCNT)
  1. . D SETLINE("Provider: "_DOC,.OUTCNT)
  1. . S LINE=" Specimen: "_$P($G(^LAB(61,SPEC,0),"<no specimen on file>"),U)_"."
  1. . S ACC=$P(ZERO,U,6)
  1. . S LINE=$$SETSTR^VALM1(" "_ACC,LINE,30,1+$L(ACC))
  1. . D SETLINE(LINE,.OUTCNT)
  1. . D SETLINE(" Specimen Collection Date: "_$$LRUDT^LR7OSUM6(CDT,LREAL),.OUTCNT)
  1. . D SETLINE(" Test name Result units Ref. range Site Code",.OUTCNT)
  1. . S PORDER=0
  1. . F S PORDER=$O(^TMP("LR7OG",$J,"TP",CDT,PORDER)) Q:PORDER'>0 S DATA=^(PORDER) D
  1. . . I $P(DATA,U,7)="" Q
  1. . . S TESTNUM=+DATA,PRNTCODE=$P(DATA,U,5),SUB=$P(DATA,U,6),FLAG=$P(DATA,U,8),X=$P(DATA,U,7),UNITS=$P(DATA,U,9),RANGE=$P(DATA,U,10),SITE=$P(DATA,U,11)
  1. . . S LOW=$P(RANGE,"-"),HIGH=$P(RANGE,"-",2),THER=$P(DATA,U,12)
  1. . . I $L($P(DATA,U,2))>28,$P(DATA,U,3)'="" S LINE=$P(DATA,U,3)
  1. . . E S LINE=$E($P(DATA,U,2),1,28)
  1. . . S LINE=$$SETSTR^VALM1("",LINE,28,0)
  1. . . I PRNTCODE="" S LINE=LINE_$J(X,8)
  1. . . E S @("VALUE="_PRNTCODE),LINE=LINE_VALUE
  1. . . S LINE=LINE_" "_FLAG
  1. . . I $L(LINE)>38 D SETLINE(LINE,.OUTCNT) S LINE=""
  1. . . I UNITS'="" S LINE=$$SETSTR^VALM1(" "_UNITS,LINE,39,2+$L(UNITS))
  1. . . S LRX=RANGE
  1. . . I LRX'="" S LINE=$$SETSTR^VALM1(LRX,LINE,52,$L(LRX))
  1. . . I $L(LINE)>67,SITE D SETLINE(LINE,.OUTCNT) S LINE=""
  1. . . I SITE S LINE=$$SETSTR^VALM1(" ["_SITE_"]",LINE,68,3+$L(SITE))
  1. . . I LINE'="" D SETLINE(LINE,.OUTCNT)
  1. . . I $O(^TMP("LR7OG",$J,"TP",CDT,PORDER,0))>0 D
  1. . . . S INTP=0
  1. . . . F S INTP=+$O(^TMP("LR7OG",$J,"TP",CDT,PORDER,INTP)) Q:INTP<1 D SETLINE(" Eval: "_^(INTP),.OUTCNT)
  1. . I $D(^TMP("LR7OG",$J,"TP",CDT,"C")) D
  1. . . S LINE="Comment: "
  1. . . S CMNT=0
  1. . . F S CMNT=+$O(^TMP("LR7OG",$J,"TP",CDT,"C",CMNT)) Q:CMNT<1 S LINE=LINE_^(CMNT) D
  1. . . . D SETLINE(LINE,.OUTCNT)
  1. . . . I $O(^TMP("LR7OG",$J,"TP",CDT,"C",CMNT)) S LINE=" "
  1. . D SETLINE("===============================================================================",.OUTCNT)
  1. D SETLINE(" ",.OUTCNT)
  1. Q
  1. ;
  1. ;
  1. SETLINE(LINE,CNT) ;
  1. S ^TMP("LR7OGX",$J,"OUTPUT",CNT)=LINE
  1. S CNT=CNT+1
  1. Q
  1. ;
  1. ;
  1. NAME(X) ; $$(#) -> name
  1. N LRDOC
  1. D DOC^LRX
  1. Q LRDOC
  1. ;
  1. ;
  1. DD(Y) ; $$(date/time) -> date/time format
  1. D DD^LRX
  1. Q Y
  1. ;
  1. ;
  1. RL ; Display reporting lab
  1. N LRX
  1. S LRX=+$G(^LR(LRDFN,"CH",IDT,"RF"))
  1. I LRX D RL^LR7OGMG(LRX)
  1. Q
  1. ;
  1. ;
  1. PFAC ; Print header with name of facility generating report.
  1. N LRI,LRPF
  1. D PFAC^LRRP1(DUZ(2),0,1,.LRPF)
  1. I $D(LRPF) D
  1. . S LRI=0
  1. . F S LRI=$O(LRPF(LRI)) Q:'LRI D SETLINE(LRPF(LRI),.OUTCNT)
  1. D SETLINE("As of: "_$$HTE^XLFDT($H,"1M"),.OUTCNT)
  1. D SETLINE(" ",.OUTCNT)
  1. Q
  1. ;
  1. ;
  1. PLS ; List performing laboratories
  1. ;
  1. N LINE,LRPLS,X
  1. D SETLINE("Performing Lab Sites",.OUTCNT)
  1. S LRPLS=0
  1. F S LRPLS=$O(^TMP("LRPLS",$J,LRPLS)) Q:LRPLS<1 D
  1. . S LRPLS(0)=$$PLSADDR^LR7OSUM2(LRPLS)
  1. . S LINE=$$LJ^XLFSTR("["_LRPLS_"] ",8)_$P(LRPLS(0),"^")
  1. . D SETLINE(LINE,.OUTCNT)
  1. . S LINE=$$REPEAT^XLFSTR(" ",8)_$P(LRPLS(0),"^",2)
  1. . D SETLINE(LINE,.OUTCNT)
  1. ;
  1. D SETLINE("===============================================================================",.OUTCNT)
  1. ;
  1. K ^TMP("LRPLS",$J),^TMP("LRPLS-ADDR",$J)
  1. Q