1 | FBSHUTL ;WCIOFO/SAB-STATE HOME UTILITIES ;2/8/1999
|
---|
2 | ;;3.5;FEE BASIS;**13**;JAN 30, 1995
|
---|
3 | Q
|
---|
4 | DOC(FBFR,FBTO,FBDTP1,FBDTP2) ; Days of Care Extrinsic Function
|
---|
5 | ; Return length (days) of authorization. The authorization TO DATE
|
---|
6 | ; is not counted unless it is equal to the authorization FROM DATE.
|
---|
7 | ; If optional period is specified then only the authorization days
|
---|
8 | ; within the period are counted.
|
---|
9 | ; input
|
---|
10 | ; FBFR - authorization FROM DATE (FileMan format)
|
---|
11 | ; FBTO - authorization TO DATE (FileMan format)
|
---|
12 | ; FBDTP1 - (optional) start date of period (FileMan format)
|
---|
13 | ; FBDTP2 - (optional) end date of period (FileMan format)
|
---|
14 | ; returns length of authorization (days) within optional period
|
---|
15 | ;
|
---|
16 | N FBDTC1,FBDTC2,FBQUIT
|
---|
17 | ;
|
---|
18 | ; validate input parameters
|
---|
19 | I FBFR'?7N!(FBTO'?7N)!(FBFR>FBTO) S FBQUIT=1
|
---|
20 | I $G(FBDTP1)'?7N!($G(FBDTP2)'?7N)!(FBDTP1>FBDTP2) S (FBDTP1,FBDTP2)=""
|
---|
21 | ;
|
---|
22 | ; initialize calculation start and end dates as authorization dates
|
---|
23 | S FBDTC1=FBFR,FBDTC2=FBTO
|
---|
24 | ;
|
---|
25 | ; if period specified then check if auth in period and adjust calc dates
|
---|
26 | I '$G(FBQUIT),FBDTP1]"",FBDTP2]"" D
|
---|
27 | . I FBFR>FBDTP2 S FBQUIT=1 Q ; not within specified period
|
---|
28 | . I FBTO<FBDTP1 S FBQUIT=1 Q ; not within specified period
|
---|
29 | . ; if auth FROM DATE before period then set calculation start date
|
---|
30 | . ; as 1st day in period
|
---|
31 | . I FBFR<FBDTP1 S FBDTC1=FBDTP1
|
---|
32 | . ; if auth TO DATE after period then set calculation end date as
|
---|
33 | . ; next day after period in order to count through last day in period
|
---|
34 | . I FBTO>FBDTP2 S FBDTC2=$$FMADD^XLFDT(FBDTP2,1)
|
---|
35 | ;
|
---|
36 | ; return days of care (within optional specified period)
|
---|
37 | ; count as 1 day when auth FROM DATE = TO DATE (special case)
|
---|
38 | Q $S($G(FBQUIT):0,FBFR=FBTO:1,1:$$FMDIFF^XLFDT(FBDTC2,FBDTC1))
|
---|
39 | ;
|
---|
40 | ;FBSHUTL
|
---|