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

BHSCPT1.m

Go to the documentation of this file.
  1. BHSCPT1 ;IHS/MSC/MGH - Health Summary for V CPT file ;31-Dec-2015 13:12;DU
  1. ;;1.0;HEALTH SUMMARY COMPONENTS;**7,9,13**;March 17, 2006;Build 6
  1. ;===================================================================
  1. ; IHS/TUCSON/LAB - PART 6 OF APCHS -- SUMMARY PRODUCTION COMPONENTS ; [ 05/04/04 2:46 PM ]
  1. ;Patch 7 added component for CPT selection codes
  1. CPT ;EP - display cpt codes for select items, date limits are applicable
  1. ;For selected procedures see if you have a match
  1. N GMTSI,GMTSF,GMTSC,CPT,CPTSEL
  1. Q:'$D(GMTSEG(GMTSEGN,81))
  1. S GMTSI=0 F GMTSI=0:0 S GMTSI=$O(GMTSEG(GMTSEGN,81,GMTSI)) Q:'+GMTSI D
  1. .S CPT=$G(GMTSEG(GMTSEGN,81,GMTSI))
  1. .S CPTSEL(CPT)=""
  1. D SEL(.CPTSEL)
  1. Q
  1. SEL(ITEMS) ;
  1. N BHSPAT,V,Y,OLDCPT,CNT,BHCPTI,BHSIVD,BHCPT,BHCPTA,BHIEN,BHSIVD,BHSNAR
  1. S BHSPAT=DFN
  1. I '$D(^AUPNVCPT("AA",BHSPAT)) Q ;no cpt codes for this patient
  1. ; <DISPLAY>
  1. K BHCPTA
  1. I $D(ITEMS)>0 D
  1. .S CODE=0 F S CODE=$O(ITEMS(CODE)) Q:CODE="" D
  1. ..S LKUP=$P($G(^ICPT(CODE,0)),U,1)
  1. ..S BHCPTI=$O(^ICPT("BA",$G(LKUP)_" ",0))
  1. ..Q:BHCPTI=""
  1. ..S CNT=0
  1. ..S BHSIVD="" F S BHSIVD=$O(^AUPNVCPT("AA",BHSPAT,BHCPTI,BHSIVD)) Q:BHSIVD=""!(BHSIVD>GMTSDLM) D
  1. ...S BHIEN=0 F S BHIEN=$O(^AUPNVCPT("AA",BHSPAT,BHCPTI,BHSIVD,BHIEN)) Q:BHIEN'=+BHIEN!(CNT+1>GMTSNDM) D
  1. ....S BHCPT=$$VAL^XBDIQ1(9000010.18,BHIEN,.01)
  1. ....;IHS/MSC/MGH Patch 13
  1. ....S BHSNAR=$$VAL^XBDIQ1(9000010.18,BHIEN,.04)
  1. ....I BHSNAR="" S BHCPTA(BHCPT,BHSIVD,BHIEN)=$P($$CPT^ICPTCOD(BHCPTI,(9999999-BHSIVD)),U,3)_U_$$VAL^XBDIQ1(9000010.18,BHIEN,.16)_U_$$VALI^XBDIQ1(9000010,$P(^AUPNVCPT(BHIEN,0),U,3),.06)
  1. ....E S BHCPTA(BHCPT,BHSIVD,BHIEN)=BHSNAR_U_$$VAL^XBDIQ1(9000010.18,BHIEN,.16)_U_$$VALI^XBDIQ1(9000010,$P(^AUPNVCPT(BHIEN,0),U,3),.06)
  1. ....S Y=$$VALI^XBDIQ1(9000010,$P(^AUPNVCPT(BHIEN,0),U,3),.08) S $P(BHCPTA(BHCPT,BHSIVD,BHIEN),U,4)=Y
  1. ....S CNT=CNT+1
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. W "DATE",?10,"LOC",?30,"CODE",?36,"CPT NARRATIVE",?72,"UNITS",!
  1. S OLDCPT=""
  1. S BHCPT=0 F S BHCPT=$O(BHCPTA(BHCPT)) Q:BHCPT=""!($D(GMTSQIT)) D
  1. .D CKP^GMTSUP Q:$D(GMTSQIT) I GMTSNPG W "DATE",?10,"LOC",?30,"CODE",?36,"CPT NARRATIVE",?72,"UNITS",!
  1. .I BHCPT'=OLDCPT W ! S OLDCPT=BHCPT
  1. .S BHSIVD="" F S BHSIVD=$O(BHCPTA(BHCPT,BHSIVD)) Q:BHSIVD=""!($D(GMTSQIT)) D
  1. ..W $$DATE^BHSMU((9999999-BHSIVD))
  1. ..S BHIEN=0 F S BHIEN=$O(BHCPTA(BHCPT,BHSIVD,BHIEN)) Q:BHIEN'=+BHIEN!($D(GMTSQIT)) D
  1. ...D CKP^GMTSUP Q:$D(GMTSQIT) I GMTSNPG W "DATE",?10,"LOC",?30,"CODE",?36,"CPT NARRATIVE",?72,"UNITS",!
  1. ...S %=$P(BHCPTA(BHCPT,BHSIVD,BHIEN),U,3)
  1. ...I % W ?10,$P($G(^AUTTLOC(%,0)),U,2)
  1. ...S %=$P(BHCPTA(BHCPT,BHSIVD,BHIEN),U,4)
  1. ...I % W ?22,$P($G(^DIC(40.7,%,9999999)),U)
  1. ...W ?30,BHCPT,?37,$E($P(BHCPTA(BHCPT,BHSIVD,BHIEN),U,1),1,36)
  1. ...W ?73,$P(BHCPTA(BHCPT,BHSIVD,BHIEN),U,2)
  1. ...W !
  1. ; <CLEANUP>
  1. ;now display CPT refusals
  1. ;S BHST="CPT",BHSFN=81 D DISPREF^BHSRAD
  1. ;K BHST,BHSFN
  1. CPTALLX K BHSIVD,BHSDAT,BHCPT,BHIEN,BHCPTA,BHCPTI,%,CODE,CPTSEL
  1. Q