| 1 | ENY2K1 ;;(WIRMFO)/DH-Equipment Y2K Data Acq ;1.15.99 | 
|---|
| 2 | ;;7.0;ENGINEERING;**51,55,61**;August 17, 1993 | 
|---|
| 3 | DATA ; ask user for Y2K fields | 
|---|
| 4 | ; loc var ESCAPE set to 1 for escape from procedure, otherwise undef | 
|---|
| 5 | N DA,J | 
|---|
| 6 | F J="CODE","DATE","COST","TECHI","TECHE","SHOPI","SHOPE","ACT","SOURCE","NOTE","CLASS","UTIL","REPDT" S ENY2K(J)="" | 
|---|
| 7 | S DIR(0)="6914,71",DIR("A")="Please select the Y2K CATEGORY",DIR("B")="CC" | 
|---|
| 8 | D ^DIR K DIR I $D(DIRUT) S ESCAPE=1 Q | 
|---|
| 9 | S ENY2K("CODE")=$P(Y,U) | 
|---|
| 10 | S DIR(0)="6914,71.5",DIR("B")="LOCAL ASSESSMENT" | 
|---|
| 11 | D ^DIR K DIR I $D(DIRUT) S ESCAPE=1 Q | 
|---|
| 12 | S ENY2K("SOURCE")=$P(Y,U) | 
|---|
| 13 | S DIR(0)="6914,81",DIR("B")="Medical device" | 
|---|
| 14 | D ^DIR K DIR I $D(DIRUT) S ESCAPE=1 Q | 
|---|
| 15 | S ENY2K("CLASS")=$P(Y,U) | 
|---|
| 16 | I ENY2K("CLASS")="FS" D  Q:$G(ESCAPE) | 
|---|
| 17 | . S DIR(0)="6914,82O" | 
|---|
| 18 | . D ^DIR K DIR I $D(DTOUT)!($D(DUOUT)) S ESCAPE=1 Q | 
|---|
| 19 | . S ENY2K("UTIL")=$P(Y,U) | 
|---|
| 20 | I ENY2K("CODE")="CC" D  Q | 
|---|
| 21 | . S DIR(0)="6914,72",DIR("A")="Enter ESTIMATED Y2K COMPLIANCE DATE" | 
|---|
| 22 | . D ^DIR K DIR I $D(DTOUT)!($D(DUOUT)) S ESCAPE=1 Q | 
|---|
| 23 | . S ENY2K("DATE")=Y | 
|---|
| 24 | . S DIR(0)="6914,73",DIR("A")="Enter ESTIMATED Y2K COMPLIANCE COST" | 
|---|
| 25 | . D ^DIR K DIR I $D(DTOUT)!($D(DUOUT)) S ESCAPE=1 Q | 
|---|
| 26 | . S ENY2K("COST")=Y | 
|---|
| 27 | . S DIR(0)="6914,75",DIR("A")="Technician responsible for Y2K upgrade" | 
|---|
| 28 | . D ^DIR K DIR I $D(DTOUT)!($D(DUOUT)) S ESCAPE=1 Q | 
|---|
| 29 | . S ENY2K("TECHI")=+Y,ENY2K("TECHE")=$P(Y,U,2) | 
|---|
| 30 | . S DIC="^DIC(6922,",DIC(0)="AEQM",DIC("A")="Engineering Section responsible for Y2K upgrade: " | 
|---|
| 31 | . I $G(ENY2K("TECHI"))>0,$P(^ENG("EMP",ENY2K("TECHI"),0),U,10)>0 S DIC("B")=$$GET1^DIQ(6929,ENY2K("TECHI"),.3) | 
|---|
| 32 | . D ^DIC K DIC I $D(DTOUT)!($D(DUOUT)) S ESCAPE=1 Q | 
|---|
| 33 | . S ENY2K("SHOPI")=+Y,ENY2K("SHOPE")=$P(Y,U,2) | 
|---|
| 34 | . S DIR(0)="6914,80",DIR("A")="Notation to appear on Y2K worklist (80 char max)" | 
|---|
| 35 | . D ^DIR K DIR I $D(DTOUT)!($D(DUOUT)) S ESCAPE=1 Q | 
|---|
| 36 | . S ENY2K("NOTE")=$P(Y,U) | 
|---|
| 37 | I ENY2K("CODE")="NC" D  Q | 
|---|
| 38 | . S DIR(0)="6914,76",DIR("A")="Enter the planned Y2K ACTION" | 
|---|
| 39 | . S DIR("?")="What do you plan to do with these non-compliant devices?" | 
|---|
| 40 | . D ^DIR K DIR I $D(DTOUT)!($D(DUOUT)) S ESCAPE=1 Q | 
|---|
| 41 | . S ENY2K("ACT")=$P(Y,U) | 
|---|
| 42 | . I ENY2K("ACT")="REP" D  Q:$G(ESCAPE) | 
|---|
| 43 | .. S DIR(0)="6914,76.1O" | 
|---|
| 44 | .. D ^DIR K DIR I $D(DTOUT)!($D(DUOUT)) S ESCAPE=1 Q | 
|---|
| 45 | .. S ENY2K("REPDT")=$P(Y,U) | 
|---|
| 46 | . S DIR(0)="6914,80",DIR("A")="Notation to be appended to equipment COMMENTS (80 char max)" | 
|---|
| 47 | . D ^DIR K DIR I $D(DTOUT)!($D(DUOUT)) S ESCAPE=1 Q | 
|---|
| 48 | . S ENY2K("NOTE")=Y | 
|---|
| 49 | Q  ;  return control to ENY2K | 
|---|
| 50 | ; | 
|---|
| 51 | UPDATE ;  update Y2K fields of conditionally compliant and non-compliant | 
|---|
| 52 | ;  equipment record(s) | 
|---|
| 53 | S DIE="^ENG(6914,",DR="71///^S X=ENY2K(""CODE"");71.5///^S X=ENY2K(""SOURCE"");81///^S X=ENY2K(""CLASS"")" | 
|---|
| 54 | I ENY2K("CLASS")="FS",$G(ENY2K("UTIL")) S DR=DR_";82///^S X=ENY2K(""UTIL"")" | 
|---|
| 55 | I ENY2K("CODE")="CC" D | 
|---|
| 56 | . I $G(ENY2K("DATE"))?7N S DR=DR_";72///^S X=ENY2K(""DATE"")" | 
|---|
| 57 | . I $G(ENY2K("COST")) S DR=DR_";73///^S X=ENY2K(""COST"")" | 
|---|
| 58 | . I $G(ENY2K("TECHI"))>0 S DR=DR_";75////"_ENY2K("TECHI") | 
|---|
| 59 | . E  S DR=DR_";75///^S X=""@""" | 
|---|
| 60 | . I $G(ENY2K("SHOPI"))>0 S DR=DR_";77////"_ENY2K("SHOPI") | 
|---|
| 61 | . E  S DR=DR_";77///^S X=""@""" | 
|---|
| 62 | . I $G(ENY2K("NOTE"))]"" S DR=DR_";80///^S X=ENY2K(""NOTE"")" | 
|---|
| 63 | I ENY2K("CODE")="NC" D | 
|---|
| 64 | . I $G(ENY2K("ACT"))]"" S DR=DR_";76///^S X=ENY2K(""ACT"")" | 
|---|
| 65 | . I $G(ENY2K("ACT"))="REP",$G(ENY2K("REPDT")) S DR=DR_";76.1///^S X=ENY2K(""REPDT"")" | 
|---|
| 66 | . I $G(ENY2K("NOTE"))]"" S DR=DR_";80///^S X=ENY2K(""NOTE"")" | 
|---|
| 67 | I ENY2K("CODE")="NA" D | 
|---|
| 68 | . S DR=DR_";72///^S X=""@"";73///^S X=""@"";74///^S X=""@"";75///^S X=""@"";76///^S X=""@"";77///^S X=""@""" | 
|---|
| 69 | S (DA,COUNT)=0 F  S DA=$O(^TMP($J,DA)) Q:'DA  D | 
|---|
| 70 | . L +^ENG(6914,DA):10 I '$T W !,"Equipment Entry #"_DA_" is being edited by another user. Try again later." Q | 
|---|
| 71 | . D ^DIE W:'(DA#10) "." S COUNT=COUNT+1 | 
|---|
| 72 | . I $G(ENY2K("NOTE"))]"" D | 
|---|
| 73 | .. N ENX | 
|---|
| 74 | .. S ENX(1)=ENY2K("NOTE")_" (Y2K note)" | 
|---|
| 75 | .. D WP^DIE(6914,DA_",",40,"A","ENX") D MSG^DIALOG() | 
|---|
| 76 | . L -^ENG(6914,DA) | 
|---|
| 77 | W !,?10,COUNT_" equipment records were updated." | 
|---|
| 78 | Q | 
|---|
| 79 | ;ENY2K1 | 
|---|