| 1 | FBAAPET1 ;WOIFO/SAB-EDIT PAYMENT ;7/10/2003
 | 
|---|
| 2 |  ;;3.5;FEE BASIS;**61**;JAN 30, 1995
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 | CKINVEDI(FBFPPSC0,FBFPPSC1,FBAAIN,FBIENSE) ; Check Invoice for EDI
 | 
|---|
| 5 |  ; Input
 | 
|---|
| 6 |  ;  FBFPPSC0 - old FPPS CLAIM ID
 | 
|---|
| 7 |  ;  FBFPPSC1 - new FPPS CLAIM ID
 | 
|---|
| 8 |  ;  FBAAIN   - invoice number
 | 
|---|
| 9 |  ;  FBIENSE   - optional, iens of line on invoice that was already edited
 | 
|---|
| 10 |  ; Result
 | 
|---|
| 11 |  ;  Lines on invoice may be updated (FPPS CLAIM ID, FPPS LINE ITEM)
 | 
|---|
| 12 |  ;
 | 
|---|
| 13 |  ; If FBFPPSC0]"",FBFPPSC1="" then EDI changed from YES to NO
 | 
|---|
| 14 |  ;   need to delete FPPS CLAIM ID and FPPS LINE ITEM
 | 
|---|
| 15 |  ; If FBFPPSC0="",FBFPPSC1]"" then EDI changed from NO to YES
 | 
|---|
| 16 |  ;   need to update FPPS CLAIM ID and prompt FPPS LINE ITEM
 | 
|---|
| 17 |  ; If FBFPPSC0]"",FBFPPSC1]"",FBFPPSC0'=FBFPPSC1 then
 | 
|---|
| 18 |  ;   EDI stayed YES, but FPPS CLAIM ID was changed
 | 
|---|
| 19 |  ;   need to update FPPS CLAIM ID
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 |  N FBASKLN,FBFDA,FBFPPSC,FBFPPSL,FBI,FBIENS,FBMILL,FBUPDLN
 | 
|---|
| 22 |  ;
 | 
|---|
| 23 |  S FBIENSE=$G(FBIENSE)
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 |  I FBFPPSC0=FBFPPSC1 Q  ; FPPS CLAIM ID was not changed
 | 
|---|
| 26 |  ; 
 | 
|---|
| 27 |  ; Get Lines on Invoice
 | 
|---|
| 28 |  D MILL(FBAAIN,.FBMILL)
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 |  I FBIENSE]"",FBMILL(0)=1 Q  ; only 1 line and it has been updated
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 |  S (FBASKLN,FBUPDLN)=0
 | 
|---|
| 33 |  I FBFPPSC0]"",FBFPPSC1="" S (FBFPPSC,FBFPPSL)="@",FBUPDLN=1
 | 
|---|
| 34 |  I FBFPPSC0="",FBFPPSC1]"" S FBFPPSC=FBFPPSC1,(FBASKLN,FBUPDLN)=1
 | 
|---|
| 35 |  I FBFPPSC0]"",FBFPPSC1]"" S FBFPPSC=FBFPPSC1
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 |  W !,"FPPS CLAIM ID was changed.  Updating lines on invoice..."
 | 
|---|
| 38 |  I FBASKLN D
 | 
|---|
| 39 |  . W !,"Since EDI Claim from FPPS was changed from NO to YES, the"
 | 
|---|
| 40 |  . W !,"FPPS LINE ITEM must be entered for each line on the invoice."
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 |  ; loop thru lines
 | 
|---|
| 43 |  S FBI=0 F  S FBI=$O(FBMILL(FBI)) Q:'FBI  D
 | 
|---|
| 44 |  . S FBIENS=FBMILL(FBI)
 | 
|---|
| 45 |  . I FBIENS=FBIENSE Q  ; already updated
 | 
|---|
| 46 |  . S FBFDA(162.03,FBIENS,50)=FBFPPSC
 | 
|---|
| 47 |  . I FBASKLN D DSPLIL S FBFPPSL=$$FPPSL^FBUTL5(,,1)
 | 
|---|
| 48 |  . I FBUPDLN,$G(FBFPPSL)]"" S FBFDA(162.03,FBIENS,51)=FBFPPSL
 | 
|---|
| 49 |  I $D(FBFDA) D FILE^DIE("","FBFDA") D MSG^DIALOG()
 | 
|---|
| 50 |  ; 
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 | MILL(FBAAIN,FBMILL) ; Medical Invoice Line List
 | 
|---|
| 54 |  ; Input
 | 
|---|
| 55 |  ;   FBAAIN - invoice #
 | 
|---|
| 56 |  ;   FBMILL - array, passed by reference
 | 
|---|
| 57 |  ; Result
 | 
|---|
| 58 |  ;   
 | 
|---|
| 59 |  ; Output
 | 
|---|
| 60 |  ;   FBMILL - input array will be updated to contain
 | 
|---|
| 61 |  ;     FBMILL(0)=FBC
 | 
|---|
| 62 |  ;     FBMILL(FBI)=FBIENS
 | 
|---|
| 63 |  ;   Where
 | 
|---|
| 64 |  ;     FBC = number of lines on invoice
 | 
|---|
| 65 |  ;     FBI = integer number
 | 
|---|
| 66 |  ;     FBIENS = internal entry number of line item (subfile 162.03),
 | 
|---|
| 67 |  ;              fileman DBS format
 | 
|---|
| 68 |  ;   
 | 
|---|
| 69 |  N DA,FBC
 | 
|---|
| 70 |  ; initialize
 | 
|---|
| 71 |  K FBMILL
 | 
|---|
| 72 |  S FBC=0 ; count
 | 
|---|
| 73 |  ; loop thru x-ref
 | 
|---|
| 74 |  S DA(3)=0
 | 
|---|
| 75 |  F  S DA(3)=$O(^FBAAC("C",FBAAIN,DA(3))) Q:'DA(3)  D
 | 
|---|
| 76 |  .S DA(2)=0
 | 
|---|
| 77 |  .F  S DA(2)=$O(^FBAAC("C",FBAAIN,DA(3),DA(2))) Q:'DA(2)  D
 | 
|---|
| 78 |  ..S DA(1)=0
 | 
|---|
| 79 |  ..F  S DA(1)=$O(^FBAAC("C",FBAAIN,DA(3),DA(2),DA(1))) Q:'DA(1)  D
 | 
|---|
| 80 |  ...S DA=0
 | 
|---|
| 81 |  ...F  S DA=$O(^FBAAC("C",FBAAIN,DA(3),DA(2),DA(1),DA)) Q:'DA  D
 | 
|---|
| 82 |  ....S FBC=FBC+1
 | 
|---|
| 83 |  ....S FBMILL(FBC)=DA_","_DA(1)_","_DA(2)_","_DA(3)_","
 | 
|---|
| 84 |  ; save count of lines
 | 
|---|
| 85 |  S FBMILL(0)=FBC
 | 
|---|
| 86 |  Q
 | 
|---|
| 87 |  ;
 | 
|---|
| 88 | DSPLIL ; Display Invoice Line
 | 
|---|
| 89 |  ; Input
 | 
|---|
| 90 |  ;   FBIENS - iens of line to display
 | 
|---|
| 91 |  N DA,FBMODA,FBMODL
 | 
|---|
| 92 |  D DA^DILF(FBIENS,.DA)
 | 
|---|
| 93 |  D MODDATA^FBAAUTL4(DA(3),DA(2),DA(1),DA)
 | 
|---|
| 94 |  S FBMODL=$$MODL^FBAAUTL4("FBMODA","E")
 | 
|---|
| 95 |  W !!
 | 
|---|
| 96 |  W "SVC DATE: ",$$GET1^DIQ(162.02,DA(1)_","_DA(2)_","_DA(3)_",",.01)
 | 
|---|
| 97 |  W ?23,"CPT-MOD: ",$$GET1^DIQ(162.03,FBIENS,.01)
 | 
|---|
| 98 |  I FBMODL]"" W "-",FBMODL
 | 
|---|
| 99 |  W ?43,"REV. CODE: ",$$GET1^DIQ(162.03,FBIENS,48)
 | 
|---|
| 100 |  W ?63,"AMT CLAIMED: ",$$GET1^DIQ(162.03,FBIENS,1)
 | 
|---|
| 101 |  Q
 | 
|---|
| 102 |  ;
 | 
|---|
| 103 |  ;FBAAPET1
 | 
|---|