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

LRUEPR.m

Go to the documentation of this file.
  1. LRUEPR ;DALOI/JMC - External Package Reference Utility ;10/18/10 16:43
  1. ;;5.2;LAB SERVICE;**350**;Sep 27, 1994;Build 230
  1. ;
  1. ; Reference to SURGERY file (#130) supported by ICR #5268
  1. ;
  1. ; ZEXCEPT is used to identify variables which are external to a specific TAG
  1. ; used in conjunction with Eclipse M-editor.
  1. ;
  1. Q
  1. ;
  1. ;
  1. SETREF(LRDFN,LRREF,LRDATA,LRACTION) ; Set reference to external package in file #63
  1. ; Call with LRDFN = File #63 IEN
  1. ; LRREF = value of #.01 field in format LRDFN,LRSS,LRIDT,0 or other ending reference
  1. ; e.g. "123,SP,6919594.8946,0"
  1. ; if reference to other file then use format LRDFN,file #,other ending reference.
  1. ; e.g. "123,69,LRODT,LRSN,0"
  1. ; e.g. "123,68,LRAA,LRAD,LRAN,0"
  1. ; LRDATA = array with data to store
  1. ; LRACTION = 1-update if exists otherwise add
  1. ; 2-always add
  1. ;
  1. N LRTYPE
  1. ;
  1. I $G(LRREF)="" Q
  1. ;
  1. S LRTYPE=$G(LRDATA(.02))
  1. I LRTYPE<1 Q
  1. ;
  1. S LRACTION=$G(LRACTION)
  1. I LRACTION<1 S LRACTION=1
  1. ;
  1. ; Update existing entry for this type
  1. I LRACTION=1,$D(^LR(LRDFN,"EPR","AD",LRREF,LRTYPE)) D UEE Q
  1. ;
  1. ; Create new entry
  1. D CNE
  1. ;
  1. Q
  1. ;
  1. ;
  1. UEE ; Update existing entry
  1. ;
  1. N LRDIE,LRFDA,LRIEN
  1. ;
  1. ;ZEXCEPT: LRDATA,LRDFN,LRREF,LRTYPE
  1. ;
  1. S LRIEN=$O(^LR(LRDFN,"EPR","AD",LRREF,LRTYPE,0))
  1. I LRDATA(.01)'="",LRDATA(.01)'=LRREF S LRFDA(1,63.00013,LRIEN_","_LRDFN_",",.01)=LRDATA(.01)
  1. S LRFDA(1,63.00013,LRIEN_","_LRDFN_",",.02)=LRDATA(.02)
  1. I $G(LRDATA(.03)) S LRFDA(1,63.00013,LRIEN_","_LRDFN_",",.03)=LRDATA(.03)
  1. I $G(LRDATA(1))'="" S LRFDA(1,63.00013,LRIEN_","_LRDFN_",",1)=LRDATA(1)
  1. D FILE^DIE("","LRFDA(1)","LRDIE(1)")
  1. Q
  1. ;
  1. ;
  1. CNE ; Create new entry
  1. ;
  1. N LRDIE,LRFDA,LRIEN
  1. ;
  1. ;ZEXCEPT: LRDATA,LRDFN
  1. ;
  1. S LRFDA(1,63.00013,"+1,"_LRDFN_",",.01)=LRDATA(.01)
  1. S LRFDA(1,63.00013,"+1,"_LRDFN_",",.02)=LRDATA(.02)
  1. I $G(LRDATA(.03)) S LRFDA(1,63.00013,"+1,"_LRDFN_",",.03)=LRDATA(.03)
  1. I $G(LRDATA(1))'="" S LRFDA(1,63.00013,"+1,"_LRDFN_",",1)=LRDATA(1)
  1. D UPDATE^DIE("","LRFDA(1)","LRIEN","LRDIE(1)")
  1. Q
  1. ;
  1. ;
  1. DEE(LRIENS) ; Delete existing entry
  1. ; Call with LRRIENS = File #63 external package reference IENS
  1. ;
  1. N LRDIE,LRFDA
  1. S LRFDA(1,63.00013,LRIENS,.01)="@"
  1. D FILE^DIE("","LRFDA(1)","LRDIE(1)")
  1. Q
  1. ;
  1. ;
  1. GETDATA(LRDATA,LRIENS) ; Retrieve information for a specific entry
  1. ; Call with LRDATA = array to return data, pass by reference
  1. ; LRRIENS = File #63 external package reference IENS
  1. ;
  1. D GETS^DIQ(63.00013,LRIENS,"**","I","LRDATA")
  1. Q
  1. ;
  1. ;
  1. SRCASE(LRDATA,LRSRTN) ; Retrieve related surgeon/attending for a surgical case
  1. ; Call with LRDATA = array to return data, pass by reference
  1. ; LRSTRN = ien of case in SURGERY file #130
  1. ;
  1. N LRERR
  1. D GETS^DIQ(130,LRSRTN_",",".14;.164;123;124","I","LRDATA","LRERR")
  1. ;
  1. I $D(LRERR) D
  1. . I $G(LRERR("DIERR",1))=601 S LRDATA("ERR")="601^Related Surgical Case #"_LRSRTN_" has been removed from SURGERY package"
  1. . E S LRDATA("ERR")=LRERR("DIERR",1)_"^"_LRERR("DIERR",1,"TEXT",1)
  1. ;
  1. Q
  1. ;
  1. ;
  1. SRCASERR(LRREF,LRCDATA,LRERRMSG) ; Log/update surgical case ref when error occurs on retrieval.
  1. ; Call with LRREF = value of #.01 field in format LRDFN,LRSS,LRIDT,0 or other ending reference
  1. ; e.g. "123,SP,6919594.8946,0"
  1. ;
  1. ; LRCDATA = current data on file
  1. ; LRERRMSG = error message to add to current data
  1. ;
  1. N LRDATA
  1. ;
  1. ; If current data already contains error message then quit.
  1. I LRCDATA[LRERRMSG Q
  1. ;
  1. S LRDATA(.01)=LRREF
  1. S LRDATA(.02)=1
  1. S LRDATA(1)=LRCDATA_";"_LRERRMSG
  1. D SETREF^LRUEPR($P(LRREF,","),LRREF,.LRDATA,1)
  1. ;
  1. Q