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

SD44AUDI.m

Go to the documentation of this file.
  1. SD44AUDI ;ALB/DHE - Audit print of file 44 fields ;12/8/10 10:17
  1. ;;5.3;PIMS;**1016**;JUN 30, 2012;Build 20
  1. ;;3.0;DSS EXTRACTS;**92**;Dec 22, 1997;Build 30
  1. EN ;entry point from option
  1. ;Init variables and sort array
  1. N QFLG,SORT,SDX,SDNAM,SDSD,SDED,SDDT,SDNAME,SDST,SDSEQ,STCODE,D0
  1. ;
  1. S QFLG=0
  1. W !!,"This option prints a log of the changes made to Clinic Locations"
  1. ;
  1. ;Get sort
  1. D GETSORT Q:QFLG
  1. W !!,"** REPORT REQUIRES 132 COLUMNS TO PRINT CORRECTLY **"
  1. D DTRNG Q:QFLG
  1. D PRINT
  1. Q
  1. GETSORT ;Prompt for sorting order for report
  1. N DIR,X,Y,DIRUT
  1. S DIR(0)="SO^1:USER NAME;2:DATE CHANGED"
  1. S DIR("A")="Select sort for Clinic Edit Log",DIR("B")=1
  1. D ^DIR
  1. I $D(DIRUT) S QFLG=1 Q
  1. S SORT=Y
  1. Q
  1. PRINT ;Print report using fileman EN1^DIP
  1. N L,DIR,DIC,DIA,FLDS,DHD,BY,FR,TO,DIOBEG,SDFIL,PG,SDFLG
  1. S SDFIL=44,SDFLG=0
  1. S L=0,DIC="^DIA("_SDFIL_",",DIOBEG="I $E(IOST,1,2)=""C-"" W @IOF"
  1. S FLDS=".04;L23,.02;C25;L20,.01;C47;L10,D CLINM^SD44AUDI;C59;L18,"
  1. S FLDS=FLDS_"1.1;C79;L10,D STCODE^SD44AUDI(2);C90;L19,D STCODE^SD44AUDI(3);C110;L15"
  1. S DHD="W ?0 D RPTHDR^SD44AUDI"
  1. I SORT=1 D
  1. .S BY=".04,.02",FR="A,"_SDSD,TO="Zz,"_SDED
  1. I SORT=2 D
  1. .S BY=".02,.04",FR=SDSD_",A",TO=SDED_",Zz"
  1. D EN1^DIP
  1. I 'SDFLG,'$D(^DIA(SDFIL)) D
  1. .W !,"NO RECORDS FOUND"
  1. .I $E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR
  1. Q
  1. ;
  1. CLINM ;Clinic name
  1. I $G(X) D
  1. . W $E($P($G(^SC(+X,0)),"^"),1,18)
  1. Q
  1. SEQ ;retain sequence number
  1. S SDST=0 I $G(D0) D
  1. . S SDSEQ=D0
  1. . I $D(^DIA(44,SDSEQ,0)) D
  1. . I $P(^DIA(44,SDSEQ,0),"^",3)=8!($P(^(0),"^",3)=2503) D
  1. . . S SDST=1
  1. Q
  1. STCODE(FLD) ;Get AMIS Stop Code #
  1. D SEQ
  1. D
  1. . I '$D(^DIA(44,D0,FLD)) S STCODE="" Q
  1. . I SDST=1 D
  1. . . S STCODE=$S(FLD=2:$P($G(^DIA(44,D0,2.1)),U),1:$P($G(^DIA(44,D0,3.1)),U))
  1. . . I $D(^DIC(40.7,+STCODE,0)) S STCODE=$P(^DIC(40.7,STCODE,0),"^",2)
  1. . . ;if stcode name has been changed then just print free txt
  1. . . I STCODE="" S STCODE=^DIA(44,D0,FLD)
  1. . . W $E(STCODE,1,18)
  1. . E D
  1. . . W $E(^DIA(44,D0,FLD),1,18)
  1. Q
  1. RPTHDR ;report header
  1. N LN
  1. S PG=$G(PG)+1,SDFLG=1
  1. W "CLINIC EDIT LOG ",?115,"Page ",PG,!
  1. W "Printed on ",$$HTE^XLFDT($H)," for ",SDSD," to ",SDED,!
  1. W "USER NAME",?24,"DATE/TIME CHANGED",?46,"CLINIC IEN",?58
  1. W "CLINIC NAME",?78,"FIELD NAME",?89,"OLD VALUE",?109,"NEW VALUE",!
  1. S $P(LN,"-",130)="" W LN,!
  1. Q
  1. DTRNG ;report date range
  1. N %DT,ECDT,X,Y
  1. DTREP S %DT="AEX",%DT("A")="Starting with Date: ",%DT(0)="-NOW" D ^%DT
  1. I Y<0 S QFLG=1 Q
  1. S SDDT=Y,SDSD=$$FMTE^XLFDT(Y,2)
  1. S %DT="AEX",%DT("A")="Ending with Date: ",%DT(0)="-NOW" D ^%DT
  1. I Y<0 S QFLG=1 Q
  1. I Y<SDDT D G DTREP
  1. .W !!,"The ending date cannot be earlier than the starting date.",!
  1. I $E(Y,1,5)'=$E(SDDT,1,5) D G DTREP
  1. .W !!,"Beginning and ending dates must be in the same month and year.",!
  1. S SDED=$$FMTE^XLFDT(Y,2)
  1. Q