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

BLRTNA.m

Go to the documentation of this file.
  1. BLRTNA ;IHS/ITSC/TPF - CREATE/EDIT TRANSACTIONS [ 12/19/2002 6:40 AM ]
  1. ;;5.2;IHS LABORATORY;**1028**;NOV 01, 1997;Build 46
  1. ;;5.2;LR;**1013,1015**;NOV 18, 2002
  1. ;
  1. CPTCODE ;EP - CALLED FROM BLRTN,BLRTNB,BLRTNM1
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("ENTER CPTCODE^BLRTNA")
  1. S BLRFOUND=0,(BLRXII,BLRCPTS,BLRCPTP)="" F S BLRXII=$O(^BLRCPT("C",BLRTEST1,BLRXII)) Q:(BLRXII="") I '$P(^BLRCPT(BLRXII,1),U,2) D GETCPT Q:BLRFOUND
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("EXIT CPTCODE^BLRTNA")
  1. Q
  1. ;
  1. GETCPT ;EP - CALLED FROM BLRTN
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("ENTER GETCPT^BLRTNA")
  1. Q:BLRODTM<$P($G(^BLRCPT(BLRXII,0)),U,3)
  1. S BLRFOUND=1,BLRCPTP=BLRXII
  1. ;---LR*5.2*1028;01/14/11;IHS/OIT/MPW- Corrected error in next line
  1. ;S BLRCPTN=0 F BLRNN=1:1 S BLRCPTN=$O(^BLRCPT(BLRXII,11,BLRCPTN)) Q:'BLRCPTN S BLRCPDAT=$g(^BLRCPT(BLRXII,11,BLRCPTN,0)),BLRCPCD=$P(BLRCPDAT,U),BLRCPCST=$P(BLRCPDAT,U,2),BLRCPRC=$P(BLRCPDAT,U,3),BLRCPACT=$P(BLRCPDAT,U,4) D
  1. S BLRCPTN=0 F BLRNN=1:1 S BLRCPTN=$O(^BLRCPT(BLRXII,11,BLRCPTN)) Q:'BLRCPTN S BLRCPDAT=$G(^BLRCPT(BLRXII,11,BLRCPTN,0)),BLRCPCD=$P(BLRCPDAT,U),BLRCPCST=$P(BLRCPDAT,U,2),BLRCPRC=$P(BLRCPDAT,U,3),BLRCPACT=$P(BLRCPDAT,U,4) D
  1. .S (BLRCPTM,BLRCPTQ)=""
  1. .S BLRCPMN=0 F BLRNN1=1:1 S BLRCPMN=$O(^BLRCPT(BLRXII,11,BLRCPTN,1,BLRCPMN)) Q:'BLRCPMN S:BLRNN1>1 BLRCPTM=BLRCPTM_"," S BLRCPTM=BLRCPTM_^BLRCPT(BLRXII,11,BLRCPTN,1,BLRCPMN,0)
  1. .S BLRCPQN=0 F BLRNN1=1:1 S BLRCPQN=$O(^BLRCPT(BLRXII,11,BLRCPTN,2,BLRCPQN)) Q:'BLRCPQN S:BLRNN1>1 BLRCPTQ=BLRCPTQ_"," S BLRCPTQ=BLRCPTQ_$G(^BLRCPT(BLRXII,11,BLRCPTN,2,BLRCPQN,0))
  1. .S:BLRNN>1 BLRCPTS=BLRCPTS_";" S BLRCPTS=BLRCPTS_BLRCPCD_"|"_BLRCPCST_"|"_BLRCPRC_"|"_BLRCPACT_"|"_BLRCPTM_"|"_BLRCPTQ
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("EXIT GETCPT^BLRTNA")
  1. K BLRCPCD,BLRCPCST,BLRCPRC,BLRCPACT,BLRCPTN,BLRCPDAT,BLRCPTM,BLRCPMN,BLRCPTQ,BLRCPQN,BLRNN,BLRNN1
  1. Q
  1. ;
  1. RESVRS ;EP - CALLED FROM BLRTN
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("ENTER RESVRS^BLRTNA")
  1. S BLRCREF=$P(BLRL60,U,5)
  1. I BLRSS=$P(BLRCREF,";"),$D(BLRRVS($P(BLRCREF,";",2))) S BLRRES=BLRRVS($P(BLRCREF,";",2)),BLRNAF=$P(BLRRES,U,2),BLRDUZ=$P(BLRRES,U,4),BLRRES=$P(BLRRES,U) D RES1
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("EXIT RESVRS^BLRTNA")
  1. Q
  1. ;
  1. RES1 ;EP - CALLED FROM BLRTN
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("ENTER RES1^BLRTNA")
  1. I BLRCMF'="C" S BLRDEL=$P($G(^BLRTXLOG(BLR("SEQUENCE NUMBER"),1)),U,2)="D" Q:BLRDEL
  1. I BLRSPEC'="" S BLRZ=$G(^LAB(60,BLRTEST1,1,BLRSPEC,0)) I BLRZ'="" D
  1. .S BLRRL=$P(BLRZ,U,2),BLRRH=$P(BLRZ,U,3),BLRUNITS=$P($P(BLRZ,U,7)," ")
  1. .;[LR*5.2*1028;08/20/10;IHS/OIT/MPW]Added next 1 line
  1. .I BLRUNITS=+BLRUNITS,$D(^BLRUCUM(BLRUNITS,0)) S BLRUNITS=$P($G(^BLRUCUM(BLRUNITS,0)),U,1)
  1. .S AGE=$G(^BLRSITE(BLRQSITE,20,BLRQDH,1,BLRLTP,"AGE"))
  1. .S SEX=$G(^BLRSITE(BLRQSITE,20,BLRQDH,1,BLRLTP,"SEX"))
  1. .X:BLRRH'?.N "S BLRRH="_BLRRH X:BLRRL'?.N "S BLRRL="_BLRRL
  1. .S BLR("UNITS")=BLRUNITS,BLR("REFERENCE HIGH")=BLRRH,BLR("REFERENCE LOW")=BLRRL
  1. .K AGE,SEX
  1. S BLR("RESULT")=BLRRES
  1. S BLR("RESULT N/A FLAG")=BLRNAF
  1. S BLR("STATUS FLAG")=$S(BLRRES="pending":"A",BLRRES'="":"R",1:"A") ;IHS/ITSC/TPF 08/15/01 ADDED TO HANDLE NO ANSWER FOR TEST
  1. S BLRDUZN=$S($D(^VA(200,BLRDUZ,0)):$P($G(^VA(200,BLRDUZ,0)),U),1:"UNK"_BLRDUZ)
  1. S BLR("VERIFIER POINTER")=BLRDUZ
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("EXIT RES1^BLRTNA")
  1. Q
  1. ;
  1. CRSFLDS ;EP - CALLED FROM BLRTN
  1. K BLR("REFERENCE HIGH"),BLR("REFERENCE LOW"),BLR("RESULT"),BLR("RESULT N/A FLAG")
  1. Q
  1. SETPRNT ;EP - CALLED BY BLRTN
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("ENTER SETPRNT^BLRTNA")
  1. K BLR
  1. S BLRCDT=$G(^BLRSITE(BLRQSITE,20,BLRQDH,1,BLRLTP,"LRCDT"))\1
  1. S BLR("STATUS FLAG")="R"
  1. S BLRLTST=0
  1. F S BLRLTST=$O(^BLRTXLOG("AAT",BLRACCN,BLRLTST)) Q:'BLRLTST S BLRSEQ=0 F S BLRSEQ=$O(^BLRTXLOG("AAT",BLRACCN,BLRLTST,BLRSEQ)) Q:'BLRSEQ I $P($G(^BLRTXLOG(BLRSEQ,12)),U)\1=BLRCDT S BLRANSEQ(BLRSEQ)=""
  1. ;
  1. S BLRSEQ=""
  1. F S BLRSEQ=$O(BLRANSEQ(BLRSEQ),-1) Q:BLRSEQ="" S BLRDEL=$G(^BLRTXLOG(BLRSEQ,1)),BLRPAR=$P(BLRDEL,U),BLRDEL=$P(BLRDEL,U,2)="D" S:BLRPAR'="" BLRPAR(BLRPAR)=$G(BLRPAR(BLRPAR)) D
  1. .;A CHILD WHOSE PARENT IS DISQUALIFIED
  1. .;I 'BLRCMP,BLRPAR,BLRPAR(BLRPAR) Q
  1. .I BLRPAR,BLRPAR(BLRPAR) Q
  1. .;A PARENT
  1. .I $D(BLRPAR(BLRSEQ)) D Q
  1. ..;I 'BLRCMP,BLRPAR(BLRSEQ) S:BLRPAR'="" BLRPAR(BLRPAR)=1 Q
  1. ..I BLRPAR(BLRSEQ) S:BLRPAR'="" BLRPAR(BLRPAR)=1 Q
  1. ..I 'BLRDEL S BLR("SEQUENCE NUMBER")=BLRSEQ,BLRIEN=BLRSEQ_",",BLRENT=BLRSEQ,BLRENTS(1)=BLRENT D ^BLRNFLTL Q
  1. .;NOT A PARENT
  1. .I $P($G(^BLRTXLOG(BLRSEQ,20)),U)="" D Q
  1. ..I BLRPAR,$P($G(^LAB(60,$P($G(^BLRTXLOG(BLRSEQ,0)),U,6),0)),U,17) S BLRPAR(BLRPAR)=1 Q
  1. K BLRANSEQ,BLRHSEQ,BLRLSEQ,BLRLTST,BLRPAR
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("EXIT SETPRNT^BLRTNA")
  1. Q
  1. ;
  1. GETIEN() ;EP - CALLED BY BLRTN
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("ENTER GETIEN^BLRTNA")
  1. S BLRERR=0
  1. D
  1. .I BLRCMF="C" D GETNEW Q
  1. .S BLRCRGL="^BLRTXLOG("_BLRCRSBS_")"
  1. .S BLRENT=$O(@BLRCRGL@(""),BLRDIR)
  1. .S:'BLRENT BLRERR=1
  1. .I BLRENT,BLROKCK'="" D @BLROKCK
  1. .I 'BLRERR,BLRBADCK'="" D @BLRBADCK
  1. .I BLRERR D EMSG^BLRTNA Q
  1. .S BLRIEN=BLRENT_"," Q
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("EXIT GETIEN^BLRTNA")
  1. Q BLRENT
  1. ;
  1. GETNEW ;EP - CALLED FROM BLRTNA
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("ENTER GETNEW^BLRTNA")
  1. S BLRENT=$G(^BLRTXLOG("SEQ"))
  1. I 'BLRENT S BLRENT=$O(^BLRTXLOG("@"),-1) I BLRENT,'$D(^BLRTXLOG(1)) S BLRENT=0
  1. F BLRENT=BLRENT+1:1 Q:'$D(^BLRTXLOG(BLRENT))
  1. S BLRENTS="BLRENTS"
  1. S BLRENTS(1)=BLRENT
  1. S ^BLRTXLOG("SEQ")=BLRENT
  1. S BLRIEN="+1,"
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("EXIT GETNEW^BLRTNA")
  1. Q
  1. ;
  1. CHKDT ;EP - CALLED BY BLRTN
  1. D:'BLRENT EMSG^BLRTNA Q:BLRERR
  1. S BLRCDT=$P($G(^BLRTXLOG(BLRENT,12)),U)
  1. I $E(BLRCDT,1,3)=$E(DT,1,3) S BLRIEN=BLRENT_"," Q
  1. I ($E(BLRCDT,1,3)+1)'=$E(DT,1,3) S BLRERR=1,BLRDTER=1 Q ;MORE THAN 1 YEAR AHEAD
  1. I $E(BLRCDT,4,5)<11 S BLRERR=1,BLRDTER=1 Q
  1. S BLRIEN=BLRENT_"," Q
  1. Q
  1. ;
  1. CKORD ;EP - CALLED FROM BLRTN
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("ENTER CKORD^BLRTNA")
  1. S BLRERR=1
  1. F D Q:'BLRENT!'BLRERR
  1. .S BLRENT1=BLRENT
  1. .F Q:'$P($G(^BLRTXLOG(BLRENT1,1)),U) S BLRENT1=$P(^BLRTXLOG(BLRENT1,1),U)
  1. .D Q:'BLRERR
  1. ..I $D(LRAN) D Q
  1. ...I $D(^LRO(68,LRAA,1,LRAD,1,LRAN,4,$P($G(^BLRTXLOG(BLRENT1,0)),U,6))) S BLRERR=0 Q
  1. ..I $D(^LRO(69,BLRODTM,1,BLRSEQ,2,"B",$P($G(^BLRTXLOG(BLRENT1,0)),U,6))) S BLRERR=0 Q
  1. .S BLRENT=$O(@BLRCRGL@(BLRENT),BLRDIR)
  1. D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("EXIT CKORD^BLRTNA")
  1. K BLRENT1
  1. Q
  1. EMSG ;EP - CALLED FROM BLRTN
  1. ; Log an error because the crossreference isn't set.
  1. I 'BLRENT D
  1. .S BLRERR=1,BLRERROR(1)="Something wrong -- problem with IHS Lab Transaction Log Cross Reference: "_BLRCRGL
  1. Q
  1. ;
  1. KILL ;EP - CALLED FROM BLRTN
  1. K BLR,BLRARRAY,BLREMSG,BLRENTS,BLRERR,BLRERROR,BLRFDA,BLRI,BLRICNT,BLRIEN,BLRIENS,BLRIII,BLRLOGDA,BLRQUIET,BLRSFID,BLRSIEN,BLRSTOP,BLRT,BLRTCNT,BLRVL,BLRVR,BLRVRS
  1. K ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE,BLRESTR,BLRPT,BLRXQY0,BLRPC,BLRMI,BLRDTER
  1. Q