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

ACMRL3.m

Go to the documentation of this file.
  1. ACMRL3 ; IHS/TUCSON/TMJ - CMS REPORT LISTER...CUSTOM REPORT ; [ 01/07/02 1:14 PM ]
  1. ;;2.0;ACM CASE MANAGEMENT SYSTEM;**1,4**;JAN 10, 1996
  1. ;IHS/CMI/LAB - patch 1 flat file
  1. ;
  1. ;
  1. TITLE ;EP
  1. Q:ACMCTYP="F" ;IHS/CMI/LAB - patch 1 flat file
  1. Q:ACMCTYP="T" ;--- don't ask for title if total count only
  1. K DIR,X,Y S DIR(0)="Y",DIR("A")="Would you like a custom title for this report",DIR("B")="N" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) S ACMQUIT=1 Q
  1. Q:Y=0
  1. S ACMLENG=$S(ACMTCW:ACMTCW-8,1:60)
  1. I Y=1 K DIR,X,Y S DIR(0)="F^3:"_ACMLENG,DIR("A")="Enter custom title",DIR("?")=" Enter from 3 to "_ACMLENG_" characters" D ^DIR K DIR
  1. G:$D(DIRUT) TITLE
  1. S ACMTITL=Y
  1. Q
  1. SAVE ;EP
  1. Q:$D(ACMCAND) ;--- don't ask if already a pre-defined rpt
  1. Q:ACMCTYP'="D" ;--- must be a detailed report to be saved
  1. S ACMSAVE=""
  1. K DIR,X,Y S DIR(0)="Y",DIR("A")="Do you wish to SAVE this "_$S('$D(ACMEP1):"SEARCH/",1:"")_"PRINT/SORT logic for future use",DIR("B")="N" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q:$D(DIRUT)
  1. Q:'Y
  1. K DIR,X,Y S DIR(0)="9002258.8,.03",DIR("A")="Enter NAME for this REPORT DEFINITION" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. G:$D(DIRUT) SAVE
  1. S ACMNAME=Y
  1. S DIE="^ACM(58.8,",DA=ACMRPT,DR=".02////1;.03///"_ACMNAME_";.06////"_ACMRG_";.05///"_ACMCTYP D ^DIE K DIE,DA,DR
  1. Q
  1. SCREEN ;EP
  1. D SMENU^ACMRL2
  1. W ! S DIR(0)="LO^1:"_ACMHIGH,DIR("A")=" Select Patients based on which of the above" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q:Y=""
  1. I $D(DIRUT) S ACMQUIT=1 Q
  1. ;process all items in Y
  1. D SELECT^ACMRL0
  1. D SHOW^ACMRLS
  1. W !! S DIR(0)="Y",DIR("A")=" Would you like to select additional PATIENT criteria",DIR("B")="NO" D ^DIR K DIR
  1. S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) S ACMQUIT=1 Q
  1. Q:Y=0
  1. G SCREEN
  1. ;
  1. COUNT ;EP
  1. W !! S DIR(0)="S^T:Total Count Only;S:Sub-counts and Total Count;D:Detailed Patient Listing;F:Delimited Export File",DIR("A")=" Choose Type of Report",DIR("B")="D" D ^DIR K DIR W !! ;IHS/CMI/LAB - added delimited
  1. S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) S ACMQUIT=1 Q
  1. S ACMCTYP=Y
  1. I ACMCTYP="T" S $P(^ACM(58.8,ACMRPT,0),U,5)=1 S ACMSORT=2,ACMSORV="Patient Name" Q
  1. I ACMCTYP="F" D FLAT^ACMRLF Q:$D(ACMQUIT) D PRINT Q:$D(ACMQUIT) D SORT Q ;IHS/CMI/LAB - flat file
  1. I ACMCTYP="D" D PRINT Q:$D(ACMQUIT) D SORT Q
  1. D SORT
  1. Q
  1. PRINT ;
  1. D PMENU^ACMRL2
  1. S DIR(0)="LO^1:"_ACMHIGH,DIR("A")="Select print item(s)" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q:Y=""
  1. I $D(DIRUT) S ACMQUIT=1 Q
  1. I ACMCTYP="P" W !!?15,"Total Report width (including column margins - 2 spaces): ",ACMTCW ;IHS/CMI/LAB - flat file
  1. D PSELECT^ACMRL0
  1. D SHOWP^ACMRLS
  1. W !! S DIR(0)="Y",DIR("A")=" Would you like to select additional PRINT criteria",DIR("B")="NO" D ^DIR K DIR
  1. S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) S ACMQUIT=1 Q
  1. Q:Y=0
  1. G PRINT
  1. SORT ;
  1. K ACMSORT,ACMSORV,ACMQUIT
  1. I ACMCTYP="D",'$D(^ACM(58.8,ACMRPT,12)) W !!,"NO PRINT FIELDS SELECTED!!",$C(7),$C(7) S ACMQUIT=1 Q
  1. S ACMSORT=""
  1. D SHOWR^ACMRLS
  1. D RMENU^ACMRL2
  1. W ! S DIR(0)="NO^1:"_ACMHIGH_":0",DIR("A")=$S(ACMCTYP="S":"Sub-total ",1:"Sort ")_"Patients by which of the above" D ^DIR K DIR
  1. I $D(DUOUT) K ^ACM(58.8,ACMRPT,12) S ACMTCW=0 G PRINT
  1. I Y="",(ACMCTYP="D"!(ACMCTYP="F")) W !!,"No sort criteria selected ... will sort by Patient Name" S ACMSORT=2,ACMSORV="Patient Name" H 4 D Q ;IHS/CMI/LAB
  1. .S DA=ACMRPT,DIE="^ACM(58.8,",DR=".07////"_ACMSORT D ^DIE K DA,DR,DIE,DIU,DIV,DIY,DIW
  1. I Y="",ACMCTYP'="D" W !!,"No sub-totalling will be done.",!! H 4 S ACMCTYP="T",ACMSORT=2 Q
  1. S ACMSORT=ACMSEL(+Y),ACMSORV=$P(^ACM(58.1,ACMSORT,0),U),DA=ACMRPT,DIE="^ACM(58.8,",DR=".07////"_ACMSORT D ^DIE K DA,DR,DIE,DIU,DIV,DIY,DIW
  1. Q:ACMCTYP'="D"
  1. PAGE ;
  1. K ACMSPAG
  1. Q:ACMCTYP'="D"
  1. S DIR(0)="Y",DIR("A")="Do you want a separate page for each "_ACMSORV,DIR("B")="N" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G SORT
  1. S ACMSPAG=Y,DIE="^ACM(58.8,",DA=ACMRPT,DR=".04///"_ACMSPAG D ^DIE K DA,DR,DIE
  1. Q