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

BDGSPTR.m

Go to the documentation of this file.
  1. BDGSPTR ;cmi/anch/maw - BDG Sensitive Patient Tracking Report 6/3/2009 2:17:08 PM
  1. ;;5.3;PIMS;**1010,1011**;MAY 28, 2004
  1. ;
  1. ;
  1. ;
  1. ;
  1. MAIN ;-- this is the main routine driver
  1. N BDGSPTS,BDGINDX
  1. S BDGSPTS=$$SORT()
  1. I $G(BDGSPTS)="" Q
  1. I BDGSPTS="S" S BDGSS=$$S()
  1. I BDGSPTS="S",+$G(BDGSS)<0 Q
  1. D LOOP(BDGSPTS)
  1. D PRINT(BDGSPTS)
  1. D EOJ
  1. Q
  1. ;
  1. SORT() ;-- ask the sort for the report
  1. S DIR(0)="S^M:MAIL CODE;S:SERVICE SECTION",DIR("A")="Sort By ",DIR("B")="M"
  1. D ^DIR
  1. I Y=U Q ""
  1. S BDGSPTSE=Y(0)
  1. Q Y
  1. ;
  1. S() ;-- get service section
  1. S DIC=49,DIC(0)="AEMQZ",DIC("A")="Service/Section: "
  1. D ^DIC
  1. I 'Y Q ""
  1. Q +Y
  1. ;
  1. LOOP(IDX) ;-- loop through the new person file
  1. N BDGDA
  1. S BDGDA=0 F S BDGDA=$O(^BDGSPT("B",BDGDA)) Q:'BDGDA D
  1. . N BDGIEN
  1. . S BDGIEN=0 F S BDGIEN=$O(^BDGSPT("B",BDGDA,BDGIEN)) Q:'BDGIEN D
  1. .. N BDGNM,BDGSSE,BDGMC,BDGI
  1. .. S BDGI=$P($G(^BDGSPT(BDGIEN,0)),U)
  1. .. S BDGNM=$P($G(^VA(200,BDGI,0)),U)
  1. .. S BDGSSE=$$GET1^DIQ(200,BDGI,29)
  1. .. I BDGSSE="" S BDGSSE="N/A"
  1. .. S BDGMC=$$GET1^DIQ(200,BDGI,28)
  1. .. I BDGMC="" S BDGMC="N/A"
  1. .. S ^TMP("BDGSPT",$J,$S(IDX="S":BDGSSE,1:BDGMC),BDGNM)=$S(IDX="S":BDGMC,1:BDGSSE)
  1. Q
  1. ;
  1. PRINT(IDX) ;-- print the report
  1. D ^%ZIS
  1. Q:POP
  1. U IO
  1. D XHDR(IDX)
  1. N BDGTDA
  1. S BDGTDA=0 F S BDGTDA=$O(^TMP("BDGSPT",$J,BDGTDA)) Q:BDGTDA="" D
  1. . N BDGTIEN
  1. . S BDGTIEN=0 F S BDGTIEN=$O(^TMP("BDGSPT",$J,BDGTDA,BDGTIEN)) Q:BDGTIEN="" D
  1. .. N BDGDATA,BDGTSS,BDGTMC
  1. .. S BDGDATA=$G(^TMP("BDGSPT",$J,BDGTDA,BDGTIEN))
  1. .. S BDGTMC=$P(BDGDATA,U)
  1. .. D:$Y+2>IOSL HDR(IDX) Q:$G(DIRUT)
  1. .. W !,BDGTIEN,?35,BDGTDA,?55,BDGTMC
  1. Q
  1. ;
  1. HDR(ID) ;-- do the charge header
  1. K DIRUT
  1. I $E(IOST,1,1)="C" S DIR(0)="E" D ^DIR I Y<1 S DIRUT=1 Q
  1. XHDR(ID) W @IOF
  1. W "Sensitive Patient Tracking - Users Access by "_BDGSPTSE,?60,"Date: "_$$FMTE^XLFDT(DT)
  1. W !!,"Name",?35,$S(ID="S":"Service Section",1:"Mail Code"),?55,$S(ID="S":"Mail Code",1:"Service/Section")
  1. W !
  1. F I=1:1:80 W "-"
  1. Q
  1. ;
  1. EOJ ;-- kill variables
  1. D ^%ZISC
  1. K BDGSPTSE
  1. K ^TMP("BDGSPT",$J)
  1. Q
  1. ;