Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WorldVistAEHR/trunk/r/KERNEL-XU-A4A7-USC-XG-XLF-XNOA-XPD-XQ-XVIR-ZI-ZOSF-ZOSV-ZT-ZU-%Z-XIP--XQAB--XUC--XUR--ZIN--ZTED/XQALSET1.m

    r613 r623  
    1 XQALSET1        ;ISC-SF.SEA/JLI - SETUP ALERTS (OVERFLOW) ;4/9/07  10:26
    2         ;;8.0;KERNEL;**285,443**;Jul 10, 1995;Build 4
    3         ;;
    4         Q
    5 GROUP   ;
    6         N XQI,XQL,XQL1,XQL2,XQLIST
    7         S XQL=$E(XQJ,3,$L(XQJ)) ; P443 - changed from code that forced upper case
    8         I $D(^TMP("XQAGROUP",$J,XQL)) Q  ; P443 group has already been processed - prevent cycling
    9         S ^TMP("XQAGROUP",$J,XQL)="" ; P443 mark that the group has been seen
    10         S XQI=$$FIND1^DIC(3.8,,"X",XQL) Q:XQI'>0
    11         N XQLIST D LIST^DIC(3.81,","_XQI_",",".01","I",,,,,,,.XQLIST) I XQLIST("ORDER")>0 D
    12         . N XQI F XQI=0:0 S XQI=$O(@XQLIST@("ID",XQI)) Q:XQI'>0  S XQA(^(XQI,.01))=""
    13         . Q
    14         K @XQLIST,XQLIST D LIST^DIC(3.811,","_XQI_",",".01",,,,,,,,.XQLIST) I XQLIST("ORDER")>0 D
    15         . N XQAGROUP M XQAGROUP=@XQLIST@("ID") ; P443 - store group list data locally so it is not over written by recursive call to LIST^DIC
    16         . N XQI F XQI=0:0 S XQI=$O(XQAGROUP(XQI)) Q:XQI'>0  N XQJ S XQJ="G."_XQAGROUP(XQI,.01) D GROUP ; P443 - change to reference XQAGROUP
    17         . Q
    18         K @XQLIST,XQLIST
    19         K XQA(XQJ)
    20         D CHEKACTV(.XQA)
    21         Q
    22         ;
    23         ; Check and remove any entries in array that don't have active surrogates and aren't active
    24 CHEKACTV(XQARRAY)       ;
    25         N XQJ
    26         F XQJ=0:0 S XQJ=$O(XQARRAY(XQJ)) Q:XQJ'>0  I $$CHEKUSER(XQJ)'>0 K XQARRAY(XQJ)
    27         Q
    28         ;
    29 CHEKUSER(XQAUSER)       ; Returns 0 if no valid user or surrogate, otherwise returns IEN of user or surrogate
    30         N VALUE
    31         S VALUE=$$ACTVSURO^XQALSURO(XQAUSER)
    32         I VALUE'>0 S VALUE=XQAUSER I '$$ACTIVE^XUSER(XQAUSER) Q 0
    33         Q VALUE
    34         ;
     1XQALSET1 ;ISC-SF.SEA/JLI - SETUP ALERTS (OVERFLOW) ;10/20/03  15:03
     2 ;;8.0;KERNEL;**285**;Jul 10, 1995
     3 ;;
     4 Q
     5GROUP ;
     6 N XQI,XQL,XQL1,XQL2,XQLIST
     7 S XQL="" F XQI=3:1:$L(XQJ) S XQL1=$E(XQJ,XQI) S:XQL1?1L XQL1=$C($A(XQL1)-32) S XQL=XQL_XQL1
     8 ;S XQI=$O(^XMB(3.8,"B",XQL,0)) I XQI'>0 S XQL1=$O(^XMB(3.8,"B",XQL)) I $E(XQL1,1,$L(XQL))=XQL S XQL2=$O(^(XQL1)) I $E(XQL2,1,$L(XQL))'=XQL S XQI=$O(^(XQL1,0))
     9 ;I XQI>0 F XQL=0:0 S XQL=$O(^XMB(3.8,XQI,1,XQL)) Q:XQL'>0  S XQA(+^(XQL,0))=""
     10 ;  Above code replaced to use Fileman calls, also code added to walk through member groups as well  030203 JLI P285
     11 S XQI=$$FIND1^DIC(3.8,,"X",XQL) Q:XQI'>0
     12 N XQLIST D LIST^DIC(3.81,","_XQI_",",".01","I",,,,,,,.XQLIST) I XQLIST("ORDER")>0 D
     13 . N XQI F XQI=0:0 S XQI=$O(@XQLIST@("ID",XQI)) Q:XQI'>0  S XQA(^(XQI,.01))=""
     14 . Q
     15 K @XQLIST,XQLIST D LIST^DIC(3.811,","_XQI_",",".01",,,,,,,,.XQLIST) I XQLIST("ORDER")>0 D
     16 . N XQI F XQI=0:0 S XQI=$O(@XQLIST@("ID",XQI)) Q:XQI'>0  N XQJ S XQJ="G."_^(XQI,.01) D GROUP
     17 . Q
     18 K XQA(XQJ)
     19 D CHEKACTV(.XQA)
     20 Q
     21 ;
     22 ; Check and remove any entries in array that don't have active surrogates and aren't active
     23CHEKACTV(XQARRAY) ;
     24 N XQJ
     25 F XQJ=0:0 S XQJ=$O(XQARRAY(XQJ)) Q:XQJ'>0  I $$CHEKUSER(XQJ)'>0 K XQARRAY(XQJ)
     26 Q
     27 ;
     28CHEKUSER(XQAUSER) ;SR. Returns 0 if no valid user or surrogate, otherwise returns IEN of user or surrogate
     29 N VALUE
     30 S VALUE=$$ACTVSURO^XQALSURO(XQAUSER)
     31 I VALUE'>0 S VALUE=XQAUSER I '$$ACTIVE^XUSER(XQAUSER) Q 0
     32 Q VALUE
     33 ;
Note: See TracChangeset for help on using the changeset viewer.