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

ORB3REG.m

Go to the documentation of this file.
  1. ORB3REG ; slc/CLA - Support routine for ORB3 ;6/28/00 12:00 [ 04/02/97 2:16 PM ]
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**31,74,88,105,139,200**;Dec 17, 1997
  1. REGULAR(ORN,XQA,ORBU,ORBUI,ORBDEV,ORBDFN) ;get recips who always get notif
  1. ; ORN: notif ien
  1. ; XQA: DUZ array
  1. ; ORBU: recip debug array
  1. ; ORBUI: ORBU cntr
  1. ; ORBDEV: device recips array
  1. ; ORBDFN: patient ien
  1. ;
  1. N ORBX,ORLST,ORERR,ORBZ,ORBE,ORBDUZ,ORBDIV,ORBDIVX,ORBSUR
  1. I $D(ORBU) D
  1. .S ORBU(ORBUI)=" ",ORBUI=ORBUI+1
  1. .S ORBU(ORBUI)="Default recipient users and teams:",ORBUI=ORBUI+1
  1. S ORBE=0,ORBX=0
  1. ;
  1. ;process default recip users & teams:
  1. D ENVAL^XPAR(.ORLST,"ORB DEFAULT RECIPIENTS",ORN,.ORERR)
  1. I 'ORERR,$G(ORLST)>0 D
  1. .F ORBX=1:1:ORLST S ORBE=$O(ORLST(ORBE)) I ORLST(ORBE,ORN)=1 D
  1. ..S ORBZ=$P(ORBE,";",2)
  1. ..I ORBZ="VA(200," S ORBDUZ=$P(ORBE,";") I $L($G(ORBDUZ)) D
  1. ...;
  1. ...I '$D(ORBU) D
  1. ....D PREALERT^ORB3USER(ORBDUZ,ORN,ORBDFN)
  1. ....S XQA(ORBDUZ)=""
  1. ...;
  1. ...I $D(ORBU) N NODE S NODE=$G(^VA(200,ORBDUZ,0)) I $L($G(NODE)) D
  1. ....S ORBU(ORBUI)=" "_$P(NODE,U)_": ON because",ORBUI=ORBUI+1
  1. ....S ORBU(ORBUI)=" Default Recipient (USER) parameter set to Yes.",ORBUI=ORBUI+1
  1. ....;
  1. ....S ORBSUR=$$ACTVSURO^XQALSURO(ORBDUZ) ;DBIA #2790
  1. ....I +$G(ORBSUR)>0 D
  1. .....S ORBU(ORBUI)=" [Surrogate "_$$GET1^DIQ(200,ORBSUR_",",.01)_" will receive alert for user]",ORBUI=ORBUI+1
  1. ..;
  1. ..I ORBZ="OR(100.21," D REGTEAM(ORBE)
  1. ;
  1. ;process SYSTEM default devices:
  1. S ORBZ=$$GET^XPAR("SYS","ORB DEFAULT RECIPIENT DEVICES",ORN,"E")
  1. I $L($G(ORBZ)) D
  1. .I '$D(ORBU) S ORBDEV(ORBZ)=""
  1. .I $D(ORBU) D
  1. ..S ORBU(ORBUI)=" ",ORBUI=ORBUI+1
  1. ..S ORBU(ORBUI)="Default device: "_ORBZ_" because",ORBUI=ORBUI+1
  1. ..S ORBU(ORBUI)=" Default System Device parameter set to Yes.",ORBUI=ORBUI+1
  1. ;
  1. ;process DIVISION default devices:
  1. I +$G(DUZ)>1,($L($G(DUZ(2)))) S ORBDIV($G(DUZ(2)))=$G(DUZ(2))
  1. E D DIVS(.ORBDIV)
  1. S ORBDIVX="" F S ORBDIVX=$O(ORBDIV(ORBDIVX)) Q:'ORBDIVX D
  1. .S ORBZ=$$GET^XPAR("DIV.`"_ORBDIVX,"ORB DEFAULT RECIPIENT DEVICES",ORN,"E")
  1. .I $L($G(ORBZ)) D
  1. ..I '$D(ORBU) S ORBDEV(ORBZ)=""
  1. ..I $D(ORBU) D
  1. ...S ORBU(ORBUI)=" ",ORBUI=ORBUI+1
  1. ...S ORBU(ORBUI)="Default device: "_ORBZ_" because",ORBUI=ORBUI+1
  1. ...S ORBU(ORBUI)=" Default Division Device parameter set to Yes.",ORBUI=ORBUI+1
  1. Q
  1. REGTEAM(ORBE) ;get team recips
  1. N ORBLST,IJ,ORBTD,ORBSUR
  1. D TEAMPROV^ORQPTQ1(.ORBLST,$P(ORBE,";"))
  1. I $D(ORBU) N TNODE S TNODE=$G(^OR(100.21,$P(ORBE,";"),0)) I $L($G(TNODE)) D
  1. .S ORBU(ORBUI)=" ",ORBUI=ORBUI+1
  1. .S ORBU(ORBUI)=" Default team recipients from team "_$P(TNODE,U)_":",ORBUI=ORBUI+1
  1. I +$G(ORBLST(1))>0 S IJ="" F S IJ=$O(ORBLST(IJ)) Q:IJ="" D
  1. .S ORBDUZ=$P(ORBLST(IJ),U) I $L($G(ORBDUZ)) D
  1. ..I '$D(ORBU) D
  1. ...D PREALERT^ORB3USER(ORBDUZ,ORN,ORBDFN)
  1. ...S XQA(ORBDUZ)=""
  1. ..I $D(ORBU) N NODE S NODE=$G(^VA(200,ORBDUZ,0)) I $L($G(NODE)) D
  1. ...S ORBU(ORBUI)=" "_$P(NODE,U)_": ON because",ORBUI=ORBUI+1
  1. ...S ORBU(ORBUI)=" Default Recipient (TEAM) parameter set to Yes.",ORBUI=ORBUI+1
  1. ...S ORBSUR=$$ACTVSURO^XQALSURO(ORBDUZ) ;DBIA #2790
  1. ...I +$G(ORBSUR)>0 D
  1. ....S ORBU(ORBUI)=" [Surrogate "_$$GET1^DIQ(200,ORBSUR_",",.01)_" will receive alert for user]",ORBUI=ORBUI+1
  1. ;
  1. S ORBTD=$P($$TMDEV^ORB31($P(ORBE,";")),U,2) ;tm device
  1. I $L(ORBTD) D
  1. .S ORBDEV(ORBTD)=""
  1. .I $D(ORBU) D
  1. ..S ORBU(ORBUI)=" Team's Device "_ORBTD_" is a recipient",ORBUI=ORBUI+1
  1. ;
  1. I $D(ORBU) S ORBU(ORBUI)=" ",ORBUI=ORBUI+1
  1. Q
  1. DIVS(DIVS) ;get all possible divisions
  1. ; DIVS - rtn array in format:
  1. ; DIVS(div #)=div #
  1. ;
  1. N DIV
  1. S DIV=0 F S DIV=$O(^DG(40.8,"AD",DIV)) Q:'DIV D
  1. .S DIVS(DIV)=DIV
  1. Q