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

BLRTNRES.m

Go to the documentation of this file.
  1. BLRTNRES ; IHS/HQT/MJL - CREATE/EDIT TRANSACTIONS (CONTINUED) RESULT ;MAY 06, 2009 9:58 AM
  1. ;;5.2T1;IHS LABORATORY;**1026**;NOV 01, 1997
  1. ;
  1. ; Code removed from BLRTN due to BLRTN becoming too large
  1. RESULT ;
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("ENTER RESULT^BLRTN")
  1. ;
  1. I BLROPT="MICRO" D ^BLRTNM,^BLRTN1:$G(BLRACCN)'="" Q
  1. I BLROPT="BBANK" D ^BLRTNB,^BLRTN1:$G(BLRACCN)'="" Q
  1. ;
  1. S BLRACCN=$P(BLRIDS,","),BLR("ACCESSION NUMBER")=BLRACCN,BLRTEST=$P(BLRIDS,",",2),BLRRSTAG="RESVRS"
  1. S:BLROPT="BYPASS" BLRCMF="C",BLR("STATUS FLAG")="A"
  1. ;
  1. S BLRAA=$G(^BLRSITE(BLRQSITE,20,BLRQDH,1,BLRLTP,"LRAA")),BLRAD=$G(^("LRAD")),BLRAN=$G(^("LRAN")),BLRSS=$G(^("LRSS")),BLRODT=$G(^("LRODT")),BLRSEQ=$G(^("LRSN")),BLRSPEC=$G(^("LRSPEC")),BLRCMP=$P($G(^LRO(68,BLRAA,1,BLRAD,1,BLRAN,3)),U,4)'=""
  1. S BLRCRSBS="""AAT"",BLRACCN,BLRTEST1",BLRDIR=-1,BLROKCK="",BLRBADCK=""
  1. ;
  1. M BLRRVS=^BLRSITE(BLRQSITE,20,BLRQDH,1,BLRLTP,"LRSB")
  1. ;
  1. ;CLEAR OUT PENDING OR UNRESULTED TESTS
  1. S BLRDN=""
  1. F S BLRDN=$O(BLRRVS(BLRDN)) Q:BLRDN="" D
  1. . I BLRRVS(BLRDN)=""!(BLRRVS(BLRDN)[("pending")) K BLRRVS(BLRDN) ;IHS/ITSC/TPF TREAT pending AS NOT A RESULT
  1. ;
  1. I $G(BLRCMF)="C" D ORDVRS,ACCVRS^BLRTN Q:BLRACCN=""
  1. ;
  1. S BLRTEST=$G(^BLRSITE(BLRQSITE,20,BLRQDH,1,BLRLTP,"BLRTEST"))
  1. S:BLRTEST=0 BLRTEST=""
  1. ;
  1. ;GET THE COMMENTS ;IGNORE 0 NODES AND B X-REFS
  1. K ^BLRSITE(BLRQSITE,20,BLRQDH,1,BLRLTP,"LRCOM",0)
  1. K ^BLRSITE(BLRQSITE,20,BLRQDH,1,BLRLTP,"LRCOM","B")
  1. S COMIEN=0
  1. F S COMIEN=$O(^BLRSITE(BLRQSITE,20,BLRQDH,1,BLRLTP,"LRCOM",COMIEN)) Q:+COMIEN=0 D
  1. . S BLR("COMMENTS")=$G(BLR("COMMENTS"))_$G(^(COMIEN,0))_$C(20)
  1. ;
  1. D
  1. . I BLRTEST'="",'$D(BLRRVS)!(BLRCMF="C") D SET1^BLRTN Q
  1. . ;
  1. . D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("BEFORE BLRRVS LOOP")
  1. . S BLRDN=""
  1. . F S BLRDN=$O(BLRRVS(BLRDN)) Q:BLRDN="" D
  1. .. S BLRCREF=BLRSS_";"_BLRDN_";1"
  1. .. S BLRTEST=$O(^LAB(60,"C",BLRCREF,""))
  1. .. I BLRTEST'="",$D(^BLRTXLOG("AAT",BLRACCN,BLRTEST)) D
  1. ... D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("BEFORE SEQUENCE NUMBER GET")
  1. ... S BLRTEST1=BLRTEST,BLR("SEQUENCE NUMBER")=$$GETIEN^BLRTN() Q:BLRERR
  1. ... D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("IN RESULT BEFORE UPDATE")
  1. ... S BLRRES=$P(BLRRVS(BLRDN),U)
  1. ... S BLRNAF=$P(BLRRVS(BLRDN),U,2)
  1. ... D RES1^BLRTN
  1. ... D ^BLRNFLTL
  1. ... D LOINC^BLRTN
  1. ... D CRSFLDS^BLRTN
  1. ;
  1. K BLR("COMMENTS")
  1. D ^BLRTN1
  1. K BLRRVS
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("EXIT RESULT^BLRTN")
  1. Q
  1. ;
  1. ; Set the BLR array using the field name or number, e.g.,
  1. ; S BLR("ORDER NUMBER")=X or S BLR(1103)=X
  1. ORDVRS ;
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("ENTER ORDVRS^BLRTNRES")
  1. S BLRVAL=$G(^LRO(69,BLRODT,1,BLRSEQ,0))
  1. S BLRODTM=$P(BLRVAL,U,5) ;'DATE/TIME ORDERED'
  1. S BLRDTC=$P($G(^LRO(69,BLRODT,1,BLRSEQ,1)),U) ;'DATE/TIME OF COLLECTION'
  1. S:BLRDTC="" BLRDTC=$P(BLRVAL,U,8) ;'EST. DATE/TIME OF COLLECTION'
  1. S BLR("COLLECTION DATE/TIME")=BLRDTC
  1. ;
  1. I BLRCMF'="C" Q
  1. ;
  1. S BLRLRDFN=$P(BLRVAL,U) ;'LRDFN'
  1. S BLRFILE=$G(^LR(BLRLRDFN,0))
  1. S BLRDFN=$P(BLRFILE,U,3)
  1. S BLR("PATIENT POINTER VALUE")=BLRDFN
  1. S BLRFILE=$P(BLRFILE,U,2)
  1. S BLR("LRFILE")=BLRFILE
  1. S BLR("ORDER DATE")=BLRODTM
  1. S BLR("ORDER NUMBER")=$G(^LRO(69,BLRODT,1,BLRSEQ,.1))
  1. S BLR("ORDER SEQUENCE NUMBER")=BLRSEQ
  1. S BLRLOCN=$P(BLRVAL,U,7)
  1. ;
  1. S BLRLOC="" I BLRLOCN'="" S BLRLOC=$O(^SC("B",BLRLOCN,"")) S:BLRLOC="" BLRLOC=$O(^SC("C",BLRLOCN,"")) I BLRLOC="" S X=BLRLOCN,DIC=44,DIC(0)="MX" D ^DIC S BLRLOC=+Y I Y=-1 S BLRLOC=""
  1. S BLRCAT="A" I $L($G(^DPT(BLRDFN,.1))) S BLRCAT="I"
  1. S BLRCLNC="",BLRPCC1=0
  1. I BLRLOC'="" S BLRCLNC=$G(^SC(BLRLOC,0)),BLRIST=$P(BLRCLNC,U,4),BLRCLNC=$P(BLRCLNC,U,7) S:BLRIST="" BLRIST=$G(BLRDUZ2) I BLRXPCC S BLRPCCC=$P($G(^APCCCTRL(BLRIST,11,BLRLPKG,0)),U,3) I BLRPCCC'="" S BLRPCC1=$S(BLRPCCC:1,1:BLRCAT'="I")
  1. S BLRPROV=$P(BLRVAL,U,6),BLR("ORDERING PROVIDER POINTER")=BLRPROV
  1. D NOW^%DTC S BLR("ENTRY DATE/TIME")=%
  1. S BLR("CLINIC STOP CODE POINTER")=BLRCLNC
  1. S BLR("ORDERING LOCATION POINTER")=BLRLOC
  1. S BLR("DUZ(2)")=BLRDUZ2
  1. S BLR("I/O CATEGORY")=BLRCAT
  1. D LOINC^BLRTN
  1. Q