1 | LR7OGU ;SLC/STAFF- Interim report rpc utility ;5/22/97 13:53
|
---|
2 | ;;5.2;LAB SERVICE;**187,242,252**;Sep 27, 1994
|
---|
3 | ;
|
---|
4 | DEMO(DFN,LRDFN,PNM,AGE,SEX) ; from LR7OGC, LR7OGG, LR7OGM, LR7OGMU
|
---|
5 | N %,%H,%I,DOB,LRDPF,LREND,LRPRAC,LRRB,LRTREA,LRWRD,SSN,VA,VA200,VADM,VAERR,VAIN K %I,LRWRD,SSN,VA,VADM,VAIN
|
---|
6 | S LRDFN=+$$LRDFN^LR7OR1(DFN)
|
---|
7 | D PT^LRX
|
---|
8 | Q
|
---|
9 | ;
|
---|
10 | TESTSGET(TESTS,MICROSUB) ; from LR7OGM
|
---|
11 | N MICROEC,TEST
|
---|
12 | S TEST=0 F S TEST=$O(TESTS(TEST)) Q:TEST<1 D
|
---|
13 | .I $P(^LAB(60,TEST,0),U,4)="CH" D
|
---|
14 | ..N PANEL,SEQ,TESTNUM,TESTSUB,TESTZERO K PANEL
|
---|
15 | ..D TEST(TEST,.PANEL)
|
---|
16 | ..S SEQ=0 F S SEQ=$O(PANEL(SEQ)) Q:SEQ<1 D
|
---|
17 | ...S TESTNUM=+PANEL(SEQ)
|
---|
18 | ...S TESTZERO=^LAB(60,TESTNUM,0)
|
---|
19 | ...S TESTSUB=$P($P(TESTZERO,U,5),";",2)
|
---|
20 | ...S ^TMP("LR7OG",$J,"T",TESTNUM)=TESTZERO
|
---|
21 | ...S ^TMP("LR7OG",$J,"TMP",TESTSUB)=TESTNUM
|
---|
22 | .E D
|
---|
23 | ..S MICROEC=+$P(^LAB(60,TEST,0),U,14)
|
---|
24 | ..S MICROEC=$G(^LAB(62.07,MICROEC,.1))
|
---|
25 | ..I MICROEC["11.5" S MICROSUB(1)=""
|
---|
26 | ..I MICROEC["11.6" S MICROSUB(2)=""
|
---|
27 | ..I MICROEC["15" S MICROSUB(5)=""
|
---|
28 | ..I MICROEC["19" S MICROSUB(8)=""
|
---|
29 | ..I MICROEC["23" S MICROSUB(11)=""
|
---|
30 | ..I MICROEC["34" S MICROSUB(16)=""
|
---|
31 | Q
|
---|
32 | TEST(TEST,PANEL) ; from LR7OGO
|
---|
33 | N CNT,DUP,NEWTEST K PANEL,DUP
|
---|
34 | S CNT=0
|
---|
35 | D TESTS(TEST)
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | TESTS(TEST) ;
|
---|
39 | ; within scope of TEST
|
---|
40 | I $P(^LAB(60,TEST,0),U,5)]"","BO"[$P(^(0),U,3),'$D(DUP(TEST)) S CNT=CNT+1,PANEL(CNT)=TEST,DUP(TEST)="" Q
|
---|
41 | N NUM
|
---|
42 | S NUM=0 F S NUM=$O(^LAB(60,TEST,2,NUM)) Q:NUM<1 D
|
---|
43 | .S NEWTEST=+^LAB(60,TEST,2,NUM,0)
|
---|
44 | .D TESTS(NEWTEST)
|
---|
45 | Q
|
---|
46 | ;
|
---|
47 | STRIP(VALUE) ; $$(value) -> value with leading spaces removed
|
---|
48 | N I
|
---|
49 | F I=1:1:$L(VALUE) Q:$E(VALUE)'=" " S VALUE=$E(VALUE,2,$L(VALUE))
|
---|
50 | Q VALUE
|
---|
51 | ;
|
---|
52 | URANGE(TEST,SPEC,AGE,SEX,UNITS,RANGE) ; from LR7OGC, LR7OGG, LR7OGMG
|
---|
53 | N HIGH,LOW,LRCW,REFHIGH,REFLOW,TESTSPEC,THER,THERHIGH,THERLOW
|
---|
54 | S (RANGE,UNITS)="",LRCW=8
|
---|
55 | I '$G(SPEC) Q
|
---|
56 | S TESTSPEC=$S($D(^LAB(60,TEST,1,SPEC,0)):^(0),1:"")
|
---|
57 | I '$L(TESTSPEC) Q
|
---|
58 | 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)
|
---|
59 | S THER=$S($L(THERHIGH):1,$L(THERLOW):1,1:0)
|
---|
60 | S LOW=$S(THER:THERLOW,1:REFLOW)
|
---|
61 | S HIGH=$S(THER:THERHIGH,1:REFHIGH)
|
---|
62 | S @("LOW="_$S($L(LOW):LOW,1:""""""))
|
---|
63 | S @("HIGH="_$S($L(HIGH):HIGH,1:""""""))
|
---|
64 | S RANGE=LOW
|
---|
65 | I $L(HIGH) S RANGE=RANGE_" - "_HIGH
|
---|
66 | I THER S RANGE=RANGE_" (Ther. range)"
|
---|
67 | Q
|
---|
68 | ;
|
---|
69 | ALLTEST ; test use only
|
---|
70 | N TESTCNT,TESTNUM,TESTS
|
---|
71 | S TESTNUM=0 F S TESTNUM=$O(^LAB(60,TESTNUM)) Q:TESTNUM<1 D
|
---|
72 | .I '$O(^LAB(60,TESTNUM,2,0)) Q
|
---|
73 | .K TESTS
|
---|
74 | .W ! D TEST(TESTNUM,.TESTS)
|
---|
75 | .W !,TESTNUM," ",$P(^LAB(60,TESTNUM,0),U)
|
---|
76 | .S TESTCNT=0 F S TESTCNT=$O(TESTS(TESTCNT)) Q:TESTCNT<1 W !?5,TESTCNT," ",$P(^LAB(60,+TESTS(TESTCNT),0),U)
|
---|
77 | Q
|
---|