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

ACDRL.m

Go to the documentation of this file.
  1. ACDRL ;IHS/ADC/EDE/KML - CDMIS GENERAL RETRIEVAL DRIVER;
  1. ;;4.1;CHEMICAL DEPENDENCY MIS;;MAY 11, 1998
  1. START ;
  1. K ACDQUIT
  1. TYPE ;--- get type of report (patient, date range or search template)
  1. D INFORM^ACDRL01
  1. D @ACDPTVS
  1. D XIT
  1. Q
  1. P ;patient lister
  1. D ADD I $D(ACDQUIT) D DEL K ACDQUIT G XIT
  1. I '$D(ACDCAND) D P1 Q
  1. I $D(ACDCAND),$P(^ACDRPTD(ACDRPT,0),U,11) D I $D(DIRUT)!'($D(ACDBDD))!('$D(ACDEDD)) Q
  1. .S ACDRDTR=""
  1. .W !!,"You have selected at least one item that requires a date range selection."
  1. .D GETDATES
  1. D TITLE I $D(ACDQUIT) K ACDQUIT G TYPE
  1. D ZIS
  1. Q
  1. P1 ;if patient, no prev defined report used
  1. P11 K ^ACDRPTD(ACDRPT,11),ACDRDTR D SCREEN I $D(ACDQUIT) K ACDQUIT D DEL G TYPE
  1. I $D(ACDRDTR) D
  1. .W !!,"You have selected at least one item that requires a date range selection."
  1. .D GETDATES
  1. P12 K ^ACDRPTD(ACDRPT,12) S ACDTCW=0 D COUNT I $D(ACDQUIT) K ACDQUIT G P11
  1. P13 D TITLE I $D(ACDQUIT) K ACDQUIT G P12
  1. D SAVE
  1. D ZIS
  1. Q
  1. V ;
  1. GETDATES ;
  1. BD ;get beginning date
  1. W ! K DIR,X,Y S DIR(0)="D^:DT:EP",DIR("A")="Enter Beginning Visit Date for search" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) D DEL G XIT
  1. S ACDBD=Y
  1. ED ;get ending date
  1. W ! K DIR,X,Y S DIR(0)="D^"_ACDBD_":DT:EP",DIR("A")="Enter Ending Visit Date for search" S Y=ACDBD D DD^%DT S Y="" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G BD
  1. S ACDED=Y
  1. S X1=ACDBD,X2=-1 D C^%DTC S ACDD=X S Y=ACDBD D DD^%DT S ACDBDD=Y S Y=ACDED D DD^%DT S ACDEDD=Y
  1. Q:$D(ACDRDTR)
  1. D ADD I $D(ACDQUIT) D DEL K ACDQUIT G V
  1. I '$D(ACDCAND) D V1 Q
  1. D TITLE I $D(ACDQUIT) K ACDQUIT G TYPE
  1. D ZIS
  1. Q
  1. V1 ;if visit, no prev defined report used
  1. V11 K ^ACDRPTD(ACDRPT,11),ACDRDTR D SCREEN I $D(ACDQUIT) K ACDQUIT D DEL G V
  1. V12 K ^ACDRPTD(ACDRPT,12) S ACDTCW=0 D COUNT I $D(ACDQUIT) K ACDQUIT G V11
  1. V13 D TITLE I $D(ACDQUIT) K ACDQUIT G V12
  1. D SAVE
  1. D ZIS
  1. Q
  1. SCREEN ;
  1. S ACDCNTL="S" D ^ACDRL4 K ACDCNTL
  1. Q
  1. COUNT ;count only or detailed report
  1. D COUNT^ACDRL3
  1. Q
  1. TITLE ;
  1. Q:ACDCTYP="F"
  1. Q:ACDCTYP="T"
  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 ACDQUIT=1 Q
  1. Q:Y=0
  1. S ACDLENG=$S(ACDTCW:ACDTCW-8,1:60)
  1. I Y=1 K DIR,X,Y S DIR(0)="F^3:"_ACDLENG,DIR("A")="Enter custom title",DIR("?")=" Enter from 3 to "_ACDLENG_" characters" D ^DIR K DIR
  1. G:$D(DIRUT) TITLE
  1. S ACDTITL=Y
  1. Q
  1. SAVE ;
  1. Q:$D(ACDCAND)
  1. Q:ACDCTYP'="D" ;--- must be a detailed report to be saved
  1. S ACDSAVE=""
  1. K DIR,X,Y S DIR(0)="Y",DIR("A")="Do you wish to SAVE this "_$S('$D(ACDEP1):"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)="9001003.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 ACDNAME=Y
  1. S DIE="^ACDRPTD(",DA=ACDRPT,DR=".02////1;.03///"_ACDNAME_";.06///"_ACDPTVS_";.05///"_ACDCTYP_";.11///"_$G(ACDRDTR) S:$D(ACDEP1) DR=DR_";.09///"_ACDPACK D CALLDIE^ACDRLU1
  1. Q
  1. ZIS ;call to XBDBQUE
  1. I 'ACDTCW S ACDTCW=IOM
  1. S ACDDONE=""
  1. D SHOW^ACDRLS,SHOWP^ACDRLS,SHOWR^ACDRLS
  1. D XIT1
  1. S XBRP="^ACDRLP",XBRC="^ACDRL1",XBRX="XIT^ACDRL",XBNS="ACD"
  1. D ^XBDBQUE
  1. D XIT
  1. Q
  1. DEL ;EP DELETE LOG ENTRY IF ONE EXISTS AND USER "^" OUT
  1. I $G(ACDRPT),$D(^ACDRPTD(ACDRPT,0)),'$P(^ACDRPTD(ACDRPT,0),U,2) S DIK="^ACDRPTD(",DA=ACDRPT D ^DIK K DIK,DA,DIC
  1. Q
  1. ADD ;
  1. D ADD^ACDRL01
  1. Q
  1. XIT ;
  1. D XIT^ACDRL1
  1. XIT1 ;
  1. D XIT1^ACDRL1
  1. Q