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

BDGICR2.m

Go to the documentation of this file.
  1. BDGICR2 ; IHS/ANMC/LJF - INCOMPLETE CHART BY PROVIDER ; [ 01/06/2005 11:37 AM ]
  1. ;;5.3;PIMS;**1001,1003,1005,1007**;MAY 28, 2004
  1. ;IHS/ITSC/WAR 09/27/2004 PATCH 1001 fixed call to FMDIFF^XLFDT
  1. ;IHS/ITSC/LJF 08/09/2004 PATCH 1001 observations need to print with day surgeries
  1. ; 06/02/2005 PATCH 1003 screen out "admin only" deficiencies
  1. ; 06/03/2005 PATCH 1003 improved reporting of totals
  1. ;IHS/OIT/LJF 04/06/2006 PATCH 1005 added ;EP to PROVS and EN
  1. ; 04/20/2006 PATCH 1005 added choice to print medical staff only
  1. ;cmi/anch/maw 07/10/2007 PATCH 1007 added code below to not ask for copies if subtype is terminal
  1. ; 07/10/2007 PATCH 1007 modified code in PRINT to use generic # of copies code in BDGF
  1. ;
  1. NEW BDGTYP,X,DEFAULT,BDGPRV,BDGRPT,BDGCOP
  1. ;IHS/ITSC/LJF 8/9/2004 PATCH #1001
  1. ;S BDGTYP=$$READ^BDGF("SO^1:Inpatients Only;2:Day Surgeries Only;3:Both","Select Visit Types to Include") Q:BDGTYP<1
  1. S BDGTYP=$$READ^BDGF("SO^1:Inpatients;2:Observations & Day Surgeries;3:All","Select Visit Types to Include") Q:BDGTYP<1
  1. ;S DEFAULT=$S(BDGTYP=1:"Discharge",BDGTYP=2:"Surgery",1:"Disch/Surg")
  1. S DEFAULT=$S(BDGTYP=1:"Discharge",1:"Discharge/Surgery") ;IHS/ITSC/LJF 8/9/2004 PATCH #1001
  1. S X=$$FMADD^XLFDT(DT,-$$GET1^DIQ(9009020.1,$$DIV^BSDU,.12)) ;days delq
  1. D MSG^BDGF("Charts with "_DEFAULT_" dates BEFORE "_$$FMTE^XLFDT(X)_" are flagged as DELINQUENT.",2,1)
  1. S BDGPRV=$$READ^BDGF("YO","Print Report for ALL Providers","NO")
  1. Q:BDGPRV=U S:BDGPRV=1 BDGPRV="ALL"
  1. I BDGPRV=0 S BDGPRV=$$PROVS I '$O(BDGPRV(0)) Q
  1. S BDGRPT=$$READ^BDGF("SO^1:Individual Provider Listings Only;2:Summary Page Only;3:Both","Select Report to Print") Q:BDGRPT<1
  1. I $$BROWSE^BDGF="B" D EN Q
  1. ;S BDGCOP=$$READ^BDGF("N^1:10","Number of Copies (1-10)",1) Q:BDGCOP<1 ;cmi/anch/maw 7/10/2007 orig line patch 1007
  1. I $E(IOST,1,2)'="C-" S BDGCOP=$$READ^BDGF("N^1:10","Number of Copies (1-10)",1) Q:BDGCOP<1 ;cmi/anch/maw 7/10/2007 mod line for new copies code in ZIS^BDGF patch 1007
  1. D ZIS^BDGF("PQ","EN^BDGICR2","IC LIST BY PROVIDER","BDGTYP;BDGPRV*;BDGRPT;BDGCOP")
  1. Q
  1. ;
  1. EN ;EP; -- main entry point for BDG IC CHARTS BY PROVIDER
  1. ;IHS/OIT/LJF 04/06/2006 PATCH 1005 added EP - called by BDGICS21
  1. ;I $E(IOST,1,2)'="C-" S BDGPRT=1 D INIT,PRINT Q ;printing to paper
  1. S BDGPRT=1 D INIT,PRINT Q ;printing to paper TEST
  1. NEW VALMCNT D TERM^VALM0,CLEAR^VALM1
  1. D EN^VALM("BDG IC CHARTS BY PROVIDER")
  1. D CLEAR^VALM1
  1. Q
  1. HDR ; -- header code
  1. Q
  1. INIT ; -- init variables and list array
  1. I '$G(BDGPRT) D MSG^BDGF("Please wait while I compile the list...",2,0)
  1. NEW BDGDELQ,BDGT,I,IEN,PRV,VTYP,NAME,DATE,BDGC,BDGT,BDGPT
  1. K ^TMP("BDGICR2",$J),^TMP("BDGICR2A",$J)
  1. S VALMCNT=0
  1. ; set delinquent date
  1. S BDGDELQ=$$FMADD^XLFDT(DT,-$$GET1^DIQ(9009020.1,$$DIV^BSDU,.12))
  1. ; initialize totals for summary page
  1. ;F I="ASH","OPR","SIG","SUM","IC","DQ" S BDGT(I)=0 ;IHS/ITSC/LJF 6/3/2005 PATCH 1003 not needed
  1. ; first find all provider entries that qualify and sort by name
  1. S PRV=0 F S PRV=$O(^BDGIC("APRV",PRV)) Q:'PRV D
  1. . I BDGPRV="SRV",'$D(BDGPRV(+$$GET1^DIQ(200,PRV,29,"I"))) Q
  1. . I BDGPRV="CLASS",'$D(BDGPRV(+$$GET1^DIQ(200,PRV,53.5,"I"))) Q
  1. . I BDGPRV="NAME",'$D(BDGPRV(PRV)) Q
  1. . S IEN=0 F S IEN=$O(^BDGIC("APRV",PRV,IEN)) Q:'IEN D
  1. .. Q:$$GET1^DIQ(9009016.1,IEN,.17)]"" ;deleted entry
  1. .. S VTYP=$$GET1^DIQ(9009016.1,IEN,.0392) ;visit type
  1. .. I BDGTYP=1,VTYP'["HOS" Q ;not inpt as asked
  1. .. I BDGTYP=2,VTYP["HOS" Q ;not day surgery as asked
  1. .. ;IHS/ITSC/LJF 6/2/2005 PATCH 1003 skip provider if has no deficiencies to report
  1. .. Q:'$$OKAY(PRV,IEN)
  1. .. S NAME=$$GET1^DIQ(200,PRV,.01)
  1. .. ;S DATE=$$GET1^DIQ(9009016.1,IEN,$S(VTYP["HOS":.02,1:.05),"I")
  1. .. S DATE=$$GET1^DIQ(9009016.1,IEN,$S(VTYP["HOS":.02,VTYP["DAY":.05,1:.02),"I") ;IHS/ITSC/LJF 8/9/2004 PATCH #1001
  1. .. S:DATE="" DATE="??" S:NAME="" NAME="??"
  1. .. S ^TMP("BDGICR2A",$J,NAME,PRV,DATE,IEN)=""
  1. ; now take sorted list and put into display array
  1. NEW IEN,LINE,PRV,NAME,FIRST
  1. S NAME=0,FIRST=1
  1. F S NAME=$O(^TMP("BDGICR2A",$J,NAME)) Q:NAME="" D
  1. . S PRV=0 F S PRV=$O(^TMP("BDGICR2A",$J,NAME,PRV)) Q:'PRV D
  1. .. ; mark change between providers for printing to paper
  1. .. I $G(BDGPRT),BDGRPT'=2,'FIRST D SET("@@@@@",.VALMCNT)
  1. .. I FIRST S FIRST=0
  1. .. ; display provider heading
  1. .. S X=$G(IORVON)_"Incomplete Charts for "_NAME_$G(IORVOFF)
  1. .. I BDGRPT'=2 D SET("",.VALMCNT),SET($$SP(79-$L(X)\2)_X,.VALMCNT)
  1. .. ; initialize provider's counts
  1. .. K BDGC F I="ASH","OPR","SIG","SUM","IC","DQ" S BDGC(I)=0
  1. .. S DATE=0 F S DATE=$O(^TMP("BDGICR2A",$J,NAME,PRV,DATE)) Q:DATE="" D
  1. ... S IEN=0
  1. ... F S IEN=$O(^TMP("BDGICR2A",$J,NAME,PRV,DATE,IEN)) Q:'IEN D
  1. .... ;IHS/ITSC/LJF 6/3/2005 PATCH 1003 fix way totals are calculated
  1. .... ; increment incomplete or delinquent list
  1. .... ;I DATE<BDGDELQ S BDGC("DQ")=BDGC("DQ")+1,BDGT("DQ")=BDGT("DQ")+1
  1. .... ;S BDGC("IC")=BDGC("IC")+1,BDGT("IC")=BDGT("IC")+1
  1. .... I DATE<BDGDELQ S BDGC("DQ")=$G(BDGC("DQ"))+1,BDGT("DQ",IEN)=$G(BDGT("DQ",IEN))+1
  1. .... S BDGC("IC")=$G(BDGC("IC"))+1,BDGT("IC",IEN)=$G(BDGT("IC",IEN))+1
  1. .... ;end of PATCH 1003 changes
  1. .... ; build display line
  1. .... S LINE=$$PAD($$GET1^DIQ(9009016.1,IEN,.01),20) ;patient
  1. .... S LINE=LINE_$J($$GET1^DIQ(9009016.1,IEN,.011),8) ;chart #
  1. .... ;IHS/ITSC/WAR 9/27/04 PATCH #1001 PER LJF9/24
  1. .... ;S LINE=$$PAD(LINE,30)_$$DATE(IEN) ;dsch/surg date
  1. .... S LINE=$$PAD(LINE,30)_$$NUMDATE^BDGF(DATE\1,1) ;dsch/surg date
  1. .... S LINE=$$PAD(LINE,40)_$$TYPE(IEN) ;hos vs ds/dso
  1. .... ;IHS/ITSC/WAR 9/27/04 PATCH #1001 PER LJF9/24
  1. .... ;S DAYS=$$FMDIFF^XLFDT(DT,$$IDATE(IEN)) ;# of days inc/delq
  1. .... S DAYS=$$FMDIFF^XLFDT(DT,DATE) ;# of days inc/delq
  1. .... ; now list unresolved deficiencies
  1. .... S P=0 F S P=$O(^BDGIC(IEN,1,"B",PRV,P)) Q:'P D
  1. ..... Q:$$GET1^DIQ(9009016.11,P_","_IEN,.03)]"" ;resolved
  1. ..... Q:$$GET1^DIQ(9009016.11,P_","_IEN,.04)]"" ;deleted
  1. ..... ;IHS/ITSC/LJF 6/2/2005 PATCH 1003 screen out admin only deficiencies
  1. ..... Q:$$GROUPING(P,IEN)="ADM"
  1. ..... S LINE=$$PAD(LINE,50)_$S(DATE<BDGDELQ:"*",1:" ") ;* for deliq
  1. ..... S LINE=LINE_$$GET1^DIQ(9009016.11,P_","_IEN,.02)
  1. ..... S LINE=$$PAD(LINE,72)_$J(DAYS,4) ;# days incomplete
  1. ..... I BDGRPT'=2 D SET(LINE,.VALMCNT) S LINE=""
  1. ..... ; increment grouping counts
  1. ..... S X=$$GET1^DIQ(9009016.11,P_","_IEN,.02,"I") ;chart def
  1. ..... S Y=$$GET1^DIQ(9009016.4,+X,.03,"I") ;grouping
  1. ..... ;IHS/ITSC/LJF 6/3/2005 PATCH 1003 change way totals are counted
  1. ..... ;I Y]"" S BDGC(Y)=BDGC(Y)+1,BDGT(Y)=BDGT(Y)+1
  1. ..... I Y]"" S BDGC(Y)=$G(BDGC(Y))+1,BDGT(Y,IEN)=$G(BDGT(Y,IEN))+1
  1. .... I BDGRPT'=2 D SET("",.VALMCNT) ;blank line between patients
  1. .. ; at end of each provider, display summary
  1. .. D SUMM(NAME,PRV)
  1. I BDGRPT'=1 D TOTALS
  1. I '$D(^TMP("BDGICR2",$J)) D SET("NO DATA FOUND",.VALMCNT)
  1. K ^TMP("BDGICR2A",$J)
  1. Q
  1. DATE(IEN) ; return dates for entry (external format)
  1. NEW X,TYPE
  1. S TYPE=$$GET1^DIQ(9009016.1,IEN,.0392) ;visit type
  1. I TYPE="" Q "??"
  1. I TYPE["HOS" Q $$NUMDATE^BDGF($$GET1^DIQ(9009016.1,IEN,.02,"I")\1,1)
  1. Q $$NUMDATE^BDGF($$GET1^DIQ(9009016.1,IEN,.05,"I")\1,1) ;surg date
  1. IDATE(IEN) ; return dates for entry (internal format)
  1. NEW X,TYPE
  1. S TYPE=$$GET1^DIQ(9009016.1,IEN,.0392) ;visit type
  1. I TYPE["HOS" Q $$GET1^DIQ(9009016.1,IEN,.02,"I")\1
  1. Q $$GET1^DIQ(9009016.1,IEN,.05,"I")\1 ;surg date
  1. TYPE(IEN) ; returns abbreviated visit type
  1. NEW TYPE
  1. S TYPE=$$GET1^DIQ(9009016.1,IEN,.0392) ;visit type
  1. ;Q $S(TYPE["HOS":"INP",TYPE["DAY":"DS",TYPE["OBS":"DSO",1:"??")
  1. Q $S(TYPE["HOS":"INP",TYPE["DAY":"DS",TYPE["OBS":"OBS",1:"??") ;IHS/ITSC/LJF 8/9/2004 PATCH #1001
  1. SET(DATA,NUM) ; puts display line into list template array
  1. S NUM=NUM+1
  1. S ^TMP("BDGICR2",$J,NUM,0)=DATA
  1. Q
  1. GROUPING(X1,X2) ; return internal form of chart deficiency grouping ;IHS/ITSC/LJF 6/2/2005 PATCH 1003
  1. Q $$GET1^DIQ(9009016.4,+$$GET1^DIQ(9009016.11,X1_","_X2,.02,"I"),.03,"I")
  1. OKAY(PRV,IEN) ;return 1 if provider has at least one deficiency to report ;IHS/ITSC/LJF 6/2/2005 PATCH 1003
  1. NEW P,RESULT
  1. S (P,RESULT)=0 F S P=$O(^BDGIC(IEN,1,"B",PRV,P)) Q:'P Q:RESULT D
  1. . Q:$$GET1^DIQ(9009016.11,P_","_IEN,.03)]"" ;resolved
  1. . Q:$$GET1^DIQ(9009016.11,P_","_IEN,.04)]"" ;deleted
  1. . Q:$$GROUPING(P,IEN)="ADM" ;admin only
  1. . S RESULT=1 ;good deficiency found
  1. Q RESULT
  1. SUMM(NAME,PRV) ; display subcount summary for provider
  1. NEW I,X,FIRST
  1. F I="IC","DQ","ASH","OPR","SIG","SUM" S BDGPT(NAME,PRV,I)=BDGC(I)
  1. Q:BDGRPT=2 ;summary page only
  1. D SET($$SP(5)_"Total Delinquent Charts: "_BDGC("DQ"),.VALMCNT)
  1. D SET($$SP(5)_"Total Incomplete Charts: "_BDGC("IC"),.VALMCNT)
  1. S FIRST=1 F I="ASH","OPR","SIG","SUM" I BDGC(I)>0 D
  1. . I FIRST S X=$$PAD($$SP(8)_"Incomplete/Delinquent for "_$P($T(@I),";;",2),55)_BDGC(I)
  1. . E S X=$$PAD($$SP(34)_$P($T(@I),";;",2),55)_BDGC(I)
  1. . D SET(X,.VALMCNT) S FIRST=0
  1. D SET("",.VALMCNT)
  1. Q
  1. TOTALS ; display report totals on summary page
  1. NEW LINE,NAME,PRV
  1. ; first the summary page heading
  1. I $G(BDGPRT) D SET("@@@@@",.VALMCNT)
  1. S X=$G(IORVON)_"SUMMARY PAGE"_$G(IORVOFF)
  1. D SET("",.VALMCNT),SET($$SP(79-$L(X)\2)_X,.VALMCNT)
  1. D SET("",.VALMCNT)
  1. ;IHS/ITSC/LJF 6/3/2005 PATCH 1003 enhance caption
  1. ;S LINE=$$SP(24)_"INCOMP"_$$SP(5)_"DELINQ" D SET(LINE,.VALMCNT)
  1. S LINE=$$SP(24)_"INCOMP"_$$SP(5)_"DELINQ"_$$SP(6)_"DEFICIENCY CATEGORIES" D SET(LINE,.VALMCNT)
  1. S LINE=$$PAD("PROVIDER",24)_"CHARTS CHARTS A SHEET OP RPT SUMM SIG"
  1. D SET(LINE,.VALMCNT),SET($$REPEAT^XLFSTR("=",79),.VALMCNT)
  1. S NAME=0 F S NAME=$O(BDGPT(NAME)) Q:NAME="" D
  1. . S PRV=0 F S PRV=$O(BDGPT(NAME,PRV)) Q:'PRV D
  1. .. S LINE=$$PAD($E(NAME,1,20),25)
  1. .. S LINE=LINE_$J(((BDGPT(NAME,PRV,"IC"))),3)
  1. .. S LINE=$$PAD(LINE,38)_$J(BDGPT(NAME,PRV,"DQ"),3)
  1. .. S LINE=$$PAD(LINE,45)_$J(BDGPT(NAME,PRV,"ASH"),3)
  1. .. S LINE=$$PAD(LINE,53)_$J(BDGPT(NAME,PRV,"OPR"),3)
  1. .. S LINE=$$PAD(LINE,60)_$J(BDGPT(NAME,PRV,"SUM"),3)
  1. .. S LINE=$$PAD(LINE,67)_$J(BDGPT(NAME,PRV,"SIG"),3)
  1. .. D SET(LINE,.VALMCNT)
  1. ;IHS/ITSC/LJF 6/3/2005 PATCH 1003 rewrote totals section
  1. D SET($$REPEAT^XLFSTR("=",79),.VALMCNT)
  1. ;S LINE=$$PAD($$PAD("TOTALS:",25)_$J(BDGT("IC"),3),38)_$J(BDGT("DQ"),3)
  1. ;S LINE=$$PAD($$PAD(LINE,45)_$J(BDGT("ASH"),3),53)_$J(BDGT("OPR"),3)
  1. ;S LINE=$$PAD($$PAD(LINE,60)_$J(BDGT("SUM"),3),67)_$J(BDGT("SIG"),3)
  1. S LINE=$$PAD("# DISCHARGES:",25)
  1. NEW PAT,CNT
  1. S (PAT,CNT)=0 F S PAT=$O(BDGT("IC",PAT)) Q:'PAT S CNT=CNT+1 ;# incomplete charts
  1. S LINE=$$PAD(LINE_$J(CNT,3),38)
  1. S (PAT,CNT)=0 F S PAT=$O(BDGT("DQ",PAT)) Q:'PAT S CNT=CNT+1 ;# that are delinquent
  1. S LINE=$$PAD(LINE_$J(CNT,3),45)
  1. S (PAT,CNT)=0 F S PAT=$O(BDGT("ASH",PAT)) Q:'PAT S CNT=CNT+1 ;# for A Sheet deficiencies
  1. S LINE=$$PAD(LINE_$J(CNT,3),53)
  1. S (PAT,CNT)=0 F S PAT=$O(BDGT("OPR",PAT)) Q:'PAT S CNT=CNT+1 ;# for op report deficiencies
  1. S LINE=$$PAD(LINE_$J(CNT,3),60)
  1. S (PAT,CNT)=0 F S PAT=$O(BDGT("SUM",PAT)) Q:'PAT S CNT=CNT+1 ;# for disch summmary deficiencies
  1. S LINE=$$PAD(LINE_$J(CNT,3),67)
  1. S (PAT,CNT)=0 F S PAT=$O(BDGT("SIG",PAT)) Q:'PAT S CNT=CNT+1 ;# for A Sheet deficiencies
  1. S LINE=LINE_$J(CNT,3)
  1. ;end of PATCH 1003 changes
  1. D SET(LINE,.VALMCNT)
  1. D SET($$REPEAT^XLFSTR("=",79),.VALMCNT)
  1. Q
  1. HELP ; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. EXIT ; -- exit code
  1. K ^TMP("BDGICR2",$J)
  1. Q
  1. EXPND ; -- expand code
  1. Q
  1. PRINT ; print report to paper
  1. NEW BDGX,BDGLN,WARD,BDGI,BDGPG
  1. U IO
  1. ;see 2^BDGICR for original code here, moved due to routine size limit patch 1007
  1. ;cmi/anch/maw 7/10/2007 modified below patch 1007 to adhere to new # of copies in BDGF
  1. W @IOF ;form feed between copies
  1. K BDGPG D INIT^BDGF,HDG ;cmi/anch/maw 7/10/2007 orig line patch 1007
  1. ;K BDGPG D INIT^BDGF ;cmi/anch/maw 7/10/2007 modified line patch 1007 to remove upfront header as it gets set in the ^TMP node
  1. ; loop thru display array
  1. S BDGX=0 F S BDGX=$O(^TMP("BDGICR2",$J,BDGX)) Q:'BDGX D
  1. . S BDGLN=^TMP("BDGICR2",$J,BDGX,0)
  1. . I BDGLN="@@@@@" D HDG Q
  1. . I $Y>(IOSL-4) D HDG
  1. . W !,BDGLN
  1. ;cmi/anch/maw 7/10/2007 end of mods
  1. ;D ^%ZISC,PRTKL^BDGF,EXIT ;cmi/anch/maw orig 7/10/2007 patch 1007
  1. I '$G(BDGCOP) D ^%ZISC ;cmi/anch/maw mod 7/10/2007 patch 1007
  1. D PRTKL^BDGF,EXIT ;cmi/anch/maw mod 7/10/2007 patch 1007
  1. Q
  1. HDG ; heading for paper report
  1. S BDGPG=$G(BDGPG)+1 I BDGPG>1 W @IOF
  1. W !,BDGTIME,?16,$$CONF^BDGF,?76,BDGUSR
  1. W !,BDGDATE,?24,"Incomplete Charts by Provider",?71,"Page: ",BDGPG
  1. ;IHS/ITSC/LJF 8/9/2004 PATCH #1001
  1. NEW X S X=$S(BDGTYP=1:"Inpatients",BDGTYP=2:"Observations & Day Surgeries",1:"Inpatients, Observations & Day Surgeries")
  1. W !?(80-$L(X)\2),X
  1. I BDGRPT=2 W !,$$REPEAT^XLFSTR("=",80) Q ;summary page only
  1. W !,$$REPEAT^XLFSTR("-",80)
  1. W !?2,"Patient",?22,"HRCN",?30,"Date",?40,"Type",?50,"Deficiencies"
  1. W ?72,"Days"
  1. W !,$$REPEAT^XLFSTR("=",80)
  1. Q
  1. PAD(D,L) ;EP -- SUBRTN to pad length of data
  1. ; -- D=data L=length
  1. Q $E(D_$$REPEAT^XLFSTR(" ",L),1,L)
  1. SP(N) ; -- SUBRTN to pad N number of spaces
  1. Q $$PAD(" ",N)
  1. PROVS() ;EP select providers for report
  1. ; returns type of info in BDGPRV array
  1. ; also called by ^BDGICS5 ;IHS/OIT/LJF 04/06/2006 PATCH 1005
  1. NEW X,Y
  1. ;IHS/OIT/LJF 0420/2006 PATCH 1005 added choice to print only med staff
  1. ;S Y=$$READ^BDGF("SO^1:For a Service;2:For a Class;3:For Providers by Name","Choose Selection Criteria") I Y<1 Q 0
  1. S Y=$$READ^BDGF("SO^1:For a Service;2:For a Class;3:For Providers by Name;4:Medical Staff Only","Choose Selection Criteria") I Y<1 Q 0
  1. I Y=4 D Q "NAME"
  1. . NEW FAC S FAC=$$DIV^BSDU
  1. . I FAC S X=0 F S X=$O(^BDGPAR(FAC,3,X)) Q:'X S BDGPRV(+^BDGPAR(FAC,3,X,0))=$$GET1^DIQ(9009020.13,X_","_FAC,.01)
  1. S X=$S(Y=1:"SRV",Y=2:"CLASS",1:"NAME") D @X
  1. Q X
  1. SRV ; select providers by their hospital service designation
  1. NEW X,Y
  1. S Y=1 F Q:Y<1 D
  1. . S X="Select "_$S($O(BDGPRV(0)):"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 BDGPRV(+Y)=$P(Y,U,2)
  1. Q
  1. CLASS ; select providers by their provider class
  1. NEW X,Y
  1. S Y=1 F Q:Y<1 D
  1. . S X="Select "_$S($O(BDGPRV(0)):"Another ",1:"")_"Provider Class"
  1. . S Y=$$READ^BDGF("PO^7:EMQZ",X)
  1. . I Y>0 S BDGPRV(+Y)=$P(Y,U,2)
  1. Q
  1. NAME ; select providers by name
  1. NEW X,Y
  1. S Y=1 F Q:Y<1 D
  1. . S X="Select "_$S($O(BDGPRV(0)):"Another ",1:"")_"Provider Name"
  1. . S Y=$$READ^BDGF("PO^200:EMQZ",X,"","","I $D(^XUSEC(""PROVIDER"",+Y))")
  1. . I Y>0 S BDGPRV(+Y)=$P(Y,U,2)
  1. Q
  1. GROUP ;; grouping names spelled out
  1. ASH ;;A Sheet
  1. OPR ;;Operative Report
  1. SIG ;;Signature
  1. SUM ;;Discharge Summary