[613] | 1 | ECXAPRO2 ;ALB/JAP - PRO Extract Audit Report (cont) ; Nov 16, 1998
|
---|
| 2 | ;;3.0;DSS EXTRACTS;**9,21,39**;Dec 22, 1997
|
---|
| 3 | ;
|
---|
| 4 | ASK ;further detail needed?
|
---|
| 5 | K X,Y
|
---|
| 6 | W !
|
---|
| 7 | S DIR(0)="Y",DIR("A")="Do you want to see details on this audit report",DIR("B")="NO"
|
---|
| 8 | D ^DIR K DIR
|
---|
| 9 | Q:($G(Y)=0)!$D(DUOUT)!($D(DTOUT))
|
---|
| 10 | ;allow user to expand as many lines as needed
|
---|
| 11 | F D ASK2 Q:$D(DUOUT)!($D(DTOUT))
|
---|
| 12 | Q
|
---|
| 13 | ;
|
---|
| 14 | ASK2 ;select nppd group to be expanded
|
---|
| 15 | D CODE
|
---|
| 16 | W @IOF,!
|
---|
| 17 | W !,?5,"1. WHEELCHAIRS AND ACCESSORIES"
|
---|
| 18 | W !,?5,"2. ARTIFICAL LEGS"
|
---|
| 19 | W !,?5,"3. ARTIFICAL ARMS AND TERMINAL DEVICES"
|
---|
| 20 | W !,?5,"4. BRACES AND ORTHOTICS"
|
---|
| 21 | W !,?5,"5. SHOES/ORTHOTICS"
|
---|
| 22 | W !,?5,"6. NEUROSENSORY AIDS"
|
---|
| 23 | W !,?5,"7. RESTORATIONS"
|
---|
| 24 | W !,?5,"8. OXYGEN AND RESPIRATIORY"
|
---|
| 25 | W !,?5,"9. MEDICAL EQUIPMENT, MISC., ALL OTHER NEW"
|
---|
| 26 | W !,?5,"10. REPAIR",!!
|
---|
| 27 | S DIR(0)="N^1:10:0"
|
---|
| 28 | S DIR("A")="Select NPPD Group "
|
---|
| 29 | D ^DIR K DIR
|
---|
| 30 | Q:$D(DUOUT)!($D(DTOUT))
|
---|
| 31 | D ASK3(Y)
|
---|
| 32 | Q:$D(DTOUT)
|
---|
| 33 | K DIRUT,DTOUT,DUOUT
|
---|
| 34 | G ASK2
|
---|
| 35 | Q
|
---|
| 36 | ;
|
---|
| 37 | ASK3(ECXY) ;select nppd line item
|
---|
| 38 | N BR,BRC,CODE
|
---|
| 39 | S BR=0,BRC=0 K CODE W @IOF
|
---|
| 40 | F S BR=$O(^TMP($J,"RMPRCODE",BR)) Q:BR="" I $L(BR)>3 D
|
---|
| 41 | .I $E(BR,1,1)=ECXY S BRC=BRC+1 W !?5,BRC_".",?10,BR,?18,^TMP($J,"RMPRCODE",BR) S CODE(BRC,BR)=""
|
---|
| 42 | .I ($E(BR,1,1)="R")&(ECXY=10) S BRC=BRC+1 W !?5,BRC_".",?10,BR,?18,^TMP($J,"RMPRCODE",BR) S CODE(BRC,BR)=""
|
---|
| 43 | W !
|
---|
| 44 | S DIR(0)="N^1:"_BRC_":0"
|
---|
| 45 | S DIR("A")="Select NPPD Line "
|
---|
| 46 | D ^DIR K DIR
|
---|
| 47 | Q:$D(DUOUT)!($D(DTOUT))
|
---|
| 48 | S ECXCODE="",ECXCODE=$O(CODE(Y,ECXCODE))
|
---|
| 49 | S ECXPGM="TASK^ECXAPRO",ECXDESC="PRO Extract Audit Detail"
|
---|
| 50 | S ECXSAVE("ECXHEAD")="",ECXSAVE("ECXDIV(")="",ECXSAVE("ECXARRAY(")="",ECXSAVE("ECXREPT")="",ECXSAVE("ECXPRIME")="",ECXSAVE("ECXALL")="",ECXSAVE("ECXCODE")=""
|
---|
| 51 | W !
|
---|
| 52 | ;determine output device and queue if requested
|
---|
| 53 | D DEVICE^ECXUTLA(ECXPGM,ECXDESC,.ECXSAVE) I ECXSAVE("POP")=1 D Q
|
---|
| 54 | .W !!,?5,"Try again later... exiting.",!
|
---|
| 55 | I ECXSAVE("ZTSK")=0 D
|
---|
| 56 | .K ECXSAVE,ECXPGM,ECXDESC
|
---|
| 57 | .I '$D(^TMP($J,"RMPRGN")) D PROCESS^ECXAPRO
|
---|
| 58 | .D DISP
|
---|
| 59 | I $D(IO(0)) I IO(0)'=IO D ^%ZISC
|
---|
| 60 | D HOME^%ZIS
|
---|
| 61 | Q
|
---|
| 62 | ;
|
---|
| 63 | CODE ;setup nppd codes
|
---|
| 64 | ;intended to duplicate code^rmprn63
|
---|
| 65 | N NULINE
|
---|
| 66 | Q:$D(^TMP($J,"RMPRCODE"))
|
---|
| 67 | F I=1:1 S NULINE=$P($T(TEXT+I^ECXAPRO3),";;",2) Q:NULINE["QUIT" D
|
---|
| 68 | .S ^TMP($J,"RMPRCODE",$P(NULINE,";",1))=$P(NULINE,";",2)
|
---|
| 69 | Q
|
---|
| 70 | ;
|
---|
| 71 | DISP ;display all records within nppd code group
|
---|
| 72 | ;based on desp^rmprn6pl
|
---|
| 73 | N JJ,SS,LN,PG,COST,DATE,DESC,HCPCS,LOC,PTNAM,QFLG,QTY,RDX,RDXX,SSN,TYPE,DIR,DIRUT,DTOUT,DUOUT
|
---|
| 74 | U IO
|
---|
| 75 | S (QFLG,PG)=0,$P(LN,"-",80)=""
|
---|
| 76 | D HEADER
|
---|
| 77 | I '$D(^TMP($J,ECXCODE)) D Q
|
---|
| 78 | .W !,?14,"No data available.",!
|
---|
| 79 | .I $E(IOST)="C",'QFLG D
|
---|
| 80 | ..S SS=22-$Y F JJ=1:1:SS W !
|
---|
| 81 | ..S DIR(0)="E" D ^DIR K DIR
|
---|
| 82 | S RDX=0
|
---|
| 83 | F S RDX=$O(^TMP($J,ECXCODE,RDX)) Q:RDX'>0 Q:QFLG D
|
---|
| 84 | .S RDXX=^TMP($J,ECXCODE,RDX)
|
---|
| 85 | .S PTNAM=$P(RDXX,U,9),SSN=$P(RDXX,U,10)
|
---|
| 86 | .D:($Y+3>IOSL) HEADER Q:QFLG
|
---|
| 87 | .S TYPE=$P(RDXX,U,1),TYPE=$S(TYPE="X":"R",1:"I")_" "_$P(RDXX,U,2)
|
---|
| 88 | .S QTY=+$P(RDXX,U,3),COST=$P(RDXX,U,4),HCPCS=$P(RDXX,U,7),DESC=$P(RDXX,U,8),DATE=$P(RDXX,U,11),LOC=$P(RDXX,U,12)
|
---|
| 89 | .W !,PTNAM,?6,SSN,?13,HCPCS,?20,QTY,?30,TYPE,?36,COST,?45,DATE,?52,DESC,?74,LOC
|
---|
| 90 | I $E(IOST)="C",'QFLG D
|
---|
| 91 | .S SS=22-$Y F JJ=1:1:SS W !
|
---|
| 92 | .S DIR(0)="E" D ^DIR K DIR
|
---|
| 93 | Q
|
---|
| 94 | ;
|
---|
| 95 | HEADER ;header and page control
|
---|
| 96 | I $E(IOST)="C" D
|
---|
| 97 | .S SS=22-$Y F JJ=1:1:SS W !
|
---|
| 98 | .I PG>0 S DIR(0)="E" D ^DIR K DIR S:'Y QFLG=1
|
---|
| 99 | Q:QFLG
|
---|
| 100 | W:$Y!($E(IOST)="C") @IOF S PG=PG+1
|
---|
| 101 | W !,ECXARRAY("TYPE")_" ("_ECXHEAD_") Extract Audit Report Detail",?72,"Page ",PG
|
---|
| 102 | W !,"DSS Extract Log #: "_ECXEXT
|
---|
| 103 | W !,"Date Range of Audit: "_ECXARRAY("START")_" to "_ECXARRAY("END")
|
---|
| 104 | I ECXALL=1 W !,"Station: "_$P(ECXDIV,U,2)_" ("_$P(ECXDIV,U,3)_")"
|
---|
| 105 | I ECXALL=0 W !,"Division: "_$P(ECXDIV,U,2)_" ("_$P(ECXDIV,U,3)_")"
|
---|
| 106 | W !,"Report Run Date/Time: "_ECXRUN
|
---|
| 107 | W !,LN,!,ECXCODE," -- ",^TMP($J,"RMPRCODE",ECXCODE)
|
---|
| 108 | W !,"NAME",?6,"SSN",?13,"HCPCS",?20,"QTY",?30,"TYPE",?36,"COST",?45,"DATE",?52,"HCPCS DESC",?74,"STN #"
|
---|
| 109 | W !,LN,!
|
---|
| 110 | Q
|
---|