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

GMTSLRSC.m

Go to the documentation of this file.
  1. GMTSLRSC ; SLC/JER,KER - Sel Cum Lab Comp w/Sel Items ; 01/06/2003
  1. ;;2.7;Health Summary;**28,47,58**;Oct 20, 1995
  1. ;
  1. ; External References
  1. ; DBIA 10035 ^DPT(
  1. ; DBIA 67 ^LAB(60
  1. ; DBIA 525 ^LR(
  1. ;
  1. MAIN ; Selected Cumulative Lab w/Selection Items
  1. N GMTSI,LRDFN,MAX,TEST,RWIDTH,GMCMNT,COMMNBR,GMCOM,TAB
  1. S MAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:999) Q:'$D(^DPT(DFN,"LR"))
  1. Q:'$D(^DPT(DFN,"LR")) S LRDFN=+^DPT(DFN,"LR") Q:'$D(^LR(LRDFN)) Q:'$O(GMTSEG(GMTSEGN,60,0))
  1. S RWIDTH=4,GMTSI=0 F S GMTSI=$O(GMTSEG(GMTSEGN,60,GMTSI)) Q:GMTSI'>0 D Q:$D(GMTSQIT)
  1. . S TEST=GMTSEG(GMTSEGN,60,GMTSI) D ^GMTSLRSE
  1. Q:'$D(^TMP("LRS",$J)) S GMCMNT=$S($P($G(^GMT(142.99,1,0)),U,3)="Y":1,1:0),COMMNBR=0
  1. F D DISPLAY Q:$O(^TMP("LRS",$J,0))'>0 Q:$D(GMTSQIT)
  1. I GMCMNT,'$D(GMTSQIT) D WRTCOMM
  1. K ^TMP("LRS",$J),^TMP("LRSR",$J)
  1. Q
  1. DISPLAY ; Displays up to 7 tests across page
  1. N GMC,GMN,GMI,GMW,GMX,HDR,TST,IT,IX,MORE,RES
  1. D INVRT Q:$D(GMTSQIT) S IT="" F GMI=0:1:6 S IT=$O(^TMP("LRS",$J,IT)) Q:'IT D
  1. . S IX="" F S IX=$O(^(IT,IX)) Q:IX'>0 D
  1. . . S TST=+$P(^(IX),U,3),HDR(GMI)=$S(TST'="":$E($P($G(^LAB(60,TST,.1)),U),1,7),1:"")
  1. . . K ^TMP("LRS",$J,IT)
  1. D WRTHDR S RES=$$RES,MORE=$S(+($G(RES))>+($G(MAX)):1,1:0)
  1. S IX="" F GMW=1:1:MAX S IX=$O(^TMP("LRSR",$J,IX)) Q:+IX'>0 D Q:$D(GMTSQIT)
  1. . D CKP^GMTSUP Q:$D(GMTSQIT) D:GMTSNPG WRTHDR
  1. . S IT="" F GMI=0:1 S IT=$O(^TMP("LRSR",$J,IX,IT)) Q:IT="" D Q:$D(GMTSQIT)
  1. . . D WRT I '$O(^TMP("LRSR",$J,IX,IT)) W !
  1. I '$D(GMTSOBJ),+($G(MORE)) D
  1. . D CKP^GMTSUP Q:$D(GMTSQIT)
  1. . W $C(7),!?10,"** Additional Results available outside occurrence limit **",!
  1. K ^TMP("LRSR",$J) W:$D(^TMP("LRS",$J)) !
  1. Q
  1. WRTHDR ; Writes Column Header
  1. N GMI
  1. D CKP^GMTSUP Q:$D(GMTSQIT) W "Collection DT"
  1. W ?19,$S(+$G(GMCMNT):" ",1:""),"Spec"
  1. F GMI=0:1:6 D CKP^GMTSUP Q:'$D(HDR(GMI))!($D(GMTSQIT)) W ?(((8*GMI+25)+(7-$L(HDR(GMI))\2))),$E(HDR(GMI),1,7)
  1. D CKP^GMTSUP Q:$D(GMTSQIT) W !
  1. I '$D(GMTSOBJ) D CKP^GMTSUP Q:$D(GMTSQIT) W !
  1. Q
  1. WRT ; Writes the Lab Record
  1. S GMX=^TMP("LRSR",$J,IX,IT),TAB=$P(GMX,U)
  1. I GMI=0!(GMTSNPG) D
  1. . I +$G(GMCMNT),$D(^TMP("LRS",$J,"C",IX))>0,$D(GMCOM("DT",IX))'>0,COMMNBR<26 D
  1. . . S GMLTR=$C(97+COMMNBR) S COMMNBR=COMMNBR+1
  1. . . S GMCOM("DT",IX)=GMLTR,GMCOM("LTR",GMLTR)=IX
  1. . I +$G(GMCMNT) D Q
  1. . . W $E($G(GMCOM("DT",IX)),1),?2,$P(GMX,U,2),?19,$E($P($P(GMX,U,3),";",2),1,5)
  1. . W $P(GMX,U,2),?19,$E($P($P(GMX,U,3),";",2),1,5)
  1. W ?(8*TAB+25),$P(GMX,U,4)," ",$P(GMX,U,5)
  1. Q
  1. WRTCOMM ; Writes the lab Comments
  1. N GMLTR,GMLINE
  1. Q:$D(GMCOM)'>0
  1. D CKP^GMTSUP Q:$D(GMTSQIT) W "COMMENTS:",!
  1. S GMLTR=""
  1. F S GMLTR=$O(GMCOM("LTR",GMLTR)) Q:GMLTR']"" D Q:$D(GMTSQIT)
  1. . S IX=$G(GMCOM("LTR",GMLTR)),GMLINE=0
  1. . F S GMLINE=$O(^TMP("LRS",$J,"C",+IX,GMLINE)) Q:GMLINE'>0 D Q:$D(GMTSQIT)
  1. . . D CKP^GMTSUP Q:$D(GMTSQIT) I GMTSNPG W "COMMENTS:",!
  1. . . W:GMLINE=1!GMTSNPG GMLTR_"."
  1. . . W ?3,$G(^TMP("LRS",$J,"C",+IX,GMLINE)),!
  1. Q
  1. ;
  1. RES(X) ; Results
  1. N NN,NC S X=0,NN="^TMP(""LRSR"","_$J_")",NC="^TMP(""LRSR"","_$J_","
  1. F S NN=$Q(@NN) Q:NN=""!(NN'[NC) S X=X+1
  1. Q X
  1. INVRT ; Inverts Global Array
  1. ;
  1. ; From: ^TMP("LRS",$J,IT,IX)=CDT^SPC^TNM^RSLT^FLAG^UNIT^LO^HI
  1. ; To: ^TMP("LRSR",$J,IX,IT)=GMI,CDT,SPC,RSLT,FLAG
  1. ;
  1. N GMI,IT,IX
  1. S IT=""
  1. F GMI=0:1:6 S IT=$O(^TMP("LRS",$J,IT)) Q:IT'>0 D
  1. . S IX="" F S IX=$O(^TMP("LRS",$J,IT,IX)) Q:IX="" D
  1. . . S ^TMP("LRSR",$J,IX,IT)=GMI_U_$P(^TMP("LRS",$J,IT,IX),U,1,2)_U_$P(^TMP("LRS",$J,IT,IX),U,4,5)
  1. Q