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

BPC7OGMP.m

Go to the documentation of this file.
  1. BPC7OGMP ; IHS/OIT/MJL - Interim report rpc memo print 5/22/97 18:40 ;
  1. ;;1.5;BPC;;MAY 26, 2005
  1. ;;
  1. ;;5.2;LAB SERVICE;**187**;Sep 27, 1994
  1. ;
  1. PRINT(OUTCNT) ;EP from LR7OGMC
  1. N ACC,AGE,CDT,CMNT,DATA,DOC,FLAG,HIGH,IDT,INTP,LINE,LOW,LRCW,PORDER,PRNTCODE,REFHIGH,REFLOW,SEX,SPEC,SUB,TESTNUM
  1. N TESTSPEC,THER,THERHIGH,THERLOW,UNITS,VALUE,X,ZERO
  1. ; the variables AGE, SEX, LRCW, and X are used withing the lab's print codes and ref ranges
  1. S AGE=$P(^TMP("BPC7OG",$J,"G"),U,4),SEX=$P(^("G"),U,5),LRCW=$P(^("G"),U,6)
  1. S CDT=0 F S CDT=$O(^TMP("BPC7OG",$J,"TP",CDT)) Q:CDT="" D
  1. .S IDT=9999999-CDT
  1. .S ZERO=$S($D(^TMP("BPC7OG",$J,"TP",CDT))#2:^(CDT),1:"")
  1. .I '$P(ZERO,U,3) Q
  1. .S SPEC=+$P(ZERO,U,5)
  1. .S DOC=$$NAME(+$P(ZERO,U,10))
  1. .D SETLINE("",.OUTCNT)
  1. .D SETLINE("Provider : "_DOC,.OUTCNT)
  1. .S LINE=" Specimen: "_$P(^LAB(61,SPEC,0),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(" "_$$DD(CDT),.OUTCNT)
  1. .D SETLINE(" Test name Result units Ref. range",.OUTCNT)
  1. .S PORDER=0 F S PORDER=$O(^TMP("BPC7OG",$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)
  1. ..S LINE=" "_$S($L($P(DATA,U,2))>20:$P(DATA,U,3),1:$P(DATA,U,2))
  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. ..S TESTSPEC=$S($D(^LAB(60,TESTNUM,1,SPEC,0)):^(0),1:"")
  1. ..I '$L(TESTSPEC) D SETLINE(LINE,.OUTCNT) Q
  1. ..S REFLOW=$P(TESTSPEC,U,2),REFHIGH=$P(TESTSPEC,U,3),THERLOW=$P(TESTSPEC,U,11),THERHIGH=$P(TESTSPEC,U,12),UNITS=$P(TESTSPEC,U,7)
  1. ..S THER=$S($L(THERHIGH):1,$L(THERLOW):1,1:0)
  1. ..S LOW=$S(THER:THERLOW,1:REFLOW)
  1. ..S HIGH=$S(THER:THERHIGH,1:REFHIGH)
  1. ..S @("LOW="_$S($L(LOW):LOW,1:""""""))
  1. ..S @("HIGH="_$S($L(HIGH):HIGH,1:""""""))
  1. ..S LINE=$$SETSTR^VALM1(" "_UNITS,LINE,39,2+$L(UNITS))
  1. ..S LINE=$$SETSTR^VALM1($J(LOW,4)_$S($L(HIGH):" - "_$J(HIGH,4),1:""),LINE,52,4+$S($L(HIGH):7,1:0))
  1. ..S LINE=$$SETSTR^VALM1($S(THER:"(Ther. range)",1:""),LINE,64,$S(THER:13,1:0))
  1. ..D SETLINE(LINE,.OUTCNT)
  1. ..I $O(^TMP("BPC7OG",$J,"TP",CDT,PORDER,0))>0 D
  1. ...S INTP=0 F S INTP=+$O(^TMP("BPC7OG",$J,"TP",CDT,PORDER,INTP)) Q:INTP<1 D SETLINE(" Eval: "_^(INTP),.OUTCNT)
  1. .I $D(^TMP("BPC7OG",$J,"TP",CDT,"C")) D
  1. ..S LINE="Comment: "
  1. ..S CMNT=0 F S CMNT=+$O(^TMP("BPC7OG",$J,"TP",CDT,"C",CMNT)) Q:CMNT<1 S LINE=LINE_^(CMNT) D
  1. ...D SETLINE(LINE,.OUTCNT)
  1. ...I $O(^TMP("BPC7OG",$J,"TP",CDT,"C",CMNT)) S LINE=" "
  1. .D SETLINE("===============================================================================",.OUTCNT)
  1. Q
  1. ;
  1. SETLINE(LINE,CNT) ;
  1. S ^TMP("BPC7OGX",$J,"OUTPUT",CNT)=LINE
  1. S CNT=CNT+1
  1. Q
  1. ;
  1. NAME(X) ;EP $$(#) -> name
  1. N LRDOC
  1. D DOC^LRX
  1. Q LRDOC
  1. ;
  1. DD(Y) ; $$(date/time) -> date/time format
  1. D DD^LRX
  1. Q Y