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

BMCRL3.m

Go to the documentation of this file.
  1. BMCRL3 ; IHS/PHXAO/TMJ - MORE LISTER ;
  1. ;;4.0;REFERRED CARE INFO SYSTEM;;JAN 09, 2006
  1. ;LAB added help text to dir call
  1. ;IHS/ITSC/FCJ ADDED DTTST SUB FOR CANNED REPORTS ;ADDED ABILITY
  1. ; TO SAVE TOT/SUBTOT RPTS ;ADDED ABILITY TO SAVE CUSTOM TITLE
  1. ; Save type of referral: Prim, Sec or both
  1. ;
  1. TITLE ;EP
  1. Q:BMCCTYP="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"
  1. I $D(BMCCAND),$D(^BMCRTMP(BMCRPT,1)) D
  1. .S BMCTITL=$P(^BMCRTMP(BMCRPT,1),U)
  1. .W !,"Previous Custom Report Title: ",BMCTITL
  1. .S DIR("A")="Would you like to change custom title for this report"
  1. D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) S BMCQUIT=1 Q
  1. Q:Y=0
  1. S BMCLENG=$S(BMCTCW:BMCTCW-8,1:60)
  1. I Y=1 K DIR,X,Y S DIR(0)="F^3:"_BMCLENG,DIR("A")="Enter custom title",DIR("?")=" Enter from 3 to "_BMCLENG_" characters" D ^DIR K DIR
  1. G:$D(DIRUT) TITLE
  1. S BMCTITL=Y
  1. I $D(BMCCAND) S $P(^BMCRTMP(BMCRPT,1),U)=BMCTITL
  1. Q
  1. SAVE ;EP
  1. Q:$D(BMCCAND) ;--- don't ask if already a pre-defined rpt
  1. I BMCCTYP="N",BMCCTYP="R" Q
  1. S BMCSAVE=""
  1. K DIR,X,Y S DIR(0)="Y",DIR("A")="Do you wish to SAVE this "_$S('$D(BMCEP1):"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)="90001.82,.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 BMCNAME=Y
  1. S DIE="^BMCRTMP(",DA=BMCRPT,DR=".02////1;.03///"_BMCNAME_";.06///"_BMCPTVS_";.05///"_BMCCTYP
  1. S:$D(BMCEP1) DR=DR_";.09///"_BMCPACK
  1. ;4.0 IHS/ITSC/FCJ ADDED REF TYPE: PRIM SEC BOTH
  1. S DR=DR_";.14///"_BMCTYPR
  1. S:$D(BMCTITL) DR=DR_";1///"_BMCTITL D ^DIE K DIE,DA,DR
  1. Q
  1. COUNT ;EP
  1. W !! S DIR(0)="S^T:Total Count Only;S:Sub-counts and Total Count;D:Detailed Referral Listing;N:Numeric Item Basic Statistics;R:Referral Record Display",DIR("A")=" Choose Type of Report",DIR("B")="D" D ^DIR K DIR W !!
  1. S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) S BMCQUIT=1 Q
  1. S BMCCTYP=Y
  1. I BMCCTYP="T" S $P(^BMCRTMP(BMCRPT,0),U,5)=1 S:BMCPTVS="R" BMCSORT=6,BMCSORV="Referral Date" S:BMCPTVS="P" BMCSORT=1,BMCSORV="Patient Name" Q
  1. I BMCCTYP="R" S $P(^BMCRTMP(BMCRPT,0),U,5)=1 S:BMCPTVS="R" BMCSORT=6,BMCSORV="Referral Date" S:BMCPTVS="P" BMCSORT=1,BMCSORV="Patient Name" Q
  1. I BMCCTYP="D" D PRINT Q:$D(BMCQUIT) D SORT Q
  1. I BMCCTYP="N" D NUMERIC Q
  1. D SORT
  1. Q
  1. PRINT ;
  1. S BMCCNTL="P" D ^BMCRL4 K BMCCNTL
  1. Q
  1. SORT ;
  1. K BMCSORT,BMCSORV,BMCQUIT
  1. I BMCCTYP="D",'$D(^BMCRTMP(BMCRPT,12)) W !!,"NO PRINT FIELDS SELECTED!!",$C(7),$C(7) S BMCQUIT=1 Q
  1. S BMCSORT=""
  1. D SHOWR^BMCRLS
  1. S BMCCNTL="R" D ^BMCRL4 K BMCCNTL
  1. I '$D(BMCSORV) S BMCQUIT=1 Q
  1. Q:BMCCTYP'="D"
  1. PAGE ;
  1. K BMCSPAG
  1. Q:BMCCTYP'="D"
  1. S DIR(0)="Y",DIR("A")="Do you want a separate page for each "_BMCSORV,DIR("B")="N" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G SORT
  1. S BMCSPAG=Y,DIE="^BMCRTMP(",DA=BMCRPT,DR=".04///"_BMCSPAG D ^DIE K DA,DR,DIE
  1. Q
  1. NUMERIC ;
  1. D ^XBCLS
  1. W !!,?20,"***NUMERIC ITEM BASIC STATISTICS**",!!
  1. W !!,"This print option will provide basic statistics (sum, count, mean, max, min)",!,"on any one of the 'Numeric Items' listed below.",!!,"Upon selection of a 'Numeric Item' a list of 'Sort' Choices will also be",!,"displayed. "
  1. W "This 'Sort' Choice is provided for the purpose of Totaling and/or",!,"Sub-totaling all records selected.",!!,"For example, choosing 'Actual Cost' as the Numeric Item and, then, choosing"
  1. W !,"Primary Vendor as the 'Sort' Choice would produce a report of Actual Cost",!,"statistics (Sub-totaled by Vendor).",!!
  1. W "If you choose NOT to select a 'Sort' Item, the report would produce only",!,"one Grand Total (sum, count, mean, max, and min, etc.) for all",!,"'Actual Cost' statistics.",!!
  1. K BMCDISP,BMCSEL,BMCHIGH
  1. S BMCLHDR="NUMERIC ITEM Selection Menu" W ?((80-$L(BMCLHDR))/2),BMCLHDR,!
  1. S BMCHIGH=0,X=0 F S X=$O(^BMCTSORT("C",X)) Q:X'=+X S Y=$O(^BMCTSORT("C",X,"")) I $P(^BMCTSORT(Y,0),U,5)["S",$P(^BMCTSORT(Y,0),U,2)="N" S BMCHIGH=BMCHIGH+1,BMCSEL(BMCHIGH)=Y
  1. S BMCCUT=((BMCHIGH/2)+1)\1
  1. S I=0,J=1,K=1 F S I=$O(BMCSEL(I)) Q:I'=+I!($D(BMCDISP(I))) W !?5,I,") ",$P(^BMCTSORT(BMCSEL(I),0),U) S BMCDISP(I)="",J=I+BMCCUT I $D(BMCSEL(J)),'$D(BMCDISP(J)) W ?40,J,") ",$P(^BMCTSORT(BMCSEL(J),0),U) S BMCDISP(J)=""
  1. W ! S DIR(0)="NO^1:"_BMCHIGH_":0",DIR("A")="Produce statistics for which of the above" D ^DIR K DIR
  1. I $D(DIRUT) G COUNT
  1. S BMCNSRT=BMCSEL(+Y)
  1. D SORT
  1. Q
  1. DTTST ;CANNED REPORTS
  1. ;TEST DATE RANGE FIELDS FOR CANNED REPORTS
  1. S BMCQT=""
  1. S I=0 F S I=$O(^BMCRTMP(BMCRPT,11,I)) Q:I'?1N.N D
  1. .I $P($G(^BMCTSORT(I,0)),U,2)="D" S BMCR("CR",I)=""
  1. I $D(BMCR("CR")) D
  1. .W !,"There are date range(s) in this report..."
  1. .S I="" F S I=$O(BMCR("CR",I)) Q:I'?1.N D Q:$D(DIRUT)
  1. ..S BMCTEXT=$P(^BMCTSORT(I,0),U)
  1. ..S Y=$P(^BMCRTMP(BMCRPT,11,I,11,1,0),U) D DD^%DT S BMCBD=Y
  1. ..S Y=$P(^BMCRTMP(BMCRPT,11,I,11,1,0),U,2) D DD^%DT S BMCED=Y
  1. ..W !,BMCTEXT," Previous Date Range: ",BMCBD," TO ",BMCED
  1. ..S DIR(0)="Y",DIR("A")="Would you like to update these dates"
  1. ..D ^DIR
  1. ..Q:(Y="^")!(Y=0)
  1. ..D D^BMCRL0 Q:$D(DIRUT)
  1. ..S ^BMCRTMP(BMCRPT,11,I,11,1,0)=BMCBD_U_BMCED
  1. ..K ^BMCRTMP(BMCRPT,11,I,11,"B")
  1. ..S ^BMCRTMP(BMCRPT,11,I,11,"B",BMCBD,1)=""
  1. S BMCTYPR=$P(^BMCRTMP(BMCRPT,0),U,14) S:BMCTYPR="" BMCTYPR="P"
  1. W !,"The Report contains ",$S(BMCTYPR="P":"Only PRIMARY",BMCTYPR="S":"Only SECONDARY",1:"Primary and Secondary")," Referrals"
  1. S DIR(0)="Y",DIR("A")="Would you like to update the Referral type",DIR("B")="N"
  1. D ^DIR Q:(Y="^")!(Y=0)
  1. D RTYP^BMCRL Q:$D(DIRUT)
  1. S $P(^BMCRTMP(BMCRPT,0),U,14)=BMCTYPR
  1. Q