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

BGP2CPU.m

Go to the documentation of this file.
  1. BGP2CPU ; IHS/CMI/LAB - calc CMS measures 26 Sep 2004 11:28 AM 04 May 2010 2:38 PM 02 Jul 2010 9:11 AM ;
  1. ;;12.1;IHS CLINICAL REPORTING;;MAY 17, 2012;Build 66
  1. ;
  1. WDOB(P) ;EP
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !?2,"Date of Birth: ",$$DATE^BGP2UTL($P(^DPT(P,0),U,3))
  1. Q
  1. ;
  1. WRACE(P) ;EP
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"Race: ",$$VAL^XBDIQ1(2,DFN,.06)
  1. Q
  1. ;
  1. WZIP(P) ;EP
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !?2,"Postal Code: ",$$VAL^XBDIQ1(2,P,.116)
  1. Q
  1. WADM(I) ;EP
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !?2,"Admission Type: ",$$VAL^XBDIQ1(9000010.02,I,.07)
  1. Q
  1. WADM92(I) ;EP
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !?2,"Admission Type-UB92: ",$$VAL^XBDIQ1(9000010.02,I,6101)
  1. Q
  1. ;
  1. WADMS92(I) ;EP
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !?2,"Admission Source-UB92: ",$$VAL^XBDIQ1(9000010.02,I,6102)
  1. Q
  1. ;
  1. WDSGS92(I) ;EP
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. NEW T
  1. W !?2,"Discharge Status-UB92: " S T=$$VALI^XBDIQ1(9000010.02,I,6103) I T W $$VAL^XBDIQ1(99999.04,T,.02)
  1. Q
  1. ;
  1. WINS(V,P) ;EP
  1. ;check medicare
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !?2,"Insurance Status: "
  1. NEW I,D,MCR,MCD,PI,RR,J,Y,X,Q,N,C
  1. S (MCR,MCD,PI,RR)=0
  1. S D=$P($P(^AUPNVSIT(V,0),U),".")
  1. S I=0
  1. F S I=$O(^AUPNMCR(P,11,I)) Q:I'=+I!(BGPQUIT) D
  1. . Q:$P(^AUPNMCR(P,11,I,0),U)>D
  1. . I $P(^AUPNMCR(P,11,I,0),U,2)]"",$P(^(0),U,2)<D Q
  1. . I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. . W !?3,"Medicare Coverage Type: ",$P(^AUPNMCR(P,11,I,0),U,3)," Policy #: ",$P(^AUPNMCR(P,0),U,3)," Effective Date: ",$$DATE^BGP2UTL($P(^AUPNMCR(P,11,I,0),U))
  1. . S MCR=1
  1. . Q
  1. ;medicaid
  1. Q:BGPQUIT
  1. S Y=0
  1. S I=0 F S I=$O(^AUPNMCD("B",P,I)) Q:I'=+I!(BGPQUIT) D
  1. .Q:'$D(^AUPNMCD(I,11))
  1. .S J=0 F S J=$O(^AUPNMCD(I,11,J)) Q:J'=+J!(BGPQUIT) D
  1. ..Q:J>D
  1. ..I $P(^AUPNMCD(I,11,J,0),U,2)]"",$P(^(0),U,2)<D Q
  1. ..S MCD=1
  1. ..I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. ..W !?3,"Medicaid ",$$VAL^XBDIQ1(9000004,I,.11)," Coverage Type: ",$P(^AUPNMCD(I,11,J,0),U,3)," Policy #: ",$P(^AUPNMCD(I,0),U,3),!?10," Effective Date: ",$$DATE^BGP2UTL($P(^AUPNMCD(I,11,J,0),U))
  1. ..Q
  1. .Q
  1. ;pi
  1. Q:BGPQUIT
  1. S I=0
  1. F S I=$O(^AUPNPRVT(P,11,I)) Q:I'=+I!(BGPQUIT) D
  1. . Q:$P(^AUPNPRVT(P,11,I,0),U)=""
  1. . S X=$P(^AUPNPRVT(P,11,I,0),U) Q:X=""
  1. . Q:$P(^AUTNINS(X,0),U)["AHCCCS"
  1. . Q:$P(^AUPNPRVT(P,11,I,0),U,6)>D
  1. . I $P(^AUPNPRVT(P,11,I,0),U,7)]"",$P(^(0),U,7)<D Q
  1. . S PI=1
  1. . W !?3,"Private ",$P(^AUTNINS(X,0),U)
  1. . S Q=$P(^AUPNPRVT(P,11,I,0),U,8)
  1. . I Q S N=$P($G(^AUPN3PPH(Q,0)),U,4)
  1. . I 'Q S N=$P(^AUPNPRVT(P,11,I,0),U,2)
  1. . I Q S C=$$VAL^XBDIQ1(9000003.1,Q,.05)
  1. . I 'Q S C=$P(^AUPNPRVT(P,11,I,0),U,3) I C S C=$P($G(^AUTTPIC(C,0)),U)
  1. . W " Coverage Type: ",C,!?10," Policy #: ",N," Effective Date: ",$$DATE^BGP2UTL($P(^AUPNPRVT(P,11,I,0),U,6))
  1. ;RR
  1. Q:BGPQUIT
  1. S I=0
  1. F S I=$O(^AUPNRRE(P,11,I)) Q:I'=+I!(BGPQUIT) D
  1. . Q:$P(^AUPNRRE(P,11,I,0),U)>D
  1. . I $P(^AUPNRRE(P,11,I,0),U,2)]"",$P(^(0),U,2)<D Q
  1. . I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. . W !?3,"Railroad Coverage Type: ",$P(^AUPNRRE(P,11,I,0),U,3)," Policy #: ",$P(^AUPNRRE(P,0),U,4)," Effective Date: ",$$DATE^BGP2UTL($P(^AUPNRRE(P,11,I,0),U))
  1. . S MCR=1
  1. . Q
  1. I '(MCR+MCD+PI+RR) W "No Insurance per Patient Registration"
  1. W !
  1. Q
  1. WBETAAL ;EP - write out BETA allergy
  1. I $Y>(BGPIOSL-4) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,$S(BGPPEX[8:"*",1:""),"Beta Blocker Allergy? "
  1. I X="" W "No, None Recorded" Q
  1. W !?4,X
  1. Q
  1. ;
  1. WLASTBB ;EP write out beta blocker status
  1. I $Y>(BGPIOSL-4) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"Beta Blocker Rx Status? "
  1. I '$D(X) W "No Rxs documented"
  1. K BGPLETXT S BGPLETP("ICL")=0,BGPLETP("LGTH")=70,BGPLETP("NRQ")=X,BGPLETP("TXT")="",BGPLEC=0
  1. D GETTXT^BGP2CPU4
  1. S BGPZZ=0 F S BGPZZ=$O(BGPLETXT(BGPZZ)) Q:BGPZZ'=+BGPZZ!(BGPQUIT) D
  1. .D:$Y>(BGPIOSL-3) HDR^BGP2CP Q:BGPQUIT W !?4,BGPLETXT(BGPZZ)
  1. ;W !?4,X
  1. I Z]"" W !?4,Z
  1. ;W !
  1. Q
  1. WNMIBETA ;EP - write out nmi BETA BLOCKER
  1. I '$D(BGPDATA) D Q
  1. .I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. .W !!?2,"NMI Refusal? No"
  1. I $Y>(BGPIOSL-6) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"NMI Refusal: Yes"
  1. S BGPXX=0 F S BGPXX=$O(BGPDATA(BGPXX)) Q:BGPXX'=+BGPXX D
  1. .I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. .W !?4,BGPDATA(BGPXX)
  1. I $Y>(BGPIOSL-4) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. I Z]"" W !?4,Z
  1. W !,"NOTE: The patient's chart needs to be reviewed to determine if this was"
  1. W !,"documented by a physician/APN/PA before it is used to exclude patients"
  1. W !,"from the denominator."
  1. Q
  1. WCESSMED ;EP write out CESSATION DATA
  1. NEW X,C S (X,C)=0 F S X=$O(BGPDATA(X)) Q:X'=+X S C=C+1
  1. I $Y>(BGPIOSL-(C+3)) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"Smoking Cessation Medication Rx Status? "
  1. I '$D(BGPDATA) W "No Rxs documented" Q
  1. S X=0 F S X=$O(BGPDATA(X)) Q:X'=+X W !?4,$$DATE^BGP2UTL($P(BGPDATA(X),U))," ",$P(BGPDATA(X),U,2)
  1. W !,"NOTE: Per the CMS Data Abstraction Guidelines, a prescription of a smoking "
  1. W !,"cessation aid during hospital stay or at discharge meets the numerator "
  1. W !,"requirements."
  1. Q
  1. WCESS ;EP write out CESSATION DATA
  1. NEW X,C S (X,C)=0 F S X=$O(BGPDATA(X)) Q:X'=+X S C=C+1
  1. I $Y>(BGPIOSL-(C+2)) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"Smoking Cessation Advice/Counseling: "
  1. I '$D(BGPDATA) W "Nothing recorded"
  1. S BGPXX=0 F S BGPXX=$O(BGPDATA(BGPXX)) Q:BGPXX'=+BGPXX W !?4,$$DATE^BGP2UTL($P(BGPDATA(BGPXX),U))," ",$P(BGPDATA(BGPXX),U,2)
  1. ;W !
  1. Q
  1. WSMOKER ;EP write out smoking data
  1. NEW X,C S (X,C)=0 F S X=$O(BGPDATA(X)) Q:X'=+X S C=C+1
  1. I $Y>(BGPIOSL-(C+2)) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"Smoking Data: "
  1. I '$D(BGPDATA) W "Nothing recorded"
  1. S X=0 F S X=$O(BGPDATA(X)) Q:X'=+X W !?4,BGPDATA(X)
  1. ;W !
  1. Q
  1. WAORTIC ;EP write out DX
  1. NEW X,C S (X,C)=0 F S X=$O(BGPDATA(X)) Q:X'=+X S C=C+1
  1. I $Y>(BGPIOSL-(C+2)) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,$S(BGPPEX[7:"*",1:""),"Moderate or Severe Aortic Stenosis? "
  1. I '$D(BGPDATA) W "No Recorded Dxs"
  1. S X=0 F S X=$O(BGPDATA(X)) Q:X'=+X W !?4,BGPDATA(X)
  1. ;W !
  1. Q
  1. WLASTACE ;EP - write out ace/arb
  1. I $Y>(BGPIOSL-4) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"ACEI or ARB Rx Status? "
  1. I X="",Z="" W "No Rxs" Q
  1. W !?4,X
  1. W !?4,Z
  1. ;W !
  1. Q
  1. WNMIACE(X) ;EP - write out nmi ACE/ARB
  1. I '$D(X) D Q
  1. .I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. .W !!?2,"NMI Refusal? No"
  1. I $Y>(BGPIOSL-6) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"NMI Refusal: Yes"
  1. NEW Y S Y=0 F S Y=$O(X(Y)) Q:Y'=+Y W !?4,X(Y)
  1. W !,"NOTE: The patient's chart needs to be reviewed to determine if this was"
  1. W !,"documented by a physician/APN/PA before it is used to exclude patients"
  1. W !,"from the denominator."
  1. Q
  1. WACEALEG ;EP - write out asa allergy
  1. I $Y>(BGPIOSL-4) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,$S(BGPPEX[6:"*",1:""),"ACEI and/or ARB Allergy? "
  1. I X="",Z="" W "No, None Recorded" Q
  1. I X]"" W !?4,"ACEI: Yes ",$P(X,U,2)
  1. I Z]"" W !?4,"ARB: Yes ",$P(Z,U,2)
  1. Q
  1. WDXS ;EP write out DX
  1. NEW X,C S (X,C)=0 F S X=$O(BGPDX(X)) Q:X'=+X S C=C+1
  1. I $Y>(BGPIOSL-(C+4)) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"Angioedema, Hyperkalemia, Hypotension, Renal Artery Stenosis, or Worsening"
  1. W !,"Renal Function/Renal Disease/Dysfunction? "
  1. I '$D(BGPDX) W !?4,"None Recorded" Q
  1. S X=0 F S X=$O(BGPDX(X)) Q:X'=+X W !?4,BGPDX(X)
  1. W !,"NOTE: The patient's chart needs to be reviewed to determine if this"
  1. W !,"was documented by a physician/APN/PA before it is used to exclude "
  1. W !,"patients from the denominator."
  1. ;W !
  1. Q
  1. ;
  1. WLVSD ;EP write out lsvd/cef
  1. NEW X,C S (X,C)=0 F S X=$O(BGPDATA(X)) Q:X'=+X S C=C+1
  1. I $Y>(BGPIOSL-(C+5)) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"LVSD and/or EF: " I '$D(BGPDATA) W "None Recorded" Q
  1. S X=0 F S X=$O(BGPDATA(X)) Q:X'=+X W !?4,BGPDATA(X)
  1. W !,"NOTE: The patient's chart still needs to be reviewed to determine if the"
  1. W !,"LVEF is <40% or the LVS narrative indicates moderate or severe systolic"
  1. W !,"dysfunction. Refer to CMS Specification Manual for National Hospital"
  1. W !,"Quality Measures, Appendix H, Table 1.5 (LVSD Notes Table) for information"
  1. W !,"on determining if patient meets CMS LVSD criteria."
  1. Q
  1. ;
  1. WIVUD ;EP - write out all allergies from problem list
  1. NEW X,C S (X,C)=0 F S X=$O(BGPDATA(X)) Q:X'=+X S C=C+1
  1. I $Y>(BGPIOSL-5) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"ALL Unit Dose/IV Meds during Hospital Stay: ",$$DATE^BGP2UTL($P($P(^AUPNVSIT(BGPVSIT,0),U),"."))," - ",$$DATE^BGP2UTL($P($P(^AUPNVINP(BGPVINP,0),U),"."))
  1. S BGPXX=0 F S BGPXX=$O(BGPDATA(BGPXX)) Q:BGPXX'=+BGPXX!(BGPQUIT) D
  1. .K BGPLETXT S BGPLETP("ICL")=0,BGPLETP("LGTH")=70,BGPLETP("NRQ")=BGPDATA(BGPXX),BGPLETP("TXT")="",BGPLEC=0
  1. .D GETTXT^BGP2CPU4
  1. .S BGPZZ=0 F S BGPZZ=$O(BGPLETXT(BGPZZ)) Q:BGPZZ'=+BGPZZ!(BGPQUIT) D
  1. ..D:$Y>(BGPIOSL-3) HDR^BGP2CP Q:BGPQUIT W !?4,BGPLETXT(BGPZZ)
  1. ;.I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. ;.W !?4,BGPDATA(BGPXX)
  1. ;W !
  1. Q
  1. ;
  1. WWARRX ;EP - write out all warfarin rxs
  1. NEW X,C S (X,C)=0 F S X=$O(BGPDATA(X)) Q:X'=+X S C=C+1
  1. I $Y>(BGPIOSL-(C+2)) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,$S(BGPPEX[4:"*",1:""),"Warfarin/Coumadin Contraindication?: "
  1. I '$D(BGPDATA) W "No, None Recorded" Q
  1. W "Yes" S X=0 F S X=$O(BGPDATA(X)) Q:X'=+X W !?4,BGPDATA(X)
  1. Q
  1. ;
  1. WASAALEG ;EP - write out asa allergy
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,$S(BGPPEX[3:"*",1:""),"Aspirin Allergy? "
  1. I X="" W "No, None Recorded" Q
  1. W !?4,"Yes ",X
  1. Q
  1. WALLALG ;EP - write out all allergies from problem list
  1. NEW X,C S (X,C)=0 F S X=$O(BGPDATA(X)) Q:X'=+X S C=C+1
  1. I $Y>(BGPIOSL-5) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"ALL Allergies from Problem List: "
  1. ;S X=0 F S X=$O(BGPDATA(X)) Q:X'=+X W !?4,BGPDATA(X)
  1. S BGPXX=0 F S BGPXX=$O(BGPDATA(BGPXX)) Q:BGPXX'=+BGPXX!(BGPQUIT) D
  1. .I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. .W !?4,BGPDATA(BGPXX)
  1. Q
  1. ;
  1. WALLALGT ;EP - write out all allergies from allergy tracking
  1. NEW X,C S (X,C)=0 F S X=$O(BGPDATA(X)) Q:X'=+X S C=C+1
  1. I $Y>(BGPIOSL-5) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"ALL Allergies from Allergy Tracking: "
  1. ;S X=0 F S X=$O(BGPDATA(X)) Q:X'=+X W !?4,BGPDATA(X)
  1. S BGPXX=0 F S BGPXX=$O(BGPDATA(BGPXX)) Q:BGPXX'=+BGPXX!(BGPQUIT) D
  1. .I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. .W !?4,BGPDATA(BGPXX)
  1. Q
  1. ;
  1. WLASTAP ;EP - write out last rx
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"Other Anti-Platelet Rx Status? "
  1. ;I X="" W ""
  1. I X]"" W !?4,X
  1. I $D(BGPUD) W !?4,"UNIT DOSE/IV During Hospital Stay: " D
  1. .S BGPXX=0 F S BGPXX=$O(BGPUD(BGPXX)) Q:BGPXX'=+BGPXX!(BGPQUIT) D
  1. ..K BGPLETXT S BGPLETP("ICL")=0,BGPLETP("LGTH")=70,BGPLETP("NRQ")=BGPUD(BGPXX),BGPLETP("TXT")="",BGPLEC=0
  1. ..D GETTXT^BGP2CPU4
  1. ..S BGPZZ=0 F S BGPZZ=$O(BGPLETXT(BGPZZ)) Q:BGPZZ'=+BGPZZ!(BGPQUIT) D
  1. ...D:$Y>(BGPIOSL-3) HDR^BGP2CP Q:BGPQUIT W !?6,BGPLETXT(BGPZZ)
  1. ;W !
  1. Q
  1. WLASTASP ;EP - write out last rx
  1. I $Y>(BGPIOSL-5) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"Aspirin Rx Status? "
  1. ;I X="" W ""
  1. I X]"" W !?4,X
  1. I $D(BGPUD) W !?4,"UNIT DOSE/IV During Hospital Stay: " D
  1. .S BGPXX=0 F S BGPXX=$O(BGPUD(BGPXX)) Q:BGPXX'=+BGPXX!(BGPQUIT) D
  1. ..K BGPLETXT S BGPLETP("ICL")=0,BGPLETP("LGTH")=70,BGPLETP("NRQ")=BGPUD(BGPXX),BGPLETP("TXT")="",BGPLEC=0
  1. ..D GETTXT^BGP2CPU4
  1. ..S BGPZZ=0 F S BGPZZ=$O(BGPLETXT(BGPZZ)) Q:BGPZZ'=+BGPZZ!(BGPQUIT) D
  1. ...D:$Y>(BGPIOSL-3) HDR^BGP2CP Q:BGPQUIT W !?6,BGPLETXT(BGPZZ)
  1. ;.S BGPXX=0 F S BGPXX=$O(BGPUD(BGPXX)) Q:BGPXX'=+BGPXX D
  1. ;..I $Y>(BGPIOSL-2) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. ;..W !?6,BGPUD(BGPXX)
  1. ;S Y=0 F S Y=$O(BGPUD(Y)) Q:Y'=+Y W !?6,BGPUD(Y)
  1. Q
  1. WASPCPT(X) ;EP
  1. I $G(X)="" Q
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !?4,"CPT: ",X
  1. Q
  1. WNMIASP ;EP - write out nmi aspirin
  1. I '$D(BGPDATA) D Q
  1. .I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. .W !!?2,"NMI Refusal? No"
  1. I $Y>(BGPIOSL-6) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"NMI Refusal: Yes"
  1. NEW Y S Y=0 F S Y=$O(BGPDATA(Y)) Q:Y'=+Y D
  1. .S BGPXX=0 F S BGPXX=$O(BGPDATA(BGPXX)) Q:BGPXX'=+BGPXX D
  1. ..I $Y>(BGPIOSL-2) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. ..W !?6,BGPDATA(BGPXX)
  1. ;W !?4,BGPDATA(Y)
  1. W !,"NOTE: The patient's chart needs to be reviewed to determine if this was"
  1. W !,"documented by a physician/APN/PA before it is used to exclude patients"
  1. W !,"from the denominator."
  1. Q
  1. WCOMFORT(X) ;EP - write out comfort message
  1. I X="" D Q
  1. .I $Y>(BGPIOSL-4) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. .W !!?2,"Comfort Measures? None Recorded."
  1. I $Y>(BGPIOSL-5) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W !!?2,"Comfort Measures? ",X
  1. W !,"NOTE: The patient's chart needs to be reviewed to determine if"
  1. W !,"this was documented by a physician/APN/PA before it is used"
  1. W !,"to exclude patients from the denominator. "
  1. Q
  1. ;
  1. WDOD(V) ;EP - write dod
  1. I $Y>(BGPIOSL-2) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. I $$DOD^AUPNPAT(V)]"" D
  1. .W !!?2,$S(BGPPEX[1!(BGPPEX[5):"*",1:""),"Date of Death: ",$$DATE^BGP2UTL($$DOD^AUPNPAT(V))
  1. Q
  1. ;
  1. WDT(V) ;EP - write discharge type at column 3
  1. I $Y>(BGPIOSL-2) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W:'$D(BGPNOBA) ! W !?2,$S(BGPPEX[1!(BGPPEX[5):"*",1:""),"Discharge Type: ",$$VAL^XBDIQ1(9000010.02,V,.06)
  1. Q
  1. ;
  1. WTT(V) ;EP - write transferred to
  1. I $Y>(BGPIOSL-2) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W:'$D(BGPNOBA) ! W !?2,"Transferred to: ",$$VAL^XBDIQ1(9000010.02,V,.09)
  1. Q
  1. ;
  1. WPPDPOV(V) ;EP
  1. I $Y>(BGPIOSL-3) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W:'$D(BGPNOBA) ! W !?2,"Primary Discharge POV: "_$$PRIMPOV^APCLV(V,"C")," ",$$PRIMPOV^APCLV(V,"N")
  1. Q
  1. ;
  1. OTHDPOVS(V) ;EP write out other discharge povs
  1. NEW X,C
  1. S (X,C)=0 F S X=$O(^AUPNVPOV("AD",BGPVSIT,X)) Q:X'=+X D
  1. .Q:'$D(^AUPNVPOV(X,0))
  1. .Q:$P(^AUPNVPOV(X,0),U,12)="P"
  1. .S C=C+1
  1. .Q
  1. I $Y>(BGPIOSL-(C+3)) D HDR^BGP2CP Q:BGPQUIT D L1H^BGP2CP
  1. W:'$D(BGPNOBA) ! W !?2,"Other Discharge POVs for this visit:",$S(C=0:" None",1:"")
  1. S (X,C)=0 F S X=$O(^AUPNVPOV("AD",BGPVSIT,X)) Q:X'=+X D
  1. .Q:'$D(^AUPNVPOV(X,0))
  1. .Q:$P(^AUPNVPOV(X,0),U,12)="P"
  1. .S C=C+1
  1. .S I=$P(^AUPNVPOV(X,0),U),I=$P($$ICDDX^ICDCODE(I),U,2)
  1. .S N=$$VAL^XBDIQ1(9000010.07,X,.04),N=$$UP^XLFSTR(N)
  1. .W !?4,I,?11,N
  1. Q
  1. CTR(X,Y) ;EP - Center X in a field Y wide.
  1. Q $J("",$S($D(Y):Y,1:80)-$L(X)\2)_X
  1. ;----------
  1. EOP ;EP - End of page.
  1. Q:$E(IOST)'="C"
  1. Q:$D(ZTQUEUED)!'(IOT="TRM")!$D(IO("S"))
  1. NEW DIR
  1. K DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
  1. S DIR(0)="E" D ^DIR
  1. Q
  1. ;----------
  1. USR() ;EP - Return name of current user from ^VA(200.
  1. Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
  1. ;----------