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

CIAUUSR.m

Go to the documentation of this file.
  1. CIAUUSR ;MSC/IND/DKM - Parse recipient list;04-May-2006 08:19;DKM
  1. ;;1.2;CIA UTILITIES;;Mar 20, 2007
  1. ;;Copyright 2000-2006, Medsphere Systems Corporation
  1. ;=================================================================
  1. ; Takes a list of recipients (which may be DUZ #'s, names,
  1. ; mail groups, or special tokens) as input and produces an
  1. ; array of DUZ's as output. If a list element is found in
  1. ; in the token list CIALST, the value of the token entry will
  1. ; be substituted.
  1. ; Inputs:
  1. ; CIAUSR = Semicolon-delimited list of recipients
  1. ; CIALST = Special token list
  1. ; Outputs:
  1. ; CIAOUT = Local array to receive DUZ list
  1. ;=================================================================
  1. ENTRY(CIAUSR,CIAOUT,CIALST) ;
  1. N CIAZ,CIAZ1,CIAZ2
  1. K CIAOUT
  1. F CIAZ=1:1:$L(CIAUSR,";") S CIAZ1=$P(CIAUSR,";",CIAZ) D:CIAZ1'="" S:CIAZ1 CIAOUT(+CIAZ1)=""
  1. .S:$D(CIALST(CIAZ1)) CIAZ1=CIALST(CIAZ1)
  1. .Q:CIAZ1?.N
  1. .I CIAZ1?1"-"1.N D MGRP(-CIAZ1) S CIAZ1=0 Q
  1. .S CIAZ2=$E(CIAZ1,1,2)
  1. .I CIAZ2="G." D MGRP($E(CIAZ1,3,999)) Q
  1. .I CIAZ2="L." D LIST($E(CIAZ1,3,999)) Q
  1. .S CIAZ1=$$LKP(CIAZ1)
  1. Q
  1. LKP(CIANAME) ;
  1. N CIAZ,CIAZ1
  1. I $D(^VA(200,"B",CIANAME)) S CIAZ=CIANAME G L1
  1. S CIAZ=$O(^(CIANAME)),CIAZ1=$O(^(CIAZ))
  1. Q:(CIAZ="")!(CIANAME'=$E(CIAZ,1,$L(CIANAME))) 0
  1. Q:(CIAZ1'="")&(CIANAME=$E(CIAZ1,1,$L(CIANAME))) 0
  1. L1 S CIAZ1=$O(^(CIAZ,0)),CIAZ=$O(^(CIAZ1))
  1. Q:'CIAZ1!CIAZ 0
  1. Q CIAZ1
  1. LIST(CIALIST) ;
  1. Q:CIALIST=""
  1. S:CIALIST'=+CIALIST CIALIST=+$O(^CCCDSS(25193.6,"B",CIALIST,0))
  1. S @$$TRAP^CIAUOS("LERR^CIAUUSR")
  1. X:$D(^CCCDSS(25193.6,CIALIST,1)) ^(1)
  1. LERR Q
  1. MGRP(CIAMGRP) ;
  1. N CIAX
  1. S CIAX(0)=""
  1. D MGRP2(CIAMGRP)
  1. Q
  1. MGRP2(CIAMGRP) ;
  1. N CIAZ,CIAZ1
  1. Q:CIAMGRP=""
  1. S:CIAMGRP'=+CIAMGRP CIAMGRP=+$O(^XMB(3.8,"B",CIAMGRP,0))
  1. Q:$D(CIAX(CIAMGRP))
  1. S CIAX(CIAMGRP)=""
  1. F CIAZ=0:0 S CIAZ=+$O(^XMB(3.8,CIAMGRP,1,CIAZ)) Q:'CIAZ S CIAOUT(+^(CIAZ,0))=""
  1. F CIAZ=0:0 S CIAZ=+$O(^XMB(3.8,CIAMGRP,5,CIAZ)) Q:'CIAZ D MGRP2(^(CIAZ,0))
  1. Q