PXBGCPT ;ISL/JVS - GATHER CPT ;8/10/04 1:21pm ;;1.0;PCE PATIENT CARE ENCOUNTER;**73,149,124**;Aug 12, 1996 ; CPT(VISIT) ;--Gather the entries in the V CPT file ; N IEN,QUANTITY,PROVIDER,NARR,CPT,GROUP,PXBC N DIC,DR,DA,DIQ N PXSFIL,PXSIEN,PXMOD ; K ^TMP("PXBU",$J),VAUGHN,CPT,PXBKY,PXBSAM,PXBSKY,PXBPRV I $D(^AUPNVCPT("AD",VISIT)) D .S IEN=0 .F S IEN=$O(^AUPNVCPT("AD",VISIT,IEN)) Q:IEN'>0 D ..S ^TMP("PXBU",$J,"CPT",IEN)="" ; A ;--Set array with CPT codes and associated modifiers ; I $D(^TMP("PXBU",$J,"CPT")) D .S IEN=0 .F S IEN=$O(^TMP("PXBU",$J,"CPT",IEN)) Q:IEN'>0 D ..N VAUGHN,PX124,EDATA ..S PX124=".01;.16;1204;.04;1*;1202;.05;.09:.15" ..D GETS^DIQ(9000010.18,IEN,PX124,"E","VAUGHN") ..S CPT=$G(VAUGHN(9000010.18,IEN_",",".01","E")) ..S QUANTITY=$G(VAUGHN(9000010.18,IEN_",",".16","E")) ..S PROVIDER=$G(VAUGHN(9000010.18,IEN_",","1204","E")) ..S NARR=$E($G(VAUGHN(9000010.18,IEN_",",".04","E")),1,29) ..I NARR="" S NARR=$P($$CPT^ICPTCOD(CPT,$G(IDATE)),U,3) ..S EDATA=$E($G(VAUGHN(9000010.18,IEN_",",1202,"E")),1,29) ..D CASE^PXBUTL ..S GROUP=CPT_"^"_QUANTITY_"^"_PROVIDER_"^"_NARR ..F PX124=.05,.09,.1,.11,.12,.13,.14,.15 D ...S DA=$G(VAUGHN(9000010.18,IEN_",",PX124,"E")),DR=DA,GROUP=GROUP_U_DA ...I DA S DR=$$XLATE^PXBGPOV(VISIT,DA),DA=$P(DR,U,2) ...I DR S PXBREQ(DA,"I")=$P(DR,U,4,20) ..K DR,DA ..S $P(GROUP,U,22)=EDATA,CPT(CPT,IEN)=GROUP ..S PXSFIL=9000010.181,PXSIEN="" ..F S PXSIEN=$O(VAUGHN(PXSFIL,PXSIEN)) Q:PXSIEN="" D ...S PXMOD=VAUGHN(PXSFIL,PXSIEN,.01,"E") ...S CPT(CPT,IEN,"MOD",+PXSIEN)=PXMOD ; B ;--Add line numbers ; I $D(CPT) D .S PXBC=0,CPT="" .F S CPT=$O(CPT(CPT)) Q:CPT="" D ..S IEN=0 ..F S IEN=$O(CPT(CPT,IEN)) Q:IEN="" S PXBC=PXBC+1 D ...S PXBKY(CPT,PXBC)=$G(CPT(CPT,IEN)) ...S PXBSAM(PXBC)=$G(CPT(CPT,IEN)) ...S PXBSKY(PXBC,IEN)="" ...S PXSIEN=0 ...F S PXSIEN=$O(CPT(CPT,IEN,"MOD",PXSIEN)) Q:PXSIEN="" D ....S PXBKY(CPT,PXBC,"MOD",PXSIEN)=CPT(CPT,IEN,"MOD",PXSIEN) ....S PXBSAM(PXBC,"MOD",PXSIEN)=CPT(CPT,IEN,"MOD",PXSIEN) ...I $P($G(CPT(CPT,IEN)),"^",3)]"" D ....S PXBPRV($P($G(CPT(CPT,IEN)),"^",3),$P($G(CPT(CPT,IEN)),"^",1),IEN,PXBC)=QUANTITY EXIT ;--KILL K ^TMP("PXBU",$J),VAUGHN S PXBCNT=+$G(PXBC) Q ;