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

XUBA.m

Go to the documentation of this file.
  1. XUBA ; BT/BP - LIST USERS HAVE INACTIVE PERSON CLASSES; 4/27/2010
  1. ;;8.0;KERNEL;**541**; July 10, 1995;Build 6
  1. ;;Per VHA Directive 2004-038, this routine should not be modified.
  1. Q
  1. ;
  1. PR ; entry point of the option LIST USERS NEED TO BE ASSIGNED NEW PERSON CLASSES
  1. N DIR,XUA541,Y S DIR("A")="Do you want to list active users only",DIR(0)="Y",DIR("B")="NO" D ^DIR
  1. S XUA541=$G(Y) I XUA541="^" Q
  1. W @IOF,! S %ZIS="MQ" D ^%ZIS G:POP EXIT
  1. I $D(IO("Q")) S ZTIO=ION,ZTRTN="PRNT^XUBA",ZTSAVE("XUA541")="",ZTDESC="LIST USERS NEED PERSON CLASSES" D ^%ZTLOAD D HOME^%ZIS
  1. I $D(ZTSK) W !,"Queued as task# ",ZTSK,!! D PAUSE G EXIT
  1. ;
  1. PRNT ; print the report
  1. U IO D INPSC,LIST(XUA541)
  1. N XUI,XUC,XUPG,XUB S XUC=0,XUPG=1,XUB=0
  1. N XUPSUP D PGBK ;set value of the page break for devices
  1. D HDR ;Header
  1. S XUI="" F S XUI=$O(^TMP("XUINPSCN",$J,XUI)) Q:XUI="" D
  1. . W !,$G(XUI),?20,$G(^TMP("XUINPSCN",$J,XUI))
  1. . S XUC=XUC+1
  1. . X XUPSUP ;page set up and break
  1. I XUB=1 Q
  1. W !!!,"Number of users: ",XUC
  1. I $E(IOST,1,2)="C-" W !! D PAUSE
  1. D EXIT
  1. Q
  1. ;
  1. INPSC ;get all inactive Person Class from the PERSON CLASS FILE.
  1. N XUI,XUY,COUNT
  1. K ^TMP("XUINPSC",$J)
  1. S COUNT=$P($G(^USC(8932.1,0)),"^",4)
  1. F XUI=1:1:COUNT D
  1. . I $$GET3^XUPCF(XUI)="Inactive" S ^TMP("XUINPSC",$J,XUI)=$$GET5^XUPCF(XUI)
  1. Q
  1. ;
  1. LIST(XUA541) ; get all users who need to be assigned a new Person Class.
  1. N XUI,XUY,XUV,XUIEN,%
  1. K ^TMP("XUINPSCN",$J)
  1. S XUIEN=0 F S XUIEN=$O(^VA(200,XUIEN)) Q:XUIEN'>0 D
  1. . I XUA541=1,'(+$$ACTIVE^XUSER(XUIEN)) Q
  1. . S XUY=+$$GET^XUA4A72(XUIEN) Q:XUY'>0
  1. . I $D(^TMP("XUINPSC",$J,XUY)) D
  1. . . N XUNAME S XUNAME=$E($P($G(^VA(200,XUIEN,0)),"^"),1,18)
  1. . . I XUNAME'="" S ^TMP("XUINPSCN",$J,XUNAME)=$E($P($$GET^XUA4A72(XUIEN),"^",1,2),1,60)
  1. Q
  1. ;
  1. CLEAN ;clean the global
  1. K ^TMP("XUINPSC",$J)
  1. K ^TMP("XUINPSCN",$J)
  1. Q
  1. ;
  1. PGBK ;page break
  1. S XUPSUP="I $Y>(IOSL-3) S XUPG=XUPG+1 W @IOF D HDR"
  1. I $E(IOST,1,2)="C-" S XUPSUP="I $Y>(IOSL-3) S XUPG=XUPG+1 D PAUSE I XUB'=1 W @IOF D HDR"
  1. Q
  1. ;
  1. HDR ;
  1. W ?IOM-40,"Report on ",$$FMTE^XLFDT($$DT^XLFDT)," Page ",$G(XUPG),!
  1. W !,"User name:",?20,"Currently has the inactive Person Class IEN^NAME:"
  1. W !,"----------",?20,"-------------------------------------------------"
  1. Q
  1. ;
  1. PAUSE ;
  1. W !,"Press RETURN to continue or '^' to exit: " R XUB:DTIME
  1. I '$T S XUI="zzzzzzzzz"
  1. I XUB["^" S XUI="zzzzzzzzz",XUB=1
  1. Q
  1. ;
  1. EXIT ;
  1. D CLEAN
  1. D ^%ZISC
  1. K %ZIS,ZTDESC,ZTSK,ZTIO,ZTRTN,ZTSAVE
  1. Q