RMPRPIQ4 ;HCIOFO/ODJ - INVENTORY REPORT - PARAMETER DATA ENTRY ;6/16/04 07:57 ;;3.0;PROSTHETICS;**61**;Feb 09, 1996 ; ;RVD patch #61 - this routine is a copy of RMPR5HQ4, except, it calls ; routine RMPRPIQ5 & reads the new files. ; ; Prompts for Station, Start date, End date, level of detail, ; NPPD group, NPPD line, HCPC selections and Report Device START N RMPRSDT,RMPREDT,RMPREXC,RMPRSEL,RMPRHTY,RMPRGLST,RMPRLINX N RMPRI,RMPRJ,RMPRLCN,RMPRHCN,RMPR,RMPRGRPA,RMPRVISN ; RMPR("STA") Station Number (ien ^DIC(4) S RMPRSDT="" ; start date VM internal S RMPREDT=DT ; end date VM internal I '$D(RMPRDET) N RMPRDET S RMPRDET="" ; Level of detail S RMPRHTY="" ; type of HCPCS selection S RMPRLCN=1 ; Count for number of individual NPPD lines selected S RMPRHCN=1 ; Count for number of individual HCPCs selected K RMPREXC ; Exit condition from prompts (^ defined as quit) K RMPRSEL ; Array of parameter selections ; If this array gets too big then need to save in ^TMP ; in which case queuing option will have to be removed ; D GRPLST(.RMPRGLST) ;set list of NPPD group codes for DIR prompt D GRPARY(.RMPRGRPA) D SETLIN(.RMPRLINX) ;set an indexing array for NPPD line help S RMPREXC=$$STN(.RMPR,.RMPRVISN) I RMPREXC="^" G EDX S RMPREXC=$$STDT(.RMPRSDT) ;get Start Date (fileman format) I RMPREXC="^" G EDX S RMPREXC=$$ENDT(.RMPREDT,RMPRSDT) ;get End Date (fileman format) I RMPREXC="^" G EDX I RMPRDET="" S RMPREXC=$$LEV(.RMPRDET) ;get Level of Detail I RMPREXC="^" G EDX I RMPRDET="G" K RMPRSEL S RMPRSEL("*")="" G EDDEV ;NPPD group level of detail I RMPRDET="L" G EDLIN ;NPPD line level of detail I RMPRDET="H"!(RMPRDET="I") G EDHCPC ;HCPC or Item level of detail ; ; NPPD Group level of detail EDGRP S RMPREXC=$$NPGRP(.RMPRSEL) I RMPREXC="^" G EDX G EDDEV ; ; NPPD Line level of detail EDLIN S RMPREXC=$$NPLIN(.RMPRSEL) I RMPREXC="^" G EDX EDLINX G EDDEV ; ; HCPC level of detail EDHCPC S RMPREXC=$$HCPCTY(.RMPRHTY) I RMPREXC="^" G EDX I RMPRHTY="" G EDDEV I RMPRHTY="A" K RMPRSEL S RMPRSEL("*")="" G EDDEV I RMPRHTY="G" S RMPREXC=$$NPGRP(.RMPRSEL) G EDDEV I RMPRHTY="L" S RMPREXC=$$NPLIN(.RMPRSEL) G EDDEV S RMPREXC=$$HCPC(.RMPRSEL,.RMPRHCN) G EDDEV ; ; Get device and run report or queue it EDDEV S RMPREXC=$$REPDEV("") I RMPREXC="^" G EDX I '$D(IO("Q")) D REPORT^RMPRPIQ5 G EDX K IO("Q") S ZTDESC="INVENTORY REPORT",ZTRTN="REPORT^RMPRPIQ5",ZTIO=ION S ZTSAVE("RMPRSDT")="" S ZTSAVE("RMPREDT")="" S ZTSAVE("RMPRDET")="" S ZTSAVE("RMPRSEL(")="" S ZTSAVE("RMPR(""STA"")")="" D ^%ZTLOAD W:$D(ZTSK) !,"REQUEST QUEUED!" H 1 EDX Q ; ; Prompt for Site/Station STN(RMPR,RMPRVISN) ; N X,Y,DIC,DA S RMPRVISN="" D DIV4^RMPRSIT ; call standard Prosthetic site look-up I $D(X) S X="^" E S X="" S:RMPRSITE'="" RMPRVISN=$P($G(^RMPR(669.9,RMPRSITE,"INV")),"^",2) Q X ; ; Prompt for level of detail EN1 N RMPRDET S RMPRDET="G" ;entry point NPPD Group level G START EN2 N RMPRDET S RMPRDET="L" ;entry point NPPD Line level G START EN3 N RMPRDET S RMPRDET="H" ;entry point HCPCS level G START EN4 N RMPRDET S RMPRDET="I" ;entry point Item level G START LEV(RMPRDET) ; N DIR,X,Y S RMPRDET=$G(RMPRDET) S DIR(0)="S^G:NPPD Group;L:NPPD Line;H:HCPCS Code;I:HCPCS Item" S DIR("A")="Select inventory report level of detail" D ^DIR I Y="",$D(DTOUT) S X="^" G LEVX I Y="^"!(Y="^^") S X="^" G LEVX S RMPRDET=Y LEVX Q X ; ; Prompt for Start Date STDT(RMPRSDT) ; RMPRSDT is start date in FM internal form N %DT,X,Y S %DT("A")="Beginning Date: " S %DT(0)=-DT S %DT="AEP" D ^%DT I Y<0 S X="^" S RMPRSDT=$P(Y,".",1) Q X ; ; Prompt for End Date ENDT(RMPREDT,RMPRSDT) ; RMPREDT is end date in FM internal form N %DT,X,Y ENDT1 S %DT("A")="Ending Date: " S %DT(0)=-DT S %DT="AEP" D ^%DT I Y<0 S X="^" G ENDT1X S RMPREDT=$P(Y,".",1) I RMPREDT