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

FBUTL5.m

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