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

BGP2D27.m

Go to the documentation of this file.
  1. BGP2D27 ; IHS/CMI/LAB - measure I2 ;
  1. ;;12.1;IHS CLINICAL REPORTING;;MAY 17, 2012;Build 66
  1. ;
  1. ;
  1. AMP(P,EDATE) ;EP - DID PATIENT HAVE AMPUTATION
  1. ;
  1. ;check cpt codes for bilateral
  1. ;loop through all cpt codes up to Edate and if any match quit
  1. S (X,Y,Z,G)=0 K BGPX
  1. S T=$O(^ATXAX("B","BGP FOOT AMP CPTS",0))
  1. I T S %="" D I %]"" Q %
  1. .S Y=0 F S Y=$O(^AUPNVCPT("AC",P,Y)) Q:Y'=+Y!(%]"") D
  1. ..S D=$P($G(^AUPNVCPT(Y,0)),U,3)
  1. ..Q:D=""
  1. ..S D=$P($P($G(^AUPNVSIT(D,0)),U),".") ;date done
  1. ..Q:D=""
  1. ..I D>EDATE Q
  1. ..S X=$P(^AUPNVCPT(Y,0),U)
  1. ..Q:'$$ICD^ATXCHK(X,T,1)
  1. ..S BGPX(D)=""
  1. ..S M=$P(^AUPNVCPT(Y,0),U,8) I M S M=$P($G(^AUTTCMOD(M,0)),U) I M=50 S %=1_U_$$DATE^BGP2UTL(D)_" FOOT AMP "_$P(^ICPT(X,0),U,1)
  1. ..S M=$P(^AUPNVCPT(Y,0),U,9) I M S M=$P($G(^AUTTCMOD(M,0)),U) I M=50 S %=1_U_$$DATE^BGP2UTL(D)_" FOOT AMP "_$P(^ICPT(X,0),U,1)
  1. ..Q
  1. .Q
  1. ; now check tran codes
  1. I T,$D(^AUPNVTC("AC",P)) S %="" D I %]"" Q %
  1. .S E=0 F S E=$O(^AUPNVTC("AC",P,E)) Q:E'=+E!(%]"") D
  1. ..S D=$P($G(^AUPNVTC(E,0)),U,3) Q:'D S D=$P($P($G(^AUPNVSIT(D,0)),U),".")
  1. ..Q:'$$ICD^ATXCHK($P(^AUPNVTC(E,0),U,7),T,1)
  1. ..S Y=$P(^AUPNVTC(E,0),U,7)
  1. ..I D>EDATE Q
  1. ..S BGPX(D)=""
  1. ..S M=$P(^AUPNVTC(E,0),U,12) I M S M=$P($G(^AUTTCMOD(M,0)),U) I M=50 S %=1_U_$$DATE^BGP2UTL(D)_" FOOT AMP "_$P(^ICPT(Y,0),U,1)
  1. ..S M=$P(^AUPNVTC(E,0),U,15) I M S M=$P($G(^AUTTCMOD(M,0)),U) I M=50 S %=1_U_$$DATE^BGP2UTL(D)_" FOOT AMP "_$P(^ICPT(Y,0),U,1)
  1. ..Q
  1. .Q
  1. ;see if 2 on different dates
  1. S %=0,X=0,C=0 F S X=$O(BGPX(X)) Q:X'=+X S C=C+1
  1. I C>1 Q 1
  1. S T=$O(^ATXAX("B","BGP FOOT AMP PROCEDURES",0))
  1. S (F,S)=0 F S F=$O(^AUPNVPRC("AC",P,F)) Q:F'=+F S C=$P(^AUPNVPRC(F,0),U) D
  1. .S G=0 S:$$ICD^ATXCHK(C,T,0) G=1
  1. .Q:G=0
  1. .S D=$P(^AUPNVPRC(F,0),U,6) I D="" S D=$P($P(^AUPNVSIT($P(^AUPNVPRC(F,0),U,3),0),U),".")
  1. .I D>EDATE Q
  1. .S BGPX(D)=""
  1. S %=0,X=0,C=0 F S X=$O(BGPX(X)) Q:X'=+X S C=C+1
  1. I C>1 Q 1
  1. Q 0