Over the weekend I have spent a lot of time thinking about Swimmer Ids. I need a fairly flexible solution because it seems that there are a number of schemes used by teams and each is slightly different. At least, that is the case here in TSA country.
- Simple numeric sequence – each swimmer is assigned a number starting at some predetermined number and incrementing from their. This is very simple and easy to implement.
- Gender numeric sequence – similar to the simple numeric sequence but there is two groups of numbers, each each with a gender prefix (B, G) to ensure they are unique.
- Alpha numeric sequence – similar to the gender numeric sequence except each age group and gender is assigned a letter as a prefix and the swimmers within that age group are sequenced.
- Numeric range (this is what our local team uses) – each age group and gender is assgined a range (e.g. 7-8 girls are numbered 800-899, 7-8 boys are numbered 700-799) and the swimmers within that range are numbered starting at the lower end of the range.
- USA Swimming Id – this is very simple as the Swimmer Id is constructed using a format defined by USA Swimming.
If there are other scenarios, I have not observed them in the 5 years which I have been going to swim meets. To start with I will implement the simple id (which is already done since it can use the unique database id for each swimmer) and the numeric range (since that is what we use). The alphanumeric range should work as well since I believe I can implement both using a “alpha-numeric” prefix for each age group.