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

PRCUESIG.m

Go to the documentation of this file.
  1. PRCUESIG ;WISC@ALTOONA/CTB/TEN-ROUTINE TO ENTER OR CHANGE ELECTRONIC SIGNATURE CODE (IFCAP) ;5/4/93 8:31 AM
  1. V ;;5.1;IFCAP;**68**;Oct 20, 2000
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. ENCODE(X,X1,X2) D EN^XUSHSHP Q X
  1. DECODE(X,X1,X2) D DE^XUSHSHP Q X
  1. HASH(X) D HASH^XUSHSHP Q X
  1. SUM(X) ;CREATE CHECKSUM VALUE FOR STRING
  1. N I,Y
  1. S Y=0 F I=1:1:$L(X) S Y=$A(X,I)*I+Y
  1. Q Y
  1. ESIG(USERNUM,MESSAGE) ;interogate user for electronic signature code
  1. ;1= valid code entered
  1. ;0= invalid code entered
  1. ;-1= user up arrowed out
  1. ;-2= signature read time out
  1. ;-3= no signature on file
  1. NEW X,SIGCODE,ZZI,OUT
  1. I $G(PRCRMPR) S MESSAGE=1 Q
  1. S SIGCODE=$P($G(^VA(200,USERNUM,20)),"^",4)
  1. I SIGCODE="" W !,"You have no signature code on file. Please contact your IRM staff for assistance.",$C(7),! S MESSAGE=-3 QUIT
  1. F ZZI=1:1:3 D Q:OUT]""
  1. . K OUT
  1. . W !,"Enter ELECTRONIC SIGNATURE CODE: "
  1. . X ^%ZOSF("EOFF") R X:60 X ^%ZOSF("EON")
  1. . I '$T S OUT=-2 QUIT
  1. . I $E(X)="^" S OUT=-1 QUIT
  1. . S X=$TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
  1. . I $$HASH(X)=SIGCODE W ?60,"Thank you." S OUT=1 QUIT
  1. . W !,"Sorry, but that's not your correct electronic signature code."
  1. . S OUT=""
  1. . QUIT
  1. S MESSAGE=+$G(OUT)
  1. Q
  1. ;
  1. NOW() ;Extrinsic function to return current time
  1. N %,%I,%H,X
  1. D NOW^%DTC
  1. QUIT %
  1. ;