1 | ECXUPRO1 ;ALB/TJL-Prosthetics Extract Unusual Cost Report; 01/08/08 2:49pm
|
---|
2 | ;;3.0;DSS EXTRACTS;**49,111**;Jul 2, 2003;Build 4
|
---|
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,SUBDA,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
|
---|