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

BPC7OGMC.m

Go to the documentation of this file.
  1. BPC7OGMC ; IHS/OIT/MJL - Interim report rpc memo chem 5/20/97 19:03 ;
  1. ;;1.5;BPC;;MAY 26, 2005
  1. ;;
  1. ;;5.2;LAB SERVICE;**187**;Sep 27, 1994
  1. ;
  1. ; sets lab data into ^TMP("BPC7OG",$J,"TP"
  1. ; ^TMP("BPC7OG",$J,"G")=dfn^pnm^lrdfn^age^sex^lrcw
  1. ; ^TMP("BPC7OG",$J,"TMP",test subscript in data)=zero node of test
  1. ; ^TMP("BPC7OG",$J,"TP",collect date/time)=zero node from data
  1. ; ^TMP("BPC7OG",$J,"TP",collect date/time,printorder)=test#^name^printname^^printcode^dataname^result^flag
  1. ; ^TMP("BPC7OG",$J,"TP",collect date/time,printorder,#)=interpretation
  1. ; ^TMP("BPC7OG",$J,"TP",collect date/time,"C",#)=comment
  1. ;
  1. CH(LRDFN,IDT,ALL,OUTCNT,FORMAT,DONE) ; EP from LR7OGM
  1. N CDT,CHSUB,CMNT,INTP,LABSUB,PNODE,PORDER,SPEC,TCNT,TESTNUM,TESTSUB,ZERO
  1. S ZERO=^LR(LRDFN,"CH",IDT,0)
  1. I '$P(ZERO,U,3) Q
  1. S CDT=+ZERO,LABSUB="CH",TCNT=0,SPEC=$P(ZERO,U,5)
  1. S CHSUB=1 F S CHSUB=$O(^LR(LRDFN,"CH",IDT,CHSUB)) Q:CHSUB="" I ALL!$D(^TMP("BPC7OG",$J,"TMP",CHSUB)) D Q
  1. .I FORMAT D
  1. ..S ^TMP("BPC7OGX",$J,"OUTPUT",OUTCNT)="^CH^"_(9999999-IDT)
  1. ..S OUTCNT=OUTCNT+1
  1. ..S DONE=1
  1. .K ^TMP("BPC7OG",$J,"TP")
  1. .I ALL S TESTSUB=1 F S TESTSUB=$O(^LR(LRDFN,"CH",IDT,TESTSUB)) Q:TESTSUB<1 S TESTNUM=$O(^LAB(60,"C","CH;"_TESTSUB_";1",0)) D CHSETUP
  1. .E S TESTSUB=1 F S TESTSUB=$O(^TMP("BPC7OG",$J,"TMP",TESTSUB)) Q:TESTSUB<1 S TESTNUM=+^(TESTSUB) D CHSETUP
  1. .I TCNT D
  1. ..S ^TMP("BPC7OG",$J,"TP",CDT)=ZERO
  1. ..S CMNT=0 F S CMNT=+$O(^LR(LRDFN,LABSUB,IDT,1,CMNT)) Q:CMNT<1 S ^TMP("BPC7OG",$J,"TP",CDT,"C",CMNT)=^(CMNT,0) S TCNT=TCNT+1
  1. .I FORMAT D GRID^BPC7OGMG(.OUTCNT)
  1. .I 'FORMAT D PRINT^BPC7OGMP(.OUTCNT)
  1. .K ^TMP("BPC7OG",$J,"TP")
  1. Q
  1. ;
  1. CHSETUP ; within scope of CH
  1. I 'TESTNUM Q
  1. Q:'$D(^LAB(60,TESTNUM,.1)) S PNODE=^(.1)
  1. Q:'$D(^LR(LRDFN,LABSUB,IDT,TESTSUB)) Q:'$L($P(^(TESTSUB),U))
  1. S PORDER=$P(PNODE,U,6),PORDER=$S(PORDER:PORDER,1:TESTSUB/1000000)
  1. F Q:'$D(^TMP("BPC7OG",$J,"TP",CDT,PORDER)) Q:TESTNUM=+^(PORDER) S PORDER=PORDER+1
  1. I $D(^TMP("BPC7OG",$J,"TP",CDT,PORDER)) Q
  1. S ^TMP("BPC7OG",$J,"TP",CDT,PORDER)=TESTNUM_U_$P(^LAB(60,TESTNUM,0),U)_U_$P(PNODE,U)_U_$P(PNODE,U,2)_U_$P(PNODE,U,3)_U_$P(^(0),U,5)_U_$P(^LR(LRDFN,LABSUB,IDT,TESTSUB),U)_U_$P(^(TESTSUB),U,2)
  1. S TCNT=TCNT+1
  1. I $D(^LAB(60,TESTNUM,1,SPEC,1,0)) D
  1. .S INTP=0 F S INTP=+$O(^LAB(60,TESTNUM,1,SPEC,1,INTP)) Q:INTP<1 S ^TMP("BPC7OG",$J,"TP",CDT,PORDER,INTP)=^(INTP,0) S TCNT=TCNT+1
  1. Q