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

BLRMIAUT.m

Go to the documentation of this file.
  1. BLRMIAUT ; IHS/MSC/MKK - INCOMING HL7 MICRO AUTO INSTRUMENT PROGRAM ; 22-Oct-2013 09:22 ; MKK
  1. ;;5.2;LA;**1033**;NOV 01, 1997
  1. ;
  1. ; Cloned from LAMIAUT0
  1. ;
  1. EP ; EP
  1. D CLEAN,^LRPARAM S LRMIDEF=$P(^LAB(69.9,1,1),U,10),LRMIOTH=$P(^(1),U,11),LRINI=$P(^VA(200,DUZ,0),U,2),LRMICOM=$S($D(^DD(63.31,.01,0)):$P(^(0),U,5,99),1:"S Q9=""1,68,KM"" D COM^LRNUM"),LRMICOMS=$P($P(LRMICOM,",",3),"""",1)
  1. ;
  1. S LRTEC=LRINI,LAMIAUTO=1
  1. S ^TMP("BLRMIAUT",$J,"HL7")=""
  1. ;
  1. ACCESS ; EP
  1. S TAB1="?20",TAB2="?30",TAB3="?35",LREND=0,LRFIFO=0
  1. ;
  1. NEW HEADER
  1. D ACCFILEL^BLRLAHGU ; Get Date Range, AUTO INSTRUMENT, and LOAD/WORK LIST
  1. G:LRLL<1 CLEAN
  1. ;
  1. S LRFMT=$P(^LAB(69.9,1,0),U,11),LRFMT=$S(LRFMT="":"I",1:LRFMT)
  1. S LRVT="VS"
  1. S LRSS="MI"
  1. ;
  1. S (NOGO,LREND)=0
  1. F Q:NOGO!(+$G(LREND)) D
  1. . D GETUID^BLRLAHGU(LRSDT,LRLDT)
  1. . Q:+$G(LREND)
  1. . ;
  1. . S (LRCAPMS,LRAAD,LRCAPWA)=LRAA
  1. . D AUTO^LRCAPV Q:$G(LREND)
  1. . S LRADDF=LRAD
  1. . D LRANX
  1. . D:+$G(LREND)<1 ONGO^BLRLAHGU(.NOGO),PUTCOMPD
  1. ;
  1. CLEAN ;
  1. LOCK
  1. K LRRB,LRSB,LRTREA,VA,XX,LAMIAUTO,LRCAPWA
  1. D @$S($$ISPIMS^BLRUTIL:"KVAR^VADPT",1:"KVAR^BLRDPT")
  1. K A,DD,GLB,LAYGO,LACAPMS,LRCDEF,LRCDEF0,LRCNT,LRCODE,LRCODEN,LRCSQ,LRCY,LRP,LRPN,LRQC,LRSSC,LRSSCX,LRSTD,LRSTR,LRT,LRTIME,LRTS,NODE,NODE0,ZTSK
  1. K %,LRTEC,%DT,%X,%Y,A,AGE,B,B1,B2,B3,DA,DFN,DIC,DIE,DOB,DR,I,II,J,K,LR1PASS,LR2ORMOR,LRAA,LRAAD,LRAADF,LRABVNT,LRACC,LRACCN,LRACNT,LRAD,LRADDF,LRAN,LRAO,LRBN,LRBUG,LRTEC
  1. K IR,IX,IXI,LRABCNT,LRLL,LRCNODE,LRD,LRDR,LRDRDX,LRINST,LRNAME,LRNTN,LRNX,LRODT,LRORGD,LRSUB,LRTEST,N,T1,X9,AA,LRDRD,LRCARD,LRDRNAME,LRALL,LRPHYN,LRCAPMS
  1. K LRCDT,LRCODE,LRCOMTAB,LRDCOM,LRDFN,LRDPF,LRDTR,LREAL,LREDIT,LREND,LRFLAG,LRFMT,LRI,LRIDT,LRIFN,LRINI,LRLL,LRLLOC,LRLLOC,LRMOVE,LRMICOM,LRMICOMS,LRMIDEF,LRMIOTH,LRODT
  1. K LRPTP,LRY,LRVT,LRTS,LRSCOM,LRSAME,LRCAPOK,LRFIFO,LRNB,LRTPT,LRBDUP
  1. K LRORG,LRORGCOM,LRORGN,LRPHY,LRRES,LRSAMP,LRSN,LRSPEC,LRSS,LRTCUP,LRTRAN,LRUNDO,LRWRD,LRWRDVEW,PNM,Q9,SEX,SSN,HRCN,TAB1,TAB2,TAB3,X,X1,X2,Y
  1. K ^TMP("BLRMIAUT",$J)
  1. Q
  1. LRANX ;
  1. I '$D(^LAH(LRLL,1,LRIFN,0))#2 W !?7,"NO DATA FOR THIS NUMBER",! K ^LAH(LRLL,1,"C",LRAN,LRIFN) Q
  1. S LRAA=+$S($P(^LAH(LRLL,1,LRIFN,0),U,3):$P(^(0),U,3),1:LRAAD) I '$D(^LRO(68,LRAA,0)) D ACC Q:Y<1
  1. ;
  1. DATE ;
  1. Q:'$D(^LRO(68,LRAA,0))#2 S Y(0)=^(0),LRADDF=$P(Y(0),U,2)
  1. S LRAD=+$S($P(^LAH(LRLL,1,LRIFN,0),U,4):$P(^(0),U,4),1:LRADDF) I $D(^LRO(68,LRAA,1,LRAD,1,LRAN)) G OK
  1. I '$D(^LRO(68,LRAA,1,Y)) W !!,$C(7)," THERE ARE NO ACCESSIONS FOR THIS DATE " S LRAN=0 Q
  1. ;
  1. OK I '$D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)) W !?7,"Not accessioned -- Would you like a list " S %=2 D YN^DICN G:%=1 SHOW Q
  1. S LRTCUP=$P(^LAH(LRLL,1,LRIFN,0),U)_";"_$P(^(0),U,2) D ^LAMIAUT1 LOCK ;Lock is set in BB+4^LAMIAUT1
  1. ;
  1. D LABIHSMS^BLRRLMUM(LRAA,LRAD,LRAN)
  1. ;
  1. Q
  1. ;
  1. LST ;
  1. W !!,$S(+X>0:" ( "_X_" ) DOES NOT EXIST ",1:"")," WOULD YOU LIKE A LIST " S %=1,LREND=0 D YN^DICN S:%<0 LREND=1 Q:%'=1
  1. ;
  1. SHOW ;
  1. S LREND=0 F A=0:0 S A=$O(^LAH(LRLL,1,"C",A)) Q:LREND!(A<1) D:$Y>(IOSL-4) WAIT Q:$D(X)&($E(X)="^") W !?10,A," " I '$D(^LRO(68,LRAAD,1,LRADDF,1,A)) W " NOT ACCESSIONED "
  1. Q
  1. ;
  1. WAIT ; EP
  1. D ^XBFMK
  1. S DIR(0)="FO"
  1. S DIR("A")=$J("",5)_"PRESS RETURN FOR MORE "
  1. D ^DIR
  1. I +$G(DIRUT) S LREND=1 Q
  1. W @IOF
  1. Q
  1. ;
  1. ACC ; EP
  1. K DIC,Y S DIC("B")=$S($D(LRAADF):LRAADF,1:""),DIC=68,DIC(0)="AQEZM",DIC("S")="I $P(^(0),U,2)=""MI""" D ^DIC Q:Y<1 S LRAA=+Y,LRAADF=$P(Y,U,2)
  1. Q
  1. ;
  1. ; Put Complete Date on Accession
  1. PUTCOMPD ; EP
  1. NEW ERRS,FDA,LRDFN,LRIDT,ORG,RELDATE,ORGDATE
  1. S LRDFN=+$G(^LRO(68,LRAA,1,LRAD,1,LRAN,0)),LRIDT=$P($G(^(3)),"^",5)
  1. S (ORG,RELDATE)=0
  1. F S ORG=$O(^LR(LRDFN,"MI",LRIDT,3,ORG)) Q:ORG<1 D
  1. . S ORGDATE=+$P($G(^LR(LRDFN,"MI",LRIDT,3,ORG,"IHSOBX")),"^",5)
  1. . S:ORGDATE>RELDATE RELDATE=ORGDATE
  1. ;
  1. Q:RELDATE<1
  1. ;
  1. S ^TMP("BLRMIAUT",$J,"PUTCOMPD",$H,LRAA,LRAD,LRAN)=RELDATE
  1. ;
  1. S FDA(68.02,LRAN_","_LRAD_","_LRAA_",",13)=RELDATE
  1. D UPDATE^DIE("S","FDA","ERRS")
  1. Q