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

FBAAUTL5.m

Go to the documentation of this file.
FBAAUTL5 ;ACAMPUS/DMK-UTILITY ROUTINE ;4/17/2000
 ;;3.5;FEE BASIS;**3,4,21**;JAN 30, 1995
 ;;Per VHA Directive 10-93-142, this routine should not be modified.
INPUT ;called from input transform of 163.99 to determine if CPT and
 ;or modifier is a valid entry in appropriate file.
 Q:'$D(X)
 N A,B,FBI,FBMOD,FBMODA,FBMODX
 ;
 S A=$P(X,"-"),B=$P(X,"-",2)
 ;
 ;sort modifiers so lookups will work
 I B]"" D  S $P(X,"-",2)=B
 . F FBI=1:1 S FBMOD=$P(B,",",FBI) Q:FBMOD=""  S FBMODA(FBMOD)=""
 . S (FBMOD,B)=""
 . F  S FBMOD=$O(FBMODA(FBMOD)) Q:FBMOD=""  S B=B_","_FBMOD
 . S:$E(B)="," B=$E(B,2,999)
 ;
 ; check for valid pattern
 I ('(X?5AN)&'(X?5AN1"-"2AN.17(1","2AN,1""))) K X Q
 ;
 ;check for valid CPT code
 I $P($$CPT^ICPTCOD(A,"",1),U)'>0 D EN^DDIOL("CPT code not valid!") K X Q
 ;
 ; check for valid modifiers
 I B]"" F FBI=1:1 S FBMOD=$P(B,",",FBI) Q:FBMOD=""  D
 . S FBMODX=$$MOD^ICPTMOD(FBMOD,"E")
 . ; if modifier data not obtained then try another API to resolve it
 . ; since there can be duplicate modifiers with same external value
 . I $P(FBMODX,U)'>0 D
 . . N FBY
 . . S FBY=$$MODP^ICPTMOD(A,FBMOD,"E")
 . . I $P(FBY,U)>0 S FBMODX=$$MOD^ICPTMOD($P(FBY,U),"I")
 . I $P(FBMODX,U)'>0 D EN^DDIOL("CPT Modifier "_FBMOD_" not valid!") K X
 Q:'$D(X)
 ;
 ;display
 S FBX="CPT: "_$P($$CPT^ICPTCOD(A,"",1),U,3)
 D EN^DDIOL(FBX,"","!?20")
 I B]"" F FBI=1:1 S FBMOD=$P(B,",",FBI) Q:FBMOD=""  D
 . S FBMODX=$$MOD^ICPTMOD(FBMOD,"E")
 . ; if modifier data not obtained then try another API to resolve it
 . ; since there can be duplicate modifiers with same external value
 . I $P(FBMODX,U)'>0 D
 . . N FBY
 . . S FBY=$$MODP^ICPTMOD(A,FBMOD,"E")
 . . I $P(FBY,U)>0 S FBMODX=$$MOD^ICPTMOD($P(FBY,U),"I")
 . S FBX="MOD: "_FBMOD_"  "_$P(FBMODX,U,3)
 . D EN^DDIOL(FBX,"","!?20")
 Q
 ;
PSA(X) ;get psa from institution
 ;input   X = ien of psa
 ;output  station number from instutution file\
 Q $S($D(^DIC(4,+$G(X),99)):$E(^(99),1,3),1:"")
 ;
EXTPV(X) ;call used to determine Purpose of Visit Austin code
 ;               x = pointer to 161.82
 ;               Output = Austin code
 Q $S('$G(X):"",1:$P($G(^FBAA(161.82,+X,0)),U,3))
SUB(X) ;used to get station number and substation if one exists
 ;from the IFCAP software. This call is used during
 ;transmission of payment batches to Austin.
 ;
 ; X = "STATION NUMBER-OBLIGATION NUMBER"
 ;      EXAMPLE:  699-C12345
 I '+$G(X) Q ""
 N PRCS,Y
 S PRCS("X")=X,PRCS("TYPE")="FB"
 D EN1^PRCS58 ;call to IFCAP to get obligation information
 K PRCSCPAN
 I Y=-1 Q ""
 Q $S($P(Y,U,10)]"":$P(Y,U,10),1:$E($P(Y,U,2),1,3))