forked from CARE-SM/beaconAPI4CARESM
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ageCalculation.py
38 lines (33 loc) · 1.32 KB
/
ageCalculation.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from datetime import date, timedelta
import sys
class AgeCalculation():
def calculateBirthdataRange(age, operator):
currentdate = date.today()
alphadate = currentdate - timedelta(days=200*365)
enddate = currentdate - timedelta(days=age*365)
startdate = enddate - timedelta(days=365)
if operator == ">":
return enddate, currentdate
elif operator == ">=":
return startdate, currentdate
elif operator == "<":
return alphadate, startdate
elif operator == "<=":
return alphadate, enddate
elif operator == "=":
return startdate, enddate
else:
sys.exit("There's a problem with your age/date or your operator used, please check the specifications to know why your data input is not valid")
def calculateAgeRange(age, operator):
if operator == ">":
return age + 1, 110
elif operator == ">=":
return age, 110
elif operator == "<":
return 0, age - 1
elif operator == "<=":
return 0, age
elif operator == "=":
return age, age
else:
sys.exit("There's a problem with your age/date or your operator used, please check the specifications to know why your data input is not valid")