Skip to content
Andrew Cooke edited this page Aug 18, 2021 · 21 revisions

About ICAR and the Animal Data Exchange Working Group

The respository you are viewing is created and maintained by the Animal Data Exchange Working Group (ADE WG) of the International Committee for Animal Recording (ICAR).

Learn about ICAR and the Animal Data Exchange Working Group

Technical Working Group Minutes

The working group meets every two weeks (mostly) using Teams or Zoom. The minutes of the technical group are available on this Wiki.

Using the ADE Standards

The ADE Standards are designed to be implemented by:

  • Herd recording organisations, including national bodies, species and breed societies;
  • Farm equipment, system, and sensor manufacturers;
  • Farm and agricultural software developers;
  • Service providers, advisory services, and researchers.

You don't need to be a member of ICAR in order to use the standards (although there are many benefits to membership).

The sections below describe how you might implement the standards as a service (implementing one or more APIs), or as a client application (accessing an API provided by one or more services), but it is also possible to be both a client and a server, or to use the data model in peer-to-peer communications over other protocols.

Design Principles

The ADE standards are intended to be used in a wide variety of industry applications. As a result, the priorities of the working group are in order:

  1. Defining a robust and documented data model at appropriate granularity that allows it to be used for a variety of purposes, extended, and to support a variety of permission models (including granting access to some data types and not others).
  2. Defining an API specification that behaves consistently - implementing standard status codes, query string filtering and pagination.
  3. Making the API specification able to be navigated or predicted by specification of the URL path, and/or by linking.

You should read our full design principles in order to understand how to use and contribute to the standard. Also, read more on how we use branches and versions on Versioning, releases and branches.

Understanding the Data Model

The data model attempts to represent real world entities, such as animals, and observations or activities that may occur on those entities. These entities are termed "resources".

Implementing a Client Application

Most developers should be familiar with REST and JSON files. To simply view the standard, you can open the exampleUrlScheme.json file in your favorite OpenAPI Specification editor.

For example, to open it in the popular Swagger Editor.

For more details, please see Implementing a Client Application.

Implementing a Service

For more detailson implementing an ICAR ADE compatible service, please see Implementing a Service.

Clone this wiki locally