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

BMCRL.m

Go to the documentation of this file.
  1. BMCRL ; IHS/PHXAO/TMJ - PCC REFERRAL GENERAL RETRIEVAL DRIVER ROUTINE ;
  1. ;;4.0;REFERRED CARE INFO SYSTEM;;JAN 09, 2006
  1. ;IHS/ITSC/FCJ ADD TST FOR DATE RANGE IN CANNED REPORT
  1. ;IHS/ITSC/FCJ ADDED REF TYPE, VAR BMCTYPR: PRIMARY, SECONDARY BOTH
  1. ;
  1. START ;
  1. K BMCQUIT ;--- this variable controls whether or not a user terminated input
  1. TYPE ;--- get type of report (patient, date range or search template)
  1. S BMCPTVS="R"
  1. D INFORM^BMCRL01
  1. S (BMCPCNT,BMCPTCT)=0 ;BMCPTCT -- pt total for # of "V"isits
  1. K BMCTYPE ;--- just in case variable left around
  1. D PROCESS,XIT
  1. Q
  1. PROCESS ;process lister
  1. K BMCCAND
  1. S DIR(0)="S^P:A Previously defined report;N:Create a New Report",DIR("A")="Which type of report do you wish to generate",DIR("B")="N" K DA D ^DIR K DIR
  1. I $D(DIRUT) D XIT Q
  1. I Y="P" S BMCCAND=1
  1. D ADD I $D(BMCQUIT) D DEL K BMCQUIT Q
  1. I '$D(BMCCAND) D RTYP Q:$D(DIRUT) D PP1 Q
  1. D CAN I $D(DIRUT) K DIRUT,BMCR("CR") G TYPE
  1. D TITLE I $D(BMCQUIT) K BMCQUIT G TYPE
  1. D ZIS
  1. Q
  1. RTYP ;EP;4.0 IHS/ITSC/FCJ ADDED NEXT SECTION FOR TYPE OF REFERRAL
  1. S DIR(0)="S^P:Primary Referrals;S:Secondary Referrals;B:Both"
  1. S DIR("A")="Include Which type of Referrals in the report",DIR("B")="B" K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. S BMCTYPR=Y
  1. Q
  1. PP1 ;if patient, no prev defined report used
  1. PP11 K ^BMCRTMP(BMCRPT,11) D SCREEN I $D(BMCQUIT) K BMCQUIT D DEL G TYPE
  1. PP12 K ^BMCRTMP(BMCRPT,12) S BMCTCW=0 D COUNT I $D(BMCQUIT) K BMCQUIT G PP11
  1. PP13 D TITLE I $D(BMCQUIT) K BMCQUIT G PP12
  1. D SAVE,ZIS
  1. Q
  1. SCREEN ;
  1. S BMCCNTL="S" D ^BMCRL4
  1. Q
  1. COUNT ;count only or detailed report
  1. D COUNT^BMCRL3
  1. Q
  1. TITLE ;
  1. D TITLE^BMCRL3
  1. Q
  1. SAVE ;
  1. D SAVE^BMCRL3
  1. Q
  1. CAN ;TEST FOR DATE RANGE FIELDS ON CANNED REPORT AND PRIM/SEC REF
  1. D DTTST^BMCRL3
  1. Q
  1. ZIS ;call to XBDBQUE
  1. K BMCOPT
  1. I 'BMCTCW S BMCTCW=IOM
  1. S BMCDONE=""
  1. D SHOW^BMCRLS,SHOWP^BMCRLS,SHOWR^BMCRLS
  1. D XIT1
  1. I BMCCTYP="D"!(BMCCTYP="S")!(BMCCTYP="N") D
  1. .W ! S DIR(0)="S^P:PRINT Output;B:BROWSE Output on Screen",DIR("A")="Do you wish to",DIR("B")="P" K DA D ^DIR K DIR
  1. .I $D(DIRUT) S BMCQUIT="" Q
  1. .S BMCOPT=Y
  1. G:$G(BMCQUIT) SAVE
  1. I $G(BMCOPT)="B" D BROWSE,XIT Q
  1. S XBRP="^BMCRLP",XBRC="^BMCRL1",XBRX="XIT^BMCRL",XBNS="BMC"
  1. D ^XBDBQUE
  1. D XIT
  1. Q
  1. DEL ;EP DELETE LOG ENTRY IF ONE EXISTS AND USER "^" OUT
  1. I $G(BMCRPT),$D(^BMCRTMP(BMCRPT,0)),'$P(^BMCRTMP(BMCRPT,0),U,2) S DIK="^BMCRTMP(",DA=BMCRPT D ^DIK K DIK,DA,DIC
  1. Q
  1. ADD ;
  1. D ADD^BMCRL01
  1. Q
  1. BROWSE ;
  1. S XBRP="VIEWR^XBLM(""^BMCRLP"")"
  1. S XBRC="^BMCRL1",XBRX="XIT^BMCRL",XBIOP=0 D ^XBDBQUE
  1. Q
  1. XIT ;EP - CALLED FROM BMCRL
  1. K BMCBD,BMCBDD,BMCED,BMCEDD,BMCSD,BMCSORT,BMCSORV,BMCTCW,BMCRPT,BMCLHDR,BMCDISP,%H,BMCET,BMCLINE,BMCPRNM,BMCPRNT,BMCSKIP,BMCTYPE,BMCSPAG,BMCEN1,BMCSEAT,BMCPTVS,BMC,BMCCAND,BMCHDR,BMCHEAD,BMCSPEC,BMCOPT
  1. K BMCCTYP,BMCFLG,BMCG,BMCNAME,BMCNIFN,BMCSAVE,BMCTITL,BMCQUIT,BMCPCNT,BMCQFLG,BMCPTCT,BMCTL,BMCSRTR,BMCSRTV,BMCNSRT,BMCTYPR
  1. K C,D,D0,DA,DIC,DD,DFN,DIADD,DLAYGO,DICR,DIE,DIK,DINUM,DIQ,DIR,DIRUT,DUOUT,DTOUT,DR,J,I,J,K,M,S,TS,X,Y,DIG,DIH,DIV,DQ,DDH,AMQQEN3,AMQQLX
  1. K BMCR("CR")
  1. XIT1 ;EP
  1. K BMCANS,BMCBTH,BMCC,BMCCNT,BMCCRIT,BMCCUT,BMCD,BMCDISP,BMCDONE,BMCHIGH,BMCI,BMCJOB,BMCQMAN,BMCSEL,BMCTEXT,BMCVAR,BMCSKIP,BMCPRNT,BMCPRNM,BMCLINE,BMCRCNT,BMCSCNT,BMCDFET,BMCY,DFN
  1. K X,X1,X2,IO("Q"),%,Y,POP,DIRUT,ZTSK,ZTQUEUED,H,S,TS,M,ZTIO,DUOUT,DIR,DTOUT,V,Z,I,DIC,DIK,DIADD,DLAYGO,DA,DR,DIE,DIU,AMQQTAX,DINUM,BMCPACK,BMCEP1,BMCEP2,D,BMCLENG,BMCLHDR,BMCSAVE
  1. Q