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

BLRESRCD.m

Go to the documentation of this file.
  1. BLRESRCD ; IHS/OIT/MKK - Laboratory E-SIG Reports: Compile Data ; [ 04/12/06 4:00 PM ]
  1. ;;5.2;LR;**1022**;September 20, 2007
  1. ;
  1. ; NOTE: The LRIDT variable in the LR("BLRA") index is stored as
  1. ; as a negative number. That is why, in several places,
  1. ; the code does -(LRIDT).
  1. ;
  1. EP ; "Ersatz" EP
  1. W $C(7),$C(7),$C(7),!
  1. W "Use Label Only",!
  1. W $C(7),$C(7),$C(7),!
  1. Q
  1. ;
  1. ; Get E-SIG Data, Part 1
  1. GETESIGD ; EP
  1. S NRESP=$P($G(^VA(200,ESPHY,0)),"^",1) ; Resp Phy Name
  1. S BLRESIGR(NRESP)=ESPHY
  1. ;
  1. S STATUS="" ; E-SIG Status
  1. F S STATUS=$O(^LR("BLRA",ESPHY,STATUS)) Q:STATUS="" D
  1. . D GETESIG2
  1. Q
  1. ;
  1. ; Get E-SIG data, Part 2
  1. GETESIG2 ; EP
  1. S LRIDT="" ; Inverse Date
  1. F S LRIDT=$O(^LR("BLRA",ESPHY,STATUS,LRIDT)) Q:LRIDT="" D
  1. . I LRIDT<BEGIDT!(LRIDT>ENDIDT) Q ; Date must be in range
  1. . ;
  1. . S LRDFN=0 ; Patient Lab Reference Number
  1. . S LRDFN=$O(^LR("BLRA",ESPHY,STATUS,LRIDT,LRDFN)) Q:LRDFN="" D
  1. .. S LRAA="" ; Accession Area
  1. .. F S LRAA=$O(^LR("BLRA",ESPHY,STATUS,LRIDT,LRDFN,LRAA)) Q:LRAA="" D
  1. ... S BLRESIGR=$G(^LR(LRDFN,LRAA,-(LRIDT),9009027)) ; E-SIG String
  1. ... I $G(BLRESIGR)="" Q ; If Null, skip
  1. ... ;
  1. ... ; Patient Name
  1. ... S PATN=$P($G(^DPT($P($G(^LR(LRDFN,0)),"^",3),0)),"^",1)
  1. ... ;
  1. ... S BLRESIGR(NRESP,PATN,LRAA,LRDFN,-(LRIDT))=""
  1. Q
  1. ;
  1. ; Not Signed by Responsible Physician
  1. NSIGNTXN ; EP
  1. S LRIDT=""
  1. F S LRIDT=$O(^LR("BLRA",ESPHY,STATUS,LRIDT)) Q:LRIDT="" D
  1. . I LRIDT<BEGIDT!(LRIDT>ENDIDT) Q ; Date must be in range
  1. . ;
  1. . S LRDFN=0
  1. . S LRDFN=$O(^LR("BLRA",ESPHY,STATUS,LRIDT,LRDFN)) Q:LRDFN="" D
  1. .. S LRAA=""
  1. .. F S LRAA=$O(^LR("BLRA",ESPHY,STATUS,LRIDT,LRDFN,LRAA)) Q:LRAA="" D
  1. ... S BLRESIGR=$G(^LR(LRDFN,LRAA,-(LRIDT),9009027)) ; E-SIG String
  1. ... I $G(BLRESIGR)="" Q
  1. ... I $P(BLRESIGR,"^",3)=ESPHY Q ; If Responsible = Signing Phy, skip
  1. ... ;
  1. ... S PATN=$P($G(^DPT($P($G(^LR(LRDFN,0)),"^",3),0)),"^",1)
  1. ... ;
  1. ... S BLRESIGR(NRESP,PATN,LRAA,LRDFN,-(LRIDT))=""
  1. ... S CNT=CNT+1
  1. Q