| 1 | RMPRS ;PHX/HNC/RFM,RVD-ADD SUSPENSE RECORD ;8/29/1994
 | 
|---|
| 2 |  ;;3.0;PROSTHETICS;**26,28,30,45,52,62,120**;Feb 09, 1996
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;  HNC - patch 52 - 9/22/00 Modify INQ - sub.
 | 
|---|
| 5 |  ;                           Add KILL^XUSCLEAN on exit to kill
 | 
|---|
| 6 |  ;                           all variables.
 | 
|---|
| 7 |  ;  HNC - patch 52 - 10/5/00 New RMPR,RMPRNAM,RMPRDOB,RMPRSSN,RMPRSSNE
 | 
|---|
| 8 |  ;                           RMPRCNUM before appt mgt
 | 
|---|
| 9 |  ;  RVD - patch 62 - 10/13/01 remove link to Patient Management
 | 
|---|
| 10 |  ;                            call rotine RMPREOL
 | 
|---|
| 11 |  ;                            suspense print message
 | 
|---|
| 12 |  ;
 | 
|---|
| 13 | EN ;ADD SUSPENSE RECORD
 | 
|---|
| 14 |  D DIV4^RMPRSIT G:$D(X) EXIT
 | 
|---|
| 15 |  S DIC="^DPT(",DIC(0)="AEQM" D ^DIC G:Y'>0 EXIT S RMPRDFN=+Y
 | 
|---|
| 16 |  S X=DT,DIC="^RMPR(668,",DIC(0)="AEQLM",DLAYGO=668,DIC("DR")="1////^S X=RMPRDFN;8////^S X=DUZ;2////^S X=RMPR(""STA"")" K DINUM,D0,DD,DO D FILE^DICN K DLAYGO G:Y'>0 EX S (RDA,DA)=+Y
 | 
|---|
| 17 |  S DIE="^RMPR(668,",DR="3;4"
 | 
|---|
| 18 |  L +^RMPR(668,RDA,0):1 I $T=0 W $C(7),?5,!,"Someone else is editing this record" G EX
 | 
|---|
| 19 |  D ^DIE L -^RMPR(668,RDA,0)
 | 
|---|
| 20 |  I '$P(^RMPR(668,RDA,0),U,3) S DA=RDA,DIK="^RMPR(668," D ^DIK W !,$C(7),?5,"Deleted..."
 | 
|---|
| 21 | EX K X,DIC,DIE,DR,Y,RMPRDFN G EN
 | 
|---|
| 22 | CL ;CLOSE OUT SUSPENSE RECORD
 | 
|---|
| 23 |  D DIV4^RMPRSIT G:$D(X) EXIT
 | 
|---|
| 24 |  K DIE,DR,Y,DA,RMPRA,^TMP("RMSU",$J)
 | 
|---|
| 25 |  S RMPRCLOS=1 D DICDPT S (I,RMTOI)=0 G:Y<0!($D(DTOUT))!(Y="^") EXIT
 | 
|---|
| 26 |  F  S I=$O(^RMPR(668,"C",+Y,I)) Q:I'>0  I $D(^RMPR(668,I,0)) S:'$P(^(0),U,5) ^TMP("RMSU",$J,9999999-$P($G(^RMPR(668,I,0)),"^",1),I)=I,RMTOI=RMTOI+1
 | 
|---|
| 27 |  D ENT G:'IEN EXIT  L +^RMPR(668,IEN,0):1 I $T=0 W !,?5,$C(7),"Someone else is Editing this entry!" G EXIT
 | 
|---|
| 28 |  S RMPRA=IEN,DR="2;4;7",DA=IEN,DIE=DIC D ^DIE G:$D(Y) EX1
 | 
|---|
| 29 |  S DR="5//^S X=DT;6////^S X=DUZ",DA=RMPRA D ^DIE L -^RMPR(668,RMPRA,0)
 | 
|---|
| 30 | EX1 I '$P(^RMPR(668,RMPRA,0),U,5) W !!,"SUSPENSE RECORD WAS NOT CLOSED OUT",$C(7) S $P(^(0),U,6)=""
 | 
|---|
| 31 |  W ! G CL
 | 
|---|
| 32 | EXIT W:$D(FL1) @IOF K %,RMPRCLOS,DIC,DIE,DR,CITN,IEN,Y,DA,RDA,FL1,RB,RD,RT,RIE,RO,RP,RR,RZ,RX,RMPRFLAG,^TMP("RMSU",$J),RMI,RMIEN,RML,RMTOI,I,J,RMDES,RMQUIT,RMSEL Q
 | 
|---|
| 33 | EN2 ;EDIT SUSPENSE RECORD
 | 
|---|
| 34 |  D DIV4^RMPRSIT G:$D(X) EXIT
 | 
|---|
| 35 |  D DICDPT G:Y<0!($D(DTOUT))!(Y="^") EXIT
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 | REV ;reverse look-up.--HNC--change to $O(^RMPR(668,"C",ien,n),-1)
 | 
|---|
| 39 | ENT ;sort/display
 | 
|---|
| 40 |  S (RMI,RML,RMTOI,RMQUIT,IEN,RMSEL,OUT)=0
 | 
|---|
| 41 |  W !,"CHOOSE FROM:"
 | 
|---|
| 42 |  S RMPRJ=""
 | 
|---|
| 43 |  F  S RMPRJ=$O(^RMPR(668,"C",RMPRDFN,RMPRJ),-1) Q:RMPRJ=""  Q:OUT=1  Q:IEN>0  D
 | 
|---|
| 44 |  .S RMTOI=RMTOI+1
 | 
|---|
| 45 |  .S RMI=RMI+1
 | 
|---|
| 46 |  .;S RML=RML+1
 | 
|---|
| 47 |  .S ^TMP("RMSU",$J,RMI)=RMPRDFN_U_RMPRJ
 | 
|---|
| 48 |  .I $Y>20 D DIS W @IOF Q
 | 
|---|
| 49 |  .D WRI
 | 
|---|
| 50 |  .Q:(RMQUIT)!(IEN)!(RMSEL)
 | 
|---|
| 51 |  G:RMSEL ENT
 | 
|---|
| 52 |  G:IEN PROC
 | 
|---|
| 53 |  I 'RMI W !!,"***** PATIENT HAS NO SUSPENSE RECORD!!!!" Q
 | 
|---|
| 54 |  ;I RMQUIT W !!,"***** NO SELECTION MADE!!!" Q
 | 
|---|
| 55 |  D DIS
 | 
|---|
| 56 |  ;W !!,"[<return> or '^' to Quit] or Choose Number 1-",RMI W ": " R X:DTIME I '$T Q
 | 
|---|
| 57 |  ;I X=""!(X="^")!('$D(X)) W !!,"***** NO SELECTION MADE!!!" Q
 | 
|---|
| 58 |  ;I '$D(^TMP("RMSU",$J,+X)) W !,$C(7),"****INVALID RESPONSE, Please choose a NUMBER within the range!!!!" G ENT
 | 
|---|
| 59 |  ;S IEN=$P(^TMP("RMSU",$J,+X),U,2)
 | 
|---|
| 60 |  Q
 | 
|---|
| 61 |  ;
 | 
|---|
| 62 | PROC ;
 | 
|---|
| 63 |  L +^RMPR(668,IEN,0):1 I $T=0 W !,?5,$C(7),"Someone else is Editing this entry!" Q
 | 
|---|
| 64 |  ;
 | 
|---|
| 65 |  S Y=""
 | 
|---|
| 66 |  S RO=$G(^RMPR(668,+IEN,0)),Y=$P(^(0),U,1)
 | 
|---|
| 67 |  W "   ",$$DAT1^RMPRUTL1(Y)
 | 
|---|
| 68 |  S DFN=RMPRDFN D DEM^VADPT
 | 
|---|
| 69 |  W "  ",VADM(1)
 | 
|---|
| 70 |  W "  ",$$STATUS^RMPREOU(+IEN)
 | 
|---|
| 71 |  S Y=+IEN
 | 
|---|
| 72 |  S DIC="^RMPR(668,"
 | 
|---|
| 73 |  Q:$D(RMPRFLAG)!$D(RMPRCLOS)!$D(FLAG)
 | 
|---|
| 74 |  S DIE=DIC,DA=Y,DR=".01;2R;1R;3;5;I $P(^RMPR(668,DA,0),U,5),'$P(^(0),U,6) S $P(^(0),U,6)=DUZ;4;7" D ^DIE I $D(DA),$P(^RMPR(668,DA,0),U,5)="" S $P(^(0),U,6)=""
 | 
|---|
| 75 |  L -^RMPR(668,IEN,0) G EN2
 | 
|---|
| 76 |  ;
 | 
|---|
| 77 | INQ ;Inquire to Suspense entry point
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 |  W @IOF
 | 
|---|
| 80 |  D DIV4^RMPRSIT G:$D(X) EXIT
 | 
|---|
| 81 |  D HOME^%ZIS
 | 
|---|
| 82 |  S RMPRFLAG=1
 | 
|---|
| 83 |  ;get patient dfn
 | 
|---|
| 84 |  D DICDPT I Y'>0!($D(DTOUT))!(Y="^") K RMPRDFN G EXIT
 | 
|---|
| 85 |  S RMPRDFN=+Y
 | 
|---|
| 86 |  D REV I 'IEN K RMPRDFN G EXIT
 | 
|---|
| 87 |  ;call new suspense processing
 | 
|---|
| 88 |  N RMPREOY,DA
 | 
|---|
| 89 |  S (RMPREOY,DA)=IEN D VIEWCP^RMPREO23
 | 
|---|
| 90 |  ;clean up - patch 52
 | 
|---|
| 91 |  D KILL^XUSCLEAN
 | 
|---|
| 92 |  Q
 | 
|---|
| 93 |  ;
 | 
|---|
| 94 | EXT S RO=0 F  S RO=$O(^RMPR(668,IEN,2,RO)) Q:RO'>0  W !,^RMPR(668,IEN,2,RO,0)
 | 
|---|
| 95 |  Q
 | 
|---|
| 96 |  ;
 | 
|---|
| 97 | ACT W !!,"ACTION TAKEN: "
 | 
|---|
| 98 |  I $D(^RMPR(668,IEN,3,0)) S RO=0 F  S RO=$O(^RMPR(668,IEN,3,RO)) Q:RO'>0  W !,^RMPR(668,IEN,3,RO,0)
 | 
|---|
| 99 |  E  W "NONE RECORDED"
 | 
|---|
| 100 |  W ! Q
 | 
|---|
| 101 | LINK ;CLOSE OUT SUSPENSE ENTRY FOR SELECTED PATIENT
 | 
|---|
| 102 |  ;call routine RMPREOL if PCE link to suspense, patch #62.
 | 
|---|
| 103 | SUSP I $D(^TMP($J,"RMPRPCE",660)) D EN^RMPREOL,FULL^VALM1 Q
 | 
|---|
| 104 |  I '$D(^TMP($J,"RMPRPCE",660)) D EN^RMPREO
 | 
|---|
| 105 |  D FULL^VALM1
 | 
|---|
| 106 |  Q
 | 
|---|
| 107 |  ;add new module HNC 3-2-00
 | 
|---|
| 108 |  N Y,RO,RR,RT,RX,RZ,J,RB,RIE,RD,RI,FLAG K ^TMP("RMSU",$J)
 | 
|---|
| 109 |  Q:'$D(RMPRDFN)  Q:'$D(^RMPR(668,"C",RMPRDFN))
 | 
|---|
| 110 |  S RZ="S RX=$P(RO,U,3),RR=$S(RX=1:""PSC"",RX=2:""2421"",RX=3:""2237"",RX=4:""2529-3"",RX=5:""2529-7"",RX=6:""2474"",RX=7:""2431"",RX=8:""2914"",RX=9:""OTHER"",RX=10:""2520"",RX=11:""STOCK ISSUE"",1:""NONE"")"
 | 
|---|
| 111 |  S (RD,RI)=0 F  S RD=$O(^RMPR(668,"C",RMPRDFN,RD)) Q:RD'>0  I $P(^RMPR(668,RD,0),U,5)="" S FLAG=1
 | 
|---|
| 112 |  Q:'$D(FLAG)
 | 
|---|
| 113 |  S %=1 W $C(7),!,"Suspense Records exist on this Patient.  Do you wish to View/Edit them" D YN^DICN G:%=-1!(%=2)!($D(DTOUT)) EXIT I %=0 W !,"Answer `YES` or `NO`" G LINK
 | 
|---|
| 114 |  S Y=RMPRDFN,(I,RMTOI)=0 F  S I=$O(^RMPR(668,"C",+Y,I)) Q:I'>0  I $D(^RMPR(668,I,0)) S:'$P(^(0),U,5) ^TMP("RMSU",$J,9999999-$P($G(^RMPR(668,I,0)),"^",1),I)=I,RMTOI=RMTOI+1
 | 
|---|
| 115 |  D ENT G:'IEN EXIT S DIE="^RMPR(668,",DA=IEN,DR="2R;5R;4;7" D ^DIE I $P(^RMPR(668,IEN,0),U,5) S $P(^(0),U,6)=DUZ
 | 
|---|
| 116 |  I $D(DTOUT)!($D(DUOUT)) G EXIT
 | 
|---|
| 117 |  G LINK
 | 
|---|
| 118 |  ;
 | 
|---|
| 119 | WRI ;write
 | 
|---|
| 120 |  ;called from ENT, rmprdfn, rmprj defined
 | 
|---|
| 121 |  N RMPR668
 | 
|---|
| 122 |  S RO=$G(^RMPR(668,RMPRJ,0)),RMPR668=RMPRJ,Y=$P(^(0),U,1)
 | 
|---|
| 123 |  W !,RMI,".",?5,$$DAT1^RMPRUTL1(Y)
 | 
|---|
| 124 |  S DFN=$P(RO,U,2) D DEM^VADPT
 | 
|---|
| 125 |  W ?16,$E(VADM(1),1,19)
 | 
|---|
| 126 |  W ?37,$$STATUS^RMPREOU(RMPR668,9)
 | 
|---|
| 127 |  ;display first part of description
 | 
|---|
| 128 |  I $D(^RMPR(668,RMPR668,2,1,0)) W ?48,$E(^RMPR(668,RMPR668,2,1,0),1,31)
 | 
|---|
| 129 |  Q
 | 
|---|
| 130 | DIS ;continue
 | 
|---|
| 131 |  K DIR S DIR(0)="NO^1:"_RMI_":0" D ^DIR
 | 
|---|
| 132 |  I $D(DUOUT) S OUT=1 Q
 | 
|---|
| 133 |  I Y>0 S IEN=$P(^TMP("RMSU",$J,+Y),U,2)
 | 
|---|
| 134 |  Q
 | 
|---|
| 135 |  ;
 | 
|---|
| 136 | DICDPT ;ask patient from file #2
 | 
|---|
| 137 |  ;
 | 
|---|
| 138 |  K DIC,^TMP("RMSU",$J)
 | 
|---|
| 139 |  S DIC="^DPT(",DIC(0)="AEQMZ"
 | 
|---|
| 140 |  S DIC("A")="Select PATIENT: " D ^DIC Q
 | 
|---|
| 141 |  ;
 | 
|---|
| 142 |  ;added in patch #62
 | 
|---|
| 143 | SMESS ;print message for mandatory suspense entry.
 | 
|---|
| 144 |  ;W !!,"*********************************************************"
 | 
|---|
| 145 |  ;W !,"** No suspense record has been selected for this       **"
 | 
|---|
| 146 |  ;W !,"** transaction.  You must POST INITIAL ACTION, POST    **"
 | 
|---|
| 147 |  ;W !,"** OTHER ACTION or POST COMPLETE suspense in order to  **"
 | 
|---|
| 148 |  ;W !,"** complete this transaction, otherwise transaction    **"
 | 
|---|
| 149 |  ;W !,"** will not be linked to SUSPENSE..................    **"
 | 
|---|
| 150 |  ;W !,"*********************************************************"
 | 
|---|
| 151 |  ;W !!
 | 
|---|
| 152 |  ;K DIR
 | 
|---|
| 153 |  ;S DIR(0)="SBO^L:LINK Suspense to Patient Record;E:EXIT without linking to Suspense"
 | 
|---|
| 154 |  ;S DIR("A")="Would you like to LINK Suspense or EXIT without linking"
 | 
|---|
| 155 |  ;S DIR("B")="L"
 | 
|---|
| 156 |  ;S DIR("?")="Answer `L` to Link to suspense, 'E' to exit without link to suspense"
 | 
|---|
| 157 |  ;D ^DIR S RMENTSUS=Y
 | 
|---|
| 158 |  ;I $D(DIRUT)!$D(DUOUT)!$D(DTOUT) S RMENTSUS="E"
 | 
|---|
| 159 |  ;W !! K DIR
 | 
|---|
| 160 |  ;Q
 | 
|---|