We’ve been very busy with LambTracker development and use. After the ewes were inseminated we waited a bit and then started doing ultrasounds to see if they were pregnant. We have a relatively inexpensive ultrasound machine but are not skilled in determining pregnancy yet. I made modifications to the EvaluateSheep module to accommodate collecting pregnancy scan status and number of lambs. To get things running quickly I did not incorporate those changes into the main EvaluateSheep Module.
Once the ultrasounds were done we started focusing on some clean-up. We standardized on a set of buttons on-screen and button locations so the user experience is consistent from activity to activity. I modified the standard look up a sheep code to handle looking up sheep with any of the various ID types. This was then incorporated into all the existing modules. Unfortunately that caused several bugs to surface that have take a while to squash. We finally got it all working again and will be testing the new ConvertToEID module with our last batch of sheep soon.
Database development is ongoing. I’ve added the tables and records to track breeding information with date and times of rams in and out so that the sire of lambs born can be determined. Lambing history has ben added along with other information critical for lambing. I’ve started the design of the tables to hold drug and treatment data but that part is not complete yet.
The next task is to get the historical lambing data on our flock formatted and into the system. A tool we purchased to do that is a simple program that can take a CSV file and create either insert or update SQL statements to modify or add to various database tables. It’s a lot faster than entering in the data one record at a time by hand but does require the user to understand the structure of the database. It works for me but is probably not really adequate for the naive user. Since my existing records are already in a spreadsheet I only have to make a copy of just the columns I need to add or modify, verify there are no illegal characters in the text fields and then run the program. I can then copy the resulting SQL statements and execute them to do bulk updates that way.
Programming the Lambing Module is well on its way. I currently have the screens for looking up a ewe and seeing her last lambing record and the screens for collecting the data on each new lamb. Next will be to write the code that will take the user input and update the database tables with the new lamb information properly. I also want to go back and merge the two different EvaluateSheep modules into one that will handle all three types of evaluations, scored traits that get a star rating of 1-5, real data traits that are measured like weights or scrotal circumference and user defined traits that include a group of written descriptions like Pregnant, Not Pregnant, Unsure and Not Scanned where only one is applied to each sheep.
Ken is also working on the printing module to integrate the existing Print label program and code into the main LambTracker as a separate activity. He is working to provide options on how many labels you wish to print for each tag scanned and what additional information will be printed on the labels from the database. We may do some testing of this during shearing to identify specific sheep fleeces but the primary use will be blood collection for scrapie susceptibility genetic testing which won’t happen until April after the sheep are shorn.
We are tracking the time that LambTracker saves us during standard sheep tasks and also how much time we are spending doing the double entry for this year. We can see that much time will be saved once things are working. Of course that does not include the time spent creating and debugging the program.
All in all we are making good progress with our system.