- RMPR29LI ;HIN/RVD-ENTER LAB STOCK ISSUE 2529-3 [ 11/05/98
- ;;3.0;PROSTHETICS;**33,37**;Feb 09,1996
- CREATE ;CREATE Lab Stock Issue 2529-3
- K RMPREDIT,RMPRTMP,RMPR25,REDIT,RMCLOF,DIC D DIV4^RMPRSIT G:$D(X) EXIT
- D GETPAT^RMPRUTIL I '$D(RMPRDFN) G EXIT
- S RMDFN=RMPRDFN
- VIEW ;CREATE Lab Stock Issue 2529-3 VIA LAB MENU
- N RMPRDA,RMPRWO,RMPRJOB S RMPRF=15,RFLG=1,RNEW=1 D ^RMPRPAT
- S DIC="^RMPR(664.1,",DIC(0)="ZL",X=DT
- S DLAYGO=664.1 D FILE^DICN K DLAYGO,DIC G:+Y'>0 EXIT
- S RMPRDA=+Y,$P(^RMPR(664.1,RMPRDA,0),U,2)=RMDFN,$P(^(0),U,3)=RMPR("STA"),$P(^(0),U,17)="S"
- S IDEF=$$STA^RMPR31U(RMPR("STA"))
- S DA=RMPRDA,DIK="^RMPR(664.1," D IX1^DIK
- K DR,DA,DIC,DIK,Y,DIE D KVAR^VADPT
- S RMPRDFN=$P(^RMPR(664.1,RMPRDA,0),U,2),VAIP("D")="L"
- D IN5^VADPT S VAINDT=$P($G(VAIP(3)),U) D INP^VADPT
- I $G(RMPRDA)>0,$G(RMPRDA)'="" D TYPE
- G EXIT
- EDT ;EDIT/DELETE 2529-3
- D DIV4^RMPRSIT G:$D(X) EXIT
- K ^TMP($J),DR,DIC,RMPRDA S REDIT=1
- S DIC="^RMPR(664.1,",DIC(0)="AEQM",DR=".01"
- S DIC("S")="I $P(^(0),U,17)=""S""",DIC("W")="D EN3^RMPRD1"
- D ^DIC K DIC G:+Y'>0 EXIT S RMPRDA=+Y I $G(RMPRDA)'>0 Q
- L +^RMPR(664.1,RMPRDA,0):1
- I '$T W $C(7),!!,?5,"Someone is already editing this entry" G EXIT
- S RMPRDFN=$P(^RMPR(664.1,RMPRDA,0),U,2)
- D IN5^VADPT S VAINDT=$P($G(VAIP(3)),U) D INP^VADPT
- D LIS^RMPR29LU K DIR
- S DIR(0)="Y",DIR("A")="Would you like to Edit this Entry",DIR("B")="YES"
- D ^DIR G:$D(DTOUT)!($D(DUOUT)) EXIT G:Y=0!(Y<0) EXIT
- S RL=$O(^RMPR(664.1,RMPRDA,2,0)) I RL D
- .S RM2=$G(^RMPR(664.1,RMPRDA,2,RL,0)),RMTYPS=$P(RM2,U,7)
- .S RMCATS=$P(RM2,U,8),RMSPES=$P(RM2,U,9),RMGIP=$P(RM2,U,13)
- .S RM23=$G(^RMPR(664.1,RMPRDA,2,RL,3))
- .S RMHS=$P($G(^RMPR(664.1,RMPRDA,2,RL,2)),U,1)
- .S RMSO=$P(RM23,U,1),RMLOC=$P(RM23,U,1),RMIT=$P(RM23,U,3)
- TYPE ;
- S %X="^RMPR(664.1,RMPRDA,",%Y="^TMP($J,RMPRDA," D %XY^%RCR
- K DIR S PDA=RMPRDA D ST^RMPR29LS S:$G(RMCLOF) REDIT=1
- I '$G(RMPRDFN) W !,"*** Unable to access patient information, please contact your IRM..",! G EXIT
- D GD^RMPR29LS I $D(RNEW),$D(RMFLG) D RDL^RMPR29LU G:$D(RMFLG) EXIT
- I $G(REDIT) S RIDA=$O(^RMPR(664.1,RMPRDA,2,0)) I RIDA D
- .S RM0=$G(^RMPR(664.1,RMPRDA,2,RIDA,0)),RMTYPS=$P(RM0,U,7),RMCATS=$P(RM0,U,8),RMSPES=$P(RM0,U,9),RMSO=$P($G(^RMPR(664.1,RMPRDA,2,RIDA,3)),U,1)
- .S RMPRWO=$P(RM0,U,6),RMQTYS=$P(RM0,U,2),RMHS=$P($G(^RMPR(664.1,RMPRDA,2,RIDA,2)),U,1)
- VC S:'$D(RMSO) RMSO="C" S DIR(0)="SBO^V:VA;C:COMMERCIAL",DIR("A")="Select VA or COMMERCIAL SOURCE" S:$D(RMSO) DIR("B")=RMSO
- S DIR("?")="Enter V for VA or C for Commercial" D ^DIR
- I $D(DUOUT)!$D(DTOUT) G:$G(REDIT) LAB D RDL^RMPR29LU G EXIT
- G:Y="" VC S (RMSOR,RMSO)=Y
- TRAN K DIR S DIR(0)="664.16,8"
- ;S DIR("A")="Enter Type of Transaction: "
- S:$D(RMTYPS) DIR("B")=$S(RMTYPS="I":"INITIAL",RMTYPS="X":"REPAIR",RMTYPS="R":"REPLACE",RMTYPS="S":"SPARE",1:"")
- D ^DIR
- I $D(DUOUT)!$D(DTOUT) G:$G(RMCLOF)!($G(REDIT)) LAB D RDL^RMPR29LU G EXIT
- I Y="" W !,"Please enter type of Transaction!!" G TRAN
- S RMTYP=Y
- S RMTYPS=$S(Y="I":"INITIAL",Y="X":"REPAIR",Y="R":"REPLACE",Y="S":"SPARE",1:"")
- PCAT K DIR S DIR(0)="664.16,9"
- S:$D(RMCATS) DIR("B")=$S(RMCATS=1:"SC/OP",RMCATS=2:"SC/IP",RMCATS=3:"NSC/IP",RMCATS=4:"NSC/OP",1:"")
- D ^DIR
- I $D(DUOUT)!$D(DTOUT) G:$G(RMCLOF)!($G(REDIT)) LAB D RDL^RMPR29LU G EXIT
- I Y="" W !,"Please enter Patient Category!!" G PCAT
- S RMCAT=Y,RMCATS=$S(Y=1:"SC/OP",Y=2:"SC/IP",Y=3:"NSC/IP",Y=4:"NSC/OP",1:"") K DIR G:RMCAT<4 ITEM
- S DIR(0)="664.16,10"
- S:$D(RMSPES) DIR("B")=$S(RMSPES=1:"SPECIAL LEGISLATION",RMSPES=2:"A&A",RMSPES=3:"PHC",RMSPES=4:"ELIGIBILITY REFORM",1:"")
- I RMCAT=4 D ^DIR I $D(DUOUT)!$D(DTOUT) G:$G(RMCLOF)!($G(REDIT)) LAB D RDL^RMPR29LU G EXIT
- I RMCAT=4 S RMSPE=Y,RMSPES=$S(Y=1:"SPECIAL LEGISLATION",Y=2:"A&A",Y=3:"PHC",Y=4:"ELIGIBILITY REFORM",1:"")
- K DIR
- ITEM ;EDIT 2529-3 ITEM
- K DIC,DIR,RDEL,RMEDIT,DTOUT,DUOUT,RMITFLG,RMPRGIP S DA=RMPRDA,DIC="^RMPR(664.1,"_RMPRDA_",2,"
- S DIC("P")="664.16PA",DA(1)=RMPRDA,DIC(0)="AEQML"
- D ^DIC K DIC G:+Y'>0 LAB
- S RMITEMS=$P($G(^RMPR(661,$P(Y,U,2),0)),U,1)
- S (RMIDA,DA)=+Y,DIE="^RMPR(664.1,"_RMPRDA_",2,",DR=".01" D ^DIE I $D(Y)!'$D(^RMPR(664.1,RMPRDA,2,RMIDA,0)) D G ITEM
- .K ^RMPR(664.1,RMPRDA,2,RMIDA) K DIE,DR,RMIDA S RICHECK=$O(^RMPR(664.1,RMPRDA,2,0))
- .K:'$G(RICHECK) REDIT
- I $D(^RMPR(664.1,RMPRDA,2,RMIDA,0)),$P(^RMPR(664.1,RMPRDA,2,RMIDA,0),U,1)="" K ^RMPR(664.1,RMPRDA,2,RMIDA) G ITEM
- S RM0=$G(^RMPR(664.1,RMPRDA,2,RMIDA,0)),RM3=$G(^RMPR(664.1,RMPRDA,2,RMIDA,3))
- I $G(REDIT) D
- .S RMHS=$P($G(^RMPR(664.1,RMPRDA,2,DA,2)),U,1),RMLOC=$P(RM3,U,4),RMIT=$P(RM3,U,3)
- .S RMQTYS=$P(RM0,U,2),RMUNCO=$P(RM0,U,4),RMITEMS=$P(^RMPR(661,$P(RM0,U,1),0),U,1)
- .S:'$D(RMCAT) RMCATS=$P(RM0,U,8) S:'$D(RMTYPS) RMTYPS=$P(RM0,U,7) S:'$D(RMSPE) RMSPES=$P(RM0,U,9)
- HCPCS ;HCPCS code
- K DIC
- S DIC(0)="AEQM",DIC="^RMPR(661.1,",DIC("A")="PSAS HCPCS: " S:$D(RMHS) DIC("B")=RMHS
- S DIC("S")="I $P(^RMPR(661.1,+Y,0),U,10)"
- D ^DIC I $D(DUOUT)!$D(DTOUT) G:$G(RMCLOF)!($G(REDIT)) LAB D RDL^RMPR29LU G EXIT
- I Y=-1 W !,"HCPCS CODE IS MANDATORY!" D HELP G HCPCS
- I $P(^RMPR(661.1,+Y,0),U,10)<1 D HELP G HCPCS
- I +Y>0 G:$P(^RMPR(661.1,+Y,0),U,5)'=1 HCPCS
- S (RMI,RMHCPC,RMHS,DA(1),RMHCPCS)=+Y D ITEMLOC^RMPR5NU1 K DIC
- I $G(RMITFLG) G:$G(RMCLOF)!($G(REDIT)) LAB D RDL^RMPR29LU G EXIT
- K:'$G(RMHCDA)!'$G(RMITDA) RMLOC I $G(RMLOC) S RMGIP=0 G VEN
- GI I $P(^RMPR(669.9,RMPRSITE,0),U,3),'$D(^PRCP(445,"AD",DUZ)) W $C(7),!,"You are not an authorized user of any Inventory Point, please see your ADPAC." H 2 S RMEXIT=1 Q
- S RMPRGIP=$P(^RMPR(669.9,RMPRSITE,0),U,3),RMFORM=15 I RMPRGIP S PRCPPRIV=1 D INV^RMPR29LS G:$D(RMEXIT)&($G(REDIT)) LAB Q:$D(RMEXIT)
- G:$D(RDEL) ITEM
- ;
- VEN K DIC("S")
- ;S X=" ",DIC=440,DIC(0)="ZM" D ^DIC S:+Y>0 DIC("B")=$P(^PRC(440,+Y,0),U,1)
- VEN0 I $G(RMLOC),$D(RMVEN) S DIC("B")=RMVEN
- S DIC(0)="AEQM",DIC=440,DIC("A")="VENDOR: " S:$G(REDIT)&($D(RMVENS)) DIC("B")=RMVENS D ^DIC
- I $D(DTOUT)!$D(DUOUT) G:$G(RMCLOF)!($G(REDIT)) LAB D RDL^RMPR29LU G EXIT
- I +Y'>0 W !!,?5,$C(7),"This is a required response. Enter '^' to exit",! G VEN
- S (RMVEN,RMVENS)=+Y K DIC,Y,X
- UNICO ;UNIT COST
- I (RMSO["C")&($G(RMPRGIP)) S RMCOS=$P($G(^PRCP(445,PRCP("I"),1,PRCP("ITEM"),0)),U,15)
- I $G(RMLOC) S RMCOS=$P(^RMPR(661.3,RMLOC,1,RMHCDA,1,RMITDA,0),U,10)
- I $P(RM0,U,4) S RMCOS=$P(RM0,U,4)
- S DIR(0)="667.3,3",DIR("A")="UNIT COST"
- S:$D(RMCOS)&($G(RMCOS)>0) DIR("B")=RMCOS
- D ^DIR K DIR I $D(DUOUT)!$D(DTOUT) G:$G(REDIT)!($G(RMCLOF)) LAB D RDL^RMPR29LU G EXIT
- I (RMSO["C")&(X<.001) W !,"You must enter a UNIT COST....",! G UNICO
- S (RMCOS,RMCO)=Y
- ;
- QTY S DIR(0)="664.16,2" S:$D(RMQTYS) DIR("B")=RMQTYS D ^DIR
- I $D(DUOUT)!$D(DTOUT) G:$G(REDIT)!($G(RMCLOF)) LAB D RDL^RMPR29LU G EXIT
- I X<1 W !,"You must enter a quantity....",! G QTY
- S (RMQTY,RMQTYS)=Y K DIR
- K DIR S DIR(0)="664.16,12",RMSERS=$P(RM0,U,12) S:$D(RMSERS) DIR("B")=RMSERS D ^DIR
- I $D(DUOUT)!$D(DTOUT) G:$G(RMCLOF)!($G(REDIT)) LAB D RDL^RMPR29LU G EXIT
- S (RMSER,RMSERS)=Y,RMSO=RMSOR K DIR
- S DIE(0)="AEQM",DR=4,DR(1,664.129)="4;",DR(2,664.1294)=".01"
- S ^RMPR(664.1,RMPRDA,8,0)="^664.129DA",^RMPR(664.1,RMPRDA,8,1,1,0)="^664.1294^"
- S DA(1)=RMPRDA,DIE="^RMPR(664.1,"_RMPRDA_",8,",DA=1 D ^DIE K DIE,DR,DA
- S DA(1)=RMPRDA,DA=RMIDA,DIE="^RMPR(664.1,"_RMPRDA_",2,"
- S DR="2///^S X=$G(RMQTY);4///^S X=$G(RMCO);12///^S X=$G(RMSER);8///^S X=$G(RMTYP);9///^S X=$G(RMCAT);10///^S X=$G(RMSPE);16///^S X=$G(RMIT);14///^S X=$G(RMSOR)"
- D ^DIE I $D(DTOUT)!$D(DUOUT) G:$G(REDIT)!$G(RMCLOF) LAB G EXIT
- S RM0=$G(^RMPR(664.1,RMPRDA,2,DA,0)),RMQTY=$P(RM0,U,2),RMCO=$P(RM0,U,4)
- I RMQTY S RMTOCO=RMQTY*RMCO,DR="11///^S X=$G(RMTOCO);13///^S X=$G(RMHCPC)" D ^DIE
- S:$G(RMGIP) $P(^RMPR(664.1,RMPRDA,2,DA,0),U,13)=RMGIP
- S $P(^RMPR(664.1,RMPRDA,2,DA,3),U,4)=$G(RMLOC)
- S $P(^RMPR(664.1,RMPRDA,2,DA,3),U,2)=$G(RMVEN)
- G ITEM
- LAB ;ASK TO POST REQUEST
- I $G(REDIT),$D(RMIDA) D SET^RMPR29LS
- ;G:$D(RMEXIT)!('$D(RMPRDA)) EXIT
- S DIR(0)="Y",DIR("A")="Would you like to review this request"
- S DIR("B")="YES" D ^DIR I $D(DTOUT)!($D(DUOUT)) D SBACK Q:$G(RMCLOF) G:$G(REDIT) EXIT D RDL^RMPR29LU G EXIT
- I Y=1 S IOP="HOME" D PRT^RMPR29R
- ;check for required fields
- D CHK^RMPR29LU K RNEW G:$G(RMEDIT) TYPE D:$G(RMEXIT) RDL^RMPR29LU G:$G(RMEXIT) EXIT
- K DIR S DIR(0)="Y",DIR("A")="Would you like to post this request"
- S DIR("B")="YES" D ^DIR I $D(DTOUT)!($D(DUOUT)) D SBACK Q:$G(RMCLOF) G:$G(REDIT) EDT D RDL^RMPR29LU G EXIT
- I +Y=0 W !,"Request not posted!!" D SBACK Q:$D(RMCLOF) D:$D(RNEW) RDL^RMPR29LU K RMPRDA G:$G(REDIT) EDT G EXIT
- S RMPRWO=$P(^RMPR(664.1,RMPRDA,0),U,13) G:RMPRWO'="" PRINT S SCR=$P(^(0),U,11)
- D CR^RMPR29U(SCR) I '$D(RMPRWO) W !,"Request not posted!!" D SBACK Q:$D(RMCLOF) K RMPRDA G:$G(REDIT) EDT G EXIT
- PRINT D SG^RMPR29LS
- S DIK="^RMPR(664.1,",DA=RMPRDA D IX1^DIK K DIK,DA
- W !! S DIR(0)="Y",DIR("A")="Would you like to print this 2529-3 request"
- S DIR("B")="YES" D ^DIR I $D(DTOUT)!($D(DUOUT)) Q:$D(RMCLOF) G EXIT
- I Y=1 D PRT^RMPR29R
- Q:$D(RMCLOF)
- ;suspense record inquiry
- D LINK^RMPRS
- I $G(REDIT),'$D(RNEW) K RMPRDA G EDT
- G CREATE
- ;end
- ;
- HELP W !,"** You can only select HCPCS that have a LAB pre-determined time.",!,"** If the HCPCS you are selecting are not in the list, please send an E-mail"
- W !,"** message to G.PROS-CODE@DOMAIN.EXT to be added in the list..."
- Q
- ;
- SBACK ;set global back to its original data.
- S %X="^TMP($J,RMPRDA,",%Y="^RMPR(664.1,RMPRDA," D %XY^%RCR
- W !,"Update not posted...." Q
- ;
- EXIT ;common exit
- L:+$G(RMPRDA) -^RMPR(664.1,+RMPRDA,0)
- N RMPR,RMPRSITE D KILL^XUSCLEAN Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HRMPR29LI 9523 printed Feb 18, 2025@23:58:47 Page 2
- RMPR29LI ;HIN/RVD-ENTER LAB STOCK ISSUE 2529-3 [ 11/05/98
- +1 ;;3.0;PROSTHETICS;**33,37**;Feb 09,1996
- CREATE ;CREATE Lab Stock Issue 2529-3
- +1 KILL RMPREDIT,RMPRTMP,RMPR25,REDIT,RMCLOF,DIC
- DO DIV4^RMPRSIT
- if $DATA(X)
- GOTO EXIT
- +2 DO GETPAT^RMPRUTIL
- IF '$DATA(RMPRDFN)
- GOTO EXIT
- +3 SET RMDFN=RMPRDFN
- VIEW ;CREATE Lab Stock Issue 2529-3 VIA LAB MENU
- +1 NEW RMPRDA,RMPRWO,RMPRJOB
- SET RMPRF=15
- SET RFLG=1
- SET RNEW=1
- DO ^RMPRPAT
- +2 SET DIC="^RMPR(664.1,"
- SET DIC(0)="ZL"
- SET X=DT
- +3 SET DLAYGO=664.1
- DO FILE^DICN
- KILL DLAYGO,DIC
- if +Y'>0
- GOTO EXIT
- +4 SET RMPRDA=+Y
- SET $PIECE(^RMPR(664.1,RMPRDA,0),U,2)=RMDFN
- SET $PIECE(^(0),U,3)=RMPR("STA")
- SET $PIECE(^(0),U,17)="S"
- +5 SET IDEF=$$STA^RMPR31U(RMPR("STA"))
- +6 SET DA=RMPRDA
- SET DIK="^RMPR(664.1,"
- DO IX1^DIK
- +7 KILL DR,DA,DIC,DIK,Y,DIE
- DO KVAR^VADPT
- +8 SET RMPRDFN=$PIECE(^RMPR(664.1,RMPRDA,0),U,2)
- SET VAIP("D")="L"
- +9 DO IN5^VADPT
- SET VAINDT=$PIECE($GET(VAIP(3)),U)
- DO INP^VADPT
- +10 IF $GET(RMPRDA)>0
- IF $GET(RMPRDA)'=""
- DO TYPE
- +11 GOTO EXIT
- EDT ;EDIT/DELETE 2529-3
- +1 DO DIV4^RMPRSIT
- if $DATA(X)
- GOTO EXIT
- +2 KILL ^TMP($JOB),DR,DIC,RMPRDA
- SET REDIT=1
- +3 SET DIC="^RMPR(664.1,"
- SET DIC(0)="AEQM"
- SET DR=".01"
- +4 SET DIC("S")="I $P(^(0),U,17)=""S"""
- SET DIC("W")="D EN3^RMPRD1"
- +5 DO ^DIC
- KILL DIC
- if +Y'>0
- GOTO EXIT
- SET RMPRDA=+Y
- IF $GET(RMPRDA)'>0
- QUIT
- +6 LOCK +^RMPR(664.1,RMPRDA,0):1
- +7 IF '$TEST
- WRITE $CHAR(7),!!,?5,"Someone is already editing this entry"
- GOTO EXIT
- +8 SET RMPRDFN=$PIECE(^RMPR(664.1,RMPRDA,0),U,2)
- +9 DO IN5^VADPT
- SET VAINDT=$PIECE($GET(VAIP(3)),U)
- DO INP^VADPT
- +10 DO LIS^RMPR29LU
- KILL DIR
- +11 SET DIR(0)="Y"
- SET DIR("A")="Would you like to Edit this Entry"
- SET DIR("B")="YES"
- +12 DO ^DIR
- if $DATA(DTOUT)!($DATA(DUOUT))
- GOTO EXIT
- if Y=0!(Y<0)
- GOTO EXIT
- +13 SET RL=$ORDER(^RMPR(664.1,RMPRDA,2,0))
- IF RL
- Begin DoDot:1
- +14 SET RM2=$GET(^RMPR(664.1,RMPRDA,2,RL,0))
- SET RMTYPS=$PIECE(RM2,U,7)
- +15 SET RMCATS=$PIECE(RM2,U,8)
- SET RMSPES=$PIECE(RM2,U,9)
- SET RMGIP=$PIECE(RM2,U,13)
- +16 SET RM23=$GET(^RMPR(664.1,RMPRDA,2,RL,3))
- +17 SET RMHS=$PIECE($GET(^RMPR(664.1,RMPRDA,2,RL,2)),U,1)
- +18 SET RMSO=$PIECE(RM23,U,1)
- SET RMLOC=$PIECE(RM23,U,1)
- SET RMIT=$PIECE(RM23,U,3)
- End DoDot:1
- TYPE ;
- +1 SET %X="^RMPR(664.1,RMPRDA,"
- SET %Y="^TMP($J,RMPRDA,"
- DO %XY^%RCR
- +2 KILL DIR
- SET PDA=RMPRDA
- DO ST^RMPR29LS
- if $GET(RMCLOF)
- SET REDIT=1
- +3 IF '$GET(RMPRDFN)
- WRITE !,"*** Unable to access patient information, please contact your IRM..",!
- GOTO EXIT
- +4 DO GD^RMPR29LS
- IF $DATA(RNEW)
- IF $DATA(RMFLG)
- DO RDL^RMPR29LU
- if $DATA(RMFLG)
- GOTO EXIT
- +5 IF $GET(REDIT)
- SET RIDA=$ORDER(^RMPR(664.1,RMPRDA,2,0))
- IF RIDA
- Begin DoDot:1
- +6 SET RM0=$GET(^RMPR(664.1,RMPRDA,2,RIDA,0))
- SET RMTYPS=$PIECE(RM0,U,7)
- SET RMCATS=$PIECE(RM0,U,8)
- SET RMSPES=$PIECE(RM0,U,9)
- SET RMSO=$PIECE($GET(^RMPR(664.1,RMPRDA,2,RIDA,3)),U,1)
- +7 SET RMPRWO=$PIECE(RM0,U,6)
- SET RMQTYS=$PIECE(RM0,U,2)
- SET RMHS=$PIECE($GET(^RMPR(664.1,RMPRDA,2,RIDA,2)),U,1)
- End DoDot:1
- VC if '$DATA(RMSO)
- SET RMSO="C"
- SET DIR(0)="SBO^V:VA;C:COMMERCIAL"
- SET DIR("A")="Select VA or COMMERCIAL SOURCE"
- if $DATA(RMSO)
- SET DIR("B")=RMSO
- +1 SET DIR("?")="Enter V for VA or C for Commercial"
- DO ^DIR
- +2 IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(REDIT)
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +3 if Y=""
- GOTO VC
- SET (RMSOR,RMSO)=Y
- TRAN KILL DIR
- SET DIR(0)="664.16,8"
- +1 ;S DIR("A")="Enter Type of Transaction: "
- +2 if $DATA(RMTYPS)
- SET DIR("B")=$SELECT(RMTYPS="I":"INITIAL",RMTYPS="X":"REPAIR",RMTYPS="R":"REPLACE",RMTYPS="S":"SPARE",1:"")
- +3 DO ^DIR
- +4 IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(RMCLOF)!($GET(REDIT))
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +5 IF Y=""
- WRITE !,"Please enter type of Transaction!!"
- GOTO TRAN
- +6 SET RMTYP=Y
- +7 SET RMTYPS=$SELECT(Y="I":"INITIAL",Y="X":"REPAIR",Y="R":"REPLACE",Y="S":"SPARE",1:"")
- PCAT KILL DIR
- SET DIR(0)="664.16,9"
- +1 if $DATA(RMCATS)
- SET DIR("B")=$SELECT(RMCATS=1:"SC/OP",RMCATS=2:"SC/IP",RMCATS=3:"NSC/IP",RMCATS=4:"NSC/OP",1:"")
- +2 DO ^DIR
- +3 IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(RMCLOF)!($GET(REDIT))
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +4 IF Y=""
- WRITE !,"Please enter Patient Category!!"
- GOTO PCAT
- +5 SET RMCAT=Y
- SET RMCATS=$SELECT(Y=1:"SC/OP",Y=2:"SC/IP",Y=3:"NSC/IP",Y=4:"NSC/OP",1:"")
- KILL DIR
- if RMCAT<4
- GOTO ITEM
- +6 SET DIR(0)="664.16,10"
- +7 if $DATA(RMSPES)
- SET DIR("B")=$SELECT(RMSPES=1:"SPECIAL LEGISLATION",RMSPES=2:"A&A",RMSPES=3:"PHC",RMSPES=4:"ELIGIBILITY REFORM",1:"")
- +8 IF RMCAT=4
- DO ^DIR
- IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(RMCLOF)!($GET(REDIT))
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +9 IF RMCAT=4
- SET RMSPE=Y
- SET RMSPES=$SELECT(Y=1:"SPECIAL LEGISLATION",Y=2:"A&A",Y=3:"PHC",Y=4:"ELIGIBILITY REFORM",1:"")
- +10 KILL DIR
- ITEM ;EDIT 2529-3 ITEM
- +1 KILL DIC,DIR,RDEL,RMEDIT,DTOUT,DUOUT,RMITFLG,RMPRGIP
- SET DA=RMPRDA
- SET DIC="^RMPR(664.1,"_RMPRDA_",2,"
- +2 SET DIC("P")="664.16PA"
- SET DA(1)=RMPRDA
- SET DIC(0)="AEQML"
- +3 DO ^DIC
- KILL DIC
- if +Y'>0
- GOTO LAB
- +4 SET RMITEMS=$PIECE($GET(^RMPR(661,$PIECE(Y,U,2),0)),U,1)
- +5 SET (RMIDA,DA)=+Y
- SET DIE="^RMPR(664.1,"_RMPRDA_",2,"
- SET DR=".01"
- DO ^DIE
- IF $DATA(Y)!'$DATA(^RMPR(664.1,RMPRDA,2,RMIDA,0))
- Begin DoDot:1
- +6 KILL ^RMPR(664.1,RMPRDA,2,RMIDA)
- KILL DIE,DR,RMIDA
- SET RICHECK=$ORDER(^RMPR(664.1,RMPRDA,2,0))
- +7 if '$GET(RICHECK)
- KILL REDIT
- End DoDot:1
- GOTO ITEM
- +8 IF $DATA(^RMPR(664.1,RMPRDA,2,RMIDA,0))
- IF $PIECE(^RMPR(664.1,RMPRDA,2,RMIDA,0),U,1)=""
- KILL ^RMPR(664.1,RMPRDA,2,RMIDA)
- GOTO ITEM
- +9 SET RM0=$GET(^RMPR(664.1,RMPRDA,2,RMIDA,0))
- SET RM3=$GET(^RMPR(664.1,RMPRDA,2,RMIDA,3))
- +10 IF $GET(REDIT)
- Begin DoDot:1
- +11 SET RMHS=$PIECE($GET(^RMPR(664.1,RMPRDA,2,DA,2)),U,1)
- SET RMLOC=$PIECE(RM3,U,4)
- SET RMIT=$PIECE(RM3,U,3)
- +12 SET RMQTYS=$PIECE(RM0,U,2)
- SET RMUNCO=$PIECE(RM0,U,4)
- SET RMITEMS=$PIECE(^RMPR(661,$PIECE(RM0,U,1),0),U,1)
- +13 if '$DATA(RMCAT)
- SET RMCATS=$PIECE(RM0,U,8)
- if '$DATA(RMTYPS)
- SET RMTYPS=$PIECE(RM0,U,7)
- if '$DATA(RMSPE)
- SET RMSPES=$PIECE(RM0,U,9)
- End DoDot:1
- HCPCS ;HCPCS code
- +1 KILL DIC
- +2 SET DIC(0)="AEQM"
- SET DIC="^RMPR(661.1,"
- SET DIC("A")="PSAS HCPCS: "
- if $DATA(RMHS)
- SET DIC("B")=RMHS
- +3 SET DIC("S")="I $P(^RMPR(661.1,+Y,0),U,10)"
- +4 DO ^DIC
- IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(RMCLOF)!($GET(REDIT))
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +5 IF Y=-1
- WRITE !,"HCPCS CODE IS MANDATORY!"
- DO HELP
- GOTO HCPCS
- +6 IF $PIECE(^RMPR(661.1,+Y,0),U,10)<1
- DO HELP
- GOTO HCPCS
- +7 IF +Y>0
- if $PIECE(^RMPR(661.1,+Y,0),U,5)'=1
- GOTO HCPCS
- +8 SET (RMI,RMHCPC,RMHS,DA(1),RMHCPCS)=+Y
- DO ITEMLOC^RMPR5NU1
- KILL DIC
- +9 IF $GET(RMITFLG)
- if $GET(RMCLOF)!($GET(REDIT))
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +10 if '$GET(RMHCDA)!'$GET(RMITDA)
- KILL RMLOC
- IF $GET(RMLOC)
- SET RMGIP=0
- GOTO VEN
- GI IF $PIECE(^RMPR(669.9,RMPRSITE,0),U,3)
- IF '$DATA(^PRCP(445,"AD",DUZ))
- WRITE $CHAR(7),!,"You are not an authorized user of any Inventory Point, please see your ADPAC."
- HANG 2
- SET RMEXIT=1
- QUIT
- +1 SET RMPRGIP=$PIECE(^RMPR(669.9,RMPRSITE,0),U,3)
- SET RMFORM=15
- IF RMPRGIP
- SET PRCPPRIV=1
- DO INV^RMPR29LS
- if $DATA(RMEXIT)&($GET(REDIT))
- GOTO LAB
- if $DATA(RMEXIT)
- QUIT
- +2 if $DATA(RDEL)
- GOTO ITEM
- +3 ;
- VEN KILL DIC("S")
- +1 ;S X=" ",DIC=440,DIC(0)="ZM" D ^DIC S:+Y>0 DIC("B")=$P(^PRC(440,+Y,0),U,1)
- VEN0 IF $GET(RMLOC)
- IF $DATA(RMVEN)
- SET DIC("B")=RMVEN
- +1 SET DIC(0)="AEQM"
- SET DIC=440
- SET DIC("A")="VENDOR: "
- if $GET(REDIT)&($DATA(RMVENS))
- SET DIC("B")=RMVENS
- DO ^DIC
- +2 IF $DATA(DTOUT)!$DATA(DUOUT)
- if $GET(RMCLOF)!($GET(REDIT))
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +3 IF +Y'>0
- WRITE !!,?5,$CHAR(7),"This is a required response. Enter '^' to exit",!
- GOTO VEN
- +4 SET (RMVEN,RMVENS)=+Y
- KILL DIC,Y,X
- UNICO ;UNIT COST
- +1 IF (RMSO["C")&($GET(RMPRGIP))
- SET RMCOS=$PIECE($GET(^PRCP(445,PRCP("I"),1,PRCP("ITEM"),0)),U,15)
- +2 IF $GET(RMLOC)
- SET RMCOS=$PIECE(^RMPR(661.3,RMLOC,1,RMHCDA,1,RMITDA,0),U,10)
- +3 IF $PIECE(RM0,U,4)
- SET RMCOS=$PIECE(RM0,U,4)
- +4 SET DIR(0)="667.3,3"
- SET DIR("A")="UNIT COST"
- +5 if $DATA(RMCOS)&($GET(RMCOS)>0)
- SET DIR("B")=RMCOS
- +6 DO ^DIR
- KILL DIR
- IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(REDIT)!($GET(RMCLOF))
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +7 IF (RMSO["C")&(X<.001)
- WRITE !,"You must enter a UNIT COST....",!
- GOTO UNICO
- +8 SET (RMCOS,RMCO)=Y
- +9 ;
- QTY SET DIR(0)="664.16,2"
- if $DATA(RMQTYS)
- SET DIR("B")=RMQTYS
- DO ^DIR
- +1 IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(REDIT)!($GET(RMCLOF))
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +2 IF X<1
- WRITE !,"You must enter a quantity....",!
- GOTO QTY
- +3 SET (RMQTY,RMQTYS)=Y
- KILL DIR
- +4 KILL DIR
- SET DIR(0)="664.16,12"
- SET RMSERS=$PIECE(RM0,U,12)
- if $DATA(RMSERS)
- SET DIR("B")=RMSERS
- DO ^DIR
- +5 IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(RMCLOF)!($GET(REDIT))
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +6 SET (RMSER,RMSERS)=Y
- SET RMSO=RMSOR
- KILL DIR
- +7 SET DIE(0)="AEQM"
- SET DR=4
- SET DR(1,664.129)="4;"
- SET DR(2,664.1294)=".01"
- +8 SET ^RMPR(664.1,RMPRDA,8,0)="^664.129DA"
- SET ^RMPR(664.1,RMPRDA,8,1,1,0)="^664.1294^"
- +9 SET DA(1)=RMPRDA
- SET DIE="^RMPR(664.1,"_RMPRDA_",8,"
- SET DA=1
- DO ^DIE
- KILL DIE,DR,DA
- +10 SET DA(1)=RMPRDA
- SET DA=RMIDA
- SET DIE="^RMPR(664.1,"_RMPRDA_",2,"
- +11 SET DR="2///^S X=$G(RMQTY);4///^S X=$G(RMCO);12///^S X=$G(RMSER);8///^S X=$G(RMTYP);9///^S X=$G(RMCAT);10///^S X=$G(RMSPE);16///^S X=$G(RMIT);14///^S X=$G(RMSOR)"
- +12 DO ^DIE
- IF $DATA(DTOUT)!$DATA(DUOUT)
- if $GET(REDIT)!$GET(RMCLOF)
- GOTO LAB
- GOTO EXIT
- +13 SET RM0=$GET(^RMPR(664.1,RMPRDA,2,DA,0))
- SET RMQTY=$PIECE(RM0,U,2)
- SET RMCO=$PIECE(RM0,U,4)
- +14 IF RMQTY
- SET RMTOCO=RMQTY*RMCO
- SET DR="11///^S X=$G(RMTOCO);13///^S X=$G(RMHCPC)"
- DO ^DIE
- +15 if $GET(RMGIP)
- SET $PIECE(^RMPR(664.1,RMPRDA,2,DA,0),U,13)=RMGIP
- +16 SET $PIECE(^RMPR(664.1,RMPRDA,2,DA,3),U,4)=$GET(RMLOC)
- +17 SET $PIECE(^RMPR(664.1,RMPRDA,2,DA,3),U,2)=$GET(RMVEN)
- +18 GOTO ITEM
- LAB ;ASK TO POST REQUEST
- +1 IF $GET(REDIT)
- IF $DATA(RMIDA)
- DO SET^RMPR29LS
- +2 ;G:$D(RMEXIT)!('$D(RMPRDA)) EXIT
- +3 SET DIR(0)="Y"
- SET DIR("A")="Would you like to review this request"
- +4 SET DIR("B")="YES"
- DO ^DIR
- IF $DATA(DTOUT)!($DATA(DUOUT))
- DO SBACK
- if $GET(RMCLOF)
- QUIT
- if $GET(REDIT)
- GOTO EXIT
- DO RDL^RMPR29LU
- GOTO EXIT
- +5 IF Y=1
- SET IOP="HOME"
- DO PRT^RMPR29R
- +6 ;check for required fields
- +7 DO CHK^RMPR29LU
- KILL RNEW
- if $GET(RMEDIT)
- GOTO TYPE
- if $GET(RMEXIT)
- DO RDL^RMPR29LU
- if $GET(RMEXIT)
- GOTO EXIT
- +8 KILL DIR
- SET DIR(0)="Y"
- SET DIR("A")="Would you like to post this request"
- +9 SET DIR("B")="YES"
- DO ^DIR
- IF $DATA(DTOUT)!($DATA(DUOUT))
- DO SBACK
- if $GET(RMCLOF)
- QUIT
- if $GET(REDIT)
- GOTO EDT
- DO RDL^RMPR29LU
- GOTO EXIT
- +10 IF +Y=0
- WRITE !,"Request not posted!!"
- DO SBACK
- if $DATA(RMCLOF)
- QUIT
- if $DATA(RNEW)
- DO RDL^RMPR29LU
- KILL RMPRDA
- if $GET(REDIT)
- GOTO EDT
- GOTO EXIT
- +11 SET RMPRWO=$PIECE(^RMPR(664.1,RMPRDA,0),U,13)
- if RMPRWO'=""
- GOTO PRINT
- SET SCR=$PIECE(^(0),U,11)
- +12 DO CR^RMPR29U(SCR)
- IF '$DATA(RMPRWO)
- WRITE !,"Request not posted!!"
- DO SBACK
- if $DATA(RMCLOF)
- QUIT
- KILL RMPRDA
- if $GET(REDIT)
- GOTO EDT
- GOTO EXIT
- PRINT DO SG^RMPR29LS
- +1 SET DIK="^RMPR(664.1,"
- SET DA=RMPRDA
- DO IX1^DIK
- KILL DIK,DA
- +2 WRITE !!
- SET DIR(0)="Y"
- SET DIR("A")="Would you like to print this 2529-3 request"
- +3 SET DIR("B")="YES"
- DO ^DIR
- IF $DATA(DTOUT)!($DATA(DUOUT))
- if $DATA(RMCLOF)
- QUIT
- GOTO EXIT
- +4 IF Y=1
- DO PRT^RMPR29R
- +5 if $DATA(RMCLOF)
- QUIT
- +6 ;suspense record inquiry
- +7 DO LINK^RMPRS
- +8 IF $GET(REDIT)
- IF '$DATA(RNEW)
- KILL RMPRDA
- GOTO EDT
- +9 GOTO CREATE
- +10 ;end
- +11 ;
- HELP WRITE !,"** You can only select HCPCS that have a LAB pre-determined time.",!,"** If the HCPCS you are selecting are not in the list, please send an E-mail"
- +1 WRITE !,"** message to G.PROS-CODE@DOMAIN.EXT to be added in the list..."
- +2 QUIT
- +3 ;
- SBACK ;set global back to its original data.
- +1 SET %X="^TMP($J,RMPRDA,"
- SET %Y="^RMPR(664.1,RMPRDA,"
- DO %XY^%RCR
- +2 WRITE !,"Update not posted...."
- QUIT
- +3 ;
- EXIT ;common exit
- +1 if +$GET(RMPRDA)
- LOCK -^RMPR(664.1,+RMPRDA,0)
- +2 NEW RMPR,RMPRSITE
- DO KILL^XUSCLEAN
- QUIT