Technical Minutes 2020 02 14 - adewg/ICAR GitHub Wiki

ICAR Animal Data Exchange Working Group – Technical meeting 14 February 2020

  • Apologies: Kor
  • In attendance: Andrew, Andreas, Anton, Arjan, Beate, Bert, David, Erwin, Henning, John, Sven, Thomas.

1. What is missing from 1.0 Release?

  • Erwin had checked the previous SOAP specification there is nothing that was in there which is not in the new specification.
  • We considered whether Health Treatments should be included. Andrew has a fairly comprehensive proposal to put forward but wonders if this should wait until after 1.0. The group agreed that this could wait until after we have announced 1.0.
  • The new specification is "at least as complete as the SOAP specification". We should move to 1.0 as soon as possible.
  • Some further documentation is needed, particularly with relation to identifier types.
  • There is a register of location identifers at https://github.com/adewg/ICAR/blob/master/location-scheme.md
  • Decided to make a call for participants to identify missing documentation - added as GitHub Issue #72 (https://github.com/adewg/ICAR/issues/72)

2. Lactations API (GitHub issue 65)

  • A lactation resource could be updated - it is not an Event that is recorded once. Therefore a MetaData resource should be added so that we know when the resource is updated.
  • Discussed whether lactation length should be standardised or explicitly specified, and what to do about the current lactation in process. If end date is not specified, this is the current lactation that is not finished. Still need to know number of days from start date to when the resource was last updated.
  • Some systems don't have start date, but they could calculate this from calving date.
  • Discussed "index" - a ranking within the farm calculated based on some criteria. Index can mean a calculated value by applying weightings to breeding values. Suggested it should be called "ranking" instead, meaning the ranking of the animal within the lactation at the location.
  • Discussed averages (weighted?) for urea, and somatic cell count, and totals for fat, milk, protein, lactose. The mechanism for combining test date data to achieve the totals and averages is not specified, but organisations typically do calculate this in the same way.
  • Discussed "ICAR certified" flag - only data from ICAR certified devices is used in BV calculations, and the method can also be audited. ICAR certified is an assertion by the milk recording organisation that the device and calculation method meet the requirements of ICAR.
  • Discussed milking frequency, and this changes through the lactation which led to the next point:
  • It be useful to add (calculation) "method" - from the ICAR milk recording schemes. @Erwin to check the guidelines - we believe method, schema, interval.
  • Discussed standardised 305 or other lactation lengths.

Decisions:

  1. This is not an event, but a resource
  2. Add "meta" (metadata) to capture date updated
  3. "start date" must be provided by the server
  4. "number of days" must be provided by the server
  5. "end date" is optional
  6. "last test date" should be added
  7. rename "index" to "ranking"
  8. Add ICAR "method", "schema", "interval" (or whatever) to describe the way totals and averages are calculated
  9. Make "icar certified" part of the subresource with the other ICAR fields
  • Agenda this for discussion at the next meeting

3. Weight Events (GitHub issue 53)

  • Add weighing method "FrontEndCorrelated"
  • Operator attribute, renamed to "Responsible" - add to icarEventCoreResource
  • Add "ContemporaryGroup" (not Management Group) - useful on several events, add to icarEventCoreResource

4. Versioning Strategy and Announcements (GitHub issue 17)

  • Agreed to use Semantic Versioning to communicate major (breaking changes), minor (features), patch (corrections)
  • Release management - after 1.0:
  1. Develop branch has work in progress
  2. Branches for each major release (e.g. ADE-1, ADE-2) so that patches can be applied to older major versions
  3. Tags used within branches for minor versions and patches.
  • API versioning - not specifically agreed but prefer embedding major version in URLs /api/ADE-1/

Next meeting 28th February at 9am CET