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

PRCN109.m

Go to the documentation of this file.
PRCN109 ;WOIFO/SU-Extract Equipment Turn-In user counts ; 04/09/2001  03:30 PM
V ;;1.0;PRCN;**9**;Sep 13, 1996
 ;Per VHA Directive 10-93-142, this routine should not be modified.
 ;
POST ;
 ;
 NEW I,J,K,STA,PSTA,LC,FDT,XMSUB,XMTEXT,XMY
 NEW DIFROM
 S U="^",DT=$$DT^XLFDT
 K ^TMP("PRCN109")
 S PSTA=$$GET1^DIQ(4,$$KSP^XUPARAM("INST")_",",99)
EQP ;
 ;     Equipment Committee
 S I=0,STA=PSTA F  S I=$O(^PRCN(413.2,"B",I)) Q:'I  D SETP(1)
 ;
CNCROFF ;
 ;     Concurrence Officials
 S I=0 F  S I=$O(^PRCN(413.3,"B",I)) Q:'I  D SETP(2)
 ;
KEYCHK ;
 ;   Find user with security key
 S I=0 F  S I=$O(^VA(200,I)) Q:'I  D
 . ;   Staff pick up turn-in requests
 . I $D(^XUSEC("PRCNWHSE",I)) D SETP(5)
 . ;   Examiner of new/turn-in requests
 . I $D(^XUSEC("PRCNEN",I)) D SETP(6)
 ;
CMROFC ;
 ;     CMR Officials
 S J=0 F  S J=$O(^ENG(6914,"AD",J)) Q:'J  D
 . ;  get station number
 . S STA=+$P($G(^ENG(6914.1,J,0)),"^",7)
 . I STA'?3N S STA=PSTA
 . Q:STA=""
 . ;  Responsible Official
 . S I=$P($G(^ENG(6914.1,J,0)),"^",2) I I D SETP(3) I $D(^XUSEC("PRCNCMR",I)) D SETP(4)
 . ;  Alternate Responsible Official
 . S I=+$G(^ENG(6914.1,J,20)) I I D SETP(3) I $D(^XUSEC("PRCNCMR",I)) D SETP(4)
 ;
 D RPT
EXIT ;
 K ^TMP("PRCN109")
 Q
 ;
RPT ;
 ;   Generate report from ^TMP("PRCN109")
 ;     1. count from ^TMP
 S STA=0 F  S STA=$O(^TMP("PRCN109",$J,STA)) Q:'STA  D
 . K FDT S (FDT,I)=0
 . F  S I=$O(^TMP("PRCN109",$J,STA,I)) Q:'I  S J=$G(^(I)) D
 .. F K=1:1:6 I $P(J,"^",K) S FDT(K)=$G(FDT(K))+1
 .. S FDT=FDT+1
 . F K=1:1:6 D
 .. S $P(^TMP("PRCN109",$J,STA),"^",K)=$G(FDT(K))
 . S $P(^TMP("PRCN109",$J,STA),"^",7)=FDT
 ;     2. message for user before report
 K FDT S FDT(1)="Counts are only broken out by station for CMR Official and CMR"
 S FDT(2)="Official with PRCNCMR key as the files and security keys used"
 S FDT(3)="in the analysis of the other roles do not distinguish users"
 S FDT(4)="by station.  For the latter, the users are reported in totals"
 S FDT(5)="for the main station of the VistA installation."
 ;     3. format report using local array
 F J=6,7 S FDT(J)=""
 S LC=8,FDT(LC)="$REPORT"
 S STA=0 F  S STA=$O(^TMP("PRCN109",$J,STA)) Q:'STA  S I=$G(^(STA)) D
 . I LC>1 F J=1:1:3 S LC=LC+1,FDT(LC)=""
 . S LC=LC+1,FDT(LC)="   EQUIPMENT TURN-IN USERS BY ROLE"
 . S LC=LC+1,FDT(LC)="   STATION #: "_STA
 . S LC=LC+1,FDT(LC)="       Role"_$J("Count",53)
 . F K=1:1:6 D
 .. S J=$P($T(FORMAT+K),";;",2)
 .. S LC=LC+1,FDT(LC)="       "_J_$J(+$P(I,"^",K),57-$L(J))
 . S LC=LC+1,J="Total Unique Equipment Turn-In Users"
 . S FDT(LC)="   "_J_$J(+$P(I,"^",7),61-$L(J))
 ;
 ;   $DATA
 ;     Equipment Turn-In data
 S LC=LC+1,FDT(LC)="$DATA(Equipment Turn-In)"
 S STA=0 F  S STA=$O(^TMP("PRCN109",$J,STA)) Q:'STA  S J=^(STA) D
 . S K="" F I=1:1:6 S K=K_+$P(J,"^",I)_","
 . S LC=LC+1,FDT(LC)="Station"_STA_","_K_+$P(J,"^",7)
 S LC=LC+1,FDT(LC)="$END"
 ;
MAIL ;
 ;   Send report to mail group member and patch installer
 X ^%ZOSF("UCI") S J=^%ZOSF("PROD")
 S:J'["," Y=$P(Y,",")
 ;   send report to mail group for PRODUCTION UCI only
 I Y=J F I=1:1 S J=$T(MAILGRP+I),J=$P(J,";;",2) Q:J=""  S XMY(J)=""
 ;   mail to user who install patch 9
 I $G(DUZ),$D(^VA(200,DUZ)) S XMY(DUZ)=""
 S STA=$$GET1^DIQ(4,$$KSP^XUPARAM("INST")_",",.01)
 I STA="" S STA="UNKNOWN"
 S XMSUB="Extract Equipment Turn-In Users by Role ("_STA_")"
 S XMTEXT="FDT("
 D ^XMD
 Q
MAILGRP ;
 ;;G.coreFLS VistA Stats@DOMAIN.EXT
 ;;
 Q
FORMAT ;
 ;;Equipment Committee
 ;;Concurrence Officials
 ;;CMR Official
 ;;CMR Official with PRCNCMR key
 ;;Staff who assign pickups for turn-in Requests
 ;;Engineering staff who examine new/turn-in Requests
 ;;
SETP(PC) ;
 ; set value into ^TMP,    STA -- station number,    I -- DUZ
 ;   If termination date is smaller than today's date
 I $P($G(^VA(200,I,0)),"^",11),DT>$P(^(0),"^",11) Q
 I '$P($G(^TMP("PRCN109",$J,STA,I)),"^",PC) S $P(^(I),"^",PC)=1
 Q