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

BLRALBR.m

Go to the documentation of this file.
  1. BLRALBR ;MTK/CR,ALA-List Template for Lab ESIG
  1. ;;5.2T9;LR;**1018**;Nov 17, 2004
  1. ;;5.2;LR;**1013,1015**;Nov 18, 2002
  1. ;
  1. EN ;
  1. ;
  1. I '$D(^BLRALAB(9009027.1,DUZ)) D Q
  1. . W !!,"YOU ARE NOT SET UP AS A PARTICIPATING PHYSICIAN FOR THE LAB ELECTRONIC",!
  1. . W "SIGNATURE MODULE. PLEASE CONTACT YOUR SITE MANAGER.",!!
  1. ;
  1. ; Sign electronic signature
  1. W !!,"You have 60 seconds before timeout to enter your electronic"
  1. W !,"signature for verification!!",!!
  1. ;
  1. D SIG^XUSESIG
  1. I X1="" Q
  1. ;
  1. I $P($G(^BLRALAB(9009027.1,DUZ,0)),U,7)="I" D Q
  1. . W !!," YOU ARE AN INACTIVE PHYSICIAN FOR THE LAB ESIG MODULE.",!
  1. . W " PLEASE CONTACT YOUR SITE MANAGER.",!!
  1. D ^BLRALBL ; Setup data into ^TMP("BLRA",$J) for list
  1. S BLRASCR="F" K BLRASUB
  1. D EN^BLRAL1 ; Call the list template to list labs
  1. ;
  1. K BENDT,BLRA0,BLRAAB,BLRABC,BLRACCN,BLRADATA,BLRADT,BLRADTT
  1. K BLRADUZ,BLRALINE,BLRALNUM,BLRALVAR,BLRANC,BLRAOPH,BLRAP
  1. K BLRAPD,BLRAPFL,BLRAPIEN,BLRAPNM,BLRAPRG,BLRAQFL,BLRARPHY
  1. K BLRAS,BLRASCR,BLRASRT,BLRASTA,BLRASTAT,BLRCRC,BLRCRTL
  1. K BLRIDT,BLRSS,BLRVD,BSTDT,DTOUT
  1. Q
  1. ;
  1. REV ; Review Selected Lab Result
  1. S BLRAQFL=0
  1. N DIR
  1. S DIR("A")="Please select a lab result to view, by line #"
  1. S DIR(0)="L^1:"_VALMCNT D ^DIR K DIR
  1. I $D(DIRUT) K DIRUT D EXT Q
  1. I $G(DUOUT)!($G(DTOUT)) D EXT Q
  1. I $G(Y)<1 D EXT Q
  1. ;
  1. ; Set up scratch global to perform next and previous
  1. K ^TMP("BLRASEL",$J)
  1. S CC="" F S CC=$O(Y(CC)) Q:CC="" D
  1. . S BB=Y(CC) F JJ=1:1 S AA=$P(BB,",",JJ) Q:AA="" D
  1. .. S ^TMP("BLRASEL",$J,AA,0)=""
  1. .. I JJ=1 S BLRAFN=AA
  1. .. S BLRALFN=AA
  1. ;
  1. ; Start with first one
  1. S BLRAV=0
  1. AGN S BLRAV=$O(^TMP("BLRASEL",$J,BLRAV)) I BLRAV="" D RBLD Q
  1. I $G(BLRAQFL)=1 S BLRAV=BLRALFN G AGN
  1. K BLRASUB
  1. D BLD
  1. D EN^BLRASP
  1. D BLD1
  1. G AGN
  1. ;
  1. BLD ;S ACC=$E($G(^TMP("BLRALST1",$J,BLRAV,0)),5,18)
  1. ;D FIX
  1. ;S ACN=BB
  1. K BLRAT,BLRADATE,BLRAPT,BLRAFLG
  1. S (BLRAT,BLRADATE,BLRAPT)="",BLRAFLG=0
  1. F S BLRAT=$O(^TMP("BLRA",$J,BLRAT)) Q:BLRAT=""!(BLRAT="ZNODE") D
  1. . F S BLRADATE=$O(^TMP("BLRA",$J,BLRAT,BLRADATE)) Q:BLRADATE=""!(BLRAFLG>0) D
  1. .. F S BLRAPT=$O(^TMP("BLRA",$J,BLRAT,BLRADATE,BLRAPT)) Q:BLRAPT=""!(BLRAFLG>0) D
  1. ... ;----- BEGIN IHS MODIFICATIONS LR*5.2*1018
  1. ... S BLRSS=""
  1. ... F S BLRSS=$O(^TMP("BLRA",$J,BLRAT,BLRADATE,BLRAPT,BLRSS)) Q:BLRSS=""!(BLRAFLG>0) D
  1. .... ;----- END IHS MODIFICATIONS
  1. .... I $P($G(^TMP("BLRA",$J,BLRAT,BLRADATE,BLRAPT,BLRSS)),U,7)=BLRAV D
  1. ..... S ACN=$P($G(^TMP("BLRA",$J,BLRAT,BLRADATE,BLRAPT,BLRSS)),U)
  1. ..... S BLRAFLG=1
  1. S BLDATA=$G(^TMP("BLRA",$J,"ZNODE",ACN))
  1. S LRDFN=$P(BLDATA,U,1),LRSS=$P(BLDATA,U,2),LRIDT=$P(BLDATA,U,3)
  1. K LRDPF,BLRAT,BLRADATE,BLRAPT,BLRAFLG
  1. I $E(LRSS,1,2)="CH" D CH^BLRALBD
  1. I $E(LRSS,1,2)="MI" D MI^BLRALBD
  1. S VALMCNT=+$G(BLRADSP)
  1. Q
  1. ;
  1. BLD1 ; Set the reviewed flag
  1. D REVW^BLRALFN1
  1. ;
  1. I '$G(BLRASUB) D
  1. . K ^TMP("BLRALST1",$J)
  1. . D INIT^BLRAL1
  1. K BLRASUB
  1. Q
  1. COTH ; Check Other Provider Results
  1. ;
  1. K ^TMP("BLRA",$J)
  1. S BLRASCR="O"
  1. D PSUR^BLRALBL
  1. D EN^BLRAL1
  1. Q
  1. ;
  1. CSUB ; Check Subordinate Provider Results
  1. ;
  1. K ^TMP("BLRA",$J)
  1. S BLRASCR="S"
  1. D CSUP^BLRALBL
  1. D EN^BLRAL1
  1. Q
  1. ;
  1. PATS ; Patient Sort Display
  1. K ^TMP("BLRA",$J)
  1. S BLRASCR="P"
  1. D PATS^BLRALBL
  1. D EN^BLRAL1
  1. Q
  1. ;
  1. EXT ;exit without update ;
  1. S VALMBCK=""
  1. S EXIT=1
  1. Q
  1. FIX ;FIX ACC NUMBER
  1. S LEN=$L(ACC)
  1. FIX1 S AA=$E(ACC,LEN)
  1. I AA=" " S LEN=LEN-1 G FIX1
  1. S BB=$E(ACC,1,LEN)
  1. Q
  1. ;
  1. NEXT ; Get the next accession from the list
  1. S BLRAV=$O(^TMP("BLRASEL",$J,BLRAV)),BLRASUB=1
  1. I BLRAV="" S VALMSG="No Next Accession",VALMBCK="",BLRAV=BLRALFN D RE^VALM4 Q
  1. K VALMHDR,LRDPF
  1. D BLD
  1. S VALMBG=1
  1. D RE^VALM4
  1. Q
  1. ;
  1. PREV ; Get the previous accession from the list
  1. S BLRAV=$O(^TMP("BLRASEL",$J,BLRAV),-1),BLRASUB=1
  1. I (BLRAV<BLRAFN)!(BLRAV=BLRALFN) S VALMSG="No Previous Accession",VALMBCK="",BLRAV=BLRAFN D RE^VALM4 Q
  1. K VALMHDR,LRDPF
  1. D BLD
  1. S VALMBG=1
  1. D RE^VALM4
  1. Q
  1. EXIT D BLD1
  1. Q
  1. QUT ; Quit
  1. S BLRAQFL=1,DTOUT=U
  1. Q
  1. ;
  1. RBLD ; Rebuild list
  1. K BLRAFN,BLRALFN
  1. S BLRAPRG=$S(BLRASCR="S":"D CSUP^BLRALBL",BLRASCR="O":"D PSUR^BLRALBL",BLRASCR="P":"D PATS^BLRALBL",1:"D SELF^BLRALBL")
  1. X BLRAPRG
  1. I '$G(BLRASUB) D
  1. . K ^TMP("BLRALST1",$J)
  1. . D INIT^BLRAL1
  1. Q