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

LRMIPSZ.m

Go to the documentation of this file.
  1. LRMIPSZ ;DALIO/STAFF - MICRO PRINT/SINGLE SPECIMEN REPORT ;08/26/10 14:16
  1. ;;5.2;LAB SERVICE;**104,350**;Sep 27, 1994;Build 230
  1. ;
  1. ;from option LRMIPSZ
  1. BEGIN ;
  1. N LRACC
  1. S LRACC=""
  1. D EN^LRPARAM
  1. W !!?23,"MICROBIOLOGY SINGLE SPECIMEN REPORT"
  1. S LREND=0,LRNL=1,LRPG=0
  1. D CHOOSE
  1. ;
  1. END ;
  1. K ^TMP("LR",$J)
  1. K %,AGE,DFN,DIC,DOB,I,J,K,PNM,SSN,X,Y
  1. K LRAA,LRACC,LRAD,LRAN,LRANOK,LRCMNT,LRCNT,LRDFN,LRDPF,LREND,LREP,LRIDT,LRLIDT,LRLLT,LRNL,LRONESPC,LRONETST,LRPG,LRPRAC,LRRB,LRSB,LRSMP,LRSTOP,LRUID
  1. Q
  1. ;
  1. ;
  1. CHOOSE ; Choose the method of selecting the report to print.
  1. N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
  1. S DIR(0)="SO^1:Accession Number or UID;2:Name/SSN"
  1. S DIR("A")="Look-up by"
  1. S DIR("B")=1
  1. D ^DIR
  1. I $D(DIRUT) Q
  1. S LREP=+Y
  1. F K LRAN,DIC D @$S(LREP=1:"ACC",1:"PAT") Q:LREND I LRANOK S ZTRTN="DQ^LRMIPSZ",%ZIS="MQ" D IO^LRWU Q:LREND
  1. Q
  1. ;
  1. ;
  1. DQ ;dequeued
  1. S:$D(ZTQUEUED) ZTREQ="@" U IO
  1. S LRONETST="",LRONESPC="" D EN^LRMIPSZ1 K LRONETST,LRONESPC
  1. Q
  1. ;
  1. ;
  1. ACC ; Lookup by accession number/UID
  1. ;
  1. D ENA^LRWU4("MI")
  1. I LRAN<1 S LREND=1 Q
  1. S LRANOK=1,LRPG=0 D ACC1
  1. Q
  1. ;
  1. ;
  1. ACC1 ;
  1. S LRDFN=+^LRO(68,LRAA,1,LRAD,1,LRAN,0),LRIDT=$P(^(3),U,5)
  1. S LRLLT=^LR(LRDFN,"MI",LRIDT,0),LRACC=$P(LRLLT,U,6),LRCMNT=$G(^LR(LRDFN,"MI",LRIDT,99))
  1. S LRDPF=$P(^LR(LRDFN,0),U,2),DFN=$P(^(0),U,3)
  1. D PT^LRX
  1. W !?20,PNM,?40,SSN
  1. F W !,?20,"OK" S %=1 D YN^DICN Q:% W !,"Answer 'Y'es or 'N'o"
  1. S:%=-1 LREND=1 S:%=2 LRANOK=0
  1. Q
  1. ;
  1. ;
  1. ;
  1. PAT ;
  1. S LRANOK=1
  1. D ^LRDPA
  1. I LRDFN=-1 S LREND=1,LRANOK=0 Q
  1. D PAST
  1. I '$D(LRLLT) S LREND=1,LRANOK=0 Q
  1. S LRAN=^LR(LRDFN,"MI",LRIDT,0),LRACC=$P(LRAN,U,6),LRAD=$E(LRAN)_$P(LRACC," ",2)_"0000",LRAN=+$P(LRACC," ",3)
  1. S X=$P(LRACC," "),DIC=68,DIC(0)="M"
  1. D ^DIC
  1. I Y<1 S LREND=1,LRANOK=0 Q
  1. S LRAA=+Y
  1. Q
  1. ;
  1. ;
  1. PAST ;
  1. W ! K LRAN
  1. S (LRSTOP,LRIDT)=0 F LRCNT=1:1 S LRIDT=+$O(^LR(LRDFN,"MI",LRIDT)) Q:LRIDT<1 D:'(LRCNT#5) WAIT Q:LRSTOP D PAST1
  1. I LRCNT=1 W !,"Nothing accessioned" K LRLLT Q
  1. S:LRCNT=2 LRIDT=LRLIDT I LRCNT'=2 D SELECT Q:X=""!(X[U)
  1. S LRLLT=^LR(LRDFN,"MI",LRIDT,0),LRCMNT=$S($D(^(99)):^(99),1:"")
  1. Q
  1. ;
  1. ;
  1. WAIT ;
  1. R !,"PRESS '^' TO STOP ",X:DTIME S:X="" X=1 S LRSTOP=".^"[X
  1. Q
  1. ;
  1. ;
  1. PAST1 ;
  1. S LRAN=$P(^LR(LRDFN,"MI",LRIDT,0),U,6),LRAN(LRCNT)=LRIDT,LRLIDT=LRIDT
  1. W !?13,LRCNT S Y=$P(^(0),U),LRSMP=$P(^(0),U,5)
  1. D D^LRU W ?20,Y," "
  1. W:LRSMP ?41,$P(^LAB(61,LRSMP,0),U),?60,"Acc ",LRAN
  1. Q
  1. ;
  1. ;
  1. SELECT ;
  1. K LRLLT S LRSTOP=0
  1. F R !!,"Select #: ",X:DTIME Q:X=""!(X[U) Q:$D(LRAN(X)) W !,"Doesn't exist."
  1. I X'="",X'[U S LRIDT=LRAN(X)
  1. Q