1 | GMTSLRSE ; SLC/JER,KER - Selected Lab Test Extract ; 09/21/2001
|
---|
2 | ;;2.7;Health Summary;**28,36,47,79**;Oct 20, 1995
|
---|
3 | ;
|
---|
4 | ; External References
|
---|
5 | ; DBIA 67 ^LAB(60
|
---|
6 | ; DBIA 524 ^LAB(61
|
---|
7 | ; DBIA 525 ^LR(
|
---|
8 | ;
|
---|
9 | XTRCT ; Extract Selected Lab Test
|
---|
10 | ;
|
---|
11 | ; Call with LRDFN lab patient
|
---|
12 | ; GMTS1 begin date
|
---|
13 | ; GMTS2 end date
|
---|
14 | ; MAX occurence limit
|
---|
15 | ; SEX "M" or "F"
|
---|
16 | ; TEST IFN to ^LAB(60)
|
---|
17 | ; RWIDTH optional
|
---|
18 | ;
|
---|
19 | ; Returns ^TMP("LRS",$J,GMTSI,IDRWDT)=
|
---|
20 | ; DRWDT^SPEC^TEST^RESULT^FLAG^UNIT^LO^HI
|
---|
21 | ;
|
---|
22 | ; Where GMTSI=Order (1 to MAX)
|
---|
23 | ; IDRWDT=9999999-Draw Date/time
|
---|
24 | ; DRWDT=Draw Date/Time (internal)
|
---|
25 | ; SPEC=Specimen (int;ext)
|
---|
26 | ; TEST=Test (int;ext)
|
---|
27 | ; RESULT=Numeric Result
|
---|
28 | ; FLAG=Reference flag (H,*H,L,*L)
|
---|
29 | ; UNIT=Unit of measure (ext)
|
---|
30 | ; LO=Reference/Therapeutic Lower bound
|
---|
31 | ; HI=Ref/Ther Upper Bound
|
---|
32 | ;
|
---|
33 | N CNT,AGE,COM,GMI,X K ^TMP("LRS",$J,GMTSI) I $S("BO"'[$P(^LAB(60,TEST,0),U,3):1,1:0) Q
|
---|
34 | D DEM^GMTSU S AGE=GMTSAGE S CNT=0 D CHEM:$P(^LAB(60,TEST,0),U,4)="CH"
|
---|
35 | Q
|
---|
36 | CHEM ; Gets all Chemistry tests w/in time/occurrence constraints
|
---|
37 | N PTR,IDRWDT S PTR=+$P($P(^LAB(60,+TEST,0),U,5),";",2),IDRWDT=GMTS1
|
---|
38 | F S IDRWDT=$O(^LR(LRDFN,"CH",IDRWDT)) Q:'IDRWDT!(IDRWDT>GMTS2)!(CNT'<MAX) I $P(^(IDRWDT,0),U,3),($D(^(PTR))) S CNT=CNT+1 D:CNT'>MAX CHSET
|
---|
39 | Q
|
---|
40 | CHSET ; Sets Chemistry locals for printing
|
---|
41 | N RESULT,FLAG,DRWDT,SITE,SPEC,TNM,DESCR,THER,UNIT,HI,LO,GMIDT,GMTSLRES
|
---|
42 | S GMTSLRES=$$TSTRES^LRRPU(LRDFN,"CH",IDRWDT,PTR)
|
---|
43 | ; S RESULT=$P(^LR(LRDFN,"CH",IDRWDT,PTR),U),FLAG=$P(^(PTR),U,2),DRWDT=9999999-IDRWDT
|
---|
44 | S RESULT=$P(GMTSLRES,U,1),FLAG=$P(GMTSLRES,U,2),DRWDT=9999999-IDRWDT
|
---|
45 | S RESULT=$$RESULT^GMTSLRCE(TEST,RESULT,$G(RWIDTH))
|
---|
46 | S X=DRWDT D REGDTM4^GMTSU S DRWDT=X K X
|
---|
47 | S SITE=$P(^LR(LRDFN,"CH",IDRWDT,0),U,5),SPEC=SITE_";"_$P(^LAB(61,SITE,0),U)
|
---|
48 | S TNM=TEST_";"_$S($L($P(^LAB(60,TEST,0),U))<21:$P(^(0),U),1:$P(^(.1),U))
|
---|
49 | ; S DESCR=$S($D(^LAB(60,TEST,1,SITE,0)):^(0),1:""),THER=$S($L($P(DESCR,U,11,12))>1:1,1:0)
|
---|
50 | ; S UNIT=$P(DESCR,U,7),LO=$S(THER:$P(DESCR,U,11),1:$P(DESCR,U,2)),HI=$S(THER:$P(DESCR,U,12),1:$P(DESCR,U,3))
|
---|
51 | S UNIT=$P(GMTSLRES,U,5),LO=$P(GMTSLRES,U,3),HI=$P(GMTSLRES,U,4)
|
---|
52 | ; S @("LO="_$S($L(LO):LO,1:"""""")),@("HI="_$S($L(HI):HI,1:""""""))
|
---|
53 | I $D(^TMP("LRS",$J,GMTSI,IDRWDT)) S GMIDT=IDRWDT+.0001
|
---|
54 | S GMIDT=IDRWDT
|
---|
55 | S ^TMP("LRS",$J,GMTSI,GMIDT)=DRWDT_U_$E(SPEC,1,10)_U_TNM_U_RESULT_U_FLAG_U_UNIT_U_LO_U_HI
|
---|
56 | I $D(^LR(LRDFN,"CH",IDRWDT,1,0)) D
|
---|
57 | . S COM=0
|
---|
58 | . F GMI=1:1 S COM=$O(^LR(LRDFN,"CH",IDRWDT,1,COM)) Q:+COM'>0 S ^TMP("LRS",$J,"C",GMIDT,GMI)=^LR(LRDFN,"CH",IDRWDT,1,COM,0)
|
---|
59 | Q
|
---|