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

BGP2D862.m

Go to the documentation of this file.
  1. BGP2D862 ; IHS/CMI/LAB - measure C ;
  1. ;;12.1;IHS CLINICAL REPORTING;;MAY 17, 2012;Build 66
  1. ;
  1. RHEUAR(P,BDATE,EDATE) ;EP
  1. ;must have osteoarthritis on pl prior to BDATE or have a pov prior to bdate
  1. ;and have 2 povs between bdate and edate
  1. I '$G(P) Q ""
  1. S (G,X,Y,A,H,C)=""
  1. ;first check for pov prior to bdate
  1. K BGPG
  1. S Y="BGPG("
  1. S X=P_"^LAST DX [BGP RHEUMATOID ARTHRITIS DXS;DURING "_$$DOB^AUPNPAT(P)_"-"_BDATE S E=$$START1^APCLDF(X,Y)
  1. S H="" I $D(BGPG(1)) S H=$$DATE^BGP2UTL($P(BGPG(1),U))_" "_$P(BGPG(1),U,2)
  1. I H]"" G RPDXS
  1. ;now check for pl entry prior to BDATE
  1. S T=$O(^ATXAX("B","BGP RHEUMATOID ARTHRITIS DXS",0))
  1. S (X,B)=0 F S X=$O(^AUPNPROB("AC",P,X)) Q:X'=+X!(H) D
  1. .Q:$P(^AUPNPROB(X,0),U,8)>BDATE ;if added to pl after beginning of time period, no go
  1. .S Y=$P(^AUPNPROB(X,0),U)
  1. .Q:$P(^AUPNPROB(X,0),U,12)'="A"
  1. .Q:'$$ICD^ATXCHK(Y,T,9)
  1. .S H=$$DATE^BGP2UTL($P(^AUPNPROB(X,0),U,8))_" "_$P($$ICDDX^ICDCODE(Y),U,2)_" Problem list"
  1. .Q
  1. I H="" Q "" ;don't go further as patient does not have RHEU arthritis prior to the report period
  1. RPDXS ;check for 2 dxs in time period
  1. K BGPG
  1. S Y="BGPG(",C=""
  1. S X=P_"^LAST 2 DX [BGP RHEUMATOID ARTHRITIS DXS;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,Y)
  1. I $D(BGPG(2)) S C="2 dxs: "_$$DATE^BGP2UTL($P(BGPG(2),U))_" "_$$DATE^BGP2UTL($P(BGPG(1),U))
  1. I H=""!(C="") Q ""
  1. Q "1^prior: "_H_" rpt period: "_C
  1. ;
  1. UG(P,BDATE,EDATE) ;
  1. K BGPC
  1. S BGPC=0
  1. ;now get all loinc/taxonomy tests
  1. S T=$O(^ATXAX("B","BGP URINE GLUCOSE LOINC",0))
  1. S BGPLT=$O(^ATXLAB("B","BGP URINE GLUCOSE",0))
  1. S B=9999999-BDATE,E=9999999-EDATE S D=E-1 F S D=$O(^AUPNVLAB("AE",P,D)) Q:D'=+D!(D>B)!($P(BGPC,U)) D
  1. .S L=0 F S L=$O(^AUPNVLAB("AE",P,D,L)) Q:L'=+L!($P(BGPC,U)) D
  1. ..S X=0 F S X=$O(^AUPNVLAB("AE",P,D,L,X)) Q:X'=+X!($P(BGPC,U)) D
  1. ...Q:'$D(^AUPNVLAB(X,0))
  1. ...I BGPLT,$P(^AUPNVLAB(X,0),U),$D(^ATXLAB(BGPLT,21,"B",$P(^AUPNVLAB(X,0),U))) S BGPC=1_U_(9999999-D)_U_"LAB" Q
  1. ...Q:'T
  1. ...S J=$P($G(^AUPNVLAB(X,11)),U,13) Q:J=""
  1. ...Q:'$$LOINC^BGP2D21(J,T)
  1. ...S BGPC=1_U_(9999999-D)_U_"LOINC"
  1. ...Q
  1. Q BGPC
  1. ;