LRMLWT ;BPFO/DTG - LAB NTRT LOOP 60 FOR MLTF ;02/10/2016
;;5.2;LAB SERVICE;**468,500**;Sep 27, 1994;Build 29
;
; From option LR NTRT WALK ASSOCIATE
;
; loop through the 60 file by test
EN ; starting point for walking from newest test to oldest test in file 60
; to associate with the MLTF
N DIE,DR,DA,DIQ,LRTN,LRARY,LRSPARY,DT,A,B,C,D,PS,LASTTEST,DIR,LRIEN,LRSPEC,LRSN,LRS,LRN,LSITE,LRNT,LRNTI,AR,LXA,LXB
N LRMLTF,LR64,LR64ER,ER,LRSPERR,LROKS,LRSYSTEM,LRLEC,LRNO,X,Y
N AA,ALA,ALAC,DIC,I,LRCKD,LRELEC,LRLNC,LRLNC0,LT,SCOUNT,OK
S U="^" I $G(DT)="" S DT=$$DT^XLFDT
S B=$$SITE^VASITE,B=$P(B,U,1) I 'B Q ; not set up
S PS=$O(^LAB(66.4,"B",B,0)) I PS="" Q ; 66.4 not set up
;START OF CHANGE FOR LR*5.2*500
S LASTTEST=$$GET1^DIQ(66.4,PS_",",.08)
I LASTTEST]"" S OK=0 D I OK G QUIT
. N LNAME,LRFDA,DIR,DIRUT
. S LNAME=$S(LASTTEST="DONE":"Process Completed",1:$$GET1^DIQ(60,(+LASTTEST)_",",.01))
. S DIR(0)="SO^C:CONTINUE WITH "_LNAME_" ["_LASTTEST_"];S:START OVER"
. S DIR("L",1)=" CONTINUE WITH "_LNAME_" ["_LASTTEST_"] (C)"
. S DIR("L")=" START OVER (S)"
. D ^DIR
. I $D(DIRUT)!(Y="^") W !,*7,"Continuation Method Not Selected. Quitting" S OK=1 Q
. I $G(Y)="S" S LRFDA(66.4,PS_",",.08)="@" D FILE^DIE(,"LRFDA")
;END OF CHANGE FOR LR*5.2*500
ENR S LASTTEST=$$GET1^DIQ(66.4,PS_",",.08)
I LASTTEST="DONE" W !,*7,"Process Has Been Completed" G QUIT
D GET664
I LASTTEST="" S LASTTEST=$O(^LAB(60,"A"),-1) I LASTTEST?1.N S LR64ER=0 D I LR64ER=1 G SETER
. L +^LAB(66.4,PS):30 I '$T S LR64ER=1 Q
. S LASTTEST=LASTTEST+1,DA=PS,DIE="^LAB(66.4,",DR=".08///"_LASTTEST
. D ^DIE
. L -^LAB(66.4,PS)
;
LOOP ; start the process
S LRIEN=LASTTEST K LRSPARY
L1 S LRIEN=$O(^LAB(60,LRIEN),-1) I LRIEN="" S LRIEN="DONE" G LOUT
D GET60T
S LRN=$G(LXA(.01,"E")),LR64ER=0
; check test subscript is valid for NTRT
S AA=$G(LXA(4,"I"))
I AA="WK" S LR64ER=0 D LSET G:LR64ER=1 SETER G L1
I AA="BB" D LSET G:LR64ER=1 SETER G L1
; check test type
S AA=$G(LXA(3,"I"))
I AA="N"!(AA="D") D LSET G:LR64ER=1 SETER G L1
; check for data name
I $G(LXA(5,"I"))="" D LSET G:LR64ER=1 SETER G L1
;
; loop ^LAB(60 specimen level
S LT=0,LRS=0
D Q1 I LRS<1 D S LR64ER=0 D LSET G:LR64ER=1 SETER G ENR
. I SCOUNT<1 W !!,*7," *** This Test ( ",LRN," [",LRIEN,"]) Does Not Have any Specimens",!!
G L2
L2 ;loop through specimens
K DIR,DIRUT
S DIR("A")="Enter The Number For The Specimen to Associate With The MLTF"
S DIR(0)="SO^",ALAC=0
F I=1:1:LRS S ALA=$G(LRSPARY(I)) I ALA'="" S ALAC=ALAC+1 S:ALAC>1 DIR(0)=DIR(0)_";" S DIR(0)=DIR(0)_I_":"_LRSPARY(I)
W !!,"TEST: "_LRN
W !,"SPECIMEN(s)",!
D ^DIR
I $D(DIRUT) G QUIT:$E(X)="^"
I Y'?1.N G LX
S A=$G(LRSPARY(Y)) I A="" W !,*7,"Number out of Range" G L2
S LRSPEC=$P($P(A,"[",2),"]",1),LRSN=$P(A," ",1) I LRSPEC'?1.N W !,*7,"Specimen not found" G L2
L2M ; come here to ask MLTF
K DIR,DA,DIRUT
;START OF CHANGE FOR LR*5.2*500
S DIR(0)="PO^66.3:EMQZ"
;END OF CHANGE FOR LR*5.2*500
S DIR("S")="I '$$SCREEN^XTID(66.3,"""",(+Y_"",""))"
D ^DIR
I $D(DIRUT) G QUIT:$E(X)="^"
I +Y'>0 G LX:LRS<2,L2Q
S LRSPERR=0,LRMLTF=+Y
; check specimen type (based on code from LRLNC0 at CHKSPEC
S LRELEC=$P($G(^LAB(61,LRSPEC,0)),U,9)
S LRLNC0=$$GET1^DIQ(66.3,LRMLTF,.04,"I")
S LRLNC=$P(LRLNC0,"-",1),LRCKD=$P(LRLNC0,"-",2)
S A=0,LRSYSTEM="" F S A=$O(^LAB(95.3,"B",LRLNC,A)) Q:'A S B=$G(^LAB(95.3,A,0)),LRSYSTEM=$P(B,U,8),C=$P(B,U,15) I C=LRCKD Q
; if not found in 95.3
I 'A G L2S
D CHKSPEC G:LROKS=1 L2S
I $D(DIRUT) G QUIT:$E(X)="^"
I LRNO=1 W !,"TEST: ",LRN,!,"SPECIMEN: ",LRSN,! G L2M
G L2S
;
L2S D MSET I LRSPERR=1 G SETER
S A=$$GET1^DIQ(60.01,LT_","_LRIEN,30,"E")
W !,LRSN,": Saved With MLTF ",A,!
S LT=0,LRS=0 K LRSPARY D Q1 I LRS<1 D S LR64ER=0 D LSET G:LR64ER=1 SETER G ENR
. I SCOUNT<1 W !!,*7," *** This Test ( ",LRN," [",LRIEN,"] Does Not Have any Specimens",!! R X:10
G L2
;
L2Q ; ask to see additional specimens
K DIR,DIRUT S DIR(0)="Y",DIR("B")="YES",DIR("A")="Do You Wish to Evaluate Additional Specimens? "
D ^DIR
I $D(DIRUT) G QUIT:$E(X)="^"
I Y=1 S LT=0,LRS=0 K LRSPARY D Q1 W:LRS<1 *7," No More Specimens To Check For This Test" G:LRS<1 LX G L2
G LX
LX ;
K DIR,DIRUT S DIR(0)="Y",DIR("B")="YES",DIR("A")="Do You Wish to go to The Next Test?"
D ^DIR
I $D(DIRUT) G QUIT:$E(X)="^"
I Y=1 S LR64ER=0 D LSET G:LR64ER=1 SETER G ENR
K DIR,DIRUT S DIR(0)="Y",DIR("B")="YES",DIR("A")="Do You Wish to Exit?" D ^DIR
G QUIT:$D(DIRUT) I Y=1 K DIR,DIRUT S LR64ER=0 D G:LRNO=1 QUIT G SETER:LR64ER=1,QUIT
. S LRNO=0,DIR(0)="Y",DIR("B")="YES",DIR("A")="Do You Wish to Skip This Test on Re-Start?" D ^DIR
. I $D(DIRUT) S LRNO=1 Q
. I Y=1 D LSET
G ENR
;
Q1 ; pick up spcimens from test
S SCOUNT=0
Q1A S LT=$O(^LAB(60,LRIEN,1,LT)) I 'LT Q
S SCOUNT=SCOUNT+1
S B=$$GET1^DIQ(60.01,LT_","_LRIEN,30,"I") I B'="" G Q1A
S A=$$GET1^DIQ(60.01,LT_","_LRIEN,.01,"E")
S LRS=LRS+1,LRSPARY(LRS)=A_" ["_LT_"]" ;LT_"-"_A
G Q1A
;
QUIT ;
K DIE,DR,DA,DIQ,LRTN,LRARY,LRSPARY,A,B,C,D,PS,LASTTEST,DIR,LRIEN,LRSPEC,LRSN,LRS,LRN,LSITE,LRNT,LRNTI,AR,LXA,LXB
K LRMLTF,LR64,LR64ER,ER,LRSPERR,LROKS,LRSYSTEM,LRLEC,LRNO
K AA,ALA,ALAC,DIC,I,LRCKD,LRELEC,LRLNC,LRLNC0,LT,SCOUNT,X,Y,OK
Q
;
LOUT D LSET G:LR64ER=1 SETER
I LRIEN="DONE" G QUIT
K LRSPARY
G ENR
;
LSET ;put the last ien in 66.4 .08
N DA,DIE,DR
S DA=PS
L +^LAB(66.4,DA):30 I '$T S LR64ER=1 Q
S DIE="^LAB(66.4,",DR=".08///"_LRIEN D ^DIE
L -^LAB(66.4,DA)
Q
;
SETER ; come here if not able to open files and quit
W !,*7,"unable to open file... EXITING " R X:10 G QUIT
;
MSET ;save the mltf to the 60 file
N DA,DR,DIE,FDA,FFF
L +^LAB(60,LRIEN,1,LRSPEC):30 I '$T S LRSPERR=1 Q
;START OF CHANGE FOR LR*5.2*500
;S DA(1)=+LRIEN,DA=LRSPEC,DR="30///"_LRMLTF,DIE="^LAB(60,"_DA(1)_",1," D ^DIE
K FDA S DA(1)=+LRIEN,DA=LRSPEC,FFF=DA_","_DA(1)_",",FDA(60.01,FFF,30)=LRMLTF D FILE^DIE("","FDA")
K FDA,FFF
;END OF CHANGE FOR LR*5.2*500
L -^LAB(60,LRIEN,1,LRSPEC)
Q
;
GET664 ; get file 66.4 info
S LSITE=$$SITE^VASITE,LSITE=$P(LSITE,U,1)
S LRNT=$O(^LAB(66.4,"B",LSITE,0))
D GETS^DIQ(66.4,LRNT_",","**","IE","AR")
M LRNTI=AR("66.4",LRNT_",") K AR
Q
;
GET60T ; get top of file 60 test info
S DA=LRIEN,DIQ="LXB",DIQ(0)="IE",DIC=60,DR=".01;3;4;5;64.1;5;13;131;132;133" D EN^DIQ1
K LXA M LXA=LXB(60,DA) K LXB
Q
;
CHKSPEC ;Check that specimen of MLTF LOINC code same as specimen of test
S LROKS=1
I LRSYSTEM=$G(LRELEC) Q
I (LRSYSTEM=74!(LRSYSTEM=83)!(LRSYSTEM=114)!(LRSYSTEM=1376))&($G(LRELEC)=74!($G(LRELEC)=83)!($G(LRELEC)=114)!($G(LRELEC)=1376)) Q
S LROKS=0,LRNO=0
W !!,"The MLTF LOINC code that you have selected does not have the"
W !,"same specimen that you chose to test/specimen."
K DIR,DIRUT
S DIR(0)="Y",DIR("A")="Are you sure you want to do this"
S DIR("?")="If you enter yes, the test/specimen will be associated to this MLTF LOINC code."
S DIR("B")="Yes"
D ^DIR
I $D(DIRUT) S LRNO=1 Q
I Y<1 S LRNO=1
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRMLWT 7045 printed Oct 16, 2024@18:18:47 Page 2
LRMLWT ;BPFO/DTG - LAB NTRT LOOP 60 FOR MLTF ;02/10/2016
+1 ;;5.2;LAB SERVICE;**468,500**;Sep 27, 1994;Build 29
+2 ;
+3 ; From option LR NTRT WALK ASSOCIATE
+4 ;
+5 ; loop through the 60 file by test
EN ; starting point for walking from newest test to oldest test in file 60
+1 ; to associate with the MLTF
+2 NEW DIE,DR,DA,DIQ,LRTN,LRARY,LRSPARY,DT,A,B,C,D,PS,LASTTEST,DIR,LRIEN,LRSPEC,LRSN,LRS,LRN,LSITE,LRNT,LRNTI,AR,LXA,LXB
+3 NEW LRMLTF,LR64,LR64ER,ER,LRSPERR,LROKS,LRSYSTEM,LRLEC,LRNO,X,Y
+4 NEW AA,ALA,ALAC,DIC,I,LRCKD,LRELEC,LRLNC,LRLNC0,LT,SCOUNT,OK
+5 SET U="^"
IF $GET(DT)=""
SET DT=$$DT^XLFDT
+6 ; not set up
SET B=$$SITE^VASITE
SET B=$PIECE(B,U,1)
IF 'B
QUIT
+7 ; 66.4 not set up
SET PS=$ORDER(^LAB(66.4,"B",B,0))
IF PS=""
QUIT
+8 ;START OF CHANGE FOR LR*5.2*500
+9 SET LASTTEST=$$GET1^DIQ(66.4,PS_",",.08)
+10 IF LASTTEST]""
SET OK=0
Begin DoDot:1
+11 NEW LNAME,LRFDA,DIR,DIRUT
+12 SET LNAME=$SELECT(LASTTEST="DONE":"Process Completed",1:$$GET1^DIQ(60,(+LASTTEST)_",",.01))
+13 SET DIR(0)="SO^C:CONTINUE WITH "_LNAME_" ["_LASTTEST_"];S:START OVER"
+14 SET DIR("L",1)=" CONTINUE WITH "_LNAME_" ["_LASTTEST_"] (C)"
+15 SET DIR("L")=" START OVER (S)"
+16 DO ^DIR
+17 IF $DATA(DIRUT)!(Y="^")
WRITE !,*7,"Continuation Method Not Selected. Quitting"
SET OK=1
QUIT
+18 IF $GET(Y)="S"
SET LRFDA(66.4,PS_",",.08)="@"
DO FILE^DIE(,"LRFDA")
End DoDot:1
IF OK
GOTO QUIT
+19 ;END OF CHANGE FOR LR*5.2*500
ENR SET LASTTEST=$$GET1^DIQ(66.4,PS_",",.08)
+1 IF LASTTEST="DONE"
WRITE !,*7,"Process Has Been Completed"
GOTO QUIT
+2 DO GET664
+3 IF LASTTEST=""
SET LASTTEST=$ORDER(^LAB(60,"A"),-1)
IF LASTTEST?1.N
SET LR64ER=0
Begin DoDot:1
+4 LOCK +^LAB(66.4,PS):30
IF '$TEST
SET LR64ER=1
QUIT
+5 SET LASTTEST=LASTTEST+1
SET DA=PS
SET DIE="^LAB(66.4,"
SET DR=".08///"_LASTTEST
+6 DO ^DIE
+7 LOCK -^LAB(66.4,PS)
End DoDot:1
IF LR64ER=1
GOTO SETER
+8 ;
LOOP ; start the process
+1 SET LRIEN=LASTTEST
KILL LRSPARY
L1 SET LRIEN=$ORDER(^LAB(60,LRIEN),-1)
IF LRIEN=""
SET LRIEN="DONE"
GOTO LOUT
+1 DO GET60T
+2 SET LRN=$GET(LXA(.01,"E"))
SET LR64ER=0
+3 ; check test subscript is valid for NTRT
+4 SET AA=$GET(LXA(4,"I"))
+5 IF AA="WK"
SET LR64ER=0
DO LSET
if LR64ER=1
GOTO SETER
GOTO L1
+6 IF AA="BB"
DO LSET
if LR64ER=1
GOTO SETER
GOTO L1
+7 ; check test type
+8 SET AA=$GET(LXA(3,"I"))
+9 IF AA="N"!(AA="D")
DO LSET
if LR64ER=1
GOTO SETER
GOTO L1
+10 ; check for data name
+11 IF $GET(LXA(5,"I"))=""
DO LSET
if LR64ER=1
GOTO SETER
GOTO L1
+12 ;
+13 ; loop ^LAB(60 specimen level
+14 SET LT=0
SET LRS=0
+15 DO Q1
IF LRS<1
Begin DoDot:1
+16 IF SCOUNT<1
WRITE !!,*7," *** This Test ( ",LRN," [",LRIEN,"]) Does Not Have any Specimens",!!
End DoDot:1
SET LR64ER=0
DO LSET
if LR64ER=1
GOTO SETER
GOTO ENR
+17 GOTO L2
L2 ;loop through specimens
+1 KILL DIR,DIRUT
+2 SET DIR("A")="Enter The Number For The Specimen to Associate With The MLTF"
+3 SET DIR(0)="SO^"
SET ALAC=0
+4 FOR I=1:1:LRS
SET ALA=$GET(LRSPARY(I))
IF ALA'=""
SET ALAC=ALAC+1
if ALAC>1
SET DIR(0)=DIR(0)_";"
SET DIR(0)=DIR(0)_I_":"_LRSPARY(I)
+5 WRITE !!,"TEST: "_LRN
+6 WRITE !,"SPECIMEN(s)",!
+7 DO ^DIR
+8 IF $DATA(DIRUT)
if $EXTRACT(X)="^"
GOTO QUIT
+9 IF Y'?1.N
GOTO LX
+10 SET A=$GET(LRSPARY(Y))
IF A=""
WRITE !,*7,"Number out of Range"
GOTO L2
+11 SET LRSPEC=$PIECE($PIECE(A,"[",2),"]",1)
SET LRSN=$PIECE(A," ",1)
IF LRSPEC'?1.N
WRITE !,*7,"Specimen not found"
GOTO L2
L2M ; come here to ask MLTF
+1 KILL DIR,DA,DIRUT
+2 ;START OF CHANGE FOR LR*5.2*500
+3 SET DIR(0)="PO^66.3:EMQZ"
+4 ;END OF CHANGE FOR LR*5.2*500
+5 SET DIR("S")="I '$$SCREEN^XTID(66.3,"""",(+Y_"",""))"
+6 DO ^DIR
+7 IF $DATA(DIRUT)
if $EXTRACT(X)="^"
GOTO QUIT
+8 IF +Y'>0
if LRS<2
GOTO LX
GOTO L2Q
+9 SET LRSPERR=0
SET LRMLTF=+Y
+10 ; check specimen type (based on code from LRLNC0 at CHKSPEC
+11 SET LRELEC=$PIECE($GET(^LAB(61,LRSPEC,0)),U,9)
+12 SET LRLNC0=$$GET1^DIQ(66.3,LRMLTF,.04,"I")
+13 SET LRLNC=$PIECE(LRLNC0,"-",1)
SET LRCKD=$PIECE(LRLNC0,"-",2)
+14 SET A=0
SET LRSYSTEM=""
FOR
SET A=$ORDER(^LAB(95.3,"B",LRLNC,A))
if 'A
QUIT
SET B=$GET(^LAB(95.3,A,0))
SET LRSYSTEM=$PIECE(B,U,8)
SET C=$PIECE(B,U,15)
IF C=LRCKD
QUIT
+15 ; if not found in 95.3
+16 IF 'A
GOTO L2S
+17 DO CHKSPEC
if LROKS=1
GOTO L2S
+18 IF $DATA(DIRUT)
if $EXTRACT(X)="^"
GOTO QUIT
+19 IF LRNO=1
WRITE !,"TEST: ",LRN,!,"SPECIMEN: ",LRSN,!
GOTO L2M
+20 GOTO L2S
+21 ;
L2S DO MSET
IF LRSPERR=1
GOTO SETER
+1 SET A=$$GET1^DIQ(60.01,LT_","_LRIEN,30,"E")
+2 WRITE !,LRSN,": Saved With MLTF ",A,!
+3 SET LT=0
SET LRS=0
KILL LRSPARY
DO Q1
IF LRS<1
Begin DoDot:1
+4 IF SCOUNT<1
WRITE !!,*7," *** This Test ( ",LRN," [",LRIEN,"] Does Not Have any Specimens",!!
READ X:10
End DoDot:1
SET LR64ER=0
DO LSET
if LR64ER=1
GOTO SETER
GOTO ENR
+5 GOTO L2
+6 ;
L2Q ; ask to see additional specimens
+1 KILL DIR,DIRUT
SET DIR(0)="Y"
SET DIR("B")="YES"
SET DIR("A")="Do You Wish to Evaluate Additional Specimens? "
+2 DO ^DIR
+3 IF $DATA(DIRUT)
if $EXTRACT(X)="^"
GOTO QUIT
+4 IF Y=1
SET LT=0
SET LRS=0
KILL LRSPARY
DO Q1
if LRS<1
WRITE *7," No More Specimens To Check For This Test"
if LRS<1
GOTO LX
GOTO L2
+5 GOTO LX
LX ;
+1 KILL DIR,DIRUT
SET DIR(0)="Y"
SET DIR("B")="YES"
SET DIR("A")="Do You Wish to go to The Next Test?"
+2 DO ^DIR
+3 IF $DATA(DIRUT)
if $EXTRACT(X)="^"
GOTO QUIT
+4 IF Y=1
SET LR64ER=0
DO LSET
if LR64ER=1
GOTO SETER
GOTO ENR
+5 KILL DIR,DIRUT
SET DIR(0)="Y"
SET DIR("B")="YES"
SET DIR("A")="Do You Wish to Exit?"
DO ^DIR
+6 if $DATA(DIRUT)
GOTO QUIT
IF Y=1
KILL DIR,DIRUT
SET LR64ER=0
Begin DoDot:1
+7 SET LRNO=0
SET DIR(0)="Y"
SET DIR("B")="YES"
SET DIR("A")="Do You Wish to Skip This Test on Re-Start?"
DO ^DIR
+8 IF $DATA(DIRUT)
SET LRNO=1
QUIT
+9 IF Y=1
DO LSET
End DoDot:1
if LRNO=1
GOTO QUIT
if LR64ER=1
GOTO SETER
GOTO QUIT
+10 GOTO ENR
+11 ;
Q1 ; pick up spcimens from test
+1 SET SCOUNT=0
Q1A SET LT=$ORDER(^LAB(60,LRIEN,1,LT))
IF 'LT
QUIT
+1 SET SCOUNT=SCOUNT+1
+2 SET B=$$GET1^DIQ(60.01,LT_","_LRIEN,30,"I")
IF B'=""
GOTO Q1A
+3 SET A=$$GET1^DIQ(60.01,LT_","_LRIEN,.01,"E")
+4 ;LT_"-"_A
SET LRS=LRS+1
SET LRSPARY(LRS)=A_" ["_LT_"]"
+5 GOTO Q1A
+6 ;
QUIT ;
+1 KILL DIE,DR,DA,DIQ,LRTN,LRARY,LRSPARY,A,B,C,D,PS,LASTTEST,DIR,LRIEN,LRSPEC,LRSN,LRS,LRN,LSITE,LRNT,LRNTI,AR,LXA,LXB
+2 KILL LRMLTF,LR64,LR64ER,ER,LRSPERR,LROKS,LRSYSTEM,LRLEC,LRNO
+3 KILL AA,ALA,ALAC,DIC,I,LRCKD,LRELEC,LRLNC,LRLNC0,LT,SCOUNT,X,Y,OK
+4 QUIT
+5 ;
LOUT DO LSET
if LR64ER=1
GOTO SETER
+1 IF LRIEN="DONE"
GOTO QUIT
+2 KILL LRSPARY
+3 GOTO ENR
+4 ;
LSET ;put the last ien in 66.4 .08
+1 NEW DA,DIE,DR
+2 SET DA=PS
+3 LOCK +^LAB(66.4,DA):30
IF '$TEST
SET LR64ER=1
QUIT
+4 SET DIE="^LAB(66.4,"
SET DR=".08///"_LRIEN
DO ^DIE
+5 LOCK -^LAB(66.4,DA)
+6 QUIT
+7 ;
SETER ; come here if not able to open files and quit
+1 WRITE !,*7,"unable to open file... EXITING "
READ X:10
GOTO QUIT
+2 ;
MSET ;save the mltf to the 60 file
+1 NEW DA,DR,DIE,FDA,FFF
+2 LOCK +^LAB(60,LRIEN,1,LRSPEC):30
IF '$TEST
SET LRSPERR=1
QUIT
+3 ;START OF CHANGE FOR LR*5.2*500
+4 ;S DA(1)=+LRIEN,DA=LRSPEC,DR="30///"_LRMLTF,DIE="^LAB(60,"_DA(1)_",1," D ^DIE
+5 KILL FDA
SET DA(1)=+LRIEN
SET DA=LRSPEC
SET FFF=DA_","_DA(1)_","
SET FDA(60.01,FFF,30)=LRMLTF
DO FILE^DIE("","FDA")
+6 KILL FDA,FFF
+7 ;END OF CHANGE FOR LR*5.2*500
+8 LOCK -^LAB(60,LRIEN,1,LRSPEC)
+9 QUIT
+10 ;
GET664 ; get file 66.4 info
+1 SET LSITE=$$SITE^VASITE
SET LSITE=$PIECE(LSITE,U,1)
+2 SET LRNT=$ORDER(^LAB(66.4,"B",LSITE,0))
+3 DO GETS^DIQ(66.4,LRNT_",","**","IE","AR")
+4 MERGE LRNTI=AR("66.4",LRNT_",")
KILL AR
+5 QUIT
+6 ;
GET60T ; get top of file 60 test info
+1 SET DA=LRIEN
SET DIQ="LXB"
SET DIQ(0)="IE"
SET DIC=60
SET DR=".01;3;4;5;64.1;5;13;131;132;133"
DO EN^DIQ1
+2 KILL LXA
MERGE LXA=LXB(60,DA)
KILL LXB
+3 QUIT
+4 ;
CHKSPEC ;Check that specimen of MLTF LOINC code same as specimen of test
+1 SET LROKS=1
+2 IF LRSYSTEM=$GET(LRELEC)
QUIT
+3 IF (LRSYSTEM=74!(LRSYSTEM=83)!(LRSYSTEM=114)!(LRSYSTEM=1376))&($GET(LRELEC)=74!($GET(LRELEC)=83)!($GET(LRELEC)=114)!($GET(LRELEC)=1376))
QUIT
+4 SET LROKS=0
SET LRNO=0
+5 WRITE !!,"The MLTF LOINC code that you have selected does not have the"
+6 WRITE !,"same specimen that you chose to test/specimen."
+7 KILL DIR,DIRUT
+8 SET DIR(0)="Y"
SET DIR("A")="Are you sure you want to do this"
+9 SET DIR("?")="If you enter yes, the test/specimen will be associated to this MLTF LOINC code."
+10 SET DIR("B")="Yes"
+11 DO ^DIR
+12 IF $DATA(DIRUT)
SET LRNO=1
QUIT
+13 IF Y<1
SET LRNO=1
+14 QUIT