152 lines
4.5 KiB
Mathematica
152 lines
4.5 KiB
Mathematica
FBUTL5 ;WOIFO/SAB-FEE BASIS UTILITY ;7/6/2003
|
|
;;3.5;FEE BASIS;**61**;JAN 30, 1995
|
|
Q
|
|
FPPSC(FBEDIT,FBFPPSC) ; Prompt EDI Claim and FPPS Claim ID Extrinsic Function
|
|
; Input
|
|
; FBEDIT - optional, true (=1) when editing an existing item
|
|
; FBFPPSC - optional, current value of FPPS CLAIM ID
|
|
; only passed when editing an existing item
|
|
; Return value (FBRET)
|
|
; = FPPS CLAIM ID if EDI Claim
|
|
; = null if not EDI Claim
|
|
; = -1 if time-out or '^'
|
|
;
|
|
N FBEDI,FBRET
|
|
N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
|
|
S FBRET=""
|
|
;
|
|
ASKEDI ; ask if claim is an EDI claim
|
|
S DIR(0)="Y"
|
|
S DIR("A")="Is this an EDI Claim from the FPPS system"
|
|
I $G(FBEDIT) S DIR("B")=$S($G(FBFPPSC)]"":"YES",1:"NO")
|
|
D ^DIR K DIR I $D(DIRUT) S FBRET=-1 G FPPSCX
|
|
S FBEDI=Y
|
|
;
|
|
ASKID ; If EDI then ask claim ID
|
|
I FBEDI D I $D(DTOUT)!$D(DUOUT) S FBRET=-1 G FPPSCX
|
|
. N DA
|
|
. S DIR(0)="162.7,32"
|
|
. I $G(FBFPPSC)]"" S DIR("B")=FBFPPSC
|
|
. D ^DIR K DIR Q:$D(DIRUT)
|
|
. S FBRET=Y
|
|
;
|
|
; If EDI and claim ID not entered then reask
|
|
I FBEDI,FBRET="" D G ASKEDI
|
|
. W $C(7),!," The FPPS CLAIM ID must be entered for EDI claims!"
|
|
;
|
|
FPPSCX ; FPPSC Exit
|
|
Q FBRET
|
|
;
|
|
FPPSL(FBFPPSL,FBALL,FBNOOUT) ; Prompt FPPS Line Item Extrinsic Function
|
|
; Input
|
|
; FBFPPSL - optional, current value of FPPS LINE ITEM
|
|
; only passed when editing an existing item
|
|
; FBALL - optional, true (=1) if ALL allowed as input value,
|
|
; default is false
|
|
; FBNOOUT - optional, boolean value, default 0, set =1 if user
|
|
; should not be allowed to exit using an uparrow
|
|
; Return value (FBRET)
|
|
; = FPPS LINE ITEM
|
|
; = -1 if time-out or '^'
|
|
;
|
|
N FBRET
|
|
N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
|
|
S FBRET=""
|
|
S FBNOOUT=$G(FBNOOUT,0)
|
|
S FBALL=$G(FBALL,0)
|
|
;
|
|
ASKLI ; ask line item
|
|
I FBALL D G:FBRET]"" FPPSLX I $D(DIRUT) S FBRET=-1 G FPPSLX
|
|
. S FBRET=""
|
|
. S DIR(0)="Y"
|
|
. S DIR("A")="Does this VistA invoice cover all line items on the FPPS Claim"
|
|
. I $G(FBFPPSL)]"" S DIR("B")=$S(FBFPPSL="ALL":"YES",1:"NO")
|
|
. D ^DIR K DIR Q:$D(DIRUT)
|
|
. I Y S FBRET="ALL"
|
|
;
|
|
S DIR(0)="LCA^1:999:0"
|
|
S DIR("A")="FPPS LINE ITEM: "
|
|
S DIR("?")="This response must be a number or a list or range, e.g., 1,3,5 or 2-4,8."
|
|
S DIR("??")="^D LIHLP^FBUTL5"
|
|
I $G(FBFPPSL)]"",FBFPPSL'="ALL" S DIR("B")=FBFPPSL
|
|
D ^DIR K DIR
|
|
I $D(DTOUT)!$D(DUOUT) S FBRET=-1 G FPPSLX
|
|
S FBRET=Y
|
|
;
|
|
FPPSLX ; FPPSL Exit
|
|
I FBNOOUT,FBRET=-1 D G ASKLI
|
|
. W !,"'^' NOT ALLOWED"
|
|
; strip trailing comma if any
|
|
I $E(FBRET,$L(FBRET))="," S FBRET=$E(FBRET,1,$L(FBRET)-1)
|
|
Q FBRET
|
|
;
|
|
LIHLP ; Line Item ?? Help
|
|
W !,"Enter the line item sequence number associated with this charge. Each"
|
|
W !,"charge on the FPPS invoice document will have a line item sequence number"
|
|
W !,"associated with it. A line item can be entered individually or a group of"
|
|
W !,"charges from multiple lines can be entered. If all line items in a group"
|
|
W !,"are in numerical sequence, you may enter the first line item sequence"
|
|
W !,"number followed by a hyphen and the last line item sequence number. If"
|
|
W !,"the grouped charges are not in sequential order, each line item must be"
|
|
W !,"entered individually, followed by a comma."
|
|
W !
|
|
Q
|
|
ASKPAN() ; Ask Patient Account Number Extrinsic Function
|
|
; Return value (FBRET)
|
|
; = PATIENT ACCOUNT NUMBER (if entered)
|
|
; = null if value not entered
|
|
; = '^' if time-out or '^'
|
|
N FBRET
|
|
N DA,DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
|
|
S FBRET=""
|
|
S DIR(0)="162.03,49"
|
|
D ^DIR K DIR
|
|
I $D(DTOUT)!$D(DUOUT) S FBRET="^"
|
|
I '$D(DIRUT) S FBRET=Y
|
|
Q FBRET
|
|
;
|
|
ASKREVC() ; Ask Revenue Code Extrinsic Function
|
|
; Return value (FBRET)
|
|
; = REVENUE CODE, internal pointer value (if entered)
|
|
; = null if value not entered
|
|
; = '^' if time-out or '^'
|
|
N FBRET
|
|
N DA,DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
|
|
S FBRET=""
|
|
S DIR(0)="162.03,48"
|
|
D ^DIR K DIR
|
|
I $D(DTOUT)!$D(DUOUT) S FBRET="^"
|
|
I '$D(DIRUT) S FBRET=+Y
|
|
Q FBRET
|
|
;
|
|
ASKUNITS() ; Ask Units Paid Extrinsic Function
|
|
; Return value (FBRET)
|
|
; = UNITS PAID (if entered)
|
|
; = null if value not entered
|
|
; = '^' if time-out or '^'
|
|
N FBRET
|
|
N DA,DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
|
|
S FBRET=""
|
|
S DIR(0)="162.03,47"
|
|
S DIR("B")=1
|
|
D ^DIR K DIR
|
|
I $D(DTOUT)!$D(DUOUT) S FBRET="^"
|
|
I '$D(DIRUT) S FBRET=Y
|
|
Q FBRET
|
|
;
|
|
ASKPCN() ; Ask Patient Control Number Extrinsic Function
|
|
; Return value (FBRET)
|
|
; = PATIENT ACCOUNT NUMBER (if entered)
|
|
; = null if value not entered
|
|
; = '^' if time-out or '^'
|
|
N FBRET
|
|
N DA,DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
|
|
S FBRET=""
|
|
S DIR(0)="162.5,55"
|
|
D ^DIR K DIR
|
|
I $D(DTOUT)!$D(DUOUT) S FBRET="^"
|
|
I '$D(DIRUT) S FBRET=Y
|
|
Q FBRET
|
|
;
|
|
;FBUTL5
|