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

BLRSORC.m

Go to the documentation of this file.
  1. BLRSORC ; IHS/DIR/FJE - CRITICAL VALUE TASKED REPORT 8/30/87 17:25 ;
  1. ;;5.2;LR;**1038**;NOV 01, 1997;Build 6
  1. ;
  1. EEP ; EP - Ersatz EP
  1. D EEP^BLRGMENU
  1. Q
  1. ;
  1. ; Cloned from the VA Patch LR*5.2*84 LRSORC routine.
  1. ;
  1. BEGIN ; EP - Beginning
  1. I $D(ZTQUEUED)<1 D Q
  1. . W !!,?4,"This report can only be run from TASKMAN."
  1. . D PRESSKEY^BLRGMENU(9)
  1. ;
  1. GETPARAM ; EP - Get the parameters from the IHS LAB SUPERVISOR TASKED REPORTS PARAMETERS (#90475.7) file
  1. S (GPD0,GPD1)=1
  1. D OPTIONS
  1. D DEVICE
  1. I LREND D END^LRSORC1A Q
  1. Q
  1. ;
  1. OPTIONS ;
  1. D GDR,GAA,SORTBY,SELPAT,SELLOC
  1. Q
  1. ;
  1. GDR ; EP - Get Date Range from 90475.7
  1. NEW DTRANGE,GOBACK
  1. ;
  1. S DTRANGE=+$$GET1^DIQ(90475.73,GPD1_","_GPD0,"Date Range","I")
  1. S GOBACK=$S(DTRANGE=1:7,DTRANGE=2:30,DTRANGE=3:365,1:1)
  1. S LREDT=$$HTFM^XLFDT(+$H-GOBACK)
  1. S LRSDT=$$DT^XLFDT_".5"
  1. Q
  1. ;
  1. GAA ; EP - Get Accession Areas from 90475.7, if they exist
  1. NEW GAAD2,GLRAA,GLRAAAB
  1. ;
  1. S LRAA=0
  1. Q:$D(^BLRLSRP(GPD0,3,GPD1,1,0))<1
  1. ;
  1. S GAAD2=0
  1. F S GAAD2=$O(^BLRLSRP(GPD0,3,GPD1,1,GAAD2)) Q:GAAD2<1 D
  1. . S GLRAA=$G(^BLRLSRP(GPD0,3,GPD1,1,GAAD2,0))
  1. . S GLRAAAB=$$GET1^DIQ(68,GLRAA,"ABBREVIATION")
  1. . Q:$L(GLRAAAB)<1
  1. . ;
  1. . S LRAA(GLRAAAB)=GLRAA
  1. . S LRAA=GLRAA
  1. ;
  1. Q
  1. ;
  1. SORTBY ; EP - Determine SORT BY parameter
  1. NEW SORTBY
  1. ;
  1. S SORTBY=$P($G(^BLRLSRP(GPD0,3,GPD1,3)),U)
  1. S LRSRT=$S($L(SORTBY):SORTBY,1:"P")
  1. Q
  1. ;
  1. SELPAT ; EP - ALL Patients by default
  1. S LRPTS=0
  1. Q
  1. ;
  1. SELLOC ; EP - Get Locations from 90475.7, if they exist
  1. S LRLCS=0
  1. Q:$D(^BLRLSRP(GPD0,3,GPD1,2,0))<1 ; Retrun if no entries
  1. ;
  1. NEW LOCIEN,LOCSUB,LOCSUBAB,CNTLOC
  1. ;
  1. S (CNTLOC,LOCSUB)=0
  1. F S LOCSUB=$O(^BLRLSRP(GPD0,3,GPD1,2,LOCSUB)) Q:LOCSUB<1 D
  1. . S LOCIEN=(^BLRLSRP(GPD0,3,GPD1,2,LOCSUB,0))
  1. . S LOCSUBAB=$$GET1^DIQ(44,LOCIEN,"ABBREVIATION")
  1. . Q:$L(LOCSUBAB)<1
  1. . ;
  1. . S CNTLOC=CNTLOC+1
  1. . S LRLCS=CNTLOC
  1. . S LRLCS(LOCSUBAB)=LOCIEN
  1. I $G(LRLCS) S LRLCS("NO ABRV")=""
  1. Q
  1. ;
  1. DEVICE ;
  1. S IOP="`"_$P($G(^BLRLSRP(GPD0,3,GPD1,3)),U,2)
  1. S %ZIS="Q"
  1. S ZTSAVE("LR*")=""
  1. D EN^XUTMDEVQ("DQ^BLRSORC","TASKED IHS LAB CRITICAL VALUE REPORT",.ZTSAVE,.%ZIS)
  1. S LREND=1
  1. Q
  1. ;
  1. DQ ;
  1. K ^TMP("LR",$J)
  1. S:$D(ZTQUEUED) ZTREQ="@" U IO
  1. S (LRPAG,LREND)=0,$P(LRDASH,"-",IOM)="-"
  1. K %DT S X="N",%DT="T" D ^%DT,DD^LRX S LRDATE=Y
  1. K %DT S X=$P(LRSDT,"."),%DT="X" D ^%DT,DD^LRX S LRSDAT=Y
  1. K %DT S X=LREDT,%DT="X" D ^%DT,DD^LRX S LREDAT=Y
  1. S LRHDR2="For date range: "_LREDAT_" to "_LRSDAT
  1. D BUILD^LRSORC1
  1. D ^LRSORC1A
  1. QUIT