- RMPR29LE ;HIN/RVD-ENTER/CLOSE 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,RMNEW 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,(RSTOCK,RNEW,RFLG)=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,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
- EDT ;EDIT/DELETE 2529-3
- I $G(RMPRDA)>0,$G(RMPRDA)'="" G TYPE
- K DR,DIC D DIV4^RMPRSIT G:$D(X) EXIT S REDIT=1
- S DIC="^RMPR(664.1,",DIC(0)="AEQM",DR=".01"
- ;screen on complete, delete status
- S DIC("S")="I $P(^(0),U,17)=""S"""
- S DIC("W")="D EN3^RMPRD1"
- K DIC("A") 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 LIS^RMPR29LU K DIR
- S DIR(0)="Y",DIR("A")="Would you like to Edit this Entry",DIR("B")="NO"
- D ^DIR G:$D(DTOUT)!($D(DIRUT)) EXIT G:Y=0!(Y<0) EXIT
- ;D ST^RMPR29LS
- ;
- TYPE ;
- K DIR S PDA=RMPRDA
- D ST^RMPR29LS I '$G(RMPRDFN) W !,"*** UNABLE to access patient information, please contact your IRM..",! G EXIT
- D GD^RMPR29LS
- I $G(RNEW),$D(RMFLG) D RDL^RMPR29LU G:$D(RMFLG) EXIT
- ;G:$D(REDIT) ITEM
- S DIR(0)="SBO^V:VA;C:COMMERCIAL",DIR("A")="Select VA or COMMERCIAL SOURCE" S DIR("B")="C"
- S DIR("?")="Enter V for VA or C for Commercial"
- D ^DIR
- I $D(DUOUT)!$D(DTOUT) D RDL^RMPR29LU G EXIT
- S (RMSOR,RMSO)=Y K DIR
- S DIR(0)="664.16,8"
- TRAN 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) D RDL^RMPR29LU G EXIT
- I Y="" W !,"Please enter Type of Transaction!!" G TRAN
- S RMTYP=Y K DIR
- 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) 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
- SCAT 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) 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 DIR,RMEDIT,RMITFLG,DUOUT,DTOUT,DIC,RMPRGIP,RDEL S DA=RMPRDA,DIC="^RMPR(664.1,"_RMPRDA_",2,"
- S DIC("P")="664.16PA",DA(1)=RMPRDA,DIC(0)="AEQMZL"
- 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,DA,0)) S:$P(RM0,U,2)'="" REDIT=1
- I $G(REDIT) D
- .S RMHS=$P($G(^RMPR(664.1,RMPRDA,2,DA,2)),U,1)
- .S RM3=$G(^RMPR(664.1,RMPRDA,2,DA,3)),RMLOC=$P(RM3,U,4),RMIT=$P(RM3,U,3)
- .S RMQTYS=$P(RM0,U,2),RMCOS=$P(RM0,U,4),RMGIP=$P(RM0,U,13)
- .S RMTYPS=$P(RM0,U,7),RMCATS=$P(RM0,U,8),RMSPES=$P(RM0,U,9)
- HCPCS ;HCPCS code
- K DIC
- S DIC(0)="AQEM",DIC="^RMPR(661.1,",DIC("A")="PSAS HCPCS: " S:$G(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(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 $P(R1(0),U,22)=$P(^RMPR(661.1,+Y,0),U,4)
- S (RMI,RMHCPC,DA(1),RMHCPCS)=+Y
- D ITEMLOC^RMPR5NU1 K DIC
- I $G(RMITFLG) G:$G(REDIT) LAB D RDL^RMPR29LU G EXIT
- K:'$G(RMHCDA)!'$G(RMITDA) RMLOC I $G(RMLOC) S RMGIP=0 G VEN
- G GI
- HMESS1 W !,$C(7),"HCPCS has no pre-determined time....",!,"Please SEND mail message to G.PROS-CODE@DOMAIN.EXT!!!" X CK Q
- Q
- ;
- 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 D RDL^RMPR29LU G EXIT
- 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(DUOUT)!$D(DTOUT) G:$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
- COS ;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($G(^RMPR(661.3,RMLOC,1,RMHCDA,1,RMITDA,0)),U,10)
- S DIR(0)="667.3,3",DIR("A")="UNIT COST"
- S:$D(RMCOS)&($G(RMCOS)) DIR("B")=RMCOS
- D ^DIR K DIR
- I $D(DUOUT)!$D(DTOUT) G:$G(REDIT) LAB D RDL^RMPR29LU G EXIT
- I (RMSO["C")&(X<.001) W !,"You must enter a UNIT COST....",! G COS
- S RMCO=Y K DIR
- QTY S DIR(0)="664.16,2",RMQTYS=$P(RM0,U,2) S:$D(RMQTYS) DIR("B")=RMQTYS D ^DIR
- I $D(DUOUT)!$D(DTOUT) G:$G(REDIT) 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(REDIT) LAB D RDL^RMPR29LU G EXIT
- S (RMSER,RMSERS)=Y K DIR
- S DIE(0)="AEQM",DR=4
- S DR(1,664.129)="4;"
- S DR(2,664.1294)=".01"
- S ^RMPR(664.1,RMPRDA,8,0)="^664.129DA"
- S ^RMPR(664.1,RMPRDA,8,1,1,0)="^664.1294^"
- S DA(1)=RMPRDA,DIE="^RMPR(664.1,"_RMPRDA_",8,"
- S 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(RMSO)"
- D ^DIE I $D(DTOUT)!$D(DUOUT) G:$G(REDIT) 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
- 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 CHK^RMPR29LU D:$G(RMEXIT) RDL^RMPR29LU G EXIT
- I Y=1 S IOP="HOME" D PRT^RMPR29R
- D CHK^RMPR29LU K RMNEW 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 G:$D(DTOUT)!($D(DUOUT)) EXIT
- I +Y=0 W !!,?5,$C(7),"Request not posted!!" D RDL^RMPR29LU 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 !!,?5,$C(7),"Request not posted!!" D RDL^RMPR29LU 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 G:$D(DTOUT)!($D(DUOUT)) EXIT I Y=1 D PRT^RMPR29R
- ;close a Lab Issue from Stock.
- D STA^RMPR29LC
- ;suspense record inquiry
- D LINK^RMPRS
- G CREATE
- 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
- ;
- EXIT ;common exit
- L:+$G(RMPRDA) -^RMPR(664.1,+RMPRDA,0)
- ;I '$D(RMPR25)&('$D(RMPREDIT)) W !! S DIR(0)="Y",DIR("A")="Would you like to Process another 2529-3 Request",DIR("B")="NO" D ^DIR G:+Y=1 CREATE
- N RMPR,RMPRSITE D KILL^XUSCLEAN
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HRMPR29LE 8492 printed Apr 23, 2025@18:46:47 Page 2
- RMPR29LE ;HIN/RVD-ENTER/CLOSE 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,RMNEW
- 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 (RSTOCK,RNEW,RFLG)=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,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
- EDT ;EDIT/DELETE 2529-3
- +1 IF $GET(RMPRDA)>0
- IF $GET(RMPRDA)'=""
- GOTO TYPE
- +2 KILL DR,DIC
- DO DIV4^RMPRSIT
- if $DATA(X)
- GOTO EXIT
- SET REDIT=1
- +3 SET DIC="^RMPR(664.1,"
- SET DIC(0)="AEQM"
- SET DR=".01"
- +4 ;screen on complete, delete status
- +5 SET DIC("S")="I $P(^(0),U,17)=""S"""
- +6 SET DIC("W")="D EN3^RMPRD1"
- +7 KILL DIC("A")
- DO ^DIC
- KILL DIC
- if +Y'>0
- GOTO EXIT
- SET RMPRDA=+Y
- IF $GET(RMPRDA)'>0
- QUIT
- +8 LOCK +^RMPR(664.1,RMPRDA,0):1
- +9 IF '$TEST
- WRITE $CHAR(7),!!,?5,"Someone is already editing this entry"
- GOTO EXIT
- +10 SET RMPRDFN=$PIECE(^RMPR(664.1,RMPRDA,0),U,2)
- +11 DO LIS^RMPR29LU
- KILL DIR
- +12 SET DIR(0)="Y"
- SET DIR("A")="Would you like to Edit this Entry"
- SET DIR("B")="NO"
- +13 DO ^DIR
- if $DATA(DTOUT)!($DATA(DIRUT))
- GOTO EXIT
- if Y=0!(Y<0)
- GOTO EXIT
- +14 ;D ST^RMPR29LS
- +15 ;
- TYPE ;
- +1 KILL DIR
- SET PDA=RMPRDA
- +2 DO ST^RMPR29LS
- IF '$GET(RMPRDFN)
- WRITE !,"*** UNABLE to access patient information, please contact your IRM..",!
- GOTO EXIT
- +3 DO GD^RMPR29LS
- +4 IF $GET(RNEW)
- IF $DATA(RMFLG)
- DO RDL^RMPR29LU
- if $DATA(RMFLG)
- GOTO EXIT
- +5 ;G:$D(REDIT) ITEM
- +6 SET DIR(0)="SBO^V:VA;C:COMMERCIAL"
- SET DIR("A")="Select VA or COMMERCIAL SOURCE"
- SET DIR("B")="C"
- +7 SET DIR("?")="Enter V for VA or C for Commercial"
- +8 DO ^DIR
- +9 IF $DATA(DUOUT)!$DATA(DTOUT)
- DO RDL^RMPR29LU
- GOTO EXIT
- +10 SET (RMSOR,RMSO)=Y
- KILL DIR
- +11 SET DIR(0)="664.16,8"
- TRAN if $DATA(RMTYPS)
- SET DIR("B")=$SELECT(RMTYPS="I":"INITIAL",RMTYPS="X":"REPAIR",RMTYPS="R":"REPLACE",RMTYPS="S":"SPARE",1:"")
- +1 DO ^DIR
- +2 IF $DATA(DUOUT)!$DATA(DTOUT)
- DO RDL^RMPR29LU
- GOTO EXIT
- +3 IF Y=""
- WRITE !,"Please enter Type of Transaction!!"
- GOTO TRAN
- +4 SET RMTYP=Y
- KILL DIR
- +5 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"
- if $DATA(RMCATS)
- SET DIR("B")=$SELECT(RMCATS=1:"SC/OP",RMCATS=2:"SC/IP",RMCATS=3:"NSC/IP",RMCATS=4:"NSC/OP",1:"")
- +1 DO ^DIR
- +2 IF $DATA(DUOUT)!$DATA(DTOUT)
- DO RDL^RMPR29LU
- GOTO EXIT
- +3 IF Y=""
- WRITE !,"Please enter Patient Category!!"
- GOTO PCAT
- +4 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
- SCAT SET DIR(0)="664.16,10"
- if $DATA(RMSPES)
- SET DIR("B")=$SELECT(RMSPES=1:"SPECIAL LEGISLATION",RMSPES=2:"A&A",RMSPES=3:"PHC",RMSPES=4:"ELIGIBILITY REFORM",1:"")
- +1 IF RMCAT=4
- DO ^DIR
- IF $DATA(DUOUT)!$DATA(DTOUT)
- DO RDL^RMPR29LU
- GOTO EXIT
- +2 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:"")
- +3 KILL DIR
- ITEM ;EDIT 2529-3 ITEM
- +1 KILL DIR,RMEDIT,RMITFLG,DUOUT,DTOUT,DIC,RMPRGIP,RDEL
- SET DA=RMPRDA
- SET DIC="^RMPR(664.1,"_RMPRDA_",2,"
- +2 SET DIC("P")="664.16PA"
- SET DA(1)=RMPRDA
- SET DIC(0)="AEQMZL"
- +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,DA,0))
- if $PIECE(RM0,U,2)'=""
- SET REDIT=1
- +10 IF $GET(REDIT)
- Begin DoDot:1
- +11 SET RMHS=$PIECE($GET(^RMPR(664.1,RMPRDA,2,DA,2)),U,1)
- +12 SET RM3=$GET(^RMPR(664.1,RMPRDA,2,DA,3))
- SET RMLOC=$PIECE(RM3,U,4)
- SET RMIT=$PIECE(RM3,U,3)
- +13 SET RMQTYS=$PIECE(RM0,U,2)
- SET RMCOS=$PIECE(RM0,U,4)
- SET RMGIP=$PIECE(RM0,U,13)
- +14 SET RMTYPS=$PIECE(RM0,U,7)
- SET RMCATS=$PIECE(RM0,U,8)
- SET RMSPES=$PIECE(RM0,U,9)
- End DoDot:1
- HCPCS ;HCPCS code
- +1 KILL DIC
- +2 SET DIC(0)="AQEM"
- SET DIC="^RMPR(661.1,"
- SET DIC("A")="PSAS HCPCS: "
- if $GET(RMHS)
- SET DIC("B")=RMHS
- +3 SET DIC("S")="I $P(^RMPR(661.1,+Y,0),U,10)"
- +4 DO ^DIC
- +5 IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(REDIT)
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +6 IF Y=-1
- WRITE !,"HCPCS CODE IS MANDATORY!"
- DO HELP
- GOTO HCPCS
- +7 IF $PIECE(^RMPR(661.1,+Y,0),U,10)<1
- DO HELP
- GOTO HCPCS
- +8 IF +Y>0
- if $PIECE(^RMPR(661.1,+Y,0),U,5)'=1
- GOTO HCPCS
- SET $PIECE(R1(0),U,22)=$PIECE(^RMPR(661.1,+Y,0),U,4)
- +9 SET (RMI,RMHCPC,DA(1),RMHCPCS)=+Y
- +10 DO ITEMLOC^RMPR5NU1
- KILL DIC
- +11 IF $GET(RMITFLG)
- if $GET(REDIT)
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +12 if '$GET(RMHCDA)!'$GET(RMITDA)
- KILL RMLOC
- IF $GET(RMLOC)
- SET RMGIP=0
- GOTO VEN
- +13 GOTO GI
- HMESS1 WRITE !,$CHAR(7),"HCPCS has no pre-determined time....",!,"Please SEND mail message to G.PROS-CODE@DOMAIN.EXT!!!"
- XECUTE CK
- QUIT
- +1 QUIT
- +2 ;
- 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
- DO RDL^RMPR29LU
- GOTO EXIT
- +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(DUOUT)!$DATA(DTOUT)
- if $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
- COS ;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($GET(^RMPR(661.3,RMLOC,1,RMHCDA,1,RMITDA,0)),U,10)
- +3 SET DIR(0)="667.3,3"
- SET DIR("A")="UNIT COST"
- +4 if $DATA(RMCOS)&($GET(RMCOS))
- SET DIR("B")=RMCOS
- +5 DO ^DIR
- KILL DIR
- +6 IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(REDIT)
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +7 IF (RMSO["C")&(X<.001)
- WRITE !,"You must enter a UNIT COST....",!
- GOTO COS
- +8 SET RMCO=Y
- KILL DIR
- QTY SET DIR(0)="664.16,2"
- SET RMQTYS=$PIECE(RM0,U,2)
- if $DATA(RMQTYS)
- SET DIR("B")=RMQTYS
- DO ^DIR
- +1 IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(REDIT)
- 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 ;
- +5 KILL DIR
- SET DIR(0)="664.16,12"
- SET RMSERS=$PIECE(RM0,U,12)
- if $DATA(RMSERS)
- SET DIR("B")=RMSERS
- DO ^DIR
- +6 IF $DATA(DUOUT)!$DATA(DTOUT)
- if $GET(REDIT)
- GOTO LAB
- DO RDL^RMPR29LU
- GOTO EXIT
- +7 SET (RMSER,RMSERS)=Y
- KILL DIR
- +8 SET DIE(0)="AEQM"
- SET DR=4
- +9 SET DR(1,664.129)="4;"
- +10 SET DR(2,664.1294)=".01"
- +11 SET ^RMPR(664.1,RMPRDA,8,0)="^664.129DA"
- +12 SET ^RMPR(664.1,RMPRDA,8,1,1,0)="^664.1294^"
- +13 SET DA(1)=RMPRDA
- SET DIE="^RMPR(664.1,"_RMPRDA_",8,"
- +14 SET DA=1
- DO ^DIE
- KILL DIE,DR,DA
- +15 SET DA(1)=RMPRDA
- SET DA=RMIDA
- SET DIE="^RMPR(664.1,"_RMPRDA_",2,"
- +16 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(RMSO)"
- +17 DO ^DIE
- IF $DATA(DTOUT)!$DATA(DUOUT)
- if $GET(REDIT)
- GOTO LAB
- GOTO EXIT
- +18 SET RM0=$GET(^RMPR(664.1,RMPRDA,2,DA,0))
- SET RMQTY=$PIECE(RM0,U,2)
- SET RMCO=$PIECE(RM0,U,4)
- +19 IF RMQTY
- SET RMTOCO=RMQTY*RMCO
- SET DR="11///^S X=$G(RMTOCO);13///^S X=$G(RMHCPC)"
- DO ^DIE
- +20 if $GET(RMGIP)
- SET $PIECE(^RMPR(664.1,RMPRDA,2,DA,0),U,13)=RMGIP
- +21 SET $PIECE(^RMPR(664.1,RMPRDA,2,DA,3),U,4)=$GET(RMLOC)
- +22 SET $PIECE(^RMPR(664.1,RMPRDA,2,DA,3),U,2)=$GET(RMVEN)
- +23 GOTO ITEM
- LAB ;ASK TO POST REQUEST
- +1 IF $GET(REDIT)
- IF $DATA(RMIDA)
- DO SET^RMPR29LS
- +2 SET DIR(0)="Y"
- SET DIR("A")="Would you like to review this request"
- +3 SET DIR("B")="YES"
- DO ^DIR
- IF $DATA(DTOUT)!($DATA(DUOUT))
- DO CHK^RMPR29LU
- if $GET(RMEXIT)
- DO RDL^RMPR29LU
- GOTO EXIT
- +4 IF Y=1
- SET IOP="HOME"
- DO PRT^RMPR29R
- +5 DO CHK^RMPR29LU
- KILL RMNEW
- if $GET(RMEDIT)
- GOTO TYPE
- if $GET(RMEXIT)
- DO RDL^RMPR29LU
- if $GET(RMEXIT)
- GOTO EXIT
- +6 KILL DIR
- SET DIR(0)="Y"
- SET DIR("A")="Would you like to post this request"
- +7 SET DIR("B")="YES"
- DO ^DIR
- if $DATA(DTOUT)!($DATA(DUOUT))
- GOTO EXIT
- +8 IF +Y=0
- WRITE !!,?5,$CHAR(7),"Request not posted!!"
- DO RDL^RMPR29LU
- GOTO EXIT
- +9 SET RMPRWO=$PIECE(^RMPR(664.1,RMPRDA,0),U,13)
- if RMPRWO'=""
- GOTO PRINT
- SET SCR=$PIECE(^(0),U,11)
- +10 DO CR^RMPR29U(SCR)
- IF '$DATA(RMPRWO)
- WRITE !!,?5,$CHAR(7),"Request not posted!!"
- DO RDL^RMPR29LU
- 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))
- GOTO EXIT
- IF Y=1
- DO PRT^RMPR29R
- +4 ;close a Lab Issue from Stock.
- +5 DO STA^RMPR29LC
- +6 ;suspense record inquiry
- +7 DO LINK^RMPRS
- +8 GOTO CREATE
- HELP ;
- +1 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"
- +2 WRITE !,"** message to G.PROS-CODE@DOMAIN.EXT to be added in the list..."
- +3 QUIT
- +4 ;
- EXIT ;common exit
- +1 if +$GET(RMPRDA)
- LOCK -^RMPR(664.1,+RMPRDA,0)
- +2 ;I '$D(RMPR25)&('$D(RMPREDIT)) W !! S DIR(0)="Y",DIR("A")="Would you like to Process another 2529-3 Request",DIR("B")="NO" D ^DIR G:+Y=1 CREATE
- +3 NEW RMPR,RMPRSITE
- DO KILL^XUSCLEAN
- +4 QUIT