VistA-WorldVistAEHR/r/ENGINEERING-EN/ENY2REPB.m

106 lines
8.1 KiB
Mathematica

ENY2REPB ;(WIRMFO)/DH-Print Y2K Cum by Funct Classification ;8.7.98
;;7.0;ENGINEERING;**51,55**;August 17,1993
PRT ; physical printing
U IO
N PAGE,DATE,PRCNT
D NOW^%DTC S Y=% X ^DD("DD") S DATE("PRNT")=$P(Y,":",1,2),PAGE=0
S STATION="" F S STATION=$O(COUNT(STATION)) Q:STATION=""!($G(ESCAPE)) D HDR D D HOLD Q:$G(ESCAPE)
. W !!,"Active Records" S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,"ACT")
. W ?65,$J(COUNT,12)
. W !,"Potential Y2K Records",?25,$J(COUNT(STATION,"MED","Y2K"),8),?33,$J(COUNT(STATION,"PC","Y2K"),8),?41,$J(COUNT(STATION,"FS","Y2K"),8),?49,$J(COUNT(STATION,"TEL","Y2K"),8),?57,$J(COUNT(STATION,0,"Y2K"),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,"Y2K")
. W ?65,$J(COUNT,12)
. W !!,"FULLY COMPLIANT",?25,$J(COUNT(STATION,"MED","FC"),8),?33,$J(COUNT(STATION,"PC","FC"),8),?41,$J(COUNT(STATION,"FS","FC"),8),?49,$J(COUNT(STATION,"TEL","FC"),8),?57,$J(COUNT(STATION,0,"FC"),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,"FC")
. W ?65,$J(COUNT,12)
. W !,"CONDITIONALLY COMPLIANT",?25,$J(COUNT(STATION,"MED","CC"),8),?33,$J(COUNT(STATION,"PC","CC"),8),?41,$J(COUNT(STATION,"FS","CC"),8),?49,$J(COUNT(STATION,"TEL","CC"),8),?57,$J(COUNT(STATION,0,"CC"),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,"CC")
. W ?65,$J(COUNT,12)
. W !,"NON-COMPLIANT",?25,$J(COUNT(STATION,"MED","NC"),8),?33,$J(COUNT(STATION,"PC","NC"),8),?41,$J(COUNT(STATION,"FS","NC"),8),?49,$J(COUNT(STATION,"TEL","NC"),8),?57,$J(COUNT(STATION,0,"NC"),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,"NC")
. W ?65,$J(COUNT,12)
. W !,"NOT APPLICABLE",?25,$J(COUNT(STATION,"MED","NA"),8),?33,$J(COUNT(STATION,"PC","NA"),8),?41,$J(COUNT(STATION,"FS","NA"),8),?49,$J(COUNT(STATION,"TEL","NA"),8),?57,$J(COUNT(STATION,0,"NA"),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,"NA")
. W ?65,$J(COUNT,12)
. W !,"Uncategorized",?25,$J(COUNT(STATION,"MED",0),8),?33,$J(COUNT(STATION,"PC",0),8),?41,$J(COUNT(STATION,"FS",0),8),?49,$J(COUNT(STATION,"TEL",0),8),?57,$J(COUNT(STATION,0,0),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,0)
. W ?65,$J(COUNT,12)
. I COUNT(STATION,0,"Y2K") D
.. F J=0,"NX","BSE","EXP" S COUNT(STATION,"%",J)=$P(((100*(COUNT(STATION,"TYPE",J)/COUNT(STATION,0,"Y2K")))+.5),".") S:COUNT(STATION,"%",J)="" COUNT(STATION,"%",J)=0
.. W !!,"Of the "_COUNT(STATION,0,"Y2K")_" potential Y2K equipment records whose CLASSIFICATION"
.. W !,"is unknown, about "_COUNT(STATION,"%","NX")_"% are NX, about "_COUNT(STATION,"%","BSE")_"% are BSE, about "_COUNT(STATION,"%","EXP")_"% are EXP,"
.. W !,"and about "_COUNT(STATION,"%",0)_"% are of unknown TYPE."
. I IOSL<58 D HOLD Q:$G(ESCAPE) D HDR
. W !!,"DEVICES THAT HAVE BEEN UPDATED TO FULL Y2K COMPLIANCE:"
. W !," Count",?25,$J(COUNT(STATION,"MED","FC","UPG"),8),?33,$J(COUNT(STATION,"PC","FC","UPG"),8),?41,$J(COUNT(STATION,"FS","FC","UPG"),8),?49,$J(COUNT(STATION,"TEL","FC","UPG"),8),?57,$J(COUNT(STATION,0,"FC","UPG"),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,"FC","UPG")
. W ?65,$J(COUNT,12)
. W !," Estimated Cost ($)",?25,$J(TOTAL(STATION,"MED","FC","ECST"),8,0),?33,$J(TOTAL(STATION,"PC","FC","ECST"),8,0),?41,$J(TOTAL(STATION,"FS","FC","ECST"),8,0)
. W ?49,$J(TOTAL(STATION,"TEL","FC","ECST"),8,0),?57,$J(TOTAL(STATION,0,"FC","ECST"),8,0)
. S TOTAL=0 F J=0,"MED","PC","FS","TEL" S TOTAL=TOTAL+TOTAL(STATION,J,"FC","ECST")
. W ?65,$J(TOTAL,12,0)
. W !," Actual Cost ($)",?25,$J(TOTAL(STATION,"MED","FC","ACST"),8,0),?33,$J(TOTAL(STATION,"PC","FC","ACST"),8,0),?41,$J(TOTAL(STATION,"FS","FC","ACST"),8,0)
. W ?49,$J(TOTAL(STATION,"TEL","FC","ACST"),8,0),?57,$J(TOTAL(STATION,0,"FC","ACST"),8,0)
. S TOTAL=0 F J=0,"MED","PC","FS","TEL" S TOTAL=TOTAL+TOTAL(STATION,J,"FC","ACST")
. W ?65,$J(TOTAL,12,0)
. W !!,"DEVICES THAT ARE SCHEDULED TO BE UPDATED TO FULL Y2K COMPLIANCE:"
. W !," Count",?25,$J(COUNT(STATION,"MED","CC"),8),?33,$J(COUNT(STATION,"PC","CC"),8),?41,$J(COUNT(STATION,"FS","CC"),8),?49,$J(COUNT(STATION,"TEL","CC"),8),?57,$J(COUNT(STATION,0,"CC"),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,"CC")
. W ?65,$J(COUNT,12)
. W !," Estimated Cost ($)",?25,$J(TOTAL(STATION,"MED","CC","ECST"),8,0),?33,$J(TOTAL(STATION,"PC","CC","ECST"),8,0),?41,$J(TOTAL(STATION,"FS","CC","ECST"),8,0)
. W ?49,$J(TOTAL(STATION,"TEL","CC","ECST"),8,0),?57,$J(TOTAL(STATION,0,"CC","ECST"),8,0)
. S TOTAL=0 F J=0,"MED","PC","FS","TEL" S TOTAL=TOTAL+TOTAL(STATION,J,"CC","ECST")
. W ?65,$J(TOTAL,12,0)
. W !!,"DEVICES THAT HAVE BEEN REPLACED DUE TO Y2K ISSUES:"
. W !," Count",?25,$J(COUNT(STATION,"MED","NC","ATD"),8),?33,$J(COUNT(STATION,"PC","NC","ATD"),8),?41,$J(COUNT(STATION,"FS","NC","ATD"),8),?49,$J(COUNT(STATION,"TEL","NC","ATD"),8),?57,$J(COUNT(STATION,0,"NC","ATD"),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,"NC","ATD")
. W ?65,$J(COUNT,12)
. W !," Estimated Cost ($)",?25,$J(TOTAL(STATION,"MED","NC","ETD"),8,0),?33,$J(TOTAL(STATION,"PC","NC","ETD"),8,0),?41,$J(TOTAL(STATION,"FS","NC","ETD"),8,0)
. W ?49,$J(TOTAL(STATION,"TEL","NC","ETD"),8,0),?57,$J(TOTAL(STATION,0,"NC","ETD"),8,0)
. S TOTAL=0 F J=0,"MED","PC","FS","TEL" S TOTAL=TOTAL+TOTAL(STATION,J,"NC","ETD")
. W ?65,$J(TOTAL,12,0)
. W !," Actual Cost ($)",?25,$J(TOTAL(STATION,"MED","NC","ATD"),8,0),?33,$J(TOTAL(STATION,"PC","NC","ATD"),8,0),?41,$J(TOTAL(STATION,"FS","NC","ATD"),8,0)
. W ?49,$J(TOTAL(STATION,"TEL","NC","ATD"),8,0),?57,$J(TOTAL(STATION,0,"NC","ATD"),8,0)
. S TOTAL=0 F J=0,"MED","PC","FS","TEL" S TOTAL=TOTAL+TOTAL(STATION,J,"NC","ATD")
. W ?65,$J(TOTAL,12,0)
. W !!,"DEVICES THAT ARE SCHEDULED FOR REPLACEMENT DUE TO Y2K ISSUES:"
. F J=0,"MED","PC","FS","TEL" S X(J)=COUNT(STATION,J,"NC","REP")-COUNT(STATION,J,"NC","ATD"),X1(J)=TOTAL(STATION,J,"NC","ETOT")-TOTAL(STATION,J,"NC","ETD")
. W !," Count",?25,$J(X("MED"),8),?33,$J(X("PC"),8),?41,$J(X("FS"),8),?49,$J(X("TEL"),8),?57,$J(X(0),8)
. S COUNT=0 F J=0,"MED","PC","TEL","FS" S COUNT=COUNT+X(J)
. W ?65,$J(COUNT,12)
. W !," Estimated Cost ($)",?25,$J(X1("MED"),8,0),?33,$J(X1("PC"),8,0),?41,$J(X1("FS"),8,0),?49,$J(X1("TEL"),8,0),?57,$J(X1(0),8,0)
. S TOTAL=0 F J=0,"MED","PC","FS","TEL" S TOTAL=TOTAL+X1(J)
. W ?65,$J(TOTAL,12,0)
. I IOSL<58 D HOLD Q:$G(ESCAPE) D HDR
. W !!,"DEVICES THAT HAVE BEEN RETIRED DUE TO Y2K ISSUES:"
. W !," Count",?25,$J(COUNT(STATION,"MED","NC","RETACT"),8),?33,$J(COUNT(STATION,"PC","NC","RETACT"),8),?41,$J(COUNT(STATION,"FS","NC","RETACT"),8),?49,$J(COUNT(STATION,"TEL","NC","RETACT"),8),?57,$J(COUNT(STATION,0,"NC","RETACT"),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,"NC","RETACT")
. W ?65,$J(COUNT,12)
. W !!,"DEVICES THAT ARE SCHEDULED FOR RETIREMENT DUE TO Y2K ISSUES:"
. F J=0,"MED","PC","FS","TEL" S X(J)=COUNT(STATION,J,"NC","RET")-COUNT(STATION,J,"NC","RETACT")
. W !," Count",?25,$J(X("MED"),8),?33,$J(X("PC"),8),?41,$J(X("FS"),8),?49,$J(X("TEL"),8),?57,$J(X(0),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+X(J)
. W ?65,$J(COUNT,12)
. W !!,"DEVICES THAT ARE Y2K NON-COMPLIANT BUT ARE TO BE USED 'AS IS'."
. W !," Count",?25,$J(COUNT(STATION,"MED","NC","USE"),8),?33,$J(COUNT(STATION,"PC","NC","USE"),8),?41,$J(COUNT(STATION,"FS","NC","USE"),8),?49,$J(COUNT(STATION,"TEL","NC","USE"),8),?57,$J(COUNT(STATION,0,"NC","USE"),8)
. S COUNT=0 F J=0,"MED","PC","FS","TEL" S COUNT=COUNT+COUNT(STATION,J,"NC","USE")
. W ?65,$J(COUNT,12)
. W !!,?20,"** FUNCTIONAL CLASSIFICATIONS **"
. W !,"MED => Medical equipment PC => General purpose computer equipment"
. W !,"FS => Facility management equipment TEL => Telecommunications equipment"
Q
;
HDR ; report header
W:PAGE>0!($E(IOST,1,2)="C-") @IOF S PAGE=PAGE+1
W "Y2K Cum by Functional Classification as of "_DATE("PRNT")_" Page: "_PAGE
W !,$S(ENSTN:"Station: "_STATION,1:"Consolidated ("_STATION("PARNT")_")")
W !,"FUNCTIONAL CLASSIFICATION:",?30,"MED",?39,"PC",?47,"FS",?54,"TEL",?59,"Unknown",?72,"TOTAL"
K X S $P(X,"-",79)="-" W !,X
Q
;
HOLD Q:$E(IOST,1,2)'="C-"!($G(ESCAPE))
W !!,"Press <RETURN> to continue, '^' to escape..." R X:DTIME
I '$T!($E(X)="^") S ESCAPE=1
Q
;ENY2REPB