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

BHSPMH2.m

Go to the documentation of this file.
  1. BHSPMH2 ;IHS/MSC/MGH - Health Summary for Patient wellness handout ;17-Mar-2009 15:49;MGH
  1. ;;1.0;HEALTH SUMMARY COMPONENTS;**1,2**;March 17,2006
  1. ;=============================================================
  1. ;Taken from routine APCHSMPH2
  1. ; IHS/CMI/GRL Patient Health Summary - Post Visit ;
  1. ;;2.0;IHS RPMS/PCC Health Summary;**15**;JUN 24, 1997
  1. ;
  1. ;
  1. ;
  1. Q
  1. LAB(P,T,LT) ;EP
  1. I '$G(LT) S LT=""
  1. NEW D,V,G,X,J,R S (D,G)=0 F S D=$O(^AUPNVLAB("AE",P,D)) Q:D'=+D!(G) D
  1. .S X=0 F S X=$O(^AUPNVLAB("AE",P,D,X)) Q:X'=+X!(G) D
  1. ..S Y=0 F S Y=$O(^AUPNVLAB("AE",P,D,X,Y)) Q:Y'=+Y!(G) D
  1. ...I $D(^ATXLAB(T,21,"B",X)),$P(^AUPNVLAB(Y,0),U,4)]"" S G=Y Q
  1. ...Q:'LT
  1. ...S J=$P($G(^AUPNVLAB(Y,11)),U,13) Q:J=""
  1. ...Q:'$$LOINC(J,LT)
  1. ...S G=Y
  1. ...Q
  1. ..Q
  1. .Q
  1. I 'G S R=$$REF(P,T) Q "||||||"_R
  1. Q $P(^AUPNVLAB(G,0),U,4)_"|||"_$$FMTE^XLFDT($P($P(^AUPNVSIT($P(^AUPNVLAB(G,0),U,3),0),U),"."))_"|||"_$$REF(P,T,$P($P(^AUPNVSIT($P(^AUPNVLAB(G,0),U,3),0),U),"."))_"|||"_G
  1. LOINC(A,B) ;
  1. NEW %
  1. S %=$P($G(^LAB(95.3,A,9999999)),U,2)
  1. I %]"",$D(^ATXAX(B,21,"B",%)) Q 1
  1. S %=$P($G(^LAB(95.3,A,0)),U)_"-"_$P($G(^LAB(95.3,A,0)),U,15)
  1. I $D(^ATXAX(B,21,"B",%)) Q 1
  1. Q ""
  1. ;
  1. DATE(D) ;EP - convert to slashed date
  1. I $G(D)="" Q ""
  1. Q $E(D,4,5)_"/"_$E(D,6,7)_"/"_$E(D,2,3)
  1. REF(P,T,D) ;return refusal string after date D for test is tax T
  1. I '$G(P) Q ""
  1. I '$G(T) Q ""
  1. I '$G(D) S D=""
  1. N BHSREF,BHST,V S BHST=0 F S BHST=$O(^ATXLAB(T,21,"B",BHST)) Q:BHST'=+BHST D
  1. .S V=$$REF1(P,60,BHST,D) I V]"" S BHSREF(9999999-$P(V,U,3))=V
  1. I $D(BHSREF) S %=0,%=$O(BHSREF(%)) I % S V=BHSREF(%) Q V
  1. Q ""
  1. REF1(P,F,I,D,T) ; ;
  1. I '$G(P) Q ""
  1. I '$G(F) Q ""
  1. I '$G(I) Q ""
  1. I $G(D)="" S D=""
  1. I $G(T)="" S T="E"
  1. NEW X,N S X=$O(^AUPNPREF("AA",P,F,I,0))
  1. I 'X Q "" ;none of this item was refused
  1. S N=$O(^AUPNPREF("AA",P,F,I,X,0))
  1. NEW Y S Y=9999999-X
  1. I D]"",Y>D Q $S(T="I":Y,1:$$TYPEREF(N)_"-"_$$DATE(Y))
  1. I T="I" Q Y ;quit on internal form of date
  1. Q $$TYPEREF(N)_"-"_$$DATE(Y)
  1. ;
  1. TYPEREF(N) ;
  1. NEW % S %=$P(^AUPNPREF(N,0),U,7)
  1. I %="R"!(%="") Q "Refused"
  1. I %="N" Q "Not Med Ind"
  1. I %="F" Q "No Resp to F/U"
  1. Q ""
  1. ;
  1. ;
  1. GETLABSX ;get lab tests ordered today
  1. ;
  1. N BHSLR,BHSTSTP,BHSLRO,BHSTEST,BHSTST,BHSVLAB,BHSTSTP,BHSSIVD,BHSTCTR,BHSCTR
  1. S BHSLR=$G(^DPT(BHSDFN,"LR"))
  1. I $G(BHSLR)]"" S BHSLRO=0,BHSTSTP=0 D
  1. .F S BHSLRO=$O(^LRO(69,DT,1,"AA",BHSLR,BHSLRO)) Q:BHSLRO="" Q:BHSLRO'=+BHSLRO D
  1. ..F S BHSTSTP=$O(^LRO(69,DT,1,BHSLRO,2,"B",BHSTSTP)) Q:BHSTSTP'=+BHSTSTP D
  1. ...S BHSTCTR=$O(^LRO(69,DT,1,BHSLRO,2,"B",BHSTSTP,0))
  1. ...S BHSTEST=$P(^LAB(60,BHSTSTP,0),U)
  1. ...S BHSTST(BHSTEST)=""
  1. ...Q
  1. ;
  1. ;
  1. GETLABS ;get todays labs from V Lab File
  1. S BHSLR=$G(^DPT(BHSSDFN,"LR"))
  1. I $D(^AUPNVLAB("AE",BHSSDFN,BHSSIVD)) S BHSTSTP=0,BHSVLAB=0 D
  1. .F S BHSTSTP=$O(^AUPNVLAB("AE",BHSSDFN,BHSSIVD,BHSTSTP)) Q:BHSTSTP="" Q:BHSTSTP'=+BHSTSTP D
  1. ..S BHSTEST=$P(^LAB(60,BHSTSTP,0),U),BHSTST(BHSTEST)=""
  1. ..S BHSVLAB=$O(^AUPNVLAB("AE",BHSSDFN,BHSSIVD,BHSTSTP,BHSVLAB)) Q:BHSVLAB'=+BHSVLAB
  1. ..I $D(^AUPNVLAB(BHSVLAB,21)) S BHSCTR=0 F S BHSCTR=$O(^AUPNVLAB(BHSVLAB,21,BHSCTR)) Q:'BHSCTR D
  1. ...Q:BHSCTR'=+BHSCTR
  1. ...S BHSTST(BHSTEST,BHSCTR)=$P(^AUPNVLAB(BHSVLAB,21,BHSCTR,0),U)
  1. ..Q
  1. Q
  1. ;
  1. BHSLHD ;
  1. ;S X="Lab tests can help measure health and some check to make sure that your" D S(X,1)
  1. ;S X="medicines are working right." D S(X)
  1. ;