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

LRORD1GU.m

Go to the documentation of this file.
  1. LRORD1GU ;VA/DALOI/RWF - LAZY ACCESSION LOGGING ;JUL 06, 2010 3:14 PM
  1. ;;5.2;LAB SERVICE;**1027**;NOV 01, 1997
  1. ;;
  1. ; Cloned from LEDI III LRORD1 routine. Next two lines VA code
  1. LRORD1 ;DALOI/RWF - LAZY ACCESSION LOGGING ; Feb 20, 2004
  1. ;;5.2;LAB SERVICE;**1,8,121,153,201,286,1027**;Sep 27, 1994
  1. ;;
  1. ; This code was removed from the previous IHS version of the LRORD1 routine
  1. ; and placed in this new routine due to the changes to the LRORD1 routine
  1. ; brought in with VA LR*5.2*286 --LEDI III.
  1. ;
  1. ; It was felt that the PATIENT CHART coding was overwhelming the logic
  1. ; flow of the LRORD1 routine.
  1. ;
  1. ; This code is invoked ONLY when BLRGUI=1. No need to check for that.
  1. ; All code that was skipped when BLRGUI=1 has been removed.
  1. ;
  1. L2 ; EP ;
  1. K LROT,LRSAME,LRKIL,LRGCOM,LRCCOM,LR696IEN,LRNATURE
  1. S LRWPC=LRWP G:$D(LROR) LRFIRST
  1. ;
  1. S LRDPF="2^DPT(",PNM=^DPT(DFN,0),SSN=$P(PNM,U,9),PNM=$P(PNM,U)
  1. S HRCN=$P($G(^AUPNPAT(DFN,41,DUZ(2),0),"^?"),U,2)
  1. S X="^"_$P(LRDPF,"^",2)_DFN_",""LR"")",LRDFN=+$S($D(@X):@X,1:-1) G E3:LRDFN>0
  1. L ^LR(0):1 S LRDFN=$P(^LR(0),"^",3)+1
  1. E2 I $D(^LR(LRDFN)) S LRDFN=LRDFN+1 G E2
  1. S ^LR(LRDFN,0)=LRDFN_"^"_+LRDPF_"^"_DFN,@X=LRDFN,^(0)=$P(^LR(0),"^",1,2)_"^"_LRDFN_"^"_(1+$P(^(0),"^",4)),^LR("B",LRDFN,LRDFN)=""
  1. L
  1. E3 I LRDFN>0,$P(^LR(LRDFN,0),"^",2)'=+LRDPF!($P(^(0),"^",3)'=DFN) S RESULT(1)=-1,RESULT(2)="Database degradation on "_PNM_". Contact site manager." Q
  1. BPC I LRDFN<1 S RESULT(1)=-1,RESULT(2)="No Lab LRDFN Defined" Q
  1. S LRDPF=$P(^LR(LRDFN,0),U,2)
  1. Q:$G(RESULT(1))=-1
  1. ;
  1. Q12 ;
  1. S LRLLOC=$P(BPCPARAM,";",5),LROLLOC=""
  1. S Y=0,Y=$O(^SC("B",LRLLOC,Y))
  1. ;
  1. ; IHS/ITSC/TPF 12/19/02 **1015** PER F.J. EVANS fix for Fort Thompson not
  1. ; printing Verified results to the ward when using the Patient Chart
  1. I Y S LROLLOC=Y,LRLLOC=$S($L($P($G(^SC(Y,0)),U,2)):$P(^(0),U,2),1:LRLLOC)
  1. ;
  1. Q11 ;
  1. S (LRPRAC,^LR(LRDFN,.2))=BLRPRAC ;IHS/ITSC/IHS 10/9/02 PATIENT CHART FIX **1014**
  1. K T,TT,LRDMAX,LRDTST,LRTMAX
  1. S DA=0
  1. F S DA=$O(^LRO(69,LRODT,1,"AA",LRDFN,DA)) Q:DA<1 D
  1. . I $S($D(^LRO(69,LRODT,1,DA,1)):$P(^LRO(69,LRODT,1,DA,1),U,4)'="U",1:1) D
  1. .. S S=+$G(^LRO(69,LRODT,1,DA,4,1,0))
  1. .. S I=0 F S I=$O(^LRO(69,LRODT,1,DA,2,I)) Q:+I<1 D
  1. ... S X=+^LRO(69,LRODT,1,DA,2,I,0),T(X,DA)=S
  1. ... S:'$D(TT(X,S)) TT(X,S)=0 S TT(X,S)=TT(X,S)+1
  1. ;
  1. K DIC
  1. I $D(LRADDTST) S LRORD=+LRADDTST,LRADDTST="" G LRFIRST
  1. D ORDER^LROW2
  1. I $D(LRFLOG),$P(LRFLOG,U,3)="MI",$G(LRORDRR)'="R" K DUOUT D MICRO G L2:$D(DUOUT)!$D(DTOUT)
  1. ;
  1. LRFIRST S LRSX=1 G Q13:'LRFIRST!(LRWP<2)
  1. ;
  1. Q13 S LREDO=0
  1. LEDI ;
  1. ;
  1. G:LRWP'>1 Q13A
  1. S LRSX=BPCTL
  1. F I=1:1 S LRSSX=$P(LRSX,",",I),LRSSX=$P(LRSSX,"*") Q:$P(LRSX,",",I,99)="" S LREDO=$S($L(LRSSX)>31:1,1:(+(LRSSX\1)'=LRSSX)!(LRSSX<1)!(LRSSX>LRWP)) Q:LREDO
  1. ;
  1. Q13A ;
  1. F LRK=1:1 S LRSSX=$P(LRSX,",",LRK) Q:LRSSX="" D
  1. . N X
  1. . S LRST=$S(LRSSX["*":1,1:0),LRSSX=+LRSSX
  1. . S X=^TMP("LRSTIK",$J,LRSSX)
  1. . S LRSAMP=$P(X,U,3),LRSPEC=$P(X,U,5),LRTSTS=+X
  1. . D Q20^LRORDD
  1. ;
  1. BAR S LRM=LRWPC+1,K=0
  1. ;
  1. LRM ; D MORE^LRORD2
  1. ;
  1. Q14 D:$P(LRPARAM,U,17) ^LRORDD D ^LRORD2A D ENSTIK^LROW3 G LRM:'$D(%)&($D(LROT)'=11),DROP:$O(LROT(-1))="",LRM:'$D(%),DROP:%[U K DIC G DROP:'$D(LROT)!(%["N")
  1. S:LRECT LRORDTIM="08"
  1. D NOW^%DTC S LRNT=% S:'LRECT LRCDT=LRNT_"^1"
  1. S LRIDT=9999999-LRCDT
  1. D ^LRORDST Q:$D(LROR)
  1. S RESULT(1)=1,RESULT(2)="Order: "_LRORD_" "_$G(BPCACC)
  1. Q
  1. ;
  1. % R %:DTIME Q:%=""!(%["N")!(%["Y") W !,"Answer 'Y' or 'N': " G %
  1. ;
  1. Q20A ;from LRORD2
  1. MAX ; CHECK FOR MAXIUM ORDER FREQUENCY
  1. I $D(TT(LRTSTS,LRSPEC)),$D(^LAB(60,LRTSTS,3,"B",LRCS(LRCSN))) D EN2^LRORDD I %'["Y" Q
  1. S I7=0 F I9=0:0 S I9=$O(T(LRTSTS,I9)) Q:I9="" I $D(^LAB(60,LRTSTS,3,+$O(^LAB(60,LRTSTS,3,"B",LRSAMP,0)),0)),+$P(^(0),U,5),LRSPEC=T(LRTSTS,I9) S I7=1
  1. I I7 W $C(7),!!,"You have a duplicate: " S LRSN=0 F S LRSN=$O(T(LRTSTS,LRSN)) Q:LRSN<1 W " for ",$P(^LAB(60,LRTSTS,0),U) S LRZT=LRTSTS D ORDER^LROS S LRTSTS=LRZT
  1. I I7 W !,"You already have that test, do you really want another? N//" D %
  1. Q
  1. ;
  1. URGG ; W !,"For ",$P(^TMP("LRSTIK",$J,LRSSX),U,2)
  1. D URG^LRORD2
  1. Q
  1. ;
  1. ;
  1. DROP Q:$D(LROR) G L2 ; !($G(LREND)) G L2
  1. ;
  1. ;
  1. MICRO ; EP
  1. Q:$D(LRFLOG) ;IHS/ITSC/TPF 08/02/01 ;ACCESSION TEST GROUP ALREADY CHOSEN
  1. D GSNO^LRORD3 Q:$D(DUOUT)!$D(DTOUT)
  1. S LRSAMP=1,LRSPEC=1
  1. I +LRSAMP=-1&(LRSPEC=-1) W !,"Incompletely defined." G MICRO
  1. S LRSAME=LRSAMP_U_LRSPEC
  1. S LRECOM=0 D GCOM^LRORD2
  1. Q
  1. ;
  1. ;
  1. PRAC ;from LRFAST
  1. S X=$S(+DIC("B"):$P(^VA(200,+DIC("B"),0),U),1:"")
  1. W !,"PRACTITIONER: ",X,$S($L(X):"//",1:"")
  1. R X:DTIME
  1. I DIC("B"),X="" S Y=DIC("B") Q
  1. D ^DIC K DIC
  1. Q