| 1 | ECXUPRO1 ;ALB/TJL-Prosthetics Extract Unusual Cost Report; 7/2/03 2:49pm
 | 
|---|
| 2 |  ;;3.0;DSS EXTRACTS;**49**;Jul 2, 2003
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | EN ; entry point
 | 
|---|
| 5 |  N COUNT,ECDFN,ECD,PROCOST
 | 
|---|
| 6 |  K ^TMP($J)
 | 
|---|
| 7 |  S COUNT=0
 | 
|---|
| 8 |  S ECD=ECSD1,ECED=ECED+.3
 | 
|---|
| 9 |  D GETRECS
 | 
|---|
| 10 |  Q
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 | GETRECS ; get records that are over the threshold
 | 
|---|
| 13 |  N PDA,SUBDA,PROLB,PRO0,PROFORM
 | 
|---|
| 14 |  N DIC,DR,DA,DIQ
 | 
|---|
| 15 |  S QFLG=0,ECXLNE=1,ECXED1=ECED+.9999
 | 
|---|
| 16 |  S PDA=ECSD1
 | 
|---|
| 17 |  F  S PDA=$O(^RMPR(660,"CT",PDA)) Q:(PDA>ECXED1)!('PDA)!(QFLG=1)  D
 | 
|---|
| 18 |  .S SUBDA=0
 | 
|---|
| 19 |  .F  S SUBDA=$O(^RMPR(660,"CT",PDA,SUBDA))  Q:('SUBDA)!(QFLG=1)  D
 | 
|---|
| 20 |  ..Q:'$D(^RMPR(660,SUBDA,0))
 | 
|---|
| 21 |  ..S PRO0=^RMPR(660,SUBDA,0)
 | 
|---|
| 22 |  ..S PROLB=$G(^RMPR(660,SUBDA,"LB"))
 | 
|---|
| 23 |  ..K ECXP S DIC="^RMPR(660,",DR=".02;11",DA=SUBDA,DIQ(0)="EI"
 | 
|---|
| 24 |  ..S DIQ="ECXP" D EN^DIQ1
 | 
|---|
| 25 |  ..S ECXDFN=$G(ECXP(660,SUBDA,.02,"I"))
 | 
|---|
| 26 |  ..S PROFORM=$G(ECXP(660,SUBDA,11,"E"))_U_$G(ECXP(660,SUBDA,11,"I"))
 | 
|---|
| 27 |  ..Q:'$$PATDEM^ECXUTL2(ECXDFN,PDA)
 | 
|---|
| 28 |  ..Q:'$$NTEG^ECXPRO1(ECXDFN,.ECXLNE,SUBDA,PRO0,PROLB,ECINST,PROFORM)
 | 
|---|
| 29 |  ..S PROCOST=$P(PRO0,U,16)
 | 
|---|
| 30 |  ..S:PROFORM["-3" PROCOST=$P(PROLB,U,9)
 | 
|---|
| 31 |  ..S:($P(PROFORM,U,2)=11)!($P(PROFORM,U,2)=12) PROCOST=0
 | 
|---|
| 32 |  ..S:PROCOST="" PROCOST=0
 | 
|---|
| 33 |  ..S PROCOST=(PROCOST+.5)\1
 | 
|---|
| 34 |  ..S:PROCOST>999999 PROCOST=999999
 | 
|---|
| 35 |  ..I PROCOST>ECTHLD D FILE
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 | FILE ; put records in temp file to print later
 | 
|---|
| 38 |  N OK,PROPAT,PRONAME,PROSSN,CPTCODE,ECXFEKEY,PROQTY
 | 
|---|
| 39 |  S OK=$$PAT^ECXUTL3(ECXDFN,$P(ECD,"."),"1;",.PROPAT)
 | 
|---|
| 40 |  I 'OK Q
 | 
|---|
| 41 |  S PRONAME=PROPAT("NAME")
 | 
|---|
| 42 |  S PROSSN=PROPAT("SSN")
 | 
|---|
| 43 |  S PRODAY=$E(PDA,4,5)_"/"_$E(PDA,6,7)_"/"_$E(PDA,2,3)
 | 
|---|
| 44 |  S CPTCODE=$E(ECXHCPCS,1,5)
 | 
|---|
| 45 |  I PROFORM["-3" F ECXLAB="LAB","ORD" D FEEDINFO^ECXPRO2(ECXSRCE,CPTCODE,ECXTYPE,ECXSTAT2,ECXRQST,ECXRCST,ECXLAB)
 | 
|---|
| 46 |  I PROFORM'["-3" S ECXLAB="NONL" D FEEDINFO^ECXPRO2(ECXSRCE,CPTCODE,ECXTYPE,ECXSTAT2,ECXRQST,ECXRCST,ECXLAB)
 | 
|---|
| 47 |  S PROQTY=$P(PRO0,U,7)
 | 
|---|
| 48 |  S:(+PROQTY=0) PROQTY=1
 | 
|---|
| 49 |  S PROQTY=$$RJ^XLFSTR(PROQTY,8,0)
 | 
|---|
| 50 |  S ^TMP($J,ECXFEKEY,-PROQTY,PROSSN)=PRONAME_U_PROSSN_U_PRODAY_U_ECXHCPCS_U_ECXFEKEY_U_PROQTY_U_"$"_$FNUMBER(PROCOST,",",2)
 | 
|---|
| 51 |  S COUNT=COUNT+1
 | 
|---|
| 52 |  I COUNT#100=0 I $$S^ZTLOAD S (ZSTOP,ECXERR)=1
 | 
|---|
| 53 |  Q
 | 
|---|
| 54 | EXIT S ECXERR=1 Q
 | 
|---|