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

BHSDM3.m

Go to the documentation of this file.
  1. BHSDM3 ;IHS/CIA/MGH - Health Summary for Diabetic Supplement ;19-Jan-2009 15:36;MGH
  1. ;;1.0;HEALTH SUMMARY COMPONENTS;**1,2**;March 17, 2006
  1. ;===================================================================
  1. ;VA version of IHS components for supplemental summaries
  1. ;Taken from APCHHS9B3
  1. ; IHS/TUCSON/LAB - ; [ 05/26/04 12:46 PM ]
  1. ;;2.0;IHS RPMS/PCC Health Summary;**3,5,8,9,10,11,12**;JUN 24, 1997
  1. ;Patch 1 to update to IHS patch 14
  1. ;Patch 2 for pt ed
  1. ;=====================================================================
  1. ; ;
  1. BI() ;EP- check to see if using new imm package or not 1/5/1999 IHS/CMI/LAB
  1. Q $S($O(^AUTTIMM(0))<100:0,1:1)
  1. TD(P,BHSED) ;EP
  1. NEW APCHY,X,E,B,%DT,Y,TDD
  1. S TDD=$$LASTTD^BHSMU2(P)
  1. S X=$$FMADD^XLFDT(DT,-(10*365))
  1. I TDD>X Q "Yes "_$$FMTE^XLFDT(TDD)
  1. S G=$$REFDF^BHSDM3(P,9999999.14,$O(^AUTTIMM("C",9,0)))
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(P,9999999.14,$O(^AUTTIMM("C",1,0)))
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(P,9999999.14,$O(^AUTTIMM("C",20,0)))
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(P,9999999.14,$O(^AUTTIMM("C",22,0)))
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(P,9999999.14,$O(^AUTTIMM("C",28,0)))
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(P,9999999.14,$O(^AUTTIMM("C",35,0)))
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(P,9999999.14,$O(^AUTTIMM("C",50,0)))
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(P,9999999.14,$O(^AUTTIMM("C",106,0)))
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(P,9999999.14,$O(^AUTTIMM("C",107,0)))
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(P,9999999.14,$O(^AUTTIMM("C",110,0)))
  1. I G]"" Q G
  1. ;Next two added in patch 1
  1. S G=$$REFDF^APCHS9B3(P,9999999.14,$O(^AUTTIMM("C",113,0)))
  1. I G]"" Q G
  1. S G=$$REFDF^APCHS9B3(P,9999999.14,$O(^AUTTIMM("C",115,0)))
  1. I G]"" Q G
  1. Q "No "_$$FMTE^XLFDT(TDD,U)
  1. FLU(P) ;EP
  1. NEW APCHY,%,LFLU,E,T,X
  1. S LFLU=$$LASTFLU^BHSMU2(P)
  1. I LFLU="" G FLUR
  1. ;K APCHY S %=0 F S %=$O(LFLU(%)) Q:%'=+% S APCHY(1)=%
  1. FLU1 NEW D S D=$S($E(DT,4,5)>7:$E(DT,1,3)_"0801",1:$E(DT,1,3)-1_"0801")
  1. I LFLU'<D Q "Yes "_$$FMTE^XLFDT($P(LFLU,U))
  1. FLUR ;
  1. S G=$$REFDF^BHSDM3(BHSPAT,9999999.14,$O(^AUTTIMM("C",$S($$BI:15,1:12),0)),LFLU)
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(BHSPAT,9999999.14,$O(^AUTTIMM("C",$S($$BI:16,1:12),0)),LFLU)
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(BHSPAT,9999999.14,$O(^AUTTIMM("C",$S($$BI:88,1:12),0)),LFLU)
  1. I G]"" Q G
  1. S G=$$REFDF^BHSDM3(BHSPAT,9999999.14,$O(^AUTTIMM("C",$S($$BI:111,1:12),0)),LFLU)
  1. I G]"" Q G
  1. Q "No "_$$FMTE^XLFDT(LFLU,U)
  1. REFDF(P,F,I,D) ;EP - dm item refused?
  1. I '$G(P) Q ""
  1. I '$G(F) Q ""
  1. I '$G(I) Q ""
  1. I $G(D)="" S D=""
  1. NEW X S X=$O(^AUPNPREF("AA",P,F,I,0))
  1. I 'X Q "" ;none of this item was refused
  1. NEW Y S Y=9999999-X
  1. I D]"",Y>D Q "Patient Refused "_$$VAL^XBDIQ1(F,I,.01)_" on "_$$FMTE^XLFDT(Y)
  1. Q "Patient Refused "_$$VAL^XBDIQ1(F,I,.01)_" on "_$$FMTE^XLFDT(Y)
  1. DIETV(P) ;EP
  1. I '$G(P) Q ""
  1. ;get all dietician visits
  1. ;go through all visits in AA and get last to Prov 29 or
  1. NEW D,V,G,X S (D,V,G)="" F S D=$O(^AUPNVSIT("AA",P,D)) Q:D'=+D!(G) D
  1. .S V=0 F S V=$O(^AUPNVSIT("AA",P,D,V)) Q:V'=+V!(G) D
  1. ..Q:'$D(^AUPNVSIT(V,0))
  1. ..Q:$P(^AUPNVSIT(V,0),U,11)
  1. ..Q:'$P(^AUPNVSIT(V,0),U,9)
  1. ..Q:'$D(^AUPNVPOV("AD",V))
  1. ..Q:'$D(^AUPNVPRV("AD",V))
  1. ..Q:$$DNKA^BHSDM4(V)
  1. ..Q:$$CLINIC^APCLV(V,"C")=52 ;chart review
  1. ..I $P(^AUPNVSIT(V,0),U,7)="C" Q ;chart review
  1. ..I $$CLINIC^APCLV(V,"C")=67 S G=V Q
  1. ..S X=$$DIETP(V) ; is there a prov 07 or 29
  1. ..I X S G=V Q
  1. ..Q
  1. .Q
  1. I 'G Q ""
  1. Q $$FMTE^XLFDT($P($P(^AUPNVSIT(G,0),U),"."))_" "_$E($$PRIMPOV^APCLV(G,"N"),1,39)
  1. DIETP(V) ;are any providers an 07 or 29
  1. I '$G(V) Q ""
  1. NEW X,Y,Z,H
  1. S H="",Z=0 F S Z=$O(^AUPNVPRV("AD",V,Z)) Q:Z'=+Z!(H) D
  1. .S Y=$P(^AUPNVPRV(Z,0),U) ;provider ien
  1. .I $P(^DD(9000010.06,.01,0),U,2)[200 S Y=$$PROVCLSC^XBFUNC1(Y) I Y=29!(Y="07") S H=1 Q
  1. .Q
  1. Q H
  1. SELF(P,D) ;EP
  1. I '$G(P) Q ""
  1. I '$G(D) S D=0 ;if don't pass date look at all time
  1. NEW V,I,%
  1. S %=""
  1. NEW T S T=$O(^ATXAX("B","DM AUDIT SELF MONITOR DRUGS",0))
  1. I 'T Q "<<Missing DM AUDIT SELF MONITOR DRUGS taxonomy>>"
  1. S I=0 F S I=$O(^AUPNVMED("AA",P,I)) Q:I'=+I!(%)!(I>(9999999-D)) D
  1. .S V=0 F S V=$O(^AUPNVMED("AA",P,I,V)) Q:V'=+V I $D(^AUPNVMED(V,0)) S G=$P(^AUPNVMED(V,0),U) I $D(^ATXAX(T,21,"B",G)) S %=V
  1. I %]"" D Q %
  1. .I $P(^AUPNVMED(%,0),U,8)="" S %="Yes, dispensed "_$$VAL^XBDIQ1(9000010.14,%,.01)_" on "_$$FMTE^XLFDT($P($P(^AUPNVSIT($P(^AUPNVMED(%,0),U,3),0),U),".")) Q
  1. .I $P(^AUPNVMED(%,0),U,8)]"" S %="Discontinued - "_$$VAL^XBDIQ1(9000010.14,%,.01)_" on "_$$FMTE^XLFDT($P($P(^AUPNVSIT($P(^AUPNVMED(%,0),U,3),0),U),".")) Q
  1. S V=$$LASTHF^BHSMU(BHSDFN,"DIABETES SELF MONITORING","B") I V]"" Q V
  1. Q "No Evidence in the past year"
  1. EDUCREF ;EP - gather up all education provided in past year in APCHX
  1. K APCHX,APCHY
  1. S APCHY=0 F S APCHY=$O(^AUPNPREF("AA",BHSPAT,9999999.09,APCHY)) Q:APCHY'=+APCHY I $$EDT(APCHY) S APCHD=$O(^AUPNPREF("AA",BHSPAT,9999999.09,APCHY,0)) I APCHD<(9999999-BHSBEG) D
  1. .S APCHX($P(^AUTTEDT(APCHY,0),U))=$$FMTE^XLFDT(9999999-APCHD)
  1. Q
  1. EDT(E) ;
  1. ;is this ien in any taxonomy
  1. NEW T
  1. S T=$O(^ATXAX("B","DM AUDIT DIABETES EDUC TOPICS",0))
  1. I T,$D(^ATXAX(T,21,"B",E)) Q 1
  1. S T=$O(^ATXAX("B","DM AUDIT DIET EDUC TOPICS",0))
  1. I T,$D(^ATXAX(T,21,"B",E)) Q 1
  1. S T=$O(^ATXAX("B","DM AUDIT EXERCISE EDUC TOPICS",0))
  1. I T,$D(^ATXAX(T,21,"B",E)) Q 1
  1. S T=$O(^ATXAX("B","DM AUDIT OTHER EDUC TOPICS",0))
  1. I T,$D(^ATXAX(T,21,"B",E)) Q 1
  1. S T=$P($G(^AUTTEDT(T,0)),U,2)
  1. I $P(T,"-")="DM" Q 1
  1. I $P(T,"-")="DMC" Q 1
  1. Q ""