| 1 | GMTSLRS7 ; SLC/JER,KER - Sel Cum Lab Comp w/Sel Items ; 01/06/2003
 | 
|---|
| 2 |  ;;2.7;Health Summary;**28,47,58**;Oct 20, 1995
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; External References
 | 
|---|
| 5 |  ;    DBIA    67  ^LAB(60
 | 
|---|
| 6 |  ;    DBIA   525  ^LR( all fields
 | 
|---|
| 7 |  ;    DBIA 10035  ^DPT( field 63 Read w/Fileman
 | 
|---|
| 8 |  ;    DBIA  2056  $$GET1^DIQ (file 2)
 | 
|---|
| 9 |  ;                        
 | 
|---|
| 10 | MAIN ; Selected Cumulative Lab w/Selection Items
 | 
|---|
| 11 |  N GMTSI,GMW,HDR,LRDFN,MAX,TEST,RWIDTH,GMCMNT,COMMNBR,GMCOM,TAB
 | 
|---|
| 12 |  S LRDFN=+($$GET1^DIQ(2,(+($G(DFN))_","),63,"I")) Q:+LRDFN=0  Q:'$D(^LR(LRDFN))
 | 
|---|
| 13 |  S MAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:999) Q:'$O(GMTSEG(GMTSEGN,60,0))
 | 
|---|
| 14 |  S RWIDTH=4,GMTSI=0 F  S GMTSI=$O(GMTSEG(GMTSEGN,60,GMTSI)) Q:GMTSI'>0  D  Q:$D(GMTSQIT)
 | 
|---|
| 15 |  . S TEST=GMTSEG(GMTSEGN,60,GMTSI) D ^GMTSLRSE
 | 
|---|
| 16 |  Q:'$D(^TMP("LRS",$J))  S GMCMNT=$S($P($G(^GMT(142.99,1,0)),U,3)="Y":1,1:0),COMMNBR=0
 | 
|---|
| 17 |  D DISPLAY I GMCMNT,'$D(GMTSQIT) D WRTCOMM
 | 
|---|
| 18 |  K ^TMP("LRS",$J),^TMP("LRSR",$J)
 | 
|---|
| 19 |  Q
 | 
|---|
| 20 | DISPLAY ; Displays up to 7 tests across page
 | 
|---|
| 21 |  N HDR,TST,GMI,GMX,GMW,IT,IX D INVRT S IT=""
 | 
|---|
| 22 |  F GMI=0:1:6 S IT=$O(^TMP("LRS",$J,IT)) Q:'IT  D  Q:$D(GMTSQIT)
 | 
|---|
| 23 |  . S IX="" F  S IX=$O(^(IT,IX)) Q:IX'>0  D  Q:$D(GMTSQIT)
 | 
|---|
| 24 |  . . S TST=+$P(^(IX),U,3)
 | 
|---|
| 25 |  . . S HDR(GMI)=$S(TST'="":$E($P($G(^LAB(60,TST,.1)),U),1,7),1:"")
 | 
|---|
| 26 |  . . K ^TMP("LRS",$J,IT)
 | 
|---|
| 27 |  Q:$D(GMTSQIT)  D WRTHDR S IX=""
 | 
|---|
| 28 |  F GMW=1:1:MAX S IX=$O(^TMP("LRSR",$J,IX)) Q:+IX'>0  D  Q:$D(GMTSQIT)
 | 
|---|
| 29 |  . D CKP^GMTSUP Q:$D(GMTSQIT)  D:GMTSNPG WRTHDR
 | 
|---|
| 30 |  . S IT="" F GMI=0:1:6 S IT=$O(^TMP("LRSR",$J,IX,IT)) Q:IT=""  D  Q:$D(GMTSQIT)
 | 
|---|
| 31 |  . . D WRT I '$O(^TMP("LRSR",$J,IX,IT)) W !
 | 
|---|
| 32 |  Q:$D(GMTSQIT)
 | 
|---|
| 33 |  I '$D(GMTSOBJ),(+$G(GMW)=+$G(MAX)),(+IX>0),$O(^TMP("LRSR",$J,IX)) D  Q:$D(GMTSQIT)
 | 
|---|
| 34 |  . D CKP^GMTSUP Q:$D(GMTSQIT)
 | 
|---|
| 35 |  . W $C(7),!?10,"** Additional Results available outside occurrence limit **",!
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 | WRTHDR ; Writes Column Header
 | 
|---|
| 38 |  N GMI D CKP^GMTSUP Q:$D(GMTSQIT)  W "Collection DT"
 | 
|---|
| 39 |  W ?19,$S(+$G(GMCMNT):" ",1:""),"Spec"
 | 
|---|
| 40 |  F GMI=0:1:6 D  Q:$D(GMTSQIT)
 | 
|---|
| 41 |  . D CKP^GMTSUP Q:'$D(HDR(GMI))!($D(GMTSQIT))
 | 
|---|
| 42 |  . W ?(((8*GMI+25)+(7-$L(HDR(GMI))\2))),$E(HDR(GMI),1,7)
 | 
|---|
| 43 |  Q:$D(GMTSQIT)  D CKP^GMTSUP Q:$D(GMTSQIT)  W !
 | 
|---|
| 44 |  I '$D(GMTSOBJ) D CKP^GMTSUP Q:$D(GMTSQIT)  W !
 | 
|---|
| 45 |  Q
 | 
|---|
| 46 | WRT ; Writes the Lab Record
 | 
|---|
| 47 |  S GMX=^TMP("LRSR",$J,IX,IT),TAB=$P(GMX,U)
 | 
|---|
| 48 |  I GMI=0!(GMTSNPG) D
 | 
|---|
| 49 |  . I +$G(GMCMNT),$D(^TMP("LRS",$J,"C",IX))>0,$D(GMCOM("DT",IX))'>0,COMMNBR<26 D
 | 
|---|
| 50 |  . . S GMLTR=$C(97+COMMNBR) S COMMNBR=COMMNBR+1
 | 
|---|
| 51 |  . . S GMCOM("DT",IX)=GMLTR,GMCOM("LTR",GMLTR)=IX
 | 
|---|
| 52 |  . I +$G(GMCMNT) W $E($G(GMCOM("DT",IX)),1),?2,$P(GMX,U,2),?19,$E($P($P(GMX,U,3),";",2),1,5) Q
 | 
|---|
| 53 |  . W $P(GMX,U,2),?19,$E($P($P(GMX,U,3),";",2),1,5)
 | 
|---|
| 54 |  W ?(8*TAB+25),$P(GMX,U,4)," ",$P(GMX,U,5)
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 | WRTCOMM ; Writes the lab Comments
 | 
|---|
| 57 |  N GMLTR,GMLINE
 | 
|---|
| 58 |  Q:$D(GMCOM)'>0
 | 
|---|
| 59 |  D CKP^GMTSUP Q:$D(GMTSQIT)  W "COMMENTS:",!
 | 
|---|
| 60 |  S GMLTR=""
 | 
|---|
| 61 |  F  S GMLTR=$O(GMCOM("LTR",GMLTR)) Q:GMLTR']""  D  Q:$D(GMTSQIT)
 | 
|---|
| 62 |  . S IX=$G(GMCOM("LTR",GMLTR)),GMLINE=0
 | 
|---|
| 63 |  . F  S GMLINE=$O(^TMP("LRS",$J,"C",+IX,GMLINE)) Q:GMLINE'>0  D  Q:$D(GMTSQIT)
 | 
|---|
| 64 |  . . D CKP^GMTSUP Q:$D(GMTSQIT)  I GMTSNPG W "COMMENTS:",!
 | 
|---|
| 65 |  . . W:GMLINE=1!GMTSNPG GMLTR_"."
 | 
|---|
| 66 |  . . W ?3,$G(^TMP("LRS",$J,"C",+IX,GMLINE)),!
 | 
|---|
| 67 |  Q
 | 
|---|
| 68 |  ;                   
 | 
|---|
| 69 | INVRT ; Inverts Global Array
 | 
|---|
| 70 |  ;                     
 | 
|---|
| 71 |  ; From: ^TMP("LRS",$J,IT,IX)=CDT^SPC^TNM^RSLT^FLAG^UNIT^LO^HI
 | 
|---|
| 72 |  ; To:   ^TMP("LRSR",$J,IX,IT)=GMI,CDT,SPC,RSLT,FLAG
 | 
|---|
| 73 |  ;
 | 
|---|
| 74 |  N GMI,GMW,IT,IX S IT=""
 | 
|---|
| 75 |  F GMI=0:1:6 S IT=$O(^TMP("LRS",$J,IT)) Q:IT'>0  S IX="" F  S IX=$O(^TMP("LRS",$J,IT,IX)) Q:IX=""  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)
 | 
|---|
| 76 |  Q
 | 
|---|