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

BDGSEC2.m

Go to the documentation of this file.
  1. BDGSEC2 ; IHS/ANMC/LJF - SENSITIVE PAT DISPLAY ; [ 01/16/2004 3:41 PM ]
  1. ;;5.3;PIMS;**1007,1008**;APR 26, 2002
  1. ;
  1. ;cmi/anch/maw 9/7/2007 mods for PATCH 1007 in PRINT
  1. ;
  1. D PID^VADPT6 ;set ID #
  1. ;I IOST'["C-" U IO D INIT,PRINT Q ;cmi/anch/maw 9/7/2007 orig line
  1. I IOST'["C-" S BDGION=IO D INIT,PRINT Q ;cmi/anch/maw 9/7/2007 per linda fels PATCH 1007
  1. ;
  1. EN ; -- main entry point for BDG SECURITY DISPLAY
  1. NEW VALMCNT D TERM^VALM0
  1. D EN^VALM("BDG SECURITY DISPLAY")
  1. Q
  1. ;
  1. HDR ; -- header code
  1. S VALMHDR(1)="Sensitive Patient Access for "_DGRNG1_" to "_DGRNG2
  1. S VALMHDR(2)=$$PAD("Patient Name: "_DGNAM,40)_" #"_$G(HRCN)
  1. S VALMHDR(2)=$$PAD(VALMHDR(2),50)_"Date of Birth : "_$$FMTE^XLFDT(DOB)
  1. Q
  1. ;
  1. INIT ; -- init variables and list array
  1. NEW X
  1. K ^TMP("BDGSEC",$J),^TMP("BDGSEC2",$J)
  1. D GUIR^XBLM("START^DGSEC2","^TMP(""BDGSEC"",$J,")
  1. S X=0 F S X=$O(^TMP("BDGSEC",$J,X)) Q:'X D
  1. . S VALMCNT=X
  1. . S ^TMP("BDGSEC2",$J,X,0)=" "_^TMP("BDGSEC",$J,X)
  1. S VALMCNT=+$G(VALMCNT)
  1. K ^TMP("BDGSEC",$J)
  1. Q
  1. ;
  1. HELP ; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. EXIT ; -- exit code
  1. K ^TMP("BDGSEC2",$J),VALMCNT
  1. D KILL^AUPNPAT K VA,HRCN,DGDATE,DGTIME,DGUSR,DIC,VAERR
  1. D Q^DGSEC2
  1. Q
  1. ;
  1. EXPND ; -- expand code
  1. Q
  1. ;
  1. PRINT ; -- print report to paper
  1. S IOP=BDGION D ^%ZIS U IO K BDGION ;cmi/anch/maw 9/7/2007 per linda fels PATCH 1007
  1. NEW LINE
  1. S LINE=0 D HD
  1. F S LINE=$O(^TMP("BDGSEC2",$J,LINE)) Q:'LINE D
  1. . I $Y>(IOSL-4) D HD
  1. . W !,$G(^TMP("BDGSEC2",$J,LINE,0))
  1. D ^%ZISC D EXIT
  1. Q
  1. ;
  1. HD ; -- print heading
  1. W @IOF,!,"Sensitive Patient Access Report for ",DGRNG1," to ",DGRNG2
  1. S DGPGE=DGPGE+1 W ?70,"Page: ",DGPGE
  1. K DGLNE S $P(DGLNE,"=",80)="" W !,DGLNE,!,"Run Date : "
  1. D H^DGUTL S Y=DGTIME W ?14 D DT^DIQ
  1. W ?47,"Patient ID Num: ",$G(HRCN)
  1. W !,"Patient Name: ",$S($D(DGNAM):DGNAM,1:"Unknown")
  1. W ?47,"Date of Birth : " S Y=$S($D(DOB):DOB,1:"Unknown") D DT^DIQ
  1. W !,DGLNE K DGLNE S $P(DGLNE,"-",80)=""
  1. W !!,"USER",?23,"DATE ACCESSED",?46,"OPTION/PROTOCOL USED"
  1. W ?70,"INPATIENT",!,DGLNE
  1. Q
  1. ;
  1. PAD(D,L) ;EP -- SUBRTN to pad length of data
  1. ; -- D=data L=length
  1. Q $E(D_$$REPEAT^XLFSTR(" ",L),1,L)
  1. ;
  1. SP(N) ; -- SUBRTN to pad N number of spaces
  1. Q $$PAD(" ",N)