Technical Minutes 2020 08 14 - adewg/ICAR GitHub Wiki

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

  • In attendance: Andrew C, Anton H, Arjan L, Erwin S, Marvin R, Thomas D, Thomas P.

Agenda:

  1. Closing issues and timing for 1.1
  2. "Do not breed" instruction
  3. Reproductive and Lactation Status
  4. Group/Set arrive and depart or membership change events
  5. Listing and filtering resources - query parameters

1. Closing issues and timing for 1.1

Noted that some issues (e.g. 110, 125) were merged but still open. Although marked as Fixed in the merge, these had not closed automatically and will need to be manually closed. Gestations API has now been merged. This was the last item to address so we now need to focus on outstanding issues.

2. "Do not breed" instruction (#138)

This allows the farm to indicate that an animal should not be mated (bred) in the future. We discussed three possibilities:

  1. An event that allows the farmer to indicate an animal should not be mated.
  2. A status of an animal that allows a system to retrieve animals that should not be bred, or an API to request the list of these animals.
  3. Indicating "no not breed" with the mating recommendations - we decided not to implement this.

Regarding the event, we discussed whether:

  • This could be an explicit, simple event (like a pregnancy check event or a mating event).
  • Alternatively it could be a more generic "status change" event to change the reproductive status. The group had mixed feelings about this approach, but noted that it would allow farmers to "catch up" after not recording very accurately.

We noted that one could use PUT to an Animal resource to try and update animal properties (and it would be up to the system recieving the PUT to interpret), or one could add an Event that changed the status. The same thing occurs when changing the "Set" (group) that an animal belongs to - this could by done by POST/DELETE, or it could be done through an Group Change event.

  • There should be an event resource to express the farmer's decision (e.g. icarReproDoNotBreedEventResource)
  • doNotBreed could be a separate boolean field, because as an instruction from the farmer it is separate from (and in parallel to) the animal's current reproductive status.
  • We also discussed whether this could be achieved by generic flags, or by maintaining membership of a group (Animal Set). We could extend the icarAnimalSetPurposeType to allow for this.
  • We discussed how to handle animals that are observed not pregnant at a point in time - this would be a good case for being able to update the status of an animal. However, this could also be achieved by recording a Pregnancy Check event with "Not Pregnant".

Outcome: we do want the event, but all to consult with their organisations regarding boolean flag or set options.

3. Reproductive and lactation status (#111)

After the last meeting, we decided to having two fields - lactationStatus and reproductionStatus. We discussed whether there could be combinations of the two which might not make sense. If this is the case, are the invalid combinations species-specific or can they be generalised and excluded as part of the specification? We noted that there was no issue with reading the values, but with interpreting them when synchronising between different systems. Outcome: consult with experts in our organisations to see if there are examples of invalid combinations that we should worry about (Thomas D will talk to Beate). Our preference was not to merge the two statuses if possible.

We reviewed the status values from Marvin's work:

  • lactationStatus - Dry, Lead, Fresh, Early, Lactating
  • reproductionStatus - Ready, Inseminated, Open, Pregnant, Birthed (generic replacement for Calved)

Outcome: we were happy with these status values

We discussed the events to change these - something like icarReproStatusChangeEventResource and icarMilkingLactationChangeEventResource.

4. Animal Sets - arrive and depart or membership change (#88)

Based on the discussions above, we would like to create an event or events to record animals arriving and departing from set membership. This could be a membership change event or Group Arrive and Group Depart events.

5. Listing and filtering resources - query parameters (#130)

Arjan started developing the document for this on the Wiki - we need to create a definitive list of parameters. This can be covered after the ADE 1.1 release if necessary.

Next meeting scheduled for 28 August 2020 at 9am CET