| 1 | LR7OGMP ;DALOI/STAFF- Interim report rpc memo print ;10/10/07  11:52
 | 
|---|
| 2 |  ;;5.2;LAB SERVICE;**187,246,282,286,344**;Sep 27, 1994;Build 2
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | PRINT(OUTCNT) ; from LR7OGMC
 | 
|---|
| 5 |  N ACC,AGE,CDT,CMNT,DATA,DOC,FLAG,HIGH,IDT,INTP,LINE,LOW,LRCW,LRX,PORDER,PRNTCODE,RANGE,REFHIGH,REFLOW,SEX,SITE,SPEC,SUB,TESTNUM
 | 
|---|
| 6 |  N TESTSPEC,THER,THERHIGH,THERLOW,UNITS,VALUE,X,ZERO
 | 
|---|
| 7 |  ; the variables AGE, SEX, LRCW, and X are used withing the lab's print codes and ref ranges
 | 
|---|
| 8 |  S AGE=$P(^TMP("LR7OG",$J,"G"),U,4),SEX=$P(^("G"),U,5),LRCW=$P(^("G"),U,6)
 | 
|---|
| 9 |  S CDT=0
 | 
|---|
| 10 |  F  S CDT=$O(^TMP("LR7OG",$J,"TP",CDT)) Q:CDT=""  D
 | 
|---|
| 11 |  . S IDT=9999999-CDT
 | 
|---|
| 12 |  . S ZERO=$S($D(^TMP("LR7OG",$J,"TP",CDT))#2:^(CDT),1:"")
 | 
|---|
| 13 |  . I '$P(ZERO,U,3) Q
 | 
|---|
| 14 |  . S SPEC=+$P(ZERO,U,5)
 | 
|---|
| 15 |  . S DOC=$$NAME(+$P(ZERO,U,10))
 | 
|---|
| 16 |  . D SETLINE("",.OUTCNT)
 | 
|---|
| 17 |  . D SETLINE("Provider : "_DOC,.OUTCNT)
 | 
|---|
| 18 |  . S LINE="  Specimen: "_$P(^LAB(61,SPEC,0),U)_"."
 | 
|---|
| 19 |  . S ACC=$P(ZERO,U,6)
 | 
|---|
| 20 |  . S LINE=$$SETSTR^VALM1(" "_ACC,LINE,30,1+$L(ACC))
 | 
|---|
| 21 |  . D SETLINE(LINE,.OUTCNT)
 | 
|---|
| 22 |  . D SETLINE("                              "_$$DD(CDT),.OUTCNT)
 | 
|---|
| 23 |  . D SETLINE("     Test name                Result    units      Ref.   range   Site Code",.OUTCNT)
 | 
|---|
| 24 |  . S PORDER=0
 | 
|---|
| 25 |  . F  S PORDER=$O(^TMP("LR7OG",$J,"TP",CDT,PORDER)) Q:PORDER'>0  S DATA=^(PORDER) D
 | 
|---|
| 26 |  .. I $P(DATA,U,7)="" Q
 | 
|---|
| 27 |  .. 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)
 | 
|---|
| 28 |  .. S LOW=$P(RANGE,"-"),HIGH=$P(RANGE,"-",2),THER=$P(DATA,U,12)
 | 
|---|
| 29 |  .. ;S LINE="     "_$S($L($P(DATA,U,2))>20:$P(DATA,U,3),1:$P(DATA,U,2))
 | 
|---|
| 30 |  .. I $L($P(DATA,U,2))>28,$P(DATA,U,3)'="" S LINE=$P(DATA,U,3)
 | 
|---|
| 31 |  .. E  S LINE=$E($P(DATA,U,2),1,28)
 | 
|---|
| 32 |  .. S LINE=$$SETSTR^VALM1("",LINE,28,0)
 | 
|---|
| 33 |  .. I PRNTCODE="" S LINE=LINE_$J(X,8)
 | 
|---|
| 34 |  .. E  S @("VALUE="_PRNTCODE),LINE=LINE_VALUE
 | 
|---|
| 35 |  .. S LINE=LINE_" "_FLAG
 | 
|---|
| 36 |  .. I $L(LINE)>38 D SETLINE(LINE,.OUTCNT) S LINE=""
 | 
|---|
| 37 |  .. I UNITS'="" S LINE=$$SETSTR^VALM1("  "_UNITS,LINE,39,2+$L(UNITS))
 | 
|---|
| 38 |  .. S LRX=RANGE
 | 
|---|
| 39 |  .. I LRX'="" S LINE=$$SETSTR^VALM1(LRX,LINE,52,$L(LRX))
 | 
|---|
| 40 |  .. I $L(LINE)>67,SITE D SETLINE(LINE,.OUTCNT) S LINE=""
 | 
|---|
| 41 |  .. I SITE S LINE=$$SETSTR^VALM1(" ["_SITE_"]",LINE,68,3+$L(SITE))
 | 
|---|
| 42 |  .. I LINE'="" D SETLINE(LINE,.OUTCNT)
 | 
|---|
| 43 |  .. I $O(^TMP("LR7OG",$J,"TP",CDT,PORDER,0))>0 D
 | 
|---|
| 44 |  ... S INTP=0
 | 
|---|
| 45 |  ... F  S INTP=+$O(^TMP("LR7OG",$J,"TP",CDT,PORDER,INTP)) Q:INTP<1  D SETLINE("      Eval: "_^(INTP),.OUTCNT)
 | 
|---|
| 46 |  . I $D(^TMP("LR7OG",$J,"TP",CDT,"C")) D
 | 
|---|
| 47 |  .. S LINE="Comment: "
 | 
|---|
| 48 |  .. S CMNT=0
 | 
|---|
| 49 |  .. F  S CMNT=+$O(^TMP("LR7OG",$J,"TP",CDT,"C",CMNT)) Q:CMNT<1  S LINE=LINE_^(CMNT) D
 | 
|---|
| 50 |  ... D SETLINE(LINE,.OUTCNT)
 | 
|---|
| 51 |  ... I $O(^TMP("LR7OG",$J,"TP",CDT,"C",CMNT)) S LINE="        "
 | 
|---|
| 52 |  . D SETLINE("===============================================================================",.OUTCNT)
 | 
|---|
| 53 |  Q
 | 
|---|
| 54 |  ;
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 | SETLINE(LINE,CNT) ;
 | 
|---|
| 57 |  S ^TMP("LR7OGX",$J,"OUTPUT",CNT)=LINE
 | 
|---|
| 58 |  S CNT=CNT+1
 | 
|---|
| 59 |  Q
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 |  ;
 | 
|---|
| 62 | NAME(X) ; $$(#) -> name
 | 
|---|
| 63 |  N LRDOC
 | 
|---|
| 64 |  D DOC^LRX
 | 
|---|
| 65 |  Q LRDOC
 | 
|---|
| 66 |  ;
 | 
|---|
| 67 |  ;
 | 
|---|
| 68 | DD(Y) ; $$(date/time) -> date/time format
 | 
|---|
| 69 |  D DD^LRX
 | 
|---|
| 70 |  Q Y
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 |  ;
 | 
|---|
| 73 | PLS ; List performing laboratories
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 |  N LINE,LRPLS,X
 | 
|---|
| 76 |  D SETLINE("Performing Lab Sites",.OUTCNT)
 | 
|---|
| 77 |  S LRPLS=0
 | 
|---|
| 78 |  F  S LRPLS=$O(^TMP("LRPLS",$J,LRPLS)) Q:LRPLS<1  D
 | 
|---|
| 79 |  . S LINE=$$LJ^XLFSTR("["_LRPLS_"] ",8)_$$NAME^XUAF4(LRPLS)
 | 
|---|
| 80 |  . D SETLINE(LINE,.OUTCNT)
 | 
|---|
| 81 |  . S X=$$PADD^XUAF4(LRPLS)
 | 
|---|
| 82 |  . S LINE=$$REPEAT^XLFSTR(" ",8)_$P(X,U)_"  "_$P(X,U,2)_", "_$P(X,U,3)_" "_$P(X,U,4)
 | 
|---|
| 83 |  . D SETLINE(LINE,.OUTCNT)
 | 
|---|
| 84 |  ;
 | 
|---|
| 85 |  D SETLINE("===============================================================================",.OUTCNT)
 | 
|---|
| 86 |  ;
 | 
|---|
| 87 |  K ^TMP("LRPLS",$J)
 | 
|---|
| 88 |  Q
 | 
|---|