Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BLRRLEVT

BLRRLEVT.m

Go to the documentation of this file.
  1. BLRRLEVT ;cmi/anch/maw - BLR Reference Lab Event ; 13-Oct-2017 14:04 ; MAW
  1. ;;5.2;IHS LABORATORY;**1027,1030,1031,1033,1034,1035,1036,1039,1041**;NOV 01, 1997;Build 23
  1. ;
  1. Q
  1. ;
  1. LEDI ;-- LEDI III insurance stuff
  1. N BLRA,BLRC,BLRB
  1. K BLRRLC
  1. S BLRLEDI=1
  1. S BLRTS=$S(+$G(LRTS):+LRTS,$G(LRTSTS):+LRTSTS,1:+$G(LRTSORU))
  1. ; ----- BEGIN IHS/CMI/MAW - LR*5.2*1031
  1. ;ihs/cmi/maw 11/15/2011 added the following for ehr ordering
  1. Q:'$G(LROLLOC)
  1. Q:'$P($G(^SC(LROLLOC,0)),U,4)
  1. S BLRALTDZ=$S($P($G(^SC(LROLLOC,0)),U,4):$P($G(^SC(LROLLOC,0)),U,4),1:DUZ(2))
  1. Q:'+$G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL"))
  1. S LRDUZ(2)=BLRALTDZ
  1. ; ----- END IHS/CMI/MAW - LR*5.2*1031
  1. ;I BLRPHASE="O" D ;cmi/maw 5/30/2007 added for institution entry of file 44 so that it gets correct accession area from file 60 otherwise it gets duz(2)
  1. ;. Q:'$$SENDOUT(BLRALTDZ,BLRTS)
  1. ;. I '$G(BLRO) S BLRO=$$ORD^BLRRLEDI(LRORD,DFN)
  1. ;. Q:'$G(BLRO)
  1. ;. I $G(BLRTS) D LEDIAAA
  1. ;. Q:$G(BLRDXS)
  1. ;. ; ihs/cmi/maw patch 1034 we no longer want to ask DX at order time
  1. ;. I $P($G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL")),U,15)="T" D DX^BLRRLEDI(LRORD)
  1. ;. K BLRO,BLRRLC
  1. Q:BLRPHASE'="A" ;quit if not an accession
  1. S BLRRL("RL")=+$G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL")) ;ref lab site maw modified 5/29/2007
  1. Q:'BLRRL("RL")
  1. Q:'$$NOMAP(BLRRL("RL"),+$G(BLRTS),$G(LROLLOC)) ;ihs/cmi/maw 07/15/2015 p1035 maintenance dont proceed if not a mapped test
  1. ;Q:'$$SENDOUT($G(BLRALTDZ),$G(BLRTS)) ; IHS/MSC/MKK - LR*5.2*1031 -- Possible null variable(s)
  1. S BLRO=$O(^BLRRLO("B",LRORD,0))
  1. I $G(BLROPT)="ADDCOL",'+$G(LRQUIET) D
  1. . ;ihs/cmi/maw 12/30/2014 p1034 for lab collect reference lab
  1. . ;we need to reset the order number here
  1. . N BLRNORD,BLRNORDI
  1. . S BLRNORDI=$O(^BLRRLO("ACC",LRUID,0))
  1. . I BLRNORDI S BLRNORD=$P($G(^BLRRLO(BLRNORDI,0)),U)
  1. . I '$G(BLRNORD) S BLRNORD=LRORD
  1. . S BLRORDLC(BLRNORD)=""
  1. . D PRTLC^BLRRLEVN(BLRNORD,LRUID,DFN,LRLLOC,LRODT,LRPRAC,LRTSTS)
  1. . S BLRLCLNT(BLRNORD)=1
  1. . S LRORD=BLRNORD
  1. I '$G(BLRO) S BLRO=$$ORD^BLRRLEDI(LRORD,DFN)
  1. S BLRA=$$ACC^BLRRLEDI(LRUID,LRORD,DFN,LRCDT)
  1. Q:'BLRA
  1. I $G(BLRTS) D LEDIAAA ;ihs/cmi/maw p1034
  1. I '$G(BLRASFLG) S BLRC=$$CLIENT^BLRRLEDI(LRORD,LRUID)
  1. S BLRASFLG=1
  1. ;I $P($G(^BLRRLO(BLRO,4,0)),U,4) D SETAO(BLRO),LEDIAAA
  1. K BLRRLC
  1. ;I $O(^BLRRLO(BLRO,4,"B",BLRTS,0)) D SETAO(BLRO,BLRTS),LEDIAAA
  1. S BLRB=$P($G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL")),U,15)
  1. I '+$G(BLRAGUI),$P($G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL")),U,15)="T" D
  1. . K BLRDXS,BLRDFLG
  1. . D DX^BLRRLEDI(LRORD)
  1. I '+$G(BLRAGUI),'$G(BLRINS) D BILL^BLRRLEDI(BLRB,LRORD,LRUID,LRCDT)
  1. I $G(BLRAGUI) I "CTP"[$G(BLRBT) S BLRRL("BILL TYPE")=BLRBT,BLRINS=1 S BT=$$BTP^BLRRLEDI(LRORD,BLRBT)
  1. K BLRO,BLRRLC
  1. Q
  1. ;
  1. SETAO(RO,TS) ;-- setup the ask at order array from whats in the BLRRLO global
  1. N ADA,DATA,TST,QUES,ANS,RSC
  1. K BLRRLC
  1. S ADA=0 F S ADA=$O(^BLRRLO(RO,4,"B",TS,ADA)) Q:'ADA D
  1. . S DATA=$G(^BLRRLO(RO,4,ADA,0))
  1. . S TST=$P(DATA,U),QUES=$P(DATA,U,3),ANS=$P(DATA,U,4),RSC=$P(DATA,U,5)
  1. . S BLRRLC(TST,ADA)=RSC_U_QUES_U_ANS
  1. Q
  1. ;
  1. LEDIAAA ;-- ledi ask at order question
  1. I '$O(BLRRLC(0)),$P($G(XQY0),U)'="LRPHMAN" S BLRRLSUC=$$COM^BLRRLCOM(BLRTS,1) ;cmi/anch/maw modified due to routine collect no LRTS 9/8/2004
  1. ; I $O(BLRRLC(0)) D
  1. I $O(BLRRLC(0)),'+$G(LRQUIET) D ; IHS/MSC/MKK - LR*5.2*1035
  1. . S DIR(0)="Y",DIR("A")="Are the responses to the Ask At Accession questions correct ",DIR("B")="Y"
  1. . D ^DIR
  1. . I '$G(Y) D G LEDIAAA
  1. .. D DISAAQ(.BLRCNT,BLRTS,.BLRRLC)
  1. D FLAO(.BLRRLC,BLRTS,BLRO,$G(LRUID),1)
  1. Q
  1. ;
  1. FLAO(RLC,T,RL,ACC,LEDI) ;-- file the ask at order questions
  1. I $G(LEDI) D CLNAO(RL,T)
  1. N FIENS,FERR,FDA
  1. N RDA,RIEN,QUES,ANS,RSC
  1. S RDA=0 F S RDA=$O(RLC(RDA)) Q:'RDA D
  1. . S RIEN=0 F S RIEN=$O(RLC(RDA,RIEN)) Q:'RIEN D
  1. .. S QUES=$P($G(RLC(RDA,RIEN)),U,2)
  1. .. S ANS=$P($G(RLC(RDA,RIEN)),U,3)
  1. .. S RSC=$P($G(RLC(RDA,RIEN)),U)
  1. .. S FIENS="+2,"_RL_","
  1. .. S FDA(9009026.34,FIENS,.01)=T
  1. .. S FDA(9009026.34,FIENS,.02)=ACC
  1. .. S FDA(9009026.34,FIENS,.03)=QUES
  1. .. S FDA(9009026.34,FIENS,.04)=ANS
  1. .. S FDA(9009026.34,FIENS,.05)=RSC
  1. .. D UPDATE^DIE("","FDA","FIENS","FERR(1)")
  1. .. K FIENS,FERR,FDA
  1. Q
  1. ;
  1. CLNAO(L,T) ;-- clean ot the ask at order questions
  1. S DA=0 F S DA=$O(^BLRRLO(L,4,"B",T,DA)) Q:'DA D
  1. . S DA(1)=L
  1. . S DIK="^BLRRLO("_DA(1)_",4,"
  1. . D ^DIK
  1. K DA,DIK
  1. Q
  1. ;
  1. SENDOUT(AC,LRT) ;-- check if a valid sendout test
  1. Q:$G(AC)=""!($G(LRT)="") 0 ; IHS/MSC/MKK - LR*5.2*1031
  1. ;
  1. N RL,ACCA,AREA,MATCH
  1. S MATCH=0
  1. S RL=+$G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL"))
  1. I '$G(RL) Q 0
  1. N ADA
  1. S ADA=0 F S ADA=$O(^LAB(60,LRT,8,ADA)) Q:'ADA!($G(MATCH)) D
  1. . S ACCA=$P($G(^LAB(60,LRT,8,ADA,0)),U,2)
  1. . Q:'ACCA
  1. . I $O(^BLRSITE("ACC",ACCA,AC,0)) S MATCH=1 Q
  1. I '$G(MATCH) Q 0
  1. Q 1
  1. ;
  1. ACC ;EP - cmi/flag/maw added the following for ref lab accessions
  1. I $P($G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL")),U,22) D LEDI Q
  1. K BLRRL,BLRRLC ;kill off existing BLRRL array
  1. N BLRLDIO
  1. I BLRPHASE="O" D ;cmi/maw 5/30/2007 added for institution entry of file 44 so that it gets correct accession area from file 60 otherwise it gets duz(2)
  1. . Q:'$G(LROLLOC)
  1. . Q:'$P($G(^SC(LROLLOC,0)),U,4)
  1. . S BLRALTDZ=$P($G(^SC(LROLLOC,0)),U,4)
  1. . Q:'+$G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL"))
  1. . S LRDUZ(2)=BLRALTDZ
  1. Q:BLRPHASE'="A" ;quit if not an accession
  1. ;Q:$G(BLROPT)="ADDACC" ;p1034 dont hit event driver if adding a test
  1. I $G(BLROPT)="ADDACC",$G(BLRAGUI) Q ;p1041
  1. S BLRRL("ALTDUZ2")=$G(BLRALTDZ) ;cmi/maw 5/29/2007 setup alternate duz2 if they select the prompt in blrsite to look at ordering location
  1. I $G(BLRALTDZ),$P($G(^BLRSITE(BLRALTDZ,"RL")),U,10)="D" K BLRALTDZ,BLRRL("ALTDUZ2") ;don't need variables if they use a true multidivisional site
  1. I $G(BLRALTDZ),$P($G(^BLRSITE(BLRALTDZ,"RL")),U,10)="" K BLRALTDZ,BLRRL("ALTDUZ2") ;don't need variables if they use a true multidivisional site
  1. S BLRRL("RL")=+$G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL")) ;ref lab site maw modified 5/29/2007
  1. Q:'BLRRL("RL")
  1. Q:'$$NOMAP(BLRRL("RL"),+$G(LRTS),$G(LROLLOC)) ;ihs/cmi/maw 07/15/2015 p1035 maintenance dont proceed if not a mapped test
  1. S BLRRL("RLE")=$P($G(^BLRRL(BLRRL("RL"),0)),U) ;get external name
  1. S BLRRL("PAT")=$G(DFN) ;patient
  1. I $G(LRAA) S BLRRL("ACCCHECK")=LRAA ;cmi/maw 2/9/2009
  1. I $G(LRACC)]"" S BLRRL("ACCCHECK")=$O(^LRO(68,"B",$P(LRACC," "),0)) ;cmi/maw 2/9/2009
  1. Q:'$G(BLRRL("ACCCHECK")) ;cmi/maw 2/9/2009
  1. Q:'$D(^BLRSITE("ACC",BLRRL("ACCCHECK"),$S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),BLRRL("RL"))) ;2/9/09 quit if not a reference lab accession
  1. S BLRRL("LRTS")=$S(+$G(LRTS):+LRTS,1:$G(LRTSORU))
  1. Q:$G(BLRRL("LRTS"))="" ;1/23/2006 don't proceed without a test
  1. S BLRTS=$S(+$G(LRTS):+LRTS,1:$G(LRTSORU))
  1. I '$G(LRORD) S LRORD=$G(^LRO(68,+$G(LRAA),1,+$G(LRAD),1,+$G(LRAN),.1)) ;p1034
  1. S BLRO=$O(^BLRRLO("B",LRORD,0)) ;p1034
  1. I '$G(BLRO) S BLRO=$$ORD^BLRRLEDI(LRORD,DFN) ;added non ledi p1034
  1. I '$O(^BLRRLO("ACC",LRUID,0)) S BLRA=$$ACC^BLRRLEDI(LRUID,LRORD,DFN,LRCDT) ;added non ledi p1034
  1. I '$G(BLRRLCNT) S BLRRLCNT=0
  1. AAA I '$O(BLRRLC(0)),$P($G(XQY0),U)'="LRPHMAN" S BLRRLSUC=$$COM^BLRRLCOM(BLRRL("LRTS"),0) ;cmi/anch/maw modified due to routine collect no LRTS 9/8/2004
  1. I ('$G(LRQUIET))&$O(BLRRLC(0)) D
  1. . S DIR(0)="Y",DIR("A")="Are the responses to the Ask At Accession questions correct ",DIR("B")="Y"
  1. . D ^DIR
  1. . I '$G(Y) D G AAA
  1. .. D CLNAO(BLRO,BLRTS),DISAAQ(.BLRCNT,BLRRL("LRTS"),.BLRRLC)
  1. D FLAO(.BLRRLC,BLRTS,BLRO,$G(LRUID),1)
  1. Q:$G(BLRTS)="" ;1/23/2006 don't proceed without a test
  1. S BLRTSTDA=+$G(BLRTS)
  1. ;
  1. ; LR*5.2*1034 - Numerous lines of commented out code deleted -- see BLRRLEVD routine.
  1. ;
  1. I +$G(LRQUIET) D
  1. .I $G(BLRBT)="T" S BLRRL("BILL TYPE")="T" D BILL^BLRAG05C ; IHS/MSC/SAT - LR*5.2*1031
  1. .S BLRRL("BILL TYPE")=$S($G(BLRBT)="C":"C",$G(BLRBT)="P":"P",1:"")
  1. I $G(BLROPT)="ADDCOL",'+$G(LRQUIET) D
  1. . ;ihs/cmi/maw 12/30/2014 p1034 for lab collect reference lab
  1. . ;we need to reset the order number here
  1. . N BLRNORD,BLRNORDI
  1. . S BLRNORDI=$O(^BLRRLO("ACC",LRUID,0))
  1. . I BLRNORDI S BLRNORD=$P($G(^BLRRLO(BLRNORDI,0)),U)
  1. . I '$G(BLRNORD) S BLRNORD=LRORD
  1. . S BLRORDLC(BLRNORD)=""
  1. . D PRTLC^BLRRLEVN(BLRNORD,LRUID,DFN,LRLLOC,LRODT,LRPRAC,LRTSTS)
  1. . I '$G(BLRLCLNT(BLRNORD)) D CLIENT^BLRRLHL,CLIENTG^BLRRLEDI(BLRNORD,LRUID)
  1. . S BLRLCLNT(BLRNORD)=1
  1. I '$G(BLRRLCLA),'+$G(LRQUIET) D CLIENT^BLRRLHL,CLIENTG^BLRRLEDI(LRORD,LRUID)
  1. ;I '+$G(LRQUIET),$P($G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL")),U,15)'="C" D BILL^BLRRLHL ; IHS/MSC/SAT - LR*5.2*1031
  1. I '+$G(LRQUIET),$P($G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL")),U,15)="T" D ;ihs/cmi/maw - LR*5.2*1034
  1. . K BLRDXS,BLRDFLG
  1. . Q:$G(BLRASFLG)
  1. . D CLIENTG^BLRRLEDI(LRORD,LRUID)
  1. . D DX^BLRRLEDI(LRORD)
  1. . S BLRB=$P($G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL")),U,15)
  1. . I '+$G(BLRAGUI),'$G(BLRINS) D BILL^BLRRLEDI(BLRB,LRORD,LRUID,LRCDT)
  1. . ;D BILL^BLRRLHL
  1. . S BLRASFLG=1
  1. ;reset the DX tmp global here
  1. I '+$G(LRQUIET),$P($G(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RL")),U,15)="T" D
  1. . D ADDDX^BLRRLHL2(LRORD)
  1. . Q:$E($G(BLRRL("BILL TYPE")),1,1)'="T"
  1. . ;D INS^BLRRLHL(DFN,1)
  1. ;I '$G(BLRRL("CLIENT")) S BLRRL("CLIENT")=$G(BLRRLCLT)
  1. ;I '$G(BLRRL("CLIENT")) S BLRRL("CLIENT")=$O(^BLRSITE($S($G(BLRALTDZ):BLRALTDZ,1:DUZ(2)),"RLCA","B",""))
  1. ;I $G(BLRRL("CLIENT"))="" S BLRRL("CLIENT")=$P($G(^BLRRL(BLRRL("RL"),0)),U,13)
  1. ;I $G(BLRRL("BILL TYPE"))="" S BLRRL("BILL TYPE")=$G(BLRRLBTP)
  1. ;I $G(BLROPT)'="ADDCOL" D TMPSET(.BLRRL)
  1. I +$G(BLRAGUI)!(BLROPT="ADDCOL") D ;cmi/anch/maw added for ward collection list 2/23/2006
  1. . ;cmi/maw p1033 added order number, dob, sex back because its missing from the message post 1031 patch
  1. . K DOB,SEX ;lets reset DOB and sex here as it seems to not work correctly on Collection list
  1. . N ORDNUM
  1. . S ORDNUM=$G(^LRO(68,+$G(LRAA),1,+$G(LRAD),1,+$G(LRAN),.1))
  1. . S BLRRL("ORD")=ORDNUM
  1. . S:$G(BLRTSTDA) BLRRL(BLRTSTDA,"ORD")=$G(ORDNUM)
  1. . N PAI,PA
  1. . S PAI=$P($G(^LRO(68,+$G(LRAA),1,+$G(LRAD),1,+$G(LRAN),0)),U)
  1. . Q:'$G(PAI)
  1. . Q:$P(^LR(PAI,0),U,2)'=2
  1. . S PA=$P(^LR(PAI,0),U,3)
  1. . Q:'$G(PA)
  1. . S DOB=$P($G(^DPT(PA,0)),U,3)
  1. . S SEX=$P($G(^DPT(PA,0)),U,2)
  1. . ;D PRT^BLRSHPM
  1. . I +$G(BLRAGUI) D SHIPMAN^BLRRLEVN(ORDNUM,0,0) ;p1036
  1. ;S X="BLR REFLAB ACCESSION A TEST",DIC=101 D EN^XQOR ;call accession protocol
  1. ;K BLRRL,LRTEST,PAT
  1. ;I $G(BLRTSTDA)]"" K BLRRLC(BLRTSTDA)
  1. Q
  1. ;
  1. TMPSET(BLRSHP) ;-- setup the array for the shipping manifest
  1. N BLRDA,BLRDATA
  1. S BLRDA=0 F S BLRDA=$O(BLRSHP(BLRDA)) Q:BLRDA="" D
  1. . Q:BLRDA?.N
  1. . ;cmi/anch/maw 7/24/2007 right here you could store by order number if passed in at the top
  1. . S BLRDATA=$G(BLRSHP(BLRDA))
  1. . I '$D(^TMP("BLRRL",$J,BLRDA)) S ^TMP("BLRRL",$J,"COMMON",BLRDA)=BLRDATA
  1. N BLRDA,BLRDATA,BLRIEN
  1. S BLRDA=0 F S BLRDA=$O(BLRSHP(BLRDA)) Q:BLRDA="" D
  1. . Q:BLRDA'?.N
  1. . S BLRIEN=0 F S BLRIEN=$O(BLRSHP(BLRDA,BLRIEN)) Q:BLRIEN="" D
  1. .. Q:BLRIEN="COMMENT"
  1. .. S BLRDATA=$G(BLRSHP(BLRDA,BLRIEN))
  1. .. I '$D(^TMP("BLRRL",$J,BLRDA,BLRIEN)) S ^TMP("BLRRL",$J,BLRDA,BLRIEN)=BLRDATA
  1. N BLRDA,BLRDATA,BLRIEN,BLROEN
  1. S BLRDA=0 F S BLRDA=$O(BLRSHP(BLRDA)) Q:BLRDA="" D
  1. . Q:BLRDA'?.N
  1. . S BLRIEN=0 F S BLRIEN=$O(BLRSHP(BLRDA,BLRIEN)) Q:BLRIEN="" D
  1. .. Q:BLRIEN="COMMENT"
  1. .. S BLROEN=0 F S BLROEN=$O(BLRSHP(BLRDA,BLRIEN,BLROEN)) Q:'BLROEN D
  1. ... S BLRDATA=$G(BLRSHP(BLRDA,BLRIEN,BLROEN))
  1. ... I '$D(^TMP("BLRRL",$J,BLRDA,BLRIEN,BLROEN)) S ^TMP("BLRRL",$J,BLRDA,BLRIEN,BLROEN)=BLRDATA
  1. N BLRDA,BLRIEN,BLROEN,BLRDATA
  1. S BLRDA=0 F S BLRDA=$O(BLRSHP(BLRDA)) Q:BLRDA="" D
  1. . Q:'BLRDA
  1. . S BLRIEN=0 F S BLRIEN=$O(BLRSHP(BLRDA,"COMMENT",BLRIEN)) Q:'BLRIEN D
  1. .. S BLRDATA=$G(BLRSHP(BLRDA,"COMMENT",BLRIEN))
  1. .. I '$D(^TMP("BLRRL",$J,BLRDA,"COMMENT",BLRIEN)) S ^TMP("BLRRL",$J,BLRDA,"COMMENT",BLRIEN)=BLRDATA
  1. Q
  1. ;
  1. CODE(RL,TST) ;lookup the test code via prefix and test
  1. K BLRTCODE,BLRSHPC
  1. I '$D(^BLRRL(RL,1,0)) Q 0
  1. S BLRRDA=0 F S BLRRDA=$O(^BLRRL("ALP",TST,RL,BLRRDA)) Q:'BLRRDA!($G(BLRTCODE)]"") D
  1. . S BLRTCODE=$P($G(^BLRRL(RL,1,BLRRDA,0)),U,3)
  1. . S BLRSHPC=$P($G(^BLRRL(RL,1,BLRRDA,0)),U,5)
  1. . Q:$G(BLRTCODE)]""
  1. I $G(BLRTCODE)="" Q 0
  1. Q BLRTCODE_U_BLRSHPC
  1. ;
  1. DISAAQ(BLRCNT,TIEN,AAQ) ;-- display the ask at order questions
  1. N A,BLRCNT
  1. S BLRCNT=0
  1. S A=0 F S A=$O(AAQ(TIEN,A)) Q:'A D
  1. . S BLRCNT=BLRCNT+1
  1. . W !,A_") ",$P(AAQ(TIEN,A),U,2),?50,$P(AAQ(TIEN,A),U,3)
  1. W !
  1. N RES
  1. K DIR
  1. S DIR(0)="N^1:"_BLRCNT
  1. S DIR("A")="Edit Which Ask At Accession Question "
  1. D ^DIR
  1. Q:$D(DIRUT)
  1. S RES=+Y
  1. K DIR
  1. S DIR(0)="F",DIR("A")=$P(AAQ(TIEN,RES),U,2)
  1. S DIR("B")=$P(AAQ(TIEN,RES),U,3)
  1. D ^DIR
  1. Q:$D(DIRUT)
  1. S $P(BLRRLC(TIEN,RES),U,3)=Y
  1. Q
  1. ;
  1. NOMAP(RL,TST,LOC) ;-- check if the test is mapped
  1. ;ihs/cmi/maw 07/16/2015 p1035
  1. N ORDLINST,MAPPED,IEN
  1. S ORDLINST=+$$GET1^DIQ(44,LOC,3,"I") ; Ord Loc's Institution
  1. I +$$GET1^DIQ(9009029,ORDLINST,3022,"I"),$D(^LAHM(62.9,"D",ORDLINST)) D Q +$G(MAPPED)
  1. . S MAPPED=$$CHECKMAP(ORDLINST,TST)
  1. Q $S(+$O(^BLRRL("ALP",TST,RL,0)):1,1:0)
  1. Q
  1. ;
  1. CHECKMAP(INST,TS) ;-- there can be multiple entries mapped
  1. N MATCH,MDA
  1. S MATCH=0
  1. S MDA=0 F S MDA=$O(^LAHM(62.9,"D",INST,MDA)) Q:'MDA D
  1. . I $O(^LAHM(62.9,MDA,60,"B",TS,0)) S MATCH=1
  1. Q +$G(MATCH)
  1. ;