1 | LRLNCV ;DALOI/CA-VALIDATE LOINC MAPPING ;18-JUL-2001
|
---|
2 | ;;5.2;LAB SERVICE;**232,278**;Sep 27,1994
|
---|
3 | ;
|
---|
4 | ;=================================================================
|
---|
5 | ; Ask VistA test in Lab Test file #60
|
---|
6 | START ;entry point from option LR LOINC VALIDATE
|
---|
7 | S LREND=0 D TEST
|
---|
8 | I $G(LREND) G EXIT
|
---|
9 | ;
|
---|
10 | W !!,"NAME OF NLT CODE: ",$P(^LAM(LRNLT,0),U)
|
---|
11 | W !,"NLT CODE: ",$P(^LAM(LRNLT,0),U,2) S LRNLTN=$P($G(^LAM(LRNLT,0)),U,2)
|
---|
12 | S LRDEF=+$G(^LAM(LRNLT,9))
|
---|
13 | I LRDEF W !,"DEFAULT LOINC CODE: ",$S(LRDEF:LRDEF_" "_$P(^LAB(95.3,LRDEF,80),U),1:"NONE")
|
---|
14 | ASKSPEC ; Ask Specimen- Lookup in Specimen multiple in Lab Test file #60
|
---|
15 | W !!
|
---|
16 | LOOK61 K DIR,DA
|
---|
17 | S DIR(0)="PO^61:EZMN",DIR("S")="I $P(^(0),U,9)"
|
---|
18 | S DIR("A")="Select a Specimen source that has a LEDI HL7 code"
|
---|
19 | S DIC("A")="Specimen source: "
|
---|
20 | D ^DIR
|
---|
21 | I $D(DUOUT)!($D(DTOUT))!(Y<1) G START
|
---|
22 | S LRSPEC=+Y
|
---|
23 | SUFFIX ;Set LRCDEF Value
|
---|
24 | S LREND=0,DIC="^LRO(68.2,",DIC(0)="AQEM",DIC("A")="Work Load Area: ",DIC("S")="I $D(^(""SUF"")),+^(""SUF"")" D ^DIC S:Y<1 LREND=1 K DIC
|
---|
25 | I $G(LREND) G START
|
---|
26 | S LRCDEF=$P(^LRO(68.2,+Y,"SUF"),U,3)
|
---|
27 | LOINC S LRMSG=1
|
---|
28 | S LRLOINC=$$LNC^LRVER1(LRNLTN,LRCDEF,LRSPEC)
|
---|
29 | I LRLOINC S LRLOINC=LRLOINC_"-"_$P($G(^LAB(95.3,LRLOINC,0)),U,15)
|
---|
30 | I 'LRLOINC W !!,"TEST NOT MAPPED",!! D EXIT G START
|
---|
31 | S LRDA=$P(LRMSGM,"-",2),LRDA=+$O(^LAM("C",LRDA,0))
|
---|
32 | S LRDAN="Unknown code number"
|
---|
33 | I $G(LRDA),$D(^LAM(LRDA,0)) S LRDAN=$P($G(^LAM(LRDA,0)),U)
|
---|
34 | W !!,"LOINC Code: ",LRLOINC,!,$G(^LAB(95.3,+LRLOINC,80)),!
|
---|
35 | W !,$$CJ^XLFSTR("LOINC code was located @ NLT CODE: "_LRDAN,IOM)
|
---|
36 | W !,$$CJ^XLFSTR($P(LRMSGM,"-",2,99),IOM)
|
---|
37 | D EXIT G START
|
---|
38 | Q
|
---|
39 | EXIT K DA,DIC,DIE,DINUM,DIR,DIRUT,DR,DTOUT,DUOUT,LREND,LRLOINC,LRIEN,LRMSG,LRNLT,LRSPEC,LRSPECN,LRSUF,LRTEST,S,Y
|
---|
40 | K DD,DO,DLAYGO,LRDEF,X
|
---|
41 | QUIT
|
---|
42 | TEST W !!
|
---|
43 | K DIR
|
---|
44 | S DIR(0)="PO^60:QENMZ,",DIR("A")="VistA Lab Test"
|
---|
45 | S DIR("?")="Select Lab test"
|
---|
46 | D ^DIR K DIR
|
---|
47 | I $D(DIRUT)!'Y K DIRUT S LREND=1 Q
|
---|
48 | S LRIEN=+Y,LRTEST=$P(Y,U,2)
|
---|
49 | ;Check for RESULT NLT CODE and if not one let enter
|
---|
50 | I '$P($G(^LAB(60,+$G(LRIEN),64)),U,2) D
|
---|
51 | .W $$CJ^XLFSTR("There is not a RESULT NLT CODE for "_LRTEST,IOM)
|
---|
52 | .W $$CJ^XLFSTR("You MAY select one now to continue with the LOINC lookup",IOM),!
|
---|
53 | K DIE,DR,DA S DA=LRIEN,DIE="^LAB(60,",DR=64.1
|
---|
54 | D ^DIE
|
---|
55 | I $D(DUOUT)!($D(DTOUT)) G START
|
---|
56 | I '$P($G(^LAB(60,+$G(LRIEN),64)),U,2) D
|
---|
57 | .S DIC=DIE,DR=0 W !! W ?5,"IEN: [",DA,"] ",$P(^LAB(60,LRIEN,0),U) S S=$Y D EN^LRDIQ W !
|
---|
58 | W !
|
---|
59 | S LRNLT=$P($G(^LAB(60,+$G(LRIEN),64)),U,2)
|
---|
60 | I 'LRNLT G TEST
|
---|
61 | Q
|
---|