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

LR7OGMU.m

Go to the documentation of this file.
  1. LR7OGMU ;DALOI/STAFF- Interim report rpc memo utility ;July 29, 2019@10:00
  1. ;;5.2;LAB SERVICE;**187,312,395,350,527**;Sep 27, 1994;Build 16
  1. ;
  1. NEWOLD(Y,DFN) ; from ORWLRR
  1. N LRDFN
  1. D DEMO^LR7OGU(DFN,.LRDFN)
  1. S Y=$$NEWEST(LRDFN)_U_$$OLDEST(LRDFN)
  1. Q
  1. ;
  1. ;
  1. NEWEST(LRDFN) ;
  1. N ACDT,ACOMP,ANODE,AREA,CHKTYP,FIRSTCH,FIRSTMI,GOTNP,IDT,NUM,TESTNUM,UID,ZERO
  1. S (FIRSTCH,FIRSTMI)=""
  1. S IDT=0
  1. F S IDT=$O(^LR(LRDFN,"CH",IDT)) Q:IDT<1 S ZERO=^(IDT,0),UID=$P($G(^("ORU")),"^") D Q:FIRSTCH
  1. . I $P(ZERO,U,3) S FIRSTCH=9999999-IDT Q
  1. . I UID'="" S UID=$$CHECKUID^LRWU4(UID) Q:'UID
  1. . I 'UID,$P(ZERO,U,3) Q
  1. . ;LR*5.2*527: commenting out line below so that tests marked as
  1. . ; "not performed" will be eligible as "newest" in the
  1. . ; range
  1. . ;S GOTNP=0 D GETNP^LR7OGMC Q:GOTNP
  1. . S AREA=$P(UID,"^",2),ACDT=$P(UID,"^",3),NUM=$P(UID,"^",4)
  1. . I '$D(^LRO(68,+AREA,1,+ACDT,1,+NUM)) Q
  1. . S (TESTNUM,CHKTYP,ACOMP)=0
  1. . F S TESTNUM=$O(^LRO(68,+AREA,1,+ACDT,1,+NUM,4,TESTNUM)) Q:'TESTNUM S ANODE=^(TESTNUM,0) D
  1. . . Q:'$D(^LAB(60,TESTNUM,0)) I ("BO"[$P($G(^(0)),U,3)) S CHKTYP=1
  1. . . I '$P(ANODE,"^",5) S ACOMP=1
  1. . . ;LR*5.2*527: adding line below for same reason noted above
  1. . . I $P(ANODE,"^",6)["*Not Performed" S ACOMP=1
  1. . Q:'CHKTYP
  1. . Q:'ACOMP
  1. . S FIRSTCH=9999999-IDT
  1. ;
  1. S IDT=$O(^LR(LRDFN,"MI",0))
  1. I IDT>0 S FIRSTMI=9999999-IDT
  1. I FIRSTCH>FIRSTMI Q FIRSTCH
  1. I FIRSTCH'>FIRSTMI Q FIRSTMI
  1. Q ""
  1. ;
  1. ;
  1. OLDEST(LRDFN) ;
  1. N ACDT,ACOMP,ANODE,AREA,CHKTYP,FIRSTCH,FIRSTMI,GOTNP,IDT,NUM,TESTNUM,UID,ZERO
  1. S (FIRSTCH,FIRSTMI)=""
  1. S IDT=""
  1. F S IDT=$O(^LR(LRDFN,"CH",IDT),-1) Q:IDT<1 S ZERO=^(IDT,0),UID=$P($G(^("ORU")),"^") D Q:FIRSTCH
  1. . I $P(ZERO,U,3) S FIRSTCH=9999999-IDT Q
  1. . I UID'="" S UID=$$CHECKUID^LRWU4(UID)
  1. . I 'UID,$P(ZERO,U,3) Q
  1. . ;LR*5.2*527: commenting out line below so that tests marked as
  1. . ; "not performed" will be eligible as "oldest" in the
  1. . ; range
  1. . ;S GOTNP=0 D GETNP^LR7OGMC Q:GOTNP
  1. . S AREA=$P(UID,"^",2),ACDT=$P(UID,"^",3),NUM=$P(UID,"^",4)
  1. . I '$D(^LRO(68,+AREA,1,+ACDT,1,+NUM)) Q
  1. . S (TESTNUM,CHKTYP,ACOMP)=0
  1. . F S TESTNUM=$O(^LRO(68,+AREA,1,+ACDT,1,+NUM,4,TESTNUM)) Q:'TESTNUM S ANODE=^(TESTNUM,0) D
  1. . . Q:'$D(^LAB(60,TESTNUM,0)) I ("BO"[$P($G(^(0)),U,3)) S CHKTYP=1
  1. . . I '$P(ANODE,"^",5) S ACOMP=1
  1. . . ;LR*5.2*527: adding line below for same reason noted above
  1. . . I $P(ANODE,"^",6)["*Not Performed" S ACOMP=1
  1. . Q:'CHKTYP
  1. . Q:'ACOMP
  1. . S FIRSTCH=9999999-IDT
  1. ;
  1. S IDT=$O(^LR(LRDFN,"MI",""),-1)
  1. I IDT>0 S FIRSTMI=9999999-IDT
  1. I FIRSTMI="" Q FIRSTCH
  1. I FIRSTCH="" Q FIRSTMI
  1. I FIRSTCH<FIRSTMI Q FIRSTCH
  1. I FIRSTCH'<FIRSTMI Q FIRSTMI
  1. Q ""