| 1 | ENTIRRX ;WOIFO/SAB - Signature Exception Report ;2/4/2008 | 
|---|
| 2 | ;;7.0;ENGINEERING;**87**;Aug 17, 1993;Build 16 | 
|---|
| 3 | ; | 
|---|
| 4 | N DIR,DIROUT,DIRUT,DTOUT,DUOUT,ENADT,ENTYP,X,Y | 
|---|
| 5 | ; | 
|---|
| 6 | ; ask type | 
|---|
| 7 | S DIR(0)="S^E:ELECTRONICALLY SIGNED;C:CERTIFIED HARD COPY SIGNATURE;B:BOTH" | 
|---|
| 8 | S DIR("A")="Select type of signature to check" | 
|---|
| 9 | S DIR("B")="BOTH" | 
|---|
| 10 | D ^DIR K DIR Q:$D(DIRUT) | 
|---|
| 11 | S ENTYP=Y | 
|---|
| 12 | ; | 
|---|
| 13 | ; ask anniversary date | 
|---|
| 14 | S DIR(0)="D" | 
|---|
| 15 | S DIR("A")="Report signatures at least 1 year old as of " | 
|---|
| 16 | S DIR("B")=$$FMTE^XLFDT($$FMADD^XLFDT(DT,-1)) | 
|---|
| 17 | D ^DIR K DIR Q:$D(DIRUT) | 
|---|
| 18 | S ENADT=Y | 
|---|
| 19 | ; | 
|---|
| 20 | ; ask device | 
|---|
| 21 | S %ZIS="Q" D ^%ZIS G:POP EXIT | 
|---|
| 22 | I $D(IO("Q")) D  G EXIT | 
|---|
| 23 | . S ZTRTN="QEN^ENTIRRX",ZTDESC="Signature Exception Report" | 
|---|
| 24 | . S ZTSAVE("ENTYP")="",ZTSAVE("ENADT")="" | 
|---|
| 25 | . D ^%ZTLOAD,HOME^%ZIS K ZTSK,IO("Q") | 
|---|
| 26 | ; | 
|---|
| 27 | QEN ; queued entry | 
|---|
| 28 | U IO | 
|---|
| 29 | ; | 
|---|
| 30 | ; generate output | 
|---|
| 31 | K ENT S ENT=0 | 
|---|
| 32 | S (END,ENPG)=0 D NOW^%DTC S Y=% D DD^%DT S ENDT=Y | 
|---|
| 33 | S ENCDT=($E(ENADT,1,3)-1)_$E(ENADT,4,7) ; computed date (1 year before) | 
|---|
| 34 | S ENADTE=$$FMTE^XLFDT(ENADT) ; external format for anniversary date | 
|---|
| 35 | D HD | 
|---|
| 36 | ; | 
|---|
| 37 | ; print data | 
|---|
| 38 | ; loop thru active assignments by owner and equipment | 
|---|
| 39 | S ENOWN=0 F  S ENOWN=$O(^ENG(6916.3,"AOA",ENOWN)) Q:'ENOWN  D  Q:END | 
|---|
| 40 | . S ENEQ=0 F  S ENEQ=$O(^ENG(6916.3,"AOA",ENOWN,ENEQ)) Q:'ENEQ  D  Q:END | 
|---|
| 41 | . . S ENDA=0 | 
|---|
| 42 | . . F  S ENDA=$O(^ENG(6916.3,"AOA",ENOWN,ENEQ,ENDA)) Q:'ENDA  D  Q:END | 
|---|
| 43 | . . . S ENY=$G(^ENG(6916.3,ENDA,0)) | 
|---|
| 44 | . . . Q:$P(ENY,U,5)=""  ; not signed | 
|---|
| 45 | . . . I ENTYP="E",$P(ENY,U,7)'="" Q  ; only check e-sigs | 
|---|
| 46 | . . . I ENTYP="C",$P(ENY,U,7)="" Q  ; only check certified sigs | 
|---|
| 47 | . . . Q:$P($P(ENY,U,5),".")>ENCDT  ; was signed after computed date | 
|---|
| 48 | . . . ; | 
|---|
| 49 | . . . ; report assignment | 
|---|
| 50 | . . . S ENT=ENT+1 | 
|---|
| 51 | . . . ; | 
|---|
| 52 | . . . ; display assignment data | 
|---|
| 53 | . . . I $Y+6>IOSL D HD Q:END | 
|---|
| 54 | . . . W !,$$GET1^DIQ(6916.3,ENDA,1) | 
|---|
| 55 | . . . W ?32,ENEQ | 
|---|
| 56 | . . . W ?44,$$GET1^DIQ(6916.3,ENDA,20) | 
|---|
| 57 | . . . W ?55,$$GET1^DIQ(6916.3,ENDA,21) | 
|---|
| 58 | . . . W !,"  ",$E($$GET1^DIQ(6914,ENEQ,3),1,76) | 
|---|
| 59 | ; | 
|---|
| 60 | I 'END D | 
|---|
| 61 | . ; report footer | 
|---|
| 62 | . I $Y+4>IOSL D HD Q:END | 
|---|
| 63 | . W !!,"Count of signatures on report = ",ENT | 
|---|
| 64 | . I $E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR K DIR | 
|---|
| 65 | ; | 
|---|
| 66 | D ^%ZISC | 
|---|
| 67 | ; | 
|---|
| 68 | EXIT I $D(ZTQUEUED) S ZTREQ="@" | 
|---|
| 69 | K DIR,DIROUT,DIRUT,DIWF,DIWL,DTOUT,DUOUT,POP,X,Y | 
|---|
| 70 | K ENADT,ENADTE,ENCDT,ENDA,ENEQ,ENOWN,ENT,ENTYP,ENY | 
|---|
| 71 | K END,ENDT,ENPG | 
|---|
| 72 | Q | 
|---|
| 73 | ; | 
|---|
| 74 | HD ; header | 
|---|
| 75 | I $E(IOST,1,2)="C-",ENPG S DIR(0)="E" D ^DIR K DIR I 'Y S END=1 Q | 
|---|
| 76 | I $E(IOST,1,2)="C-"!ENPG W @IOF | 
|---|
| 77 | S ENPG=ENPG+1 | 
|---|
| 78 | W "SIGNATURE EXCEPTION REPORT",?48,ENDT,?72,"page ",ENPG,! | 
|---|
| 79 | W "  for " | 
|---|
| 80 | I ENTYP="E" W "electronic " | 
|---|
| 81 | I ENTYP="C" W "hard copy " | 
|---|
| 82 | W "signatures at least one year old as of ",ENADTE,!! | 
|---|
| 83 | W "Owner",?32,"Entry #",?44,"Status",?55,"Status Date",! | 
|---|
| 84 | W "------------------------------",?32,"----------" | 
|---|
| 85 | W ?44,"---------",?55,"-----------" | 
|---|
| 86 | Q | 
|---|
| 87 | ; | 
|---|
| 88 | ;ENTIRRX | 
|---|