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

FBAAFSF.m

Go to the documentation of this file.
  1. FBAAFSF ;WCIOFO/dmk,SAB-OUTPATIENT 75TH PERCENTILE FEE SCHEDULE ;5/18/1999
  1. ;;3.5;FEE BASIS;**4**;JAN 30, 1995
  1. ;
  1. Q
  1. ;
  1. PRCTL(CPT,MODL,DOS) ; Calculate 75th Percentile Fee Schedule Amount
  1. ; input
  1. ; CPT - CPT/HCPCS code, external, required
  1. ; MODL - list of optional CPT/HCPCS modifiers (external values)
  1. ; delimited by commas
  1. ; DOS - date of service, fileman format, required
  1. ; returns $ amount or null if not on schedule
  1. N FBAMT,FBERR
  1. ;
  1. ; initialize
  1. S FBAMT=""
  1. K FBERR
  1. ;
  1. ;validate parameters
  1. S CPT=$G(CPT)
  1. S DOS=$G(DOS)
  1. I CPT="" D ERR^FBAAFS("Missing CPT")
  1. I DOS'?7N D ERR^FBAAFS("Invalid Date of Service")
  1. ;
  1. I '$D(FBERR) D
  1. . ; get data from 163.99 (stored in previous fiscal year)
  1. . N FBDA,FBFY,FBI,FBMOD,FBMODA,FBMODLE,FBX
  1. . S FBFY=$E(DOS,1,3)+1700+$E(DOS,4) ; fiscal year of service
  1. . ;
  1. . ; build a sorted list of the CPT modifiers
  1. . F FBI=1:1 S FBMOD=$P(MODL,",",FBI) Q:FBMOD="" S FBMODA(FBMOD)=""
  1. . S (FBMOD,FBMODLE)=""
  1. . F S FBMOD=$O(FBMODA(FBMOD)) Q:FBMOD="" S FBMODLE=FBMODLE_","_FBMOD
  1. . S:$E(FBMODLE)="," FBMODLE=$E(FBMODLE,2,999)
  1. . ;
  1. . ; build lookup value from CPT and sorted list of modifiers
  1. . S FBX=CPT_$S(FBMODLE]"":"-"_FBMODLE,1:"")
  1. . ; look in file
  1. . S FBDA=$O(^FBAA(163.99,"B",FBX,0))
  1. . I FBDA S FBAMT=$P($G(^FBAA(163.99,FBDA,"FY",FBFY-1,0)),U,5)
  1. ;
  1. ; return result
  1. Q FBAMT
  1. ;
  1. ;FBAAFSF