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

BLRRLMUU.m

Go to the documentation of this file.
  1. BLRRLMUU ; IHS/MSC/MKK - Reference Lab Meaningful Use Utilities ; 22-Oct-2013 09:22 ; MKK
  1. ;;5.2;IHS LABORATORY;**1033**;NOV 1, 1997
  1. ;
  1. RELAHMID(UID) ; EP - For INCOMING messages, Return the IEN into the ^LAHM(62.49 global for the given UID, if it exists
  1. NEW (DILOCKTM,DISYS,DT,DTIME,DUZ,IO,IOBS,IOF,IOM,ION,IOS,IOSL,IOST,IOT,LRPARAM,IOXY,TESTDESC,U,UID,XPARSYS,XQXFLG)
  1. ;
  1. S IEN="AAA",FOUNDIT=0
  1. ; Reverse Order thorugh 62.49 so as to find the latest IEN
  1. F S IEN=$O(^LAHM(62.49,IEN),-1) Q:IEN<1!(FOUNDIT) D
  1. . Q:$P($G(^LAHM(62.49,IEN,0)),"^",2)'="I" ; Only INCOMING messages
  1. . ;
  1. . S CNT=0
  1. . F S CNT=$O(^LAHM(62.49,IEN,150,CNT)) Q:CNT<1!(FOUNDIT) D
  1. .. S STR=$G(^LAHM(62.49,IEN,150,CNT,0))
  1. .. S:$P(STR,"|")="OBR"&($P($P(STR,"|",3),"^")=UID) FOUNDIT=IEN
  1. ;
  1. Q FOUNDIT
  1. ;
  1. SHL7SEGS(UID) ; EP - Store UID's HL7 Segment numbers for Later Analysis
  1. NEW (DILOCKTM,DISYS,DT,DTIME,DUZ,IO,IOBS,IOF,IOM,ION,IOS,IOSL,IOST,IOT,LRPARAM,IOXY,TESTDESC,U,UID,XPARSYS,XQXFLG)
  1. ;
  1. ; Don't redo if already created
  1. I $D(^TMP("BLRRLMUU",$J,UID)) Q $O(^TMP("BLRRLMUU",$J,UID,0))
  1. ;
  1. S IEN=$$RELAHMID(UID)
  1. Q:IEN<1 0
  1. ;
  1. ; Don't redo if already created
  1. Q:$D(^TMP("BLRRLMUU",$J,UID,IEN)) IEN
  1. ;
  1. S CNT=0
  1. F S CNT=$O(^LAHM(62.49,IEN,150,CNT)) Q:CNT<1 D
  1. . S SEG=$P($G(^LAHM(62.49,IEN,150,CNT,0)),"|")
  1. . Q:$L(SEG)<1
  1. . S ^TMP("BLRRLMUU",$J,UID,IEN,SEG,CNT)=""
  1. Q IEN
  1. ;
  1. GETCANCL(UID) ; EP - Get Cancel reason from SPM segment in LAHM 62.49
  1. NEW (DILOCKTM,DISYS,DT,DTIME,DUZ,IO,IOBS,IOF,IOM,ION,IOS,IOSL,IOST,IOT,LRPARAM,IOXY,TESTDESC,U,UID,XPARSYS,XQXFLG)
  1. ;
  1. S IEN=$$SHL7SEGS(UID)
  1. Q:IEN<1 ""
  1. ;
  1. S WHERE=+$O(^TMP("BLRRLMUU",$J,UID,IEN,"SPM",0))
  1. Q:WHERE<1 ""
  1. ;
  1. Q $P($P($G(^LAHM(62.49,IEN,150,WHERE,0)),"|",22),"^",2)
  1. ;
  1. LABSTOR(LRDFN,LRSS,LRIDT) ; EP - Store 62.49 IEN
  1. NEW (DILOCKTM,DISYS,DT,DTIME,DUZ,IO,IOBS,IOF,IOM,ION,IOS,IOSL,IOST,IOT,IOXY,LRDFN,LRSS,LRIDT,U,XPARSYS,XQXFLG)
  1. ;
  1. S LRUID=+$G(^LR(LRDFN,LRSS,LRIDT,"ORU")) ; Get UID
  1. Q:LRUID<1
  1. ;
  1. S P6249=$$RELAHMID^BLRRLMUU(LRUID)
  1. ;
  1. S:+P2649 ^LR(LRDFN,LRSS,LRIDT,"HL7")=P2649_"^"
  1. Q
  1. ;
  1. ; ================== ^LAH routines follow
  1. ;
  1. RETLAHID(UID) ; EP - Return the IEN into the ^LAH global for the given UID, if it exists
  1. NEW (DILOCKTM,DISYS,DT,DTIME,DUZ,IO,IOBS,IOF,IOM,ION,IOS,IOSL,IOST,IOT,LRPARAM,IOXY,TESTDESC,U,UID,XPARSYS,XQXFLG)
  1. ;
  1. S IEN="AAA",FOUNDIT=0
  1. F S IEN=$O(^LAH(IEN),-1) Q:IEN<1!(FOUNDIT) D
  1. . S:$O(^LAH(IEN,1,"U",""))=UID FOUNDIT=IEN
  1. ;
  1. Q FOUNDIT