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

BDGILD.m

Go to the documentation of this file.
  1. BDGILD ; IHS/ANMC/LJF - INPT LISTS BY DATE ;
  1. ;;5.3;PIMS;;APR 26, 2002
  1. ;
  1. REPORT ; -- choose which report to print
  1. NEW BDGRPT,BDGA,X,Y,BDGQUIT,BDGDESC
  1. F X=1:1:9 S BDGA(X)=$J(X,3)_". "_$P($T(RPT+X),";;",2)
  1. S Y=$$READ^BDGF("NO^1:9","Choose Report from List","","","",.BDGA)
  1. Q:'Y I Y=9 S XQH="BDG INPT LISTS BY DATE" D EN^XQH G REPORT
  1. S BDGRPT=$P($T(RPT+Y),";;",3),BDGDESC=$P($T(RPT+Y),";;",2)
  1. ;
  1. S BDGQUIT=0 K BDGSRT,BDGTYP,BDGMAX,BDGBD,BDGED,BDGINS
  1. D @Y I $G(BDGQUIT) D END Q ;ask more questions based on report chosen
  1. ;
  1. S X=$$BROWSE^BDGF I X="B" D @BDGRPT,END Q
  1. I X=U Q
  1. ;
  1. D ZIS^BDGF("QP",BDGRPT,BDGDESC,"BDG*")
  1. ;
  1. END ;
  1. D HOME^%ZIS
  1. K BDGTYP,BDGBD,BDGED,BDGSRT,BDGINS,BDGMAX
  1. Q
  1. ;
  1. 1 ; admissions questions
  1. NEW X
  1. ; set BDGBD and BDGED variables
  1. D DATES Q:BDGQUIT
  1. ;
  1. ; set sort criteria
  1. S X="1:By DATE Only;2:By WARD;3:By SERVICE;4:By ADMITTING Provider;5:By Provider's SERVICE;6:By Community;7:By Service Unit;8:By Patient Name"
  1. S BDGTYP=$$READ^BDGF("SO^"_X,"Select Admission Report to Run")
  1. I BDGTYP<1 S BDGQUIT=1 Q
  1. ;
  1. ; set sort range
  1. S X=$S(BDGTYP=2:"WARD",BDGTYP=3:"SERV",BDGTYP=4:"PROV",BDGTYP=5:"PRVSV",BDGTYP=6:"COMM",BDGTYP=7:"SU",1:"") I X]"" D @X
  1. ;
  1. S BDGINS=$$READ^BDGF("Y","Include Insurance Coverage on Report","NO")
  1. I BDGINS=U S BDGQUIT=1 Q
  1. ;
  1. Q
  1. ;
  1. 2 ; readmission questions
  1. NEW X
  1. W !!,"This includes admissions after release from Day Surgery.",!
  1. ;
  1. ; set BDGBD and BDGED variables
  1. D DATES Q:BDGQUIT
  1. ;
  1. ; set sort criteria
  1. S X="1:By DATE Only;2:By WARD;3:By SERVICE;4:By ADMITTING Provider;5:By Provider's SERVICE;6:BY Community;7:By Service Unit;8:By Patient Name"
  1. S BDGTYP=$$READ^BDGF("SO^"_X,"Select Readmission Report to Run")
  1. I BDGTYP<1 S BDGQUIT=1 Q
  1. ;
  1. ; set sort range
  1. S X=$S(BDGTYP=2:"WARD",BDGTYP=3:"SERV",BDGTYP=4:"PROV",BDGTYP=5:"PRVSV",BDGTYP=6:"COMM",BDGTYP=7:"SU",1:"") I X]"" D @X
  1. ;
  1. ; set BDGMAX variable
  1. S BDGMAX=$$READ^BDGF("N^1:365","MAXIMUM # of Days between admissions")
  1. I BDGMAX<1 S BDGQUIT=1
  1. ;
  1. S BDGINS=$$READ^BDGF("Y","Include Insurance Coverage on Report","NO")
  1. I BDGINS=U S BDGQUIT=1 Q
  1. Q
  1. ;
  1. 3 ; non-beneficiary admissions questions
  1. NEW X
  1. ; set BDGBD and BDGED variables
  1. D DATES Q:BDGQUIT
  1. ;
  1. ; set sort criteria
  1. S X="1:By DATE Only;2:By WARD;3:By SERVICE;4:By ADMITTING Provider;5:By Provider's SERVICE;6:By Community;7:By Service Unit;8:By Patient Name"
  1. S BDGTYP=$$READ^BDGF("SO^"_X,"Select Non-beneficiary Admission Report to Run")
  1. I BDGTYP<1 S BDGQUIT=1 Q
  1. ;
  1. ; set sort range
  1. S X=$S(BDGTYP=2:"WARD",BDGTYP=3:"SERV",BDGTYP=4:"PROV",BDGTYP=5:"PRVSV",BDGTYP=6:"COMM",BDGTYP=7:"SU",1:"") I X]"" D @X
  1. ;
  1. S BDGINS=$$READ^BDGF("Y","Include Insurance Coverage on Report","YES")
  1. I BDGINS=U S BDGQUIT=1 Q
  1. Q
  1. ;
  1. 4 ; IUC Transfer questions
  1. NEW X
  1. ; set BDGBD and BDGED variables
  1. D DATES Q:BDGQUIT
  1. ;
  1. S BDGTYP=$$READ^BDGF("SO^1:TRANSFERS to ICU;2:RETURNS to ICU","Select ICU Report to Run") I BDGTYP<1 S BDGQUIT=1 Q
  1. Q:BDGTYP=1
  1. ;
  1. ; set BDGMAX variable
  1. S BDGMAX=$$READ^BDGF("NO^1:30","MAXIMUM # of Days between ICU stays")
  1. I BDGMAX<1 S BDGQUIT=1
  1. Q
  1. ;
  1. 5 ; discharge questions
  1. NEW X
  1. ; set BDGBD and BDGED variables
  1. D DATES Q:BDGQUIT
  1. ;
  1. ; set sort criteria
  1. S X="1:By DATE Only;2:By WARD;3:By SERVICE;4:By ATTENDING Provider;5:By Provider's SERVICE;6:By Community;7:By Service Unit;8:By Patient Name"
  1. S BDGTYP=$$READ^BDGF("SO^"_X,"Select Discharges Report to Run")
  1. I BDGTYP<1 S BDGQUIT=1 Q
  1. ;
  1. ; set sort range
  1. S X=$S(BDGTYP=2:"WARD",BDGTYP=3:"SERV",BDGTYP=4:"PROV",BDGTYP=5:"PRVSV",BDGTYP=6:"COMM",BDGTYP=7:"SU",1:"") I X]"" D @X
  1. ;
  1. S BDGINS=$$READ^BDGF("Y","Include Insurance Coverage on Report","NO")
  1. I BDGINS=U S BDGQUIT=1
  1. Q
  1. ;
  1. 6 ; interfacility transfers quesions
  1. NEW X
  1. ; set BDGBD and BDGED variables
  1. D DATES Q:BDGQUIT=1
  1. ;
  1. S X="1:LISTING Only;2:STATISTICS Only;3:BOTH Listing and Stats"
  1. S BDGTYP=$$READ^BDGF("SO^"_X,"Select Report to Run")
  1. I BDGTYP<1 S BDGQUIT=1
  1. Q
  1. ;
  1. 7 ; inpatient deaths questions
  1. NEW X
  1. ; set BDGBD and BDGED variables
  1. D DATES Q:BDGQUIT
  1. ;
  1. ;set sort criteria
  1. S X="1:By DATE Only;2:By WARD;3:By SERVICE;4:By ATTENDING Provider;5:By Provider's SERVICE;6:By Community;7:By Service Unit;8:By Patient Name"
  1. S BDGTYP=$$READ^BDGF("SO^"_X,"Select Discharges Report to Run")
  1. I BDGTYP<1 S BDGQUIT=1 Q
  1. ;
  1. ; set sort range
  1. S X=$S(BDGTYP=2:"WARD",BDGTYP=3:"SERV",BDGTYP=4:"PROV",BDGTYP=5:"PRVSV",BDGTYP=6:"COMM",BDGTYP=7:"SU",1:"") I X]"" D @X
  1. ;
  1. S BDGINS=$$READ^BDGF("Y","Include Insurance Coverage on Report","YES")
  1. I BDGINS=U S BDGQUIT=1
  1. Q
  1. ;
  1. 8 ; los by discharge month questions
  1. D ^XBCLS W !!?10,"LENGTH OF STAY BY DISCHARGE MONTH AND WARD"
  1. W !!,"WARNING!! This report takes a LONG time to run, no matter how"
  1. W !?11,"long a date range you select. Please run after hours.",!!
  1. D DATES
  1. Q
  1. ;
  1. DATES ; ask for date range
  1. S BDGBD=$$READ^BDGF("DO^::EX","Select Beginning Date")
  1. I BDGBD<1 S BDGQUIT=1 Q
  1. S BDGED=$$READ^BDGF("DO^::EX","Select Ending Date")
  1. I BDGED<1 S BDGQUIT=1
  1. Q
  1. ;
  1. WARD ; ask ward questions
  1. NEW Y,X
  1. S Y=$$READ^BDGF("YO","Print for ALL Wards","NO") I Y=U S BDGQUIT=1 Q
  1. I Y=1 S BDGSRT="A" Q
  1. S Y=1 F Q:Y<1 D
  1. . S X="Select "_$S($D(BDGSRT):"Another ",1:"")_"Ward Name"
  1. . S Y=$$READ^BDGF("PO^42:EMQZ",X,"","","I $$ACTWD^BDGPAR(+Y)")
  1. . I Y>0 S BDGSRT(+Y)=$P(Y,U,2)
  1. I '$D(BDGSRT) S BDGQUIT=1
  1. Q
  1. ;
  1. SERV ; ask service questions
  1. NEW Y,X
  1. S Y=$$READ^BDGF("YO","Print for ALL Treating Specialties","NO")
  1. I Y=U S BDGQUIT=1 Q
  1. I Y=1 S BDGSRT="A" D Q
  1. . S Y=$$READ^BDGF("S^1:Inpatient Services Only;2:Observations Only;3:Both","Select Service Type","Both") S $P(BDGSRT,U,2)=Y
  1. S Y=1 F Q:Y<1 D
  1. . S X="Select "_$S($D(BDGSRT):"Another ",1:"")_"Treating Specialty Name"
  1. . S Y=$$READ^BDGF("PO^45.7:EMQZ",X,"","","I $$ACTSRV^BDGPAR(+Y,BDGBD)")
  1. . I Y>0 S BDGSRT(+Y)=$P(Y,U,2)
  1. I '$D(BDGSRT) S BDGQUIT=1
  1. Q
  1. ;
  1. PROV ; ask provider questions
  1. NEW Y,X
  1. S Y=$$READ^BDGF("YO","Print for ALL Providers","NO")
  1. I Y=U S BDGQUIT=1 Q
  1. I Y=1 S BDGSRT="A" Q
  1. S Y=1 F Q:Y<1 D
  1. . S X="Select "_$S($D(BDGSRT):"Another ",1:"")_"Provider Name"
  1. . S Y=$$READ^BDGF("PO^200:EMQZ",X,"","","I $D(^XUSEC(""PROVIDER"",+Y))")
  1. . I Y>0 S BDGSRT(+Y)=$P(Y,U,2)
  1. I '$D(BDGSRT) S BDGQUIT=1
  1. Q
  1. ;
  1. PRVSV ; ask provider's service questions
  1. NEW Y,X
  1. S Y=$$READ^BDGF("YO","Print for ALL Hospital Services","NO")
  1. I Y=U S BDGQUIT=1 Q
  1. I Y=1 S BDGSRT="A" Q
  1. S Y=1 F Q:Y<1 D
  1. . S X="Select "_$S($D(BDGSRT):"Another ",1:"")_"Hospital Service Name"
  1. . S Y=$$READ^BDGF("PO^49:EMQZ",X,"","","I $P(^DIC(49,+Y,0),U,9)=""C""")
  1. . I Y>0 S BDGSRT(+Y)=$P(Y,U,2)
  1. I '$D(BDGSRT) S BDGQUIT=1
  1. Q
  1. ;
  1. COMM ; ask user for community choices
  1. NEW Y,X
  1. S Y=$$READ^BDGF("YO","Print for ALL Communities","NO")
  1. I Y=U S BDGQUIT=1 Q
  1. I Y=1 S BDGSRT="A" Q
  1. S Y=1 F Q:Y<1 D
  1. . S X="Select "_$S($D(BDGSRT):"Another ",1:"")_"Community Name"
  1. . S Y=$$READ^BDGF("PO^9999999.05:EMQZ",X)
  1. . I Y>0 S BDGSRT(+Y)=$P(Y,U,2)
  1. I '$D(BDGSRT) S BDGQUIT=1
  1. Q
  1. ;
  1. SU ; ask user for service unit choices
  1. NEW Y,X
  1. S Y=$$READ^BDGF("YO","Print for ALL Service Units","NO")
  1. I Y=U S BDGQUIT=1 Q
  1. I Y=1 S BDGSRT="A" Q
  1. S Y=1 F Q:Y<1 D
  1. . S X="Select "_$S($D(BDGSRT):"Another ",1:"")_"Service Unit Name"
  1. . S Y=$$READ^BDGF("PO^9999999.22:EMQZ",X)
  1. . I Y>0 S BDGSRT(+Y)=$P(Y,U,2)
  1. I '$D(BDGSRT) S BDGQUIT=1
  1. Q
  1. ;
  1. RPT ;;
  1. ;;Admissions;;^BDGILD1;;
  1. ;;Readmissions;;^BDGILD2;;
  1. ;;Non-Beneficiary Admissions;;^BDGILD3;;
  1. ;;ICU Transfers;;^BDGILD4;;
  1. ;;Discharges;;^BDGILD5;;
  1. ;;Inter-Facility Transfers;;^BDGILD6;;
  1. ;;Inpatient Deaths;;^BDGILD7;;
  1. ;;LOS by Discharge Month & Ward;;^BDGLOS1;;
  1. ;;On-line Help (Report Descriptions);;