| 1 | RMPRPF3 ;HOIFO/TH,DDA - PFSS Charge Cancel (credit) ;8/18/05
 | 
|---|
| 2 |  ;;3.0;PROSTHETICS;**98**;Feb 09, 1996
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; This routine sends "Credit" Charge Message to IBB if .01 field got deleted in file 660
 | 
|---|
| 5 |  ;  or if the PSAS HCPCS code is deleted (equals null after user edit).
 | 
|---|
| 6 |  ; 
 | 
|---|
| 7 |  ; DBIA # 4663 for SWSTAT^IBBAPI
 | 
|---|
| 8 |  ; DBIA # 4665 for CHARGE^IBBAPI
 | 
|---|
| 9 |  Q
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 | CHRGTASK ; FILE #660, ENTRY DATE AND PSAS HCPCS FIELDS MUMPS XREF
 | 
|---|
| 12 |  ;KILL LOGIC.
 | 
|---|
| 13 |  ; TASKMAN LOAD A ONE TIME TASKMAN TASK.
 | 
|---|
| 14 |  ; QUIT IF PFSS SWITCH IS OFF OR IF THERE IS NO CHARGE TO REVERSE
 | 
|---|
| 15 |  Q:'+$$SWSTAT^IBBAPI()
 | 
|---|
| 16 |  S RMPRPFSS=$G(^RMPR(660,DA,"PFSS"))
 | 
|---|
| 17 |  Q:$P(RMPRPFSS,"^",2)=""
 | 
|---|
| 18 |  S RMPRZERO=^RMPR(660,DA,0)
 | 
|---|
| 19 |  N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTUCI,ZTCPU,ZTPRI,ZTSAVE,ZTKIL,ZTSYNC
 | 
|---|
| 20 |  S ZTIO="",ZTRTN="CHRGCRED^RMPRPF3",ZTDESC="Prosthetics file #660 PFSS Charge Credit",ZTDTH=$H
 | 
|---|
| 21 |  S ZTSAVE("RMPRIEN")=DA
 | 
|---|
| 22 |  S ZTSAVE("RMPRZERO")=RMPRZERO
 | 
|---|
| 23 |  S ZTSAVE("RMPRONE")=$G(^RMPR(660,DA,1))
 | 
|---|
| 24 |  S ZTSAVE("RMPRTEN")=$G(^RMPR(660,DA,10))
 | 
|---|
| 25 |  S ZTSAVE("RMPRPFSS")=RMPRPFSS
 | 
|---|
| 26 |  D ^%ZTLOAD
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 | CHRGCRED ; Process account deletion/cancellation
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  ; Check if already processing this record.
 | 
|---|
| 32 |  Q:$G(^TMP("RMPRPF3",RMPRIEN))=RMPRIEN
 | 
|---|
| 33 |  S ^TMP("RMPRPF3",RMPRIEN)=RMPRIEN
 | 
|---|
| 34 |  ; Check if this is just a Date edit or a PSAS HCPCS edit, set x-ref AND QUIT.
 | 
|---|
| 35 |  S RMPRCDFL=0
 | 
|---|
| 36 |  S:'$D(^RMPR(660,RMPRIEN,0)) RMPRCDFL=1
 | 
|---|
| 37 |  S:$P($G(RMPRONE),"^",4)="" RMPRCDFL=1
 | 
|---|
| 38 |  I RMPRCDFL=0 D SETAPD G EXIT
 | 
|---|
| 39 |  ; RECORD HAS EITHER BEEN DELETED OR PSAS HCPCS HAS BEEN DELETED.  SEND A CREDIT (CD).
 | 
|---|
| 40 |  S RMPRUCID=$P(RMPRPFSS,U,2)
 | 
|---|
| 41 |  S RMPRTYPE="CD"
 | 
|---|
| 42 |  S RMPRDFN=$P(RMPRZERO,"^",2)
 | 
|---|
| 43 |  S RMPRARFN=$P(RMPRPFSS,"^")
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 |  ; FT1
 | 
|---|
| 46 |  S RMPRFT1(4)=$P(RMPRZERO,"^",12)  ; Delivery Date
 | 
|---|
| 47 |  S RMPRFT1(10)=$P(RMPRZERO,"^",7)  ; Transaction Quantity
 | 
|---|
| 48 |  S RMPRFT1(13)=423  ; Department Code
 | 
|---|
| 49 |  S RMPRFT1(21)=$P($G(RMPRTEN),"^",6)  ; Ordering Provider/Ordered by Code
 | 
|---|
| 50 |  S RMPRTC=$P(RMPRZERO,"^",16)
 | 
|---|
| 51 |  S RMPRFT1(22)=RMPRTC/RMPRFT1(10)    ; Unit Cost = Total Cost/QTY
 | 
|---|
| 52 |  ; PR1
 | 
|---|
| 53 |  S RMPRHCPC=$P(RMPRONE,"^",4)
 | 
|---|
| 54 |  S RMPRHCDT=$P(RMPRONE,"^")
 | 
|---|
| 55 |  D PSASHCPC^RMPOPF
 | 
|---|
| 56 |  S RMPRPR1(3)=RMPRVHC   ; Procedure Code
 | 
|---|
| 57 |  S RMPRPR1(4)=RMPRTHC   ; PSAS HCPCS text
 | 
|---|
| 58 |  ; Procedure Functional Type - I:Stock Issue;P:Purchasing
 | 
|---|
| 59 |  S RMPRPR1(6)=$S($P(RMPRZERO,"^",13)=11:"I",1:"P")
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | SENDDATA ; Send charge data
 | 
|---|
| 62 |  S RMPRCHRG=$$CHARGE^IBBAPI(RMPRDFN,RMPRARFN,RMPRTYPE,RMPRUCID,.RMPRFT1,.RMPRPR1,"","","","","")
 | 
|---|
| 63 |  Q
 | 
|---|
| 64 |  ;
 | 
|---|
| 65 | SETAPD ; Set the APD cross-reference because the activity was only an edit, not a delete.
 | 
|---|
| 66 |  S DIE="^RMPR(660,"
 | 
|---|
| 67 |  S DA=RMPRIEN
 | 
|---|
| 68 |  S DR="107///^S X=1"
 | 
|---|
| 69 |  D ^DIE
 | 
|---|
| 70 |  K DIE,DA,DR
 | 
|---|
| 71 |  Q
 | 
|---|
| 72 | EXIT ; Common exit point
 | 
|---|
| 73 |  K ^TMP("RMPRPF3",RMPRIEN)
 | 
|---|
| 74 |  K RMPRQTY,RMPRTC,RMPRCHRG,RMPRUCID,RMPRDFN,RMRICPP,RMPRCPT
 | 
|---|
| 75 |  K RMPRARFN,RMPRTYPE,RMPRFT1,RMPRPR1,RMPRCPT,RMPRRICP
 | 
|---|
| 76 |  K RMPRDG1,RMPRDIAG,RMPRZCL,RMPRNODE,RMPRPROS,RMPRHCPC,RMPRHCDT,RMPRVHC,RMPRTHC
 | 
|---|
| 77 |  K ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTUCI,ZTCPU,ZTPRI,ZTSAVE,ZTKIL,ZTSYNC
 | 
|---|
| 78 |  Q
 | 
|---|