Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: RMPR29

RMPR29.m

Go to the documentation of this file.
  1. RMPR29 ;PHX/JLT-ENTER/EDIT 2529-3 [ 10/01/94 5:29 AM ]
  1. ;;3.0;PROSTHETICS;**12,41,62,128**;Feb 09, 1996
  1. ;RVD patch #62 - PCE and suspense link
  1. CREATE ;CREATE 2529-3
  1. K RMPREDIT,RMPRTMP,RMPR25,^TMP($J,"RMPRPCE") D DIV4^RMPRSIT G:$D(X) EXIT1
  1. D GETPAT^RMPRUTIL I '$D(RMPRDFN) G EXIT1
  1. VIEW ;CREATE 2529-3 VIA LAB MENU
  1. N RMPRDA,RMPRWO,RMPRJOB S RMPRF=4 D ^RMPRPAT I $D(RMPRKILL) G EXIT
  1. S DIC="^RMPR(664.1,",DIC(0)="ZL",X=DT
  1. S DLAYGO=664.1 D FILE^DICN K DLAYGO,DIC
  1. G:+Y'>0 EXIT1
  1. S RMPRDA=+Y,$P(^RMPR(664.1,RMPRDA,0),U,2)=RMPRDFN,$P(^(0),U,3)=RMPR("STA"),$P(^(0),U,17)="I"
  1. S IDEF=$$STA^RMPR31U(RMPR("STA"))
  1. S DA=RMPRDA,DIK="^RMPR(664.1," D IX1^DIK
  1. K DR,DA,DIC,Y,DIE D KVAR^VADPT
  1. S DFN=$P(^RMPR(664.1,RMPRDA,0),U,2),VAIP("D")="L"
  1. D IN5^VADPT S VAINDT=$P($G(VAIP(3)),U) D INP^VADPT
  1. I VAIN(1) S DR=".11R;.04R//^S X=$G(IDEF);2R;12//^S X=$P(VAIN(4),U,2);12.1//^S X=$P(VAIN(2),U,2);12.2//^S X=VAIN(9);12.3//^S X=$P(VAIN(3),U,2);12.4;.09R"
  1. I 'VAIN(1) S DR=".11R;.04R//^S X=$G(IDEF);2R;.09R"
  1. EDT ;EDIT/DELETE 2529-3
  1. I $G(RMPRDA)>0,$G(RMPRDA)'="" G ST
  1. K DR,DIC D DIV4^RMPRSIT G:$D(X) EXIT1
  1. S RMPREDIT=1
  1. S DIC="^RMPR(664.1,",DIC(0)="AEQM",DR=".01"
  1. ;screen on complete, delete status
  1. S DIC("S")="I $P(^(0),U,17)'=""D""&($P(^(0),U,17)'=""C"")"
  1. S DIC("W")="D EN3^RMPRD1"
  1. D ^DIC K DIC
  1. G:+Y'>0 EXIT1 S RMPRDA=+Y
  1. I $G(RMPRDA)'>0 Q
  1. L +^RMPR(664.1,RMPRDA,0):1
  1. I '$T W $C(7),!!,?5,"Someone is already editing this entry" G EXIT
  1. D DSP^RMPR29R K DIR
  1. S DIR(0)="Y",DIR("A")="Would you like to Edit this Entry"
  1. S DIR("B")="YES" D ^DIR
  1. G:$D(DTOUT)!($D(DIRUT)) EXIT K DKILL,IKILL G:+Y=0 DEL
  1. ST ;set data in 2529-3 file
  1. S RMPRDFN=$P(^RMPR(664.1,RMPRDA,0),U,2),DA=RMPRDA,DIE="^RMPR(664.1,"
  1. I '$D(DR),'$D(^RMPR(664.1,RMPRDA,"CDR")) S DR=".11R;.04;2R;.09R"
  1. I '$D(DR),$D(^RMPR(664.1,RMPRDA,"CDR")) S DR=".11R;.04R;2R;12;12.1;12.2;12.3;12.4;.09R"
  1. D ^DIE G:$D(Y)!($D(DTOUT)) CHK^RMPR29D
  1. GD ;Display work order
  1. D DIS^RMPR29W(RMPRDFN,RMPRDA) G:$G(X)="^" CHK^RMPR29D G:+Y'>0 ITM
  1. K DR,DA,DIC,DIE
  1. S DIC="^RMPR(664.1,"_RMPRDA_",1,"
  1. S DIC("P")="664.15PA",DA(1)=RMPRDA
  1. S DIC(0)="EQMZL",X=Y(0,0),ELG=$P(Y(0),U,3)
  1. D ^DIC
  1. I +Y'>0 K DIC G GD
  1. S DIE=DIC K DIC
  1. S DA(1)=RMPRDA,DA=+Y
  1. S DR="1///^S X=ELG;.01;1"
  1. D ^DIE G:$D(DTOUT)!($D(Y)) CHK^RMPR29D G GD
  1. ITM ;EDIT 2529-3 ITEM
  1. K DIR S DA=RMPRDA,DIC="^RMPR(664.1,"_RMPRDA_",2,"
  1. S DIC("P")="664.16PA",DA(1)=RMPRDA,DIC(0)="AEQMZL"
  1. S DIC("W")="S RA=$P(^(0),U,1) I +RA W ?16,$$ITM^RMPR31U(RA)"
  1. D ^DIC K DIC G:+Y'>0 CHK^RMPR29D
  1. S RY=$P(Y,U,2) D ITA^RMPR29U(RY)
  1. S DA=+Y,DIE="^RMPR(664.1,"_RMPRDA_",2,"
  1. S DR="8R;9R;13;7;2R;3R;12"
  1. D ^DIE G:$D(DTOUT) CHK^RMPR29D
  1. S RMTYPE=$P(^RMPR(664.1,RMPRDA,2,DA,0),U,7)
  1. I $D(DA) S RDATA=RMTYPE_"^"_RMPRDA_"^"_DA D CHKCPT^RMPR29U(RDATA)
  1. I $D(DA) S RY=$P(^RMPR(664.1,DA(1),2,DA,0),U),HCPCS=$P($G(^(2)),U,1),RMCPT=$P($G(^(2)),U,2) D ITA^RMPR29U(RY)
  1. K RMTYPE,RDATA,RMCPT
  1. D G ITM
  1. LAB ;ASK TO POST REQUEST
  1. S DIR(0)="Y",DIR("A")="Would you like to review this request"
  1. S DIR("B")="YES" D ^DIR G:$D(DTOUT)!($D(DIRUT)) EXIT
  1. I Y=1 S IOP="HOME" D PRT^RMPR29R
  1. K DIR S DIR(0)="Y",DIR("A")="Would you like to post this request"
  1. S DIR("B")="YES" D ^DIR G:$D(DTOUT)!($D(DIRUT)) EXIT
  1. I +Y=0 W !!,?5,$C(7),"Request not posted!!" G:$D(RMPR25) RDL G EXIT
  1. ;set temp transaction flag if needed
  1. K RMPRTMP I $P(^RMPR(664.1,RMPRDA,0),U,15)'=RMPR("STA") S RMPRTMP=1
  1. S RMPRWO=$P(^RMPR(664.1,RMPRDA,0),U,13) G:RMPRWO'="" SG S SCR=$P(^(0),U,11)
  1. D CR^RMPR29U(SCR)
  1. I '$D(RMPRWO) W !!,?5,$C(7),"Request not posted!!" G EXIT
  1. SG ;set 2529-3 global
  1. S $P(^RMPR(664.1,RMPRDA,0),U,13)=$G(RMPRWO)
  1. ;set no admin count/no lab count
  1. I $P(^RMPR(664.1,RMPRDA,0),U,15)=RMPR("STA")&($P(^(0),U,4)'=RMPR("STA")) S $P(^(0),U,23)=1
  1. I $P(^RMPR(664.1,RMPRDA,0),U,15)'=RMPR("STA") S $P(^(0),U,20)=1 S:$D(RMPR25) $P(^RMPR(664.1,RMPRDA,0),U,23)=1 S DIE="^RMPR(664.1,",DA=RMPRDA,DR="16///^S X=""PC""" D ^DIE
  1. I '$P(^RMPR(664.1,RMPRDA,0),U,20) S DIE="^RMPR(664.1,",DA=RMPRDA,DR="16///^S X=""P""" D ^DIE
  1. S $P(^RMPR(664.1,RMPRDA,0),U,5)=DUZ,$P(^(0),U,18)=DT D ^RMPR29A
  1. I $G(RMPRWO)'="" W !!,?5,"Assigned Work Order Number: ",RMPRWO D:'$D(RMPRTMP) LOC^RMPR29R
  1. ;added by #62
  1. I $G(DA660),'$D(^RMPR(660,DA660,10)) D
  1. .S (RMPCAMIS,RMPRDFN)=""
  1. .S RMPCAMIS=$G(^RMPR(660,DA660,"AMS"))
  1. .S:$D(^RMPR(660,DA660,0)) RMPRDFN=$P(^RMPR(660,DA660,0),U,2)
  1. .I RMPCAMIS,RMPRDFN S ^TMP($J,"RMPRPCE",660,DA660)=RMPCAMIS_"^"_RMPRDFN
  1. ;suspense record inquiry
  1. D LINK^RMPRS
  1. W !! S DIR(0)="Y",DIR("A")="Would you like to print this 2529-3 request"
  1. S DIR("B")="YES" D ^DIR G:$D(DTOUT)!($D(DIRUT)) EXIT
  1. I Y=1 D PRT^RMPR29R
  1. ;
  1. EXIT ;common exit point for both RMPR29 and RMPR29A
  1. ;
  1. L:+$G(RMPRDA) -^RMPR(664.1,+RMPRDA,0)
  1. S:$D(RMPR25)&($D(RMPRDA)) RMPRRDA=RMPRDA
  1. I '$D(RMPR25)&('$D(RMPREDIT)) W !! S DIR(0)="Y",DIR("A")="Would you like to Process another 2529-3 Request",DIR("B")="YES" D ^DIR G:+Y=1 CREATE
  1. D KVAR^VADPT
  1. K ^TMP($J,"RMPRPCE")
  1. N RMPR,RMPRSITE D KILL^XUSCLEAN
  1. Q
  1. EXIT1 ;exit on error
  1. L:+$G(RMPRDA) -^RMPR(664.1,+RMPRDA,0)
  1. N RMPR,RMPRSITE D KVAR^VADPT,KILL^XUSCLEAN Q
  1. DEL ;delete status 2529-3
  1. K DIR,Y
  1. S DIR(0)="Y",DIR("A")="Would you like to Delete this 2529-3 Entry"
  1. S DIR("B")="NO" D ^DIR G:$D(DTOUT)!($D(DIRUT)) EXIT1
  1. ;if not drop into edit mode
  1. I +Y=0 G:$D(DKILL) GD G:$D(IKILL) ITM G CHK^RMPR29D
  1. ;if it has a work order number, only mark as deleted
  1. ;delete entry in the 2319 record.
  1. N BO
  1. S BO=0
  1. F S BO=$O(^RMPR(664.1,RMPRDA,2,BO)) Q:BO'>0 D
  1. .S DA=$P(^RMPR(664.1,RMPRDA,2,BO,0),U,5)
  1. .Q:DA=""
  1. .S DIK="^RMPR(660," D ^DIK
  1. W !,?5,"Updated 10-2319"
  1. K DA,DIK
  1. I $P(^RMPR(664.1,RMPRDA,0),U,13)'="" S DIE="^RMPR(664.1,",DA=RMPRDA,DR="16///^S X=""D""" D ^DIE W !,?5,$C(7),"Marked As Deleted..." G EXIT
  1. RDL ;delete record
  1. ;the record is only deleted from 664.1 when the user creats a new
  1. ;and then at end say's no do not post. Once it is posted, then
  1. ;it must only be marked as deleted.
  1. S DA=RMPRDA,DIK="^RMPR(664.1,"
  1. D ^DIK K DIK W !!,?5,$C(7),"Deleted..."
  1. ;delete the 2319 record
  1. N BO
  1. S DA=0,BO=0
  1. F S BO=$O(^RMPR(664.1,RMPRDA,2,BO)) Q:BO'>0 D
  1. .S DA=$P(^RMPR(664.1,RMPRDA,2,BO,0),U,5)
  1. .Q:DA=""
  1. .S DIK="^RMPR(660," D ^DIK
  1. K DIK,DA,RMPRDA
  1. W !!,?5,"Updated 10-2319",!
  1. G EXIT