From 46cfab9a628a2fe67aae25bc371dfd9d2f79e9fb Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 5 Apr 2019 12:34:43 +0200 Subject: [PATCH 01/31] converted to v3; extracted milksample to be able to compare better --- Release Candidate Messages/ICAR-ADE-RC1.json | 1093 +++++++++++++++++ .../ICARMilkSample.json | 37 + .../JoinDataMilkSample.json | 34 + 3 files changed, 1164 insertions(+) create mode 100644 Release Candidate Messages/ICAR-ADE-RC1.json create mode 100644 Release Candidate Messages/ICARMilkSample.json create mode 100644 Release Candidate Messages/JoinDataMilkSample.json diff --git a/Release Candidate Messages/ICAR-ADE-RC1.json b/Release Candidate Messages/ICAR-ADE-RC1.json new file mode 100644 index 0000000..eeb7ac0 --- /dev/null +++ b/Release Candidate Messages/ICAR-ADE-RC1.json @@ -0,0 +1,1093 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Release Candidate Messages", + "description": "The specifications of messages which are ready for ICAR approval and release \n", + "version": "1.0" + }, + "servers": [ + { + "url": "/" + } + ], + "security": [ + { + "jdClient": [ + "fullaccess" + ] + }, + { + "jdAuthorizationCode": [ + "fullaccess" + ] + }, + { + "jdImplicit": [ + "fullaccess" + ] + } + ], + "tags": [ + { + "name": "ICAR approval ready", + "description": "(almost) exact copy of existing ICAR-ADE standard message, ready for approval\n" + } + ], + "paths": { + "/locations/{location-scheme}/{location-id}/milking-visits": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the data for milking visits", + "description": "# Purpose\nProvides data from visits of animals to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkingVisitsResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/characteristics": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the quarter milking data for a specific milking visit", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkCharacteristicsResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/quarter-milkings": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the quarter milking data for a specific milking visit", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarQuarterMilkingsResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/animal-milking-sample": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the quarter milking data for a specific milking visit", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarAnimalMilkingSampleResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "icarQuarterMilkingType": { + "type": "object", + "properties": { + "icarQuarterId": { + "$ref": "#/components/schemas/icarQuarterId" + }, + "quarterMilkingDuration": { + "$ref": "#/components/schemas/quarterMilkingDuration" + }, + "quarterMilkingWeight": { + "$ref": "#/components/schemas/quarterMilkingWeight" + }, + "icarQuarterCharacteristics": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkCharacteristicsType" + } + }, + "quarterMilkingSample": { + "$ref": "#/components/schemas/quarterMilkingSample" + } + } + }, + "icarPeriodType": { + "required": [ + "end", + "start" + ], + "type": "object", + "properties": { + "start": { + "$ref": "#/components/schemas/icarDateTimeType" + }, + "end": { + "$ref": "#/components/schemas/icarDateTimeType" + } + } + }, + "icarAnimalMilkingSampleResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSources" + } + }, + "icarQuarterMilkingsTypes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarQuarterMilkingType" + } + }, + "icarQuarterMilkingsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSource" + } + ] + }, + "responseErrors": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + } + }, + "icarCodeType": { + "type": "string", + "description": "A character string (letters, figures, or symbols) that for brevity and/or languange independence may be used to represent or replace a definitive value or text of an attribute together with relevant supplementary information.\n" + }, + "error": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A unique identifier for this particular occurrence of the problem" + }, + "status": { + "type": "integer", + "description": "The HTTP status code applicable to this problem, expressed as a string value", + "format": "int32" + }, + "code": { + "type": "string", + "description": "An application-specific error code, expressed as a string value." + }, + "title": { + "type": "string", + "description": "A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization." + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized." + }, + "meta": { + "type": "object", + "properties": {} + } + }, + "description": "A human-readable error message describing what went wrong." + }, + "animalIdScheme": { + "type": "string", + "description": "Identifies the used scheme for an animal identification string. nl-v1 life numbers are formatted as NL 123456789. See https://www.rvo.nl/onderwerpen/agrarisch-ondernemen/dieren/dieren-registreren/runderen/oormerken-voor-runderen for more information.", + "enum": [ + "nl-v1", + "be-v1" + ] + }, + "icarMilkCharacteristicsTypes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkCharacteristicsType" + } + }, + "icarTeatPositionsType": { + "type": "object", + "properties": { + "icarQuarterId": { + "$ref": "#/components/schemas/icarQuarterId" + }, + "icarTeatPositions": { + "$ref": "#/components/schemas/icarTeatPositions" + } + } + }, + "icarMilkingVisitsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSource" + } + ] + }, + "icarAnimalMilkingSampleResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSource" + } + ] + }, + "companyIdentifier": { + "required": [ + "id", + "scheme" + ], + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/companyId" + }, + "scheme": { + "$ref": "#/components/schemas/companyIdScheme" + } + }, + "description": "Identifies a company" + }, + "icarDateTimeType": { + "type": "string", + "description": "udt:DateTimeType | A particular point in the progression of time together with relevant supplementary information.", + "format": "datetime" + }, + "icarSexedSemenCode": { + "type": "string", + "description": "A list of codes representing the sexed semen type; can be -Y- for sexing semen Male or Female, -N- for no sexing semen, -F- for sexing semen Female or -M- for sexing semen Male.\n", + "enum": [ + "Y", + "F", + "M", + "N" + ] + }, + "icarTeatPositionsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarTeatPositionsResponseDataSource" + } + ] + }, + "icarAnimalMilkingSampleType": { + "type": "object", + "properties": { + "bottleIdentifierType": { + "type": "string", + "description": "The type of bottle identifiertype according to ICAR_BottleIdentifierCode", + "enum": [ + "BRC", + "RFD" + ] + }, + "rackNumber": { + "type": "string", + "description": "Number of the sample rack" + }, + "bottlePosition": { + "type": "string", + "description": "Position of the bottle in the sample rack" + }, + "bottleIdentifier": { + "type": "string", + "description": "Bottle identifier read from barcode or RFID" + }, + "validSampleFillingIndicator": { + "type": "string", + "description": "Indicator of valid sample filling according to ICAR_ValidSampleFillingIndicatorCode list", + "enum": [ + "0", + "1", + "2" + ] + } + } + }, + "quarterMilkingSample": { + "type": "object", + "properties": { + "sample": { + "type": "string" + } + } + }, + "icarQuarterMilkingsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarQuarterMilkingsTypes" + } + } + }, + "icarTeatPositionsTypes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarTeatPositionsType" + } + }, + "icarDateType": { + "type": "string", + "description": "udt:DateType | A day of the month or year as specified by a number.", + "format": "date" + }, + "icarMilkCharacteristicsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarMilkCharacteristicsTypes" + } + } + }, + "icarMilkingVisitType": { + "required": [ + "animal", + "milkingStartingDateTime", + "milkingSuccess" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A unique identifier for this location for the milking visit message" + }, + "animal": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "milkingStartingDateTime": { + "$ref": "#/components/schemas/icarDateTimeType" + }, + "milkingDuration": { + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "SEC", + "MIN" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The length in time of the milking" + }, + "milkingVisitDuration": { + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "SEC", + "MIN" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The length in time of the milking visit" + }, + "milkingType": { + "type": "string", + "description": "The type of milking (manual or automated)", + "enum": [ + "Manual", + "Automated" + ] + }, + "milkingMilkWeight": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The amount of milk milked" + }, + "milkingSuccess": { + "type": "boolean" + }, + "milkingParlourUnit": { + "type": "string", + "description": "The milking parlour unit where the milking took place." + }, + "milkingBoxNumber": { + "type": "string", + "description": "The milking box number where the milking took place." + }, + "milkingDeviceId": { + "type": "string", + "description": "The ID of the device where the milking took place" + }, + "measureDeviceId": { + "type": "string", + "description": "The ID of the device where the measurement of the milking took place" + } + } + }, + "icarQuarterId": { + "type": "string", + "enum": [ + "LF", + "RF", + "LB", + "RB" + ] + }, + "icarTeatPositionsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarTeatPositionsResponseDataSources" + } + }, + "icarTeatPositions": { + "type": "object", + "properties": { + "x-position": { + "type": "integer" + }, + "y-position": { + "type": "integer" + }, + "z-position": { + "type": "integer" + } + } + }, + "animalId": { + "type": "string", + "description": "A string which (in combination with a scheme) uniquely identifies an animal." + }, + "responseDataSource": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/dataSource" + } + } + }, + "icarMilkCharacteristicsType": { + "type": "object", + "properties": { + "characteristicsCode": { + "type": "string", + "description": "ICAR Milk Characteristics Code", + "enum": [ + "SCC", + "FAT", + "PROTEIN", + "LAC", + "UREA", + "BLOOD", + "ACETONE", + "BHB", + "LDH", + "PRO", + "AVGCOND", + "MAXCOND", + "AVGFLWR", + "MAXFLWR", + "WEIGHT" + ] + }, + "value": { + "type": "number", + "description": "Numeric value determined by measuring an object", + "format": "decimal" + } + } + }, + "companyId": { + "type": "string", + "description": "A string which (in combination with a scheme) uniquely identifies a company." + }, + "icarMilkingVisitsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSources" + } + }, + "icarMilkCharacteristicsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSource" + } + ] + }, + "icarTeatPositionsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarTeatPositionsTypes" + } + } + }, + "icarMilkCharacteristicsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSources" + } + }, + "animalIdentifier": { + "required": [ + "id", + "scheme" + ], + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/animalId" + }, + "scheme": { + "$ref": "#/components/schemas/animalIdScheme" + } + }, + "description": "Identifies an animal" + }, + "icarQuarterMilkingsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSources" + } + }, + "quarterMilkingWeight": { + "type": "object", + "properties": { + "value": { + "type": "number", + "format": "double" + }, + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM" + ] + } + }, + "description": "The weight of the milk milked of this quarter" + }, + "icarMilkingVisitsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarMilkingVisitType" + } + } + }, + "icarAnimalMilkingSampleResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarAnimalMilkingSampleType" + } + } + }, + "quarterMilkingDuration": { + "type": "object", + "properties": { + "value": { + "type": "number", + "format": "double" + }, + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "SEC", + "MIN" + ] + } + }, + "description": "The length in time of the milking for this quarter" + }, + "dataSource": { + "type": "string", + "description": "Source where data is retrieved from. Details can be retrieved from the source register." + }, + "companyIdScheme": { + "type": "string", + "description": "Identifies the used scheme for a company identification string.", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + "responses": { + "error": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + }, + "parameters": { + "queryEndDateTime": { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + "pathIcarMilkingVisitId": { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "pathLocationScheme": { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + "queryEndDateTimeRequired": { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + "queryModifiedSince": { + "name": "modified-since", + "in": "query", + "description": "The date-time of insertion or last update of the event.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + "pathLocationId": { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + "pathMilkDeliveryId": { + "name": "milk-delivery-id", + "in": "path", + "description": "The unique identifier for a milk delivery for a specific location.", + "required": true, + "schema": { + "type": "string" + } + }, + "queryAnimalScheme": { + "name": "animal-scheme", + "in": "query", + "description": "The scheme id for the animal identifier. Should be used together with animal-id.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + "queryStartDateTimeRequired": { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + "pathMilkInvoiceId": { + "name": "milk-invoice-id", + "in": "path", + "description": "The unique identifier for a milk invoice for a specific location.", + "required": true, + "schema": { + "type": "string" + } + }, + "queryAnimalId": { + "name": "animal-id", + "in": "query", + "description": "The unique identifier for the animal. Should be used together with animal-scheme.", + "required": true, + "schema": { + "type": "string" + } + }, + "queryStartDateTime": { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + }, + "securitySchemes": { + "jdClient": { + "type": "oauth2", + "description": "Secure access using client credentials grant", + "flows": { + "clientCredentials": { + "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", + "scopes": { + "fullaccess": "Full access to all resources" + } + } + } + }, + "jdAuthorizationCode": { + "type": "oauth2", + "description": "Secure access using authorization grant flow", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", + "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", + "scopes": { + "fullaccess": "Full access to all resources" + } + } + } + }, + "jdImplicit": { + "type": "oauth2", + "description": "Secure access using implicit grant", + "flows": { + "implicit": { + "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", + "scopes": { + "fullaccess": "Full access to all resources" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/Release Candidate Messages/ICARMilkSample.json b/Release Candidate Messages/ICARMilkSample.json new file mode 100644 index 0000000..c13c61b --- /dev/null +++ b/Release Candidate Messages/ICARMilkSample.json @@ -0,0 +1,37 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "bottleIdentifierType":{ + "@id": "https://www.datalinker.org/context/ICARMilkSample-bottleIdentifierType", + "@type": "xsd:string", + "type": "string", + "format": "uri", + "dldescription": "Type of identifier" + }, + "bottleIdentifier":{ + "@id": "https://www.datalinker.org/context/ICARMilkSample-bottleIdentifier", + "@type": "xsd:string", + "type": "string", + "dldescription": "Bottle identifier read from barcode or RFID" + }, + "rack":{ + "@id": "https://www.datalinker.org/context/ICARMilkSample-rack", + "@type": "xsd:number", + "type": "number", + "dldescription": "Number or ID of the sample rack" + }, + "position":{ + "@id": "https://www.datalinker.org/context/ICARMilkSample-position", + "@type": "xsd:number", + "type": "number", + "dldescription": "Position of the bottle in the sample rack" + }, + "fillingIndicator":{ + "@id": "https://www.datalinker.org/context/ICARMilkSample-fillingIndicator", + "@type": "xsd:string", + "type": "string", + "dldescription": "Indicator of valid filling" + } + } +} \ No newline at end of file diff --git a/Release Candidate Messages/JoinDataMilkSample.json b/Release Candidate Messages/JoinDataMilkSample.json new file mode 100644 index 0000000..2e90ded --- /dev/null +++ b/Release Candidate Messages/JoinDataMilkSample.json @@ -0,0 +1,34 @@ +{ + "type": "object", + "properties": { + "bottleIdentifierType": { + "type": "string", + "description": "The type of bottle identifiertype according to ICAR_BottleIdentifierCode", + "enum": [ + "BRC", + "RFD" + ] + }, + "rackNumber": { + "type": "string", + "description": "Number of the sample rack" + }, + "bottlePosition": { + "type": "string", + "description": "Position of the bottle in the sample rack" + }, + "bottleIdentifier": { + "type": "string", + "description": "Bottle identifier read from barcode or RFID" + }, + "validSampleFillingIndicator": { + "type": "string", + "description": "Indicator of valid sample filling according to ICAR_ValidSampleFillingIndicatorCode list", + "enum": [ + "0", + "1", + "2" + ] + } + } +} From 3b9188c55f74a10f520d239b21d7bc4366214d20 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 5 Apr 2019 12:35:32 +0200 Subject: [PATCH 02/31] converted to v3; extracted milksample to be able to compare better --- Release Candidate Messages/ICAR-ADE-RC1.json | 1093 ----------------- .../icar-ade-openapispec.yaml | 740 +++++++++++ 2 files changed, 740 insertions(+), 1093 deletions(-) delete mode 100644 Release Candidate Messages/ICAR-ADE-RC1.json create mode 100644 Release Candidate Messages/icar-ade-openapispec.yaml diff --git a/Release Candidate Messages/ICAR-ADE-RC1.json b/Release Candidate Messages/ICAR-ADE-RC1.json deleted file mode 100644 index eeb7ac0..0000000 --- a/Release Candidate Messages/ICAR-ADE-RC1.json +++ /dev/null @@ -1,1093 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Release Candidate Messages", - "description": "The specifications of messages which are ready for ICAR approval and release \n", - "version": "1.0" - }, - "servers": [ - { - "url": "/" - } - ], - "security": [ - { - "jdClient": [ - "fullaccess" - ] - }, - { - "jdAuthorizationCode": [ - "fullaccess" - ] - }, - { - "jdImplicit": [ - "fullaccess" - ] - } - ], - "tags": [ - { - "name": "ICAR approval ready", - "description": "(almost) exact copy of existing ICAR-ADE standard message, ready for approval\n" - } - ], - "paths": { - "/locations/{location-scheme}/{location-id}/milking-visits": { - "get": { - "tags": [ - "ICAR approval ready" - ], - "summary": "Get the data for milking visits", - "description": "# Purpose\nProvides data from visits of animals to a milking parlour\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "201": { - "description": "Successful. The response contains the milking results for the given location", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarMilkingVisitsResponse" - } - } - } - }, - "default": { - "description": "An error has occured while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/characteristics": { - "get": { - "tags": [ - "ICAR approval ready" - ], - "summary": "Get the quarter milking data for a specific milking visit", - "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "milking-visit-id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "Successful. The response contains the milking results for the given location", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarMilkCharacteristicsResponse" - } - } - } - }, - "default": { - "description": "An error has occured while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/quarter-milkings": { - "get": { - "tags": [ - "ICAR approval ready" - ], - "summary": "Get the quarter milking data for a specific milking visit", - "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "milking-visit-id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "Successful. The response contains the milking results for the given location", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarQuarterMilkingsResponse" - } - } - } - }, - "default": { - "description": "An error has occured while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/animal-milking-sample": { - "get": { - "tags": [ - "ICAR approval ready" - ], - "summary": "Get the quarter milking data for a specific milking visit", - "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "milking-visit-id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "Successful. The response contains the milking results for the given location", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarAnimalMilkingSampleResponse" - } - } - } - }, - "default": { - "description": "An error has occured while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "icarQuarterMilkingType": { - "type": "object", - "properties": { - "icarQuarterId": { - "$ref": "#/components/schemas/icarQuarterId" - }, - "quarterMilkingDuration": { - "$ref": "#/components/schemas/quarterMilkingDuration" - }, - "quarterMilkingWeight": { - "$ref": "#/components/schemas/quarterMilkingWeight" - }, - "icarQuarterCharacteristics": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkCharacteristicsType" - } - }, - "quarterMilkingSample": { - "$ref": "#/components/schemas/quarterMilkingSample" - } - } - }, - "icarPeriodType": { - "required": [ - "end", - "start" - ], - "type": "object", - "properties": { - "start": { - "$ref": "#/components/schemas/icarDateTimeType" - }, - "end": { - "$ref": "#/components/schemas/icarDateTimeType" - } - } - }, - "icarAnimalMilkingSampleResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSources" - } - }, - "icarQuarterMilkingsTypes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarQuarterMilkingType" - } - }, - "icarQuarterMilkingsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSource" - } - ] - }, - "responseErrors": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - } - }, - "icarCodeType": { - "type": "string", - "description": "A character string (letters, figures, or symbols) that for brevity and/or languange independence may be used to represent or replace a definitive value or text of an attribute together with relevant supplementary information.\n" - }, - "error": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "A unique identifier for this particular occurrence of the problem" - }, - "status": { - "type": "integer", - "description": "The HTTP status code applicable to this problem, expressed as a string value", - "format": "int32" - }, - "code": { - "type": "string", - "description": "An application-specific error code, expressed as a string value." - }, - "title": { - "type": "string", - "description": "A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization." - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized." - }, - "meta": { - "type": "object", - "properties": {} - } - }, - "description": "A human-readable error message describing what went wrong." - }, - "animalIdScheme": { - "type": "string", - "description": "Identifies the used scheme for an animal identification string. nl-v1 life numbers are formatted as NL 123456789. See https://www.rvo.nl/onderwerpen/agrarisch-ondernemen/dieren/dieren-registreren/runderen/oormerken-voor-runderen for more information.", - "enum": [ - "nl-v1", - "be-v1" - ] - }, - "icarMilkCharacteristicsTypes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkCharacteristicsType" - } - }, - "icarTeatPositionsType": { - "type": "object", - "properties": { - "icarQuarterId": { - "$ref": "#/components/schemas/icarQuarterId" - }, - "icarTeatPositions": { - "$ref": "#/components/schemas/icarTeatPositions" - } - } - }, - "icarMilkingVisitsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSource" - } - ] - }, - "icarAnimalMilkingSampleResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSource" - } - ] - }, - "companyIdentifier": { - "required": [ - "id", - "scheme" - ], - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/companyId" - }, - "scheme": { - "$ref": "#/components/schemas/companyIdScheme" - } - }, - "description": "Identifies a company" - }, - "icarDateTimeType": { - "type": "string", - "description": "udt:DateTimeType | A particular point in the progression of time together with relevant supplementary information.", - "format": "datetime" - }, - "icarSexedSemenCode": { - "type": "string", - "description": "A list of codes representing the sexed semen type; can be -Y- for sexing semen Male or Female, -N- for no sexing semen, -F- for sexing semen Female or -M- for sexing semen Male.\n", - "enum": [ - "Y", - "F", - "M", - "N" - ] - }, - "icarTeatPositionsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarTeatPositionsResponseDataSource" - } - ] - }, - "icarAnimalMilkingSampleType": { - "type": "object", - "properties": { - "bottleIdentifierType": { - "type": "string", - "description": "The type of bottle identifiertype according to ICAR_BottleIdentifierCode", - "enum": [ - "BRC", - "RFD" - ] - }, - "rackNumber": { - "type": "string", - "description": "Number of the sample rack" - }, - "bottlePosition": { - "type": "string", - "description": "Position of the bottle in the sample rack" - }, - "bottleIdentifier": { - "type": "string", - "description": "Bottle identifier read from barcode or RFID" - }, - "validSampleFillingIndicator": { - "type": "string", - "description": "Indicator of valid sample filling according to ICAR_ValidSampleFillingIndicatorCode list", - "enum": [ - "0", - "1", - "2" - ] - } - } - }, - "quarterMilkingSample": { - "type": "object", - "properties": { - "sample": { - "type": "string" - } - } - }, - "icarQuarterMilkingsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/icarQuarterMilkingsTypes" - } - } - }, - "icarTeatPositionsTypes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarTeatPositionsType" - } - }, - "icarDateType": { - "type": "string", - "description": "udt:DateType | A day of the month or year as specified by a number.", - "format": "date" - }, - "icarMilkCharacteristicsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/icarMilkCharacteristicsTypes" - } - } - }, - "icarMilkingVisitType": { - "required": [ - "animal", - "milkingStartingDateTime", - "milkingSuccess" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "A unique identifier for this location for the milking visit message" - }, - "animal": { - "$ref": "#/components/schemas/animalIdentifier" - }, - "milkingStartingDateTime": { - "$ref": "#/components/schemas/icarDateTimeType" - }, - "milkingDuration": { - "type": "object", - "properties": { - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "SEC", - "MIN" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "The length in time of the milking" - }, - "milkingVisitDuration": { - "type": "object", - "properties": { - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "SEC", - "MIN" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "The length in time of the milking visit" - }, - "milkingType": { - "type": "string", - "description": "The type of milking (manual or automated)", - "enum": [ - "Manual", - "Automated" - ] - }, - "milkingMilkWeight": { - "required": [ - "unitCode", - "value" - ], - "type": "object", - "properties": { - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "KGM" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "The amount of milk milked" - }, - "milkingSuccess": { - "type": "boolean" - }, - "milkingParlourUnit": { - "type": "string", - "description": "The milking parlour unit where the milking took place." - }, - "milkingBoxNumber": { - "type": "string", - "description": "The milking box number where the milking took place." - }, - "milkingDeviceId": { - "type": "string", - "description": "The ID of the device where the milking took place" - }, - "measureDeviceId": { - "type": "string", - "description": "The ID of the device where the measurement of the milking took place" - } - } - }, - "icarQuarterId": { - "type": "string", - "enum": [ - "LF", - "RF", - "LB", - "RB" - ] - }, - "icarTeatPositionsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarTeatPositionsResponseDataSources" - } - }, - "icarTeatPositions": { - "type": "object", - "properties": { - "x-position": { - "type": "integer" - }, - "y-position": { - "type": "integer" - }, - "z-position": { - "type": "integer" - } - } - }, - "animalId": { - "type": "string", - "description": "A string which (in combination with a scheme) uniquely identifies an animal." - }, - "responseDataSource": { - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/dataSource" - } - } - }, - "icarMilkCharacteristicsType": { - "type": "object", - "properties": { - "characteristicsCode": { - "type": "string", - "description": "ICAR Milk Characteristics Code", - "enum": [ - "SCC", - "FAT", - "PROTEIN", - "LAC", - "UREA", - "BLOOD", - "ACETONE", - "BHB", - "LDH", - "PRO", - "AVGCOND", - "MAXCOND", - "AVGFLWR", - "MAXFLWR", - "WEIGHT" - ] - }, - "value": { - "type": "number", - "description": "Numeric value determined by measuring an object", - "format": "decimal" - } - } - }, - "companyId": { - "type": "string", - "description": "A string which (in combination with a scheme) uniquely identifies a company." - }, - "icarMilkingVisitsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSources" - } - }, - "icarMilkCharacteristicsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSource" - } - ] - }, - "icarTeatPositionsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/icarTeatPositionsTypes" - } - } - }, - "icarMilkCharacteristicsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSources" - } - }, - "animalIdentifier": { - "required": [ - "id", - "scheme" - ], - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/animalId" - }, - "scheme": { - "$ref": "#/components/schemas/animalIdScheme" - } - }, - "description": "Identifies an animal" - }, - "icarQuarterMilkingsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSources" - } - }, - "quarterMilkingWeight": { - "type": "object", - "properties": { - "value": { - "type": "number", - "format": "double" - }, - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "KGM" - ] - } - }, - "description": "The weight of the milk milked of this quarter" - }, - "icarMilkingVisitsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/icarMilkingVisitType" - } - } - }, - "icarAnimalMilkingSampleResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/icarAnimalMilkingSampleType" - } - } - }, - "quarterMilkingDuration": { - "type": "object", - "properties": { - "value": { - "type": "number", - "format": "double" - }, - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "SEC", - "MIN" - ] - } - }, - "description": "The length in time of the milking for this quarter" - }, - "dataSource": { - "type": "string", - "description": "Source where data is retrieved from. Details can be retrieved from the source register." - }, - "companyIdScheme": { - "type": "string", - "description": "Identifies the used scheme for a company identification string.", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - "responses": { - "error": { - "description": "An error has occured while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - }, - "parameters": { - "queryEndDateTime": { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - "pathIcarMilkingVisitId": { - "name": "milking-visit-id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - "pathLocationScheme": { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - "queryEndDateTimeRequired": { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - "queryModifiedSince": { - "name": "modified-since", - "in": "query", - "description": "The date-time of insertion or last update of the event.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - "pathLocationId": { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - "pathMilkDeliveryId": { - "name": "milk-delivery-id", - "in": "path", - "description": "The unique identifier for a milk delivery for a specific location.", - "required": true, - "schema": { - "type": "string" - } - }, - "queryAnimalScheme": { - "name": "animal-scheme", - "in": "query", - "description": "The scheme id for the animal identifier. Should be used together with animal-id.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - "queryStartDateTimeRequired": { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - "pathMilkInvoiceId": { - "name": "milk-invoice-id", - "in": "path", - "description": "The unique identifier for a milk invoice for a specific location.", - "required": true, - "schema": { - "type": "string" - } - }, - "queryAnimalId": { - "name": "animal-id", - "in": "query", - "description": "The unique identifier for the animal. Should be used together with animal-scheme.", - "required": true, - "schema": { - "type": "string" - } - }, - "queryStartDateTime": { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - }, - "securitySchemes": { - "jdClient": { - "type": "oauth2", - "description": "Secure access using client credentials grant", - "flows": { - "clientCredentials": { - "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", - "scopes": { - "fullaccess": "Full access to all resources" - } - } - } - }, - "jdAuthorizationCode": { - "type": "oauth2", - "description": "Secure access using authorization grant flow", - "flows": { - "authorizationCode": { - "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", - "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", - "scopes": { - "fullaccess": "Full access to all resources" - } - } - } - }, - "jdImplicit": { - "type": "oauth2", - "description": "Secure access using implicit grant", - "flows": { - "implicit": { - "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", - "scopes": { - "fullaccess": "Full access to all resources" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/Release Candidate Messages/icar-ade-openapispec.yaml b/Release Candidate Messages/icar-ade-openapispec.yaml new file mode 100644 index 0000000..f943e99 --- /dev/null +++ b/Release Candidate Messages/icar-ade-openapispec.yaml @@ -0,0 +1,740 @@ +openapi: 3.0.1 +info: + title: Release Candidate Messages + description: | + The specifications of messages which are ready for ICAR approval and release + version: '1.0' +servers: + - url: / +security: + - jdClient: + - fullaccess + - jdAuthorizationCode: + - fullaccess + - jdImplicit: + - fullaccess +tags: + - name: ICAR approval ready + description: | + (almost) exact copy of existing ICAR-ADE standard message, ready for approval +paths: + '/locations/{location-scheme}/{location-id}/milking-visits': + get: + tags: + - ICAR approval ready + summary: Get the data for milking visits + description: | + # Purpose + Provides data from visits of animals to a milking parlour + parameters: + - name: location-scheme + in: path + description: The scheme id for the location identifier. + required: true + schema: + type: string + enum: + - nl-v1 + - be-v1 + - name: location-id + in: path + description: The unique identifier for the location. + required: true + schema: + type: string + - name: start-date-time + in: query + description: The start of the date-time range for the data to get in the request. + schema: + type: string + format: date-time + - name: end-date-time + in: query + description: The end of the date-time range for the data to get in the request. + schema: + type: string + format: date-time + responses: + '201': + description: Successful. The response contains the milking results for the given location + content: + application/json: + schema: + $ref: '#/components/schemas/icarMilkingVisitsResponse' + default: + description: An error has occured while handling the request. Check the content of the message for the error details. + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/error' + description: A default response containing only a list of errors + '/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/characteristics': + get: + tags: + - ICAR approval ready + summary: Get the quarter milking data for a specific milking visit + description: | + # Purpose + Provides quarter milking data from a singular visit of an animal to a milking parlour + parameters: + - name: location-scheme + in: path + description: The scheme id for the location identifier. + required: true + schema: + type: string + enum: + - nl-v1 + - be-v1 + - name: location-id + in: path + description: The unique identifier for the location. + required: true + schema: + type: string + - name: milking-visit-id + in: path + required: true + schema: + type: string + responses: + '201': + description: Successful. The response contains the milking results for the given location + content: + application/json: + schema: + $ref: '#/components/schemas/icarMilkCharacteristicsResponse' + default: + description: An error has occured while handling the request. Check the content of the message for the error details. + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/error' + description: A default response containing only a list of errors + '/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/quarter-milkings': + get: + tags: + - ICAR approval ready + summary: Get the quarter milking data for a specific milking visit + description: | + # Purpose + Provides quarter milking data from a singular visit of an animal to a milking parlour + parameters: + - name: location-scheme + in: path + description: The scheme id for the location identifier. + required: true + schema: + type: string + enum: + - nl-v1 + - be-v1 + - name: location-id + in: path + description: The unique identifier for the location. + required: true + schema: + type: string + - name: milking-visit-id + in: path + required: true + schema: + type: string + responses: + '201': + description: Successful. The response contains the milking results for the given location + content: + application/json: + schema: + $ref: '#/components/schemas/icarQuarterMilkingsResponse' + default: + description: An error has occured while handling the request. Check the content of the message for the error details. + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/error' + description: A default response containing only a list of errors + '/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/animal-milking-sample': + get: + tags: + - ICAR approval ready + summary: Get the quarter milking data for a specific milking visit + description: | + # Purpose + Provides quarter milking data from a singular visit of an animal to a milking parlour + parameters: + - name: location-scheme + in: path + description: The scheme id for the location identifier. + required: true + schema: + type: string + enum: + - nl-v1 + - be-v1 + - name: location-id + in: path + description: The unique identifier for the location. + required: true + schema: + type: string + - name: milking-visit-id + in: path + required: true + schema: + type: string + responses: + '201': + description: Successful. The response contains the milking results for the given location + content: + application/json: + schema: + $ref: '#/components/schemas/icarAnimalMilkingSampleResponse' + default: + description: An error has occured while handling the request. Check the content of the message for the error details. + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/error' + description: A default response containing only a list of errors +components: + schemas: + icarQuarterMilkingType: + type: object + properties: + icarQuarterId: + $ref: '#/components/schemas/icarQuarterId' + quarterMilkingDuration: + $ref: '#/components/schemas/quarterMilkingDuration' + quarterMilkingWeight: + $ref: '#/components/schemas/quarterMilkingWeight' + icarQuarterCharacteristics: + type: array + items: + $ref: '#/components/schemas/icarMilkCharacteristicsType' + quarterMilkingSample: + $ref: '#/components/schemas/quarterMilkingSample' + icarPeriodType: + required: + - end + - start + type: object + properties: + start: + $ref: '#/components/schemas/icarDateTimeType' + end: + $ref: '#/components/schemas/icarDateTimeType' + icarAnimalMilkingSampleResponse: + type: array + items: + $ref: '#/components/schemas/icarAnimalMilkingSampleResponseDataSources' + icarQuarterMilkingsTypes: + type: array + items: + $ref: '#/components/schemas/icarQuarterMilkingType' + icarQuarterMilkingsResponseDataSources: + allOf: + - $ref: '#/components/schemas/responseDataSource' + - $ref: '#/components/schemas/responseErrors' + - $ref: '#/components/schemas/icarQuarterMilkingsResponseDataSource' + responseErrors: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/error' + icarCodeType: + type: string + description: | + A character string (letters, figures, or symbols) that for brevity and/or languange independence may be used to represent or replace a definitive value or text of an attribute together with relevant supplementary information. + error: + type: object + properties: + id: + type: string + description: A unique identifier for this particular occurrence of the problem + status: + type: integer + description: 'The HTTP status code applicable to this problem, expressed as a string value' + format: int32 + code: + type: string + description: 'An application-specific error code, expressed as a string value.' + title: + type: string + description: 'A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization.' + detail: + type: string + description: 'A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized.' + meta: + type: object + properties: {} + description: A human-readable error message describing what went wrong. + animalIdScheme: + type: string + description: 'Identifies the used scheme for an animal identification string. nl-v1 life numbers are formatted as NL 123456789. See https://www.rvo.nl/onderwerpen/agrarisch-ondernemen/dieren/dieren-registreren/runderen/oormerken-voor-runderen for more information.' + enum: + - nl-v1 + - be-v1 + icarMilkCharacteristicsTypes: + type: array + items: + $ref: '#/components/schemas/icarMilkCharacteristicsType' + icarTeatPositionsType: + type: object + properties: + icarQuarterId: + $ref: '#/components/schemas/icarQuarterId' + icarTeatPositions: + $ref: '#/components/schemas/icarTeatPositions' + icarMilkingVisitsResponseDataSources: + allOf: + - $ref: '#/components/schemas/responseDataSource' + - $ref: '#/components/schemas/responseErrors' + - $ref: '#/components/schemas/icarMilkingVisitsResponseDataSource' + icarAnimalMilkingSampleResponseDataSources: + allOf: + - $ref: '#/components/schemas/responseDataSource' + - $ref: '#/components/schemas/responseErrors' + - $ref: '#/components/schemas/icarAnimalMilkingSampleResponseDataSource' + companyIdentifier: + required: + - id + - scheme + type: object + properties: + id: + $ref: '#/components/schemas/companyId' + scheme: + $ref: '#/components/schemas/companyIdScheme' + description: Identifies a company + icarDateTimeType: + type: string + description: 'udt:DateTimeType | A particular point in the progression of time together with relevant supplementary information.' + format: datetime + icarSexedSemenCode: + type: string + description: | + A list of codes representing the sexed semen type; can be -Y- for sexing semen Male or Female, -N- for no sexing semen, -F- for sexing semen Female or -M- for sexing semen Male. + enum: + - 'Y' + - F + - M + - 'N' + icarTeatPositionsResponseDataSources: + allOf: + - $ref: '#/components/schemas/responseDataSource' + - $ref: '#/components/schemas/responseErrors' + - $ref: '#/components/schemas/icarTeatPositionsResponseDataSource' + icarAnimalMilkingSampleType: + type: object + properties: + bottleIdentifierType: + type: string + description: The type of bottle identifiertype according to ICAR_BottleIdentifierCode + enum: + - BRC + - RFD + rackNumber: + type: string + description: Number of the sample rack + bottlePosition: + type: string + description: Position of the bottle in the sample rack + bottleIdentifier: + type: string + description: Bottle identifier read from barcode or RFID + validSampleFillingIndicator: + type: string + description: Indicator of valid sample filling according to ICAR_ValidSampleFillingIndicatorCode list + enum: + - '0' + - '1' + - '2' + quarterMilkingSample: + type: object + properties: + sample: + type: string + icarQuarterMilkingsResponseDataSource: + type: object + properties: + data: + $ref: '#/components/schemas/icarQuarterMilkingsTypes' + icarTeatPositionsTypes: + type: array + items: + $ref: '#/components/schemas/icarTeatPositionsType' + icarDateType: + type: string + description: 'udt:DateType | A day of the month or year as specified by a number.' + format: date + icarMilkCharacteristicsResponseDataSource: + type: object + properties: + data: + $ref: '#/components/schemas/icarMilkCharacteristicsTypes' + icarMilkingVisitType: + required: + - animal + - milkingStartingDateTime + - milkingSuccess + type: object + properties: + id: + type: string + description: A unique identifier for this location for the milking visit message + animal: + $ref: '#/components/schemas/animalIdentifier' + milkingStartingDateTime: + $ref: '#/components/schemas/icarDateTimeType' + milkingDuration: + type: object + properties: + unitCode: + type: string + description: UN/CEFACT Common Code for Units of Measurement. + enum: + - SEC + - MIN + value: + type: number + format: double + description: The length in time of the milking + milkingVisitDuration: + type: object + properties: + unitCode: + type: string + description: UN/CEFACT Common Code for Units of Measurement. + enum: + - SEC + - MIN + value: + type: number + format: double + description: The length in time of the milking visit + milkingType: + type: string + description: The type of milking (manual or automated) + enum: + - Manual + - Automated + milkingMilkWeight: + required: + - unitCode + - value + type: object + properties: + unitCode: + type: string + description: UN/CEFACT Common Code for Units of Measurement. + enum: + - KGM + value: + type: number + format: double + description: The amount of milk milked + milkingSuccess: + type: boolean + milkingParlourUnit: + type: string + description: The milking parlour unit where the milking took place. + milkingBoxNumber: + type: string + description: The milking box number where the milking took place. + milkingDeviceId: + type: string + description: The ID of the device where the milking took place + measureDeviceId: + type: string + description: The ID of the device where the measurement of the milking took place + icarQuarterId: + type: string + enum: + - LF + - RF + - LB + - RB + icarTeatPositionsResponse: + type: array + items: + $ref: '#/components/schemas/icarTeatPositionsResponseDataSources' + icarTeatPositions: + type: object + properties: + x-position: + type: integer + y-position: + type: integer + z-position: + type: integer + animalId: + type: string + description: A string which (in combination with a scheme) uniquely identifies an animal. + responseDataSource: + required: + - id + type: object + properties: + id: + $ref: '#/components/schemas/dataSource' + icarMilkCharacteristicsType: + type: object + properties: + characteristicsCode: + type: string + description: ICAR Milk Characteristics Code + enum: + - SCC + - FAT + - PROTEIN + - LAC + - UREA + - BLOOD + - ACETONE + - BHB + - LDH + - PRO + - AVGCOND + - MAXCOND + - AVGFLWR + - MAXFLWR + - WEIGHT + value: + type: number + description: Numeric value determined by measuring an object + format: decimal + companyId: + type: string + description: A string which (in combination with a scheme) uniquely identifies a company. + icarMilkingVisitsResponse: + type: array + items: + $ref: '#/components/schemas/icarMilkingVisitsResponseDataSources' + icarMilkCharacteristicsResponseDataSources: + allOf: + - $ref: '#/components/schemas/responseDataSource' + - $ref: '#/components/schemas/responseErrors' + - $ref: '#/components/schemas/icarMilkCharacteristicsResponseDataSource' + icarTeatPositionsResponseDataSource: + type: object + properties: + data: + $ref: '#/components/schemas/icarTeatPositionsTypes' + icarMilkCharacteristicsResponse: + type: array + items: + $ref: '#/components/schemas/icarMilkCharacteristicsResponseDataSources' + animalIdentifier: + required: + - id + - scheme + type: object + properties: + id: + $ref: '#/components/schemas/animalId' + scheme: + $ref: '#/components/schemas/animalIdScheme' + description: Identifies an animal + icarQuarterMilkingsResponse: + type: array + items: + $ref: '#/components/schemas/icarQuarterMilkingsResponseDataSources' + quarterMilkingWeight: + type: object + properties: + value: + type: number + format: double + unitCode: + type: string + description: UN/CEFACT Common Code for Units of Measurement. + enum: + - KGM + description: The weight of the milk milked of this quarter + icarMilkingVisitsResponseDataSource: + type: object + properties: + data: + $ref: '#/components/schemas/icarMilkingVisitType' + icarAnimalMilkingSampleResponseDataSource: + type: object + properties: + data: +# $ref: '#/components/schemas/icarAnimalMilkingSampleType' + $ref: 'https://raw.githubusercontent.com/alamers/ICAR/master/Release%20Candidate%20Messages/JoinDataMilkSample.json' + quarterMilkingDuration: + type: object + properties: + value: + type: number + format: double + unitCode: + type: string + description: UN/CEFACT Common Code for Units of Measurement. + enum: + - SEC + - MIN + description: The length in time of the milking for this quarter + dataSource: + type: string + description: Source where data is retrieved from. Details can be retrieved from the source register. + companyIdScheme: + type: string + description: Identifies the used scheme for a company identification string. + enum: + - nl-v1 + - be-v1 + responses: + error: + description: An error has occured while handling the request. Check the content of the message for the error details. + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/error' + description: A default response containing only a list of errors + parameters: + queryEndDateTime: + name: end-date-time + in: query + description: The end of the date-time range for the data to get in the request. + schema: + type: string + format: date-time + pathIcarMilkingVisitId: + name: milking-visit-id + in: path + required: true + schema: + type: string + pathLocationScheme: + name: location-scheme + in: path + description: The scheme id for the location identifier. + required: true + schema: + type: string + enum: + - nl-v1 + - be-v1 + queryEndDateTimeRequired: + name: end-date-time + in: query + description: The end of the date-time range for the data to get in the request. + required: true + schema: + type: string + format: date-time + queryModifiedSince: + name: modified-since + in: query + description: The date-time of insertion or last update of the event. + schema: + type: string + format: date-time + pathLocationId: + name: location-id + in: path + description: The unique identifier for the location. + required: true + schema: + type: string + pathMilkDeliveryId: + name: milk-delivery-id + in: path + description: The unique identifier for a milk delivery for a specific location. + required: true + schema: + type: string + queryAnimalScheme: + name: animal-scheme + in: query + description: The scheme id for the animal identifier. Should be used together with animal-id. + required: true + schema: + type: string + enum: + - nl-v1 + - be-v1 + queryStartDateTimeRequired: + name: start-date-time + in: query + description: The start of the date-time range for the data to get in the request. + required: true + schema: + type: string + format: date-time + pathMilkInvoiceId: + name: milk-invoice-id + in: path + description: The unique identifier for a milk invoice for a specific location. + required: true + schema: + type: string + queryAnimalId: + name: animal-id + in: query + description: The unique identifier for the animal. Should be used together with animal-scheme. + required: true + schema: + type: string + queryStartDateTime: + name: start-date-time + in: query + description: The start of the date-time range for the data to get in the request. + schema: + type: string + format: date-time + securitySchemes: + jdClient: + type: oauth2 + description: Secure access using client credentials grant + flows: + clientCredentials: + tokenUrl: 'https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token' + scopes: + fullaccess: Full access to all resources + jdAuthorizationCode: + type: oauth2 + description: Secure access using authorization grant flow + flows: + authorizationCode: + authorizationUrl: 'https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth' + tokenUrl: 'https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token' + scopes: + fullaccess: Full access to all resources + jdImplicit: + type: oauth2 + description: Secure access using implicit grant + flows: + implicit: + authorizationUrl: 'https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth' + scopes: + fullaccess: Full access to all resources From 2cc36cc153076ccc29d49149c585f7591a332494 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 5 Apr 2019 12:38:34 +0200 Subject: [PATCH 03/31] fixed missing branch in schema ref --- Release Candidate Messages/icar-ade-openapispec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Release Candidate Messages/icar-ade-openapispec.yaml b/Release Candidate Messages/icar-ade-openapispec.yaml index f943e99..3b6bc1d 100644 --- a/Release Candidate Messages/icar-ade-openapispec.yaml +++ b/Release Candidate Messages/icar-ade-openapispec.yaml @@ -584,7 +584,7 @@ components: properties: data: # $ref: '#/components/schemas/icarAnimalMilkingSampleType' - $ref: 'https://raw.githubusercontent.com/alamers/ICAR/master/Release%20Candidate%20Messages/JoinDataMilkSample.json' + $ref: 'https://raw.githubusercontent.com/alamers/ICAR/convert-to-v3/Release%20Candidate%20Messages/JoinDataMilkSample.json' quarterMilkingDuration: type: object properties: From 4ebd9cc11c2e94f45ecd973487c4f00e33ffaa18 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 5 Apr 2019 12:39:54 +0200 Subject: [PATCH 04/31] removed old file --- .../ReleaseCandidateMessages.yml | 653 ------------------ 1 file changed, 653 deletions(-) delete mode 100644 Release Candidate Messages/ReleaseCandidateMessages.yml diff --git a/Release Candidate Messages/ReleaseCandidateMessages.yml b/Release Candidate Messages/ReleaseCandidateMessages.yml deleted file mode 100644 index 4c7931e..0000000 --- a/Release Candidate Messages/ReleaseCandidateMessages.yml +++ /dev/null @@ -1,653 +0,0 @@ -swagger: '2.0' -info: - title: Release Candidate Messages - version: "1.0" - description: | - The specifications of messages which are ready for ICAR approval and release - -############################################### -# General information # -############################################### -schemes: - - https -produces: - - application/json -consumes: - - application/json -tags: - - name: ICAR approval ready - description: | - (almost) exact copy of existing ICAR-ADE standard message, ready for approval - -############################################### -# Security # -############################################### -securityDefinitions: - jdClient: - type: oauth2 - description: Secure access using client credentials grant - flow: application - tokenUrl: https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token - scopes: - fullaccess: Full access to all resources - jdAuthorizationCode: - type: oauth2 - description: Secure access using authorization grant flow - flow: accessCode - authorizationUrl: https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth - tokenUrl: https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token - scopes: - fullaccess: Full access to all resources - jdImplicit: - type: oauth2 - description: Secure access using implicit grant - flow: implicit - authorizationUrl: https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth - scopes: - fullaccess: Full access to all resources -security: - - jdClient: - - fullaccess - - jdAuthorizationCode: - - fullaccess - - jdImplicit: - - fullaccess - -############################################### -# Parameters # -############################################### -parameters: - pathLocationScheme: - in: path - name: location-scheme - type: string - description: The scheme id for the location identifier. - required: true - enum: - - nl-v1 - - be-v1 - pathLocationId: - in: path - name: location-id - type: string - description: The unique identifier for the location. - required: true - pathMilkDeliveryId: - in: path - name: milk-delivery-id - type: string - description: The unique identifier for a milk delivery for a specific location. - required: true - pathMilkInvoiceId: - in: path - name: milk-invoice-id - type: string - description: The unique identifier for a milk invoice for a specific location. - required: true - pathIcarMilkingVisitId: - in: path - name: milking-visit-id - type: string - required: true - queryStartDateTime: - in: query - name: start-date-time - description: The start of the date-time range for the data to get in the request. - type: string - format: date-time - queryStartDateTimeRequired: - in: query - name: start-date-time - description: The start of the date-time range for the data to get in the request. - required: true - type: string - format: date-time - queryEndDateTime: - in: query - name: end-date-time - description: The end of the date-time range for the data to get in the request. - type: string - format: date-time - queryEndDateTimeRequired: - in: query - name: end-date-time - description: The end of the date-time range for the data to get in the request. - required: true - type: string - format: date-time - queryAnimalScheme: - in: query - name: animal-scheme - type: string - description: The scheme id for the animal identifier. Should be used together with animal-id. - required: true - enum: - - nl-v1 - - be-v1 - queryAnimalId: - in: query - name: animal-id - type: string - description: The unique identifier for the animal. Should be used together with animal-scheme. - required: true - queryModifiedSince: - in: query - name: modified-since - description: The date-time of insertion or last update of the event. - type: string - format: date-time - -############################################### -# Responses # -############################################### -responses: -# okNoContent: -# description: The request was successful. - error: - description: An error has occured while handling the request. Check the content of the message for the error details. - schema: - type: object - description: A default response containing only a list of errors - properties: - errors: - type: array - items: - $ref: '#/definitions/error' - -############################################### -# Definitions # -############################################### -definitions: - # ---------------------------------------------------------------------------- - # Generic Datahub definitions - # ---------------------------------------------------------------------------- - error: - type: object - description: A human-readable error message describing what went wrong. - properties: - id: - type: string - description: A unique identifier for this particular occurrence of the problem - status: - type: integer - format: int32 - description: The HTTP status code applicable to this problem, expressed as a string value - code: - type: string - description: An application-specific error code, expressed as a string value. - title: - type: string - description: A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization. - detail: - type: string - description: A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized. - meta: - type: object - dataSource: - description: Source where data is retrieved from. Details can be retrieved from the source register. - type: string - responseDataSource: - type: object - properties: - id: - $ref: '#/definitions/dataSource' - required: - - id - responseErrors: - type: object - properties: - errors: - type: array - items: - $ref: '#/definitions/error' - animalId: - type: string - description: A string which (in combination with a scheme) uniquely identifies an animal. - animalIdScheme: - type: string - description: Identifies the used scheme for an animal identification string. nl-v1 life numbers are formatted as NL 123456789. See https://www.rvo.nl/onderwerpen/agrarisch-ondernemen/dieren/dieren-registreren/runderen/oormerken-voor-runderen for more information. - enum: - - nl-v1 - - be-v1 - animalIdentifier: - type: object - description: Identifies an animal - properties: - id: - $ref: '#/definitions/animalId' - scheme: - $ref: '#/definitions/animalIdScheme' - required: - - id - - scheme - companyId: - type: string - description: A string which (in combination with a scheme) uniquely identifies a company. - companyIdScheme: - type: string - description: Identifies the used scheme for a company identification string. - enum: - - nl-v1 - - be-v1 - companyIdentifier: - type: object - description: Identifies a company - properties: - id: - $ref: '#/definitions/companyId' - scheme: - $ref: '#/definitions/companyIdScheme' - required: - - id - - scheme - - # ---------------------------- - # ICAR ADE general definitions - # ---------------------------- - icarCodeType: - description: | - A character string (letters, figures, or symbols) that for brevity and/or languange independence may be used to represent or replace a definitive value or text of an attribute together with relevant supplementary information. - type: string - icarDateType: - description: udt:DateType | A day of the month or year as specified by a number. - type: string - format: date - icarDateTimeType: - description: udt:DateTimeType | A particular point in the progression of time together with relevant supplementary information. - type: string - format: datetime - icarPeriodType: - type: object - properties: - start: - $ref: '#/definitions/icarDateTimeType' - end: - $ref: '#/definitions/icarDateTimeType' - required: - - start - - end - icarSexedSemenCode: - type: string - description: | - A list of codes representing the sexed semen type; can be -Y- for sexing semen Male or Female, -N- for no sexing semen, -F- for sexing semen Female or -M- for sexing semen Male. - enum: - - Y - - F - - M - - N - - # ------------------- - # Milking Visits - # ------------------- - icarMilkingVisitsResponse: - type: array - items: - $ref: '#/definitions/icarMilkingVisitsResponseDataSources' - icarMilkingVisitsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarMilkingVisitsResponseDataSource' - icarMilkingVisitsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarMilkingVisitType' - icarMilkingVisitType: - type: object - properties: - id: - type: string - description: A unique identifier for this location for the milking visit message - animal: - $ref: '#/definitions/animalIdentifier' - milkingStartingDateTime: - $ref: '#/definitions/icarDateTimeType' - milkingDuration: - type: object - description: The length in time of the milking - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - SEC - - MIN - milkingVisitDuration: - type: object - description: The length in time of the milking visit - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - SEC - - MIN - milkingType: - type: string - description: The type of milking (manual or automated) - enum: - - Manual - - Automated - milkingMilkWeight: - type: object - description: The amount of milk milked - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - KGM - required: - - value - - unitCode - milkingSuccess: - type: boolean - milkingParlourUnit: - description: The milking parlour unit where the milking took place. - type: string - milkingBoxNumber: - description: The milking box number where the milking took place. - type: string - milkingDeviceId: - description: The ID of the device where the milking took place - type: string - measureDeviceId: - description: The ID of the device where the measurement of the milking took place - type: string - required: - - animal - - milkingStartingDateTime - - milkingSuccess - - icarQuarterMilkingsResponse: - type: array - items: - $ref: '#/definitions/icarQuarterMilkingsResponseDataSources' - icarQuarterMilkingsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarQuarterMilkingsResponseDataSource' - icarQuarterMilkingsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarQuarterMilkingsTypes' - icarQuarterMilkingsTypes: - type: array - items: - $ref: '#/definitions/icarQuarterMilkingType' - icarQuarterMilkingType: - type: object - properties: - icarQuarterId: - $ref: '#/definitions/icarQuarterId' - quarterMilkingDuration: - $ref: '#/definitions/quarterMilkingDuration' - quarterMilkingWeight: - $ref: '#/definitions/quarterMilkingWeight' - icarQuarterCharacteristics: - type: array - items: - $ref: '#/definitions/icarMilkCharacteristicsType' - quarterMilkingSample: - $ref: '#/definitions/quarterMilkingSample' - icarQuarterId: - type: string - enum: - - LF - - RF - - LB - - RB - quarterMilkingDuration: - type: object - description: The length in time of the milking for this quarter - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - SEC - - MIN - quarterMilkingWeight: - type: object - description: The weight of the milk milked of this quarter - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - KGM - quarterMilkingSample: - type: object - properties: - sample: - type: string - icarMilkCharacteristicsTypes: - type: array - items: - $ref: '#/definitions/icarMilkCharacteristicsType' - icarMilkCharacteristicsType: - type: object - properties: - characteristicsCode: - type: string - description: ICAR Milk Characteristics Code - enum: - - SCC - - FAT - - PROTEIN - - LAC - - UREA - - BLOOD - - ACETONE - - BHB - - LDH - - PRO - - AVGCOND - - MAXCOND - - AVGFLWR - - MAXFLWR - - WEIGHT - value: - type: number - format: decimal - description: Numeric value determined by measuring an object - - icarMilkCharacteristicsResponse: - type: array - items: - $ref: '#/definitions/icarMilkCharacteristicsResponseDataSources' - icarMilkCharacteristicsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarMilkCharacteristicsResponseDataSource' - icarMilkCharacteristicsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarMilkCharacteristicsTypes' - - icarAnimalMilkingSampleResponse: - type: array - items: - $ref: '#/definitions/icarAnimalMilkingSampleResponseDataSources' - icarAnimalMilkingSampleResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarAnimalMilkingSampleResponseDataSource' - icarAnimalMilkingSampleResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarAnimalMilkingSampleType' - icarAnimalMilkingSampleType: - type: object - properties: - bottleIdentifierType: - type: string - description: The type of bottle identifiertype according to ICAR_BottleIdentifierCode - enum: - - BRC - - RFD - rackNumber: - type: string - description: Number of the sample rack - bottlePosition: - type: string - description: Position of the bottle in the sample rack - bottleIdentifier: - type: string - description: Bottle identifier read from barcode or RFID - validSampleFillingIndicator: - type: string - description: Indicator of valid sample filling according to ICAR_ValidSampleFillingIndicatorCode list - enum: - - 0 - - 1 - - 2 - - icarTeatPositionsResponse: - type: array - items: - $ref: '#/definitions/icarTeatPositionsResponseDataSources' - icarTeatPositionsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarTeatPositionsResponseDataSource' - icarTeatPositionsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarTeatPositionsTypes' - icarTeatPositionsTypes: - type: array - items: - $ref: '#/definitions/icarTeatPositionsType' - icarTeatPositionsType: - type: object - properties: - icarQuarterId: - $ref: '#/definitions/icarQuarterId' - icarTeatPositions: - $ref: '#/definitions/icarTeatPositions' - icarTeatPositions: - type: object - properties: - x-position: - type: integer - y-position: - type: integer - z-position: - type: integer - - - -############################################### -# Paths # -############################################### -paths: - /locations/{location-scheme}/{location-id}/milking-visits: - get: - tags: - - ICAR approval ready - summary: Get the data for milking visits - description: | - # Purpose - Provides data from visits of animals to a milking parlour - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 201: - description: Successful. The response contains the milking results for the given location - schema: - $ref: '#/definitions/icarMilkingVisitsResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/characteristics: - get: - tags: - - ICAR approval ready - summary: Get the quarter milking data for a specific milking visit - description: | - # Purpose - Provides quarter milking data from a singular visit of an animal to a milking parlour - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/pathIcarMilkingVisitId' - responses: - 201: - description: Successful. The response contains the milking results for the given location - schema: - $ref: '#/definitions/icarMilkCharacteristicsResponse' - default: - $ref: '#/responses/error' - - /locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/quarter-milkings: - get: - tags: - - ICAR approval ready - summary: Get the quarter milking data for a specific milking visit - description: | - # Purpose - Provides quarter milking data from a singular visit of an animal to a milking parlour - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/pathIcarMilkingVisitId' - responses: - 201: - description: Successful. The response contains the milking results for the given location - schema: - $ref: '#/definitions/icarQuarterMilkingsResponse' - default: - $ref: '#/responses/error' - - /locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/animal-milking-sample: - get: - tags: - - ICAR approval ready - summary: Get the quarter milking data for a specific milking visit - description: | - # Purpose - Provides quarter milking data from a singular visit of an animal to a milking parlour - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/pathIcarMilkingVisitId' - responses: - 201: - description: Successful. The response contains the milking results for the given location - schema: - $ref: '#/definitions/icarAnimalMilkingSampleResponse' - default: - $ref: '#/responses/error' - \ No newline at end of file From 56d31a54ab75de4c558ef5fba3073f49abc28f62 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 11:54:33 +0200 Subject: [PATCH 05/31] work in progress: splitting off data types and enforce naming conventions --- JoinData/README.md | 20 + JoinData/animalIdSchemeCode.json | 6 + JoinData/animalIdType.json | 3 + JoinData/animalIdentifierType.json | 16 + JoinData/companyIdType.json | 4 + JoinData/icarAnimalMilkingSampleType.json | 34 + JoinData/icarAnimalMovementDataSetType.json | 6 + JoinData/icarAnimalMovementType.json | 14 + JoinData/icarAnimalMovementsSet.json | 6 + JoinData/icarAnimalRegistrationBody.json | 59 + JoinData/icarBiodiversityCollectiveType.json | 23 + JoinData/icarBiodiversityReportType.json | 50 + JoinData/icarCodeType.json | 12 + JoinData/icarDairyGrazingSummariesType.json | 6 + JoinData/icarDairyGrazingSummaryType.json | 170 + JoinData/icarDateTimeType.json | 5 + JoinData/icarDateType.json | 5 + JoinData/icarFeedIntakeType.json | 60 + JoinData/icarFeedIntakesType.json | 6 + JoinData/icarGenderCode.json | 8 + JoinData/icarGestationType.json | 23 + JoinData/icarGestationsType.json | 6 + JoinData/icarHealthActivitiesType.json | 6 + JoinData/icarHealthActivityType.json | 20 + JoinData/icarHealthReportType.json | 20 + JoinData/icarHealthReportsType.json | 6 + JoinData/icarHeatActivitiesType.json | 7 + JoinData/icarHeatActivityType.json | 20 + JoinData/icarHeatDetectionMethodCode.json | 10 + JoinData/icarHeatReportType.json | 23 + JoinData/icarHeatReportsType.json | 6 + JoinData/icarHerdListAnimalType.json | 8 + JoinData/icarHerdListAnimalsType.json | 6 + JoinData/icarHerdListCoreDataSetType.json | 51 + JoinData/icarHerdListCoreDataSetsType.json | 6 + JoinData/icarHerdListMovementType.json | 11 + JoinData/icarHerdListMovementsType.json | 6 + JoinData/icarIdentificationTagStatusCode.json | 16 + JoinData/icarIdentificationTagsType.json | 6 + JoinData/icarInseminationsType.json | 6 + JoinData/icarMilkCharacteristicsType.json | 31 + JoinData/icarMilkCharacteristicsTypes.json | 6 + JoinData/icarMilkDeliveriesType.json | 6 + .../icarMilkDeliveryQualityReportType.json | 63 + .../icarMilkDeliveryQualityReportsType.json | 6 + JoinData/icarMilkIntakeType.json | 66 + JoinData/icarMilkIntakesType.json | 7 + JoinData/icarMilkInvoiceItemType.json | 132 + JoinData/icarMilkInvoiceItemsType.json | 6 + JoinData/icarMilkInvoiceType.json | 326 ++ JoinData/icarMilkInvoicesType.json | 6 + JoinData/icarMilkSample.json | 34 + JoinData/icarMilkingVisitType.json | 104 + JoinData/icarPeriodType.json | 15 + JoinData/icarPregnancyCheckCode.json | 10 + JoinData/icarPregnancyCheckMethodCode.json | 10 + JoinData/icarPregnancyChecksType.json | 6 + JoinData/icarProductionPurposeCode.json | 8 + JoinData/icarQuarterCode.json | 9 + JoinData/icarQuarterMilkingType.json | 23 + JoinData/icarQuarterMilkingsTypes.json | 6 + JoinData/icarSharedSemenUsedType.json | 5 + JoinData/icarSlaughterType.json | 299 ++ JoinData/icarSlaughtersType.json | 6 + JoinData/icarTeatPositionsCoordType.json | 15 + JoinData/icarTeatPositionsType.json | 11 + JoinData/icarTeatPositionsTypes.json | 6 + JoinData/icarTechnicianType.json | 4 + JoinData/icarWaterIntakeType.json | 38 + JoinData/icarWaterIntakesType.json | 6 + JoinData/icarWeightType.json | 27 + JoinData/icarWeightsType.json | 6 + JoinData/quarterMilkingDurationType.json | 18 + JoinData/quarterMilkingSampleType.json | 8 + JoinData/v3 json all.json | 4146 +++++++++++++++++ 75 files changed, 6251 insertions(+) create mode 100644 JoinData/README.md create mode 100644 JoinData/animalIdSchemeCode.json create mode 100644 JoinData/animalIdType.json create mode 100644 JoinData/animalIdentifierType.json create mode 100644 JoinData/companyIdType.json create mode 100644 JoinData/icarAnimalMilkingSampleType.json create mode 100644 JoinData/icarAnimalMovementDataSetType.json create mode 100644 JoinData/icarAnimalMovementType.json create mode 100644 JoinData/icarAnimalMovementsSet.json create mode 100644 JoinData/icarAnimalRegistrationBody.json create mode 100644 JoinData/icarBiodiversityCollectiveType.json create mode 100644 JoinData/icarBiodiversityReportType.json create mode 100644 JoinData/icarCodeType.json create mode 100644 JoinData/icarDairyGrazingSummariesType.json create mode 100644 JoinData/icarDairyGrazingSummaryType.json create mode 100644 JoinData/icarDateTimeType.json create mode 100644 JoinData/icarDateType.json create mode 100644 JoinData/icarFeedIntakeType.json create mode 100644 JoinData/icarFeedIntakesType.json create mode 100644 JoinData/icarGenderCode.json create mode 100644 JoinData/icarGestationType.json create mode 100644 JoinData/icarGestationsType.json create mode 100644 JoinData/icarHealthActivitiesType.json create mode 100644 JoinData/icarHealthActivityType.json create mode 100644 JoinData/icarHealthReportType.json create mode 100644 JoinData/icarHealthReportsType.json create mode 100644 JoinData/icarHeatActivitiesType.json create mode 100644 JoinData/icarHeatActivityType.json create mode 100644 JoinData/icarHeatDetectionMethodCode.json create mode 100644 JoinData/icarHeatReportType.json create mode 100644 JoinData/icarHeatReportsType.json create mode 100644 JoinData/icarHerdListAnimalType.json create mode 100644 JoinData/icarHerdListAnimalsType.json create mode 100644 JoinData/icarHerdListCoreDataSetType.json create mode 100644 JoinData/icarHerdListCoreDataSetsType.json create mode 100644 JoinData/icarHerdListMovementType.json create mode 100644 JoinData/icarHerdListMovementsType.json create mode 100644 JoinData/icarIdentificationTagStatusCode.json create mode 100644 JoinData/icarIdentificationTagsType.json create mode 100644 JoinData/icarInseminationsType.json create mode 100644 JoinData/icarMilkCharacteristicsType.json create mode 100644 JoinData/icarMilkCharacteristicsTypes.json create mode 100644 JoinData/icarMilkDeliveriesType.json create mode 100644 JoinData/icarMilkDeliveryQualityReportType.json create mode 100644 JoinData/icarMilkDeliveryQualityReportsType.json create mode 100644 JoinData/icarMilkIntakeType.json create mode 100644 JoinData/icarMilkIntakesType.json create mode 100644 JoinData/icarMilkInvoiceItemType.json create mode 100644 JoinData/icarMilkInvoiceItemsType.json create mode 100644 JoinData/icarMilkInvoiceType.json create mode 100644 JoinData/icarMilkInvoicesType.json create mode 100644 JoinData/icarMilkSample.json create mode 100644 JoinData/icarMilkingVisitType.json create mode 100644 JoinData/icarPeriodType.json create mode 100644 JoinData/icarPregnancyCheckCode.json create mode 100644 JoinData/icarPregnancyCheckMethodCode.json create mode 100644 JoinData/icarPregnancyChecksType.json create mode 100644 JoinData/icarProductionPurposeCode.json create mode 100644 JoinData/icarQuarterCode.json create mode 100644 JoinData/icarQuarterMilkingType.json create mode 100644 JoinData/icarQuarterMilkingsTypes.json create mode 100644 JoinData/icarSharedSemenUsedType.json create mode 100644 JoinData/icarSlaughterType.json create mode 100644 JoinData/icarSlaughtersType.json create mode 100644 JoinData/icarTeatPositionsCoordType.json create mode 100644 JoinData/icarTeatPositionsType.json create mode 100644 JoinData/icarTeatPositionsTypes.json create mode 100644 JoinData/icarTechnicianType.json create mode 100644 JoinData/icarWaterIntakeType.json create mode 100644 JoinData/icarWaterIntakesType.json create mode 100644 JoinData/icarWeightType.json create mode 100644 JoinData/icarWeightsType.json create mode 100644 JoinData/quarterMilkingDurationType.json create mode 100644 JoinData/quarterMilkingSampleType.json create mode 100644 JoinData/v3 json all.json diff --git a/JoinData/README.md b/JoinData/README.md new file mode 100644 index 0000000..03471d0 --- /dev/null +++ b/JoinData/README.md @@ -0,0 +1,20 @@ +# JoinData message spec + + +This directory contains the JoinData specs, derived from the ICAR ADE XML standard. + +The Open API Spec file contains the URL scheme for JoinData. It follows a specific structure that ultimately uses the ICAR ADE JSON messages. + +URL scheme vs message types +--------------------------- +Each _message_ or _event_ has its own path. Per _path_, the (standardized) parameters are described. There is always a default type for errors (called error). The actual response is build up out of several types: +* The full response for a message xxx is described in a type called xxxResponse. This contains an array of data sources that have responded +* The xxxDataSources type describes the response per data source. It can contain information on the data source itself or errors it produced. There are all generic. It can also contain the actual message. +* The xxxResponseDataSource type describes the actual response. This should be a wrapper to an ICAR defined JSON scheme. + + +Naming Conventions +------------------ +Typically, most messages have a plural version (e.g. icarGestationsType) which is simply an array wrapping a singular type (e.g. icarGestationType). In many cases, the endpoint would be defined on the plural version but this allows for more flexibility. + +An enum type should be located in a file called xxxCode. diff --git a/JoinData/animalIdSchemeCode.json b/JoinData/animalIdSchemeCode.json new file mode 100644 index 0000000..3176872 --- /dev/null +++ b/JoinData/animalIdSchemeCode.json @@ -0,0 +1,6 @@ +{ + "type": "string", + "enum": [ + "nl-v1" + ] +} diff --git a/JoinData/animalIdType.json b/JoinData/animalIdType.json new file mode 100644 index 0000000..b2aa12a --- /dev/null +++ b/JoinData/animalIdType.json @@ -0,0 +1,3 @@ +{ + type: string +} \ No newline at end of file diff --git a/JoinData/animalIdentifierType.json b/JoinData/animalIdentifierType.json new file mode 100644 index 0000000..1826420 --- /dev/null +++ b/JoinData/animalIdentifierType.json @@ -0,0 +1,16 @@ +{ + "required": [ + "id", + "scheme" + ], + "type": "object", + "properties": { + "id": { + "$ref": "animalIdType.json" + }, + "scheme": { + "$ref": "animalIdSchemeCode.json" + } + }, + "description": "Identifies an animal" +} diff --git a/JoinData/companyIdType.json b/JoinData/companyIdType.json new file mode 100644 index 0000000..d6428fe --- /dev/null +++ b/JoinData/companyIdType.json @@ -0,0 +1,4 @@ + "companyIdType": { + "type": "string", + "description": "A string which (in combination with a scheme) uniquely identifies a company." + }, diff --git a/JoinData/icarAnimalMilkingSampleType.json b/JoinData/icarAnimalMilkingSampleType.json new file mode 100644 index 0000000..e56b478 --- /dev/null +++ b/JoinData/icarAnimalMilkingSampleType.json @@ -0,0 +1,34 @@ +{ + "type": "object", + "properties": { + "bottleIdentifierType": { + "type": "string", + "description": "The type of bottle identifiertype according to ICAR_BottleIdentifierCode", + "enum": [ + "BRC", + "RFD" + ] + }, + "rackNumber": { + "type": "string", + "description": "Number of the sample rack" + }, + "bottlePosition": { + "type": "string", + "description": "Position of the bottle in the sample rack" + }, + "bottleIdentifier": { + "type": "string", + "description": "Bottle identifier read from barcode or RFID" + }, + "validSampleFillingIndicator": { + "type": "string", + "description": "Indicator of valid sample filling according to ICAR_ValidSampleFillingIndicatorCode list", + "enum": [ + "0", + "1", + "2" + ] + } + } +} diff --git a/JoinData/icarAnimalMovementDataSetType.json b/JoinData/icarAnimalMovementDataSetType.json new file mode 100644 index 0000000..96aef1f --- /dev/null +++ b/JoinData/icarAnimalMovementDataSetType.json @@ -0,0 +1,6 @@ + "icarAnimalMovementDataSetType": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarAnimalMovementType" + } + }, diff --git a/JoinData/icarAnimalMovementType.json b/JoinData/icarAnimalMovementType.json new file mode 100644 index 0000000..18c71b9 --- /dev/null +++ b/JoinData/icarAnimalMovementType.json @@ -0,0 +1,14 @@ + "icarAnimalMovementType": { + "required": [ + "arrival" + ], + "type": "object", + "properties": { + "arrival": { + "$ref": "#/components/schemas/icarArrivalCoreDataSetType" + }, + "departure": { + "$ref": "#/components/schemas/icarDepartureCoreDataSetType" + } + } + }, diff --git a/JoinData/icarAnimalMovementsSet.json b/JoinData/icarAnimalMovementsSet.json new file mode 100644 index 0000000..a5c92f7 --- /dev/null +++ b/JoinData/icarAnimalMovementsSet.json @@ -0,0 +1,6 @@ + "icarAnimalMovementsSet": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarAnimalMovementType" + } + }, diff --git a/JoinData/icarAnimalRegistrationBody.json b/JoinData/icarAnimalRegistrationBody.json new file mode 100644 index 0000000..94f958a --- /dev/null +++ b/JoinData/icarAnimalRegistrationBody.json @@ -0,0 +1,59 @@ + "icarAnimalRegistrationBody": { + "required": [ + "identifier", + "registrationDate", + "registrationType" + ], + "type": "object", + "properties": { + "registrationType": { + "$ref": "#/components/schemas/registrationType" + }, + "registrationDate": { + "$ref": "#/components/schemas/icarDateType" + }, + "identifier": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "specie": { + "$ref": "#/components/schemas/icarSpecieCodeType" + }, + "gender": { + "$ref": "#/components/schemas/icarGenderCodeType" + }, + "birth": { + "$ref": "#/components/schemas/icarDateType" + }, + "breed": { + "$ref": "#/components/schemas/icarCodeType" + }, + "sire": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "recipientDam": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "geneticDam": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "number": { + "type": "string", + "description": "A meaningful identification code of the animal, not necessary unique within the location" + }, + "earTagNumber": { + "type": "string", + "description": "The ear tag number" + }, + "name": { + "type": "string", + "description": "The name of the animal" + }, + "officialName": { + "type": "string", + "description": "The official name of the animal" + }, + "productionPurpose": { + "$ref": "#/components/schemas/icarProductionPurpose" + } + } + }, diff --git a/JoinData/icarBiodiversityCollectiveType.json b/JoinData/icarBiodiversityCollectiveType.json new file mode 100644 index 0000000..a9f681e --- /dev/null +++ b/JoinData/icarBiodiversityCollectiveType.json @@ -0,0 +1,23 @@ + "icarBiodiversityCollectiveType": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "collective number, according to SCAN coding" + }, + "name": { + "type": "string", + "description": "name of the collective" + }, + "anlbMember": { + "type": "boolean", + "description": "Indicates if the company is an ANLB member (in original proposal" + }, + "reports": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarBiodiversityReport" + } + } + } + }, diff --git a/JoinData/icarBiodiversityReportType.json b/JoinData/icarBiodiversityReportType.json new file mode 100644 index 0000000..b641c49 --- /dev/null +++ b/JoinData/icarBiodiversityReportType.json @@ -0,0 +1,50 @@ +"icarBiodiversityReportType": { + "type": "object", + "properties": { + "packetCode": { + "type": "integer", + "description": "unique code for the bio diversity packet; ANLb number or BenN number" + }, + "label": { + "type": "string", + "description": "Verschillende TBO, eigen beheer" + }, + "size": { + "type": "string" + }, + "value": { + "type": "number", + "description": "Ingetekende oppervlakte/ hoeveelheid van het betreffende Z-pakket", + "format": "double" + }, + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "H18", + "MTK", + "C62" + ] + }, + "contractStartDate": { + "type": "string", + "format": "date" + }, + "contractEndDate": { + "type": "string", + "format": "date" + }, + "lastInspectionDate": { + "type": "string", + "format": "date" + }, + "inspectionResult": { + "type": "string", + "enum": [ + "1", + "2", + "3" + ] + } + } + }, \ No newline at end of file diff --git a/JoinData/icarCodeType.json b/JoinData/icarCodeType.json new file mode 100644 index 0000000..217c499 --- /dev/null +++ b/JoinData/icarCodeType.json @@ -0,0 +1,12 @@ + "icarCodeType": { + "type": "string", + "description": "A character string (letters, figures, or symbols) that for brevity and/or languange independence may be used to represent or replace a definitive value or text of an attribute together with relevant supplementary information.\n" + }, + "animalIdScheme": { + "type": "string", + "description": "Identifies the used scheme for an animal identification string. nl-v1 life numbers are formatted as NL 123456789. See https://www.rvo.nl/onderwerpen/agrarisch-ondernemen/dieren/dieren-registreren/runderen/oormerken-voor-runderen for more information.", + "enum": [ + "nl-v1", + "be-v1" + ] + }, \ No newline at end of file diff --git a/JoinData/icarDairyGrazingSummariesType.json b/JoinData/icarDairyGrazingSummariesType.json new file mode 100644 index 0000000..b1c8cf1 --- /dev/null +++ b/JoinData/icarDairyGrazingSummariesType.json @@ -0,0 +1,6 @@ +"icarDairyGrazingSummariesType": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarDairyGrazingSummaryType" + } + } \ No newline at end of file diff --git a/JoinData/icarDairyGrazingSummaryType.json b/JoinData/icarDairyGrazingSummaryType.json new file mode 100644 index 0000000..ba4308d --- /dev/null +++ b/JoinData/icarDairyGrazingSummaryType.json @@ -0,0 +1,170 @@ + "icarDairyGrazingSummaryType": { + "required": [ + "animalsGrazed", + "animalsQualify", + "animalsTotal", + "equipment", + "grazingDay", + "grazingDaysTotal", + "grazingStdev", + "grazingTime", + "grazingTimeTotal", + "period" + ], + "type": "object", + "properties": { + "tankId": { + "type": "string", + "description": "Tank identifier." + }, + "equipment": { + "required": [ + "approvalNumber", + "purchaseDate" + ], + "type": "object", + "properties": { + "purchaseDate": { + "type": "string", + "description": "Purchase date of the equipment.", + "format": "date-time" + }, + "approvalNumber": { + "type": "string", + "description": "Approval number of the equipment. This number will be supplied by Duurzame Zuivelketen (DZK)." + } + }, + "description": "Information about the equipment that supplied the data." + }, + "period": { + "required": [ + "end", + "start" + ], + "type": "object", + "properties": { + "start": { + "type": "string", + "description": "The start time of the day. Time element should be set to 00:00:00.", + "format": "date-time" + }, + "name": { + "type": "string", + "description": "The friendly name of the period." + }, + "end": { + "type": "string", + "description": "The end time of the day. Time element should be set to 23:59:59.", + "format": "date-time" + } + }, + "description": "The period for which this reports contains the data." + }, + "animalsTotal": { + "type": "integer", + "description": "Total number of dairy cows on the farm.", + "format": "int32" + }, + "animalsQualify": { + "type": "integer", + "description": "Total number of dairy cows that qualify for grazing.", + "format": "int32" + }, + "animalsGrazed": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "P1" + ] + }, + "value": { + "maximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "description": "Percentage of dairy cows that qualify for grazing and that have had a grazing time of at least 60 minutes." + }, + "grazingDay": { + "type": "boolean", + "description": "Indicates if this period satisfies the grazing day conditions." + }, + "grazingTime": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "MIN" + ] + }, + "value": { + "type": "integer", + "format": "int32" + } + }, + "description": "Farm grazing time for that date in full minutes." + }, + "grazingStdev": { + "type": "number", + "description": "Standard deviation of the individual grazing times of all dairy cows that qualify for grazing. Should be rounded to two digits.", + "format": "double" + }, + "grazingTimeTotal": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "MIN" + ] + }, + "value": { + "type": "integer", + "format": "int32" + } + }, + "description": "Cumulated farm grazing time for that location-id after the reported date for that year." + }, + "grazingDaysTotal": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "DAY" + ] + }, + "value": { + "type": "integer", + "format": "int32" + } + }, + "description": "Cumulated grazing days for that location-id after the reported date for that year." + } + }, + "description": "Contains the dairy grazing information for a period." + }, \ No newline at end of file diff --git a/JoinData/icarDateTimeType.json b/JoinData/icarDateTimeType.json new file mode 100644 index 0000000..ac719ce --- /dev/null +++ b/JoinData/icarDateTimeType.json @@ -0,0 +1,5 @@ +{ + "type": "string", + "description": "udt:DateTimeType | A particular point in the progression of time together with relevant supplementary information.", + "format": "datetime" +} diff --git a/JoinData/icarDateType.json b/JoinData/icarDateType.json new file mode 100644 index 0000000..e6afc07 --- /dev/null +++ b/JoinData/icarDateType.json @@ -0,0 +1,5 @@ + "icarDateType": { + "type": "string", + "description": "udt:DateType | A day of the month or year as specified by a number.", + "format": "date" + }, diff --git a/JoinData/icarFeedIntakeType.json b/JoinData/icarFeedIntakeType.json new file mode 100644 index 0000000..19f563e --- /dev/null +++ b/JoinData/icarFeedIntakeType.json @@ -0,0 +1,60 @@ + "icarFeedIntakeType": { + "required": [ + "identifier", + "period" + ], + "type": "object", + "properties": { + "identifier": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "period": { + "$ref": "#/components/schemas/icarPeriodType" + }, + "entitlement": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM", + "GRM" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The amount the animal was entitled to." + }, + "consumption": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM", + "GRM" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The amount the animal consumed during this visit." + } + }, + "description": "Gives information about an animal's visit to a feeding station." + } \ No newline at end of file diff --git a/JoinData/icarFeedIntakesType.json b/JoinData/icarFeedIntakesType.json new file mode 100644 index 0000000..1da59b1 --- /dev/null +++ b/JoinData/icarFeedIntakesType.json @@ -0,0 +1,6 @@ + "icarFeedIntakesType": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarFeedIntakeType" + } + }, diff --git a/JoinData/icarGenderCode.json b/JoinData/icarGenderCode.json new file mode 100644 index 0000000..3a4266d --- /dev/null +++ b/JoinData/icarGenderCode.json @@ -0,0 +1,8 @@ +{ + "type": "string", + "description": "Based upon Icar gc:GenderCodeType. Allowed values are -F- for female and -M- for male.", + "enum": [ + "F", + "M" + ] +} diff --git a/JoinData/icarGestationType.json b/JoinData/icarGestationType.json new file mode 100644 index 0000000..86fb3bb --- /dev/null +++ b/JoinData/icarGestationType.json @@ -0,0 +1,23 @@ + "icarGestationType": { + "type": "object", + "properties": { + "dam": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "sire": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "expectedCalvingDate": { + "type": "string", + "description": "Date of expected calving.", + "format": "date-time" + }, + "sexedSemenCode": { + "$ref": "#/components/schemas/icarSexedSemenCode" + }, + "impregnationCode": { + "$ref": "#/components/schemas/icarImpregnationCode" + } + }, + "description": "Gives information about a gestation of a dam." + }, \ No newline at end of file diff --git a/JoinData/icarGestationsType.json b/JoinData/icarGestationsType.json new file mode 100644 index 0000000..542e958 --- /dev/null +++ b/JoinData/icarGestationsType.json @@ -0,0 +1,6 @@ + "icarGestationsType": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarGestationType" + } + }, diff --git a/JoinData/icarHealthActivitiesType.json b/JoinData/icarHealthActivitiesType.json new file mode 100644 index 0000000..e24bcbf --- /dev/null +++ b/JoinData/icarHealthActivitiesType.json @@ -0,0 +1,6 @@ +"icarHealthActivitiesType": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHealthActivityType" + } + }, \ No newline at end of file diff --git a/JoinData/icarHealthActivityType.json b/JoinData/icarHealthActivityType.json new file mode 100644 index 0000000..d0d133e --- /dev/null +++ b/JoinData/icarHealthActivityType.json @@ -0,0 +1,20 @@ +"icarHealthActivityType": { + "required": [ + "identifier" + ], + "type": "object", + "properties": { + "identifier": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "timestamp": { + "type": "string", + "description": "The timestamp of the measurement.", + "format": "date-time" + }, + "vendorSpecific": { + "$ref": "#/components/schemas/icarHealthActivityVendorSpecific" + } + }, + "description": "Gives information about health activity of cows on a location." + }, \ No newline at end of file diff --git a/JoinData/icarHealthReportType.json b/JoinData/icarHealthReportType.json new file mode 100644 index 0000000..1b0c9d1 --- /dev/null +++ b/JoinData/icarHealthReportType.json @@ -0,0 +1,20 @@ + "icarHealthReportType": { + "required": [ + "timestamp" + ], + "type": "object", + "properties": { + "identifier": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "timestamp": { + "type": "string", + "description": "The timestamp of the measurement.", + "format": "date-time" + }, + "vendorSpecific": { + "$ref": "#/components/schemas/icarHealthReportVendorSpecific" + } + }, + "description": "Gives health information." + }, diff --git a/JoinData/icarHealthReportsType.json b/JoinData/icarHealthReportsType.json new file mode 100644 index 0000000..4a7ca39 --- /dev/null +++ b/JoinData/icarHealthReportsType.json @@ -0,0 +1,6 @@ + "icarHealthReportsType": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHealthReportType" + } + }, diff --git a/JoinData/icarHeatActivitiesType.json b/JoinData/icarHeatActivitiesType.json new file mode 100644 index 0000000..3540250 --- /dev/null +++ b/JoinData/icarHeatActivitiesType.json @@ -0,0 +1,7 @@ + "icarHeatActivitiesType": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHeatActivityType" + } + }, + \ No newline at end of file diff --git a/JoinData/icarHeatActivityType.json b/JoinData/icarHeatActivityType.json new file mode 100644 index 0000000..7c6787a --- /dev/null +++ b/JoinData/icarHeatActivityType.json @@ -0,0 +1,20 @@ + "icarHeatActivityType": { + "required": [ + "identifier" + ], + "type": "object", + "properties": { + "identifier": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "timestamp": { + "type": "string", + "description": "The timestamp of the measurement.", + "format": "date-time" + }, + "vendorSpecific": { + "$ref": "#/components/schemas/icarHeatActivityVendorSpecific" + } + }, + "description": "Gives information about an in-heat activity of a dam." + }, diff --git a/JoinData/icarHeatDetectionMethodCode.json b/JoinData/icarHeatDetectionMethodCode.json new file mode 100644 index 0000000..8613389 --- /dev/null +++ b/JoinData/icarHeatDetectionMethodCode.json @@ -0,0 +1,10 @@ +{ + "type": "string", + "description": "Defines the type of the heat detection method; can be -C- for chemical, -V- for visual, -P- for podometer or -O- for other. \n", + "enum": [ + "C", + "V", + "P", + "O" + ] + } diff --git a/JoinData/icarHeatReportType.json b/JoinData/icarHeatReportType.json new file mode 100644 index 0000000..4c4d165 --- /dev/null +++ b/JoinData/icarHeatReportType.json @@ -0,0 +1,23 @@ +{ + "required": [ + "timestamp" + ], + "type": "object", + "properties": { + "identifier": { + "$ref": "animalIdentifier.json" + }, + "timestamp": { + "type": "string", + "description": "The timestamp of the measurement.", + "format": "date-time" + }, + "method": { + "$ref": "icarHeatDetectionMethodCode.json" + }, + "vendorSpecific": { + "$ref": "icarHeatReportVendorSpecific.json" + } + }, + "description": "Gives information about an in-heat detection of a dam." + } \ No newline at end of file diff --git a/JoinData/icarHeatReportsType.json b/JoinData/icarHeatReportsType.json new file mode 100644 index 0000000..b403703 --- /dev/null +++ b/JoinData/icarHeatReportsType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarHeatReportType.json" + } + } diff --git a/JoinData/icarHerdListAnimalType.json b/JoinData/icarHerdListAnimalType.json new file mode 100644 index 0000000..406d42b --- /dev/null +++ b/JoinData/icarHerdListAnimalType.json @@ -0,0 +1,8 @@ +{ + "type": "object", + "properties": { + "identifier": { + "$ref": "animalIdentifier.json" + } + } + } \ No newline at end of file diff --git a/JoinData/icarHerdListAnimalsType.json b/JoinData/icarHerdListAnimalsType.json new file mode 100644 index 0000000..d0041c6 --- /dev/null +++ b/JoinData/icarHerdListAnimalsType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarHerdListAnimalType.json" + } + } \ No newline at end of file diff --git a/JoinData/icarHerdListCoreDataSetType.json b/JoinData/icarHerdListCoreDataSetType.json new file mode 100644 index 0000000..e80bb39 --- /dev/null +++ b/JoinData/icarHerdListCoreDataSetType.json @@ -0,0 +1,51 @@ +{ + "required": [ + "identifier" + ], + "type": "object", + "properties": { + "identifier": { + "$ref": "animalIdentifier.json" + }, + "specie": { + "$ref": "icarSpecieCode.json" + }, + "gender": { + "$ref": "icarGenderCode.json" + }, + "birth": { + "$ref": "icarDateType.json" + }, + "breed": { + "$ref": "icarCodeType.json" + }, + "sire": { + "$ref": "animalIdentifier.json" + }, + "recipientDam": { + "$ref": "animalIdentifier.json" + }, + "geneticDam": { + "$ref": "animalIdentifier.json" + }, + "number": { + "type": "string", + "description": "A meaningful identification code of the animal, not necessary unique within the location" + }, + "earTagNumber": { + "type": "string", + "description": "The ear tag number" + }, + "name": { + "type": "string", + "description": "The name of the animal" + }, + "officialName": { + "type": "string", + "description": "The official name of the animal" + }, + "productionPurpose": { + "$ref": "icarProductionPurposeCode.json" + } + } + } \ No newline at end of file diff --git a/JoinData/icarHerdListCoreDataSetsType.json b/JoinData/icarHerdListCoreDataSetsType.json new file mode 100644 index 0000000..d0a3c36 --- /dev/null +++ b/JoinData/icarHerdListCoreDataSetsType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarHerdListCoreDataSetType.json" + } + } diff --git a/JoinData/icarHerdListMovementType.json b/JoinData/icarHerdListMovementType.json new file mode 100644 index 0000000..b32fcf7 --- /dev/null +++ b/JoinData/icarHerdListMovementType.json @@ -0,0 +1,11 @@ +{ + "type": "object", + "properties": { + "identifier": { + "$ref": "animalIdentifier.json" + }, + "animalMovementDataSet": { + "$ref": "icarAnimalMovementsSet.json" + } + } + } diff --git a/JoinData/icarHerdListMovementsType.json b/JoinData/icarHerdListMovementsType.json new file mode 100644 index 0000000..87f13b2 --- /dev/null +++ b/JoinData/icarHerdListMovementsType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarHerdListMovementType.json" + } +} \ No newline at end of file diff --git a/JoinData/icarIdentificationTagStatusCode.json b/JoinData/icarIdentificationTagStatusCode.json new file mode 100644 index 0000000..58e5cd5 --- /dev/null +++ b/JoinData/icarIdentificationTagStatusCode.json @@ -0,0 +1,16 @@ +{ + "type": "string", + "enum": [ + "Normal", + "Incompatible", + "Illegal", + "Faulty", + "OutdatedData", + "LowBattery", + "Unattached", + "NotOnAnimal", + "BadPosition", + "WrongSide", + "Other" + ] +} diff --git a/JoinData/icarIdentificationTagsType.json b/JoinData/icarIdentificationTagsType.json new file mode 100644 index 0000000..7b18cfb --- /dev/null +++ b/JoinData/icarIdentificationTagsType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarIdentificationTagType.json" + } + } diff --git a/JoinData/icarInseminationsType.json b/JoinData/icarInseminationsType.json new file mode 100644 index 0000000..0623b6f --- /dev/null +++ b/JoinData/icarInseminationsType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarInseminationType.json" + } + } diff --git a/JoinData/icarMilkCharacteristicsType.json b/JoinData/icarMilkCharacteristicsType.json new file mode 100644 index 0000000..3e5df53 --- /dev/null +++ b/JoinData/icarMilkCharacteristicsType.json @@ -0,0 +1,31 @@ + "icarMilkCharacteristicsType": { + "type": "object", + "properties": { + "characteristicsCode": { + "type": "string", + "description": "ICAR Milk Characteristics Code", + "enum": [ + "SCC", + "FAT", + "PROTEIN", + "LAC", + "UREA", + "BLOOD", + "ACETONE", + "BHB", + "LDH", + "PRO", + "AVGCOND", + "MAXCOND", + "AVGFLWR", + "MAXFLWR", + "WEIGHT" + ] + }, + "value": { + "type": "number", + "description": "Numeric value determined by measuring an object", + "format": "decimal" + } + } + }, diff --git a/JoinData/icarMilkCharacteristicsTypes.json b/JoinData/icarMilkCharacteristicsTypes.json new file mode 100644 index 0000000..74388d9 --- /dev/null +++ b/JoinData/icarMilkCharacteristicsTypes.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarMilkCharacteristicsType.json" + } + } diff --git a/JoinData/icarMilkDeliveriesType.json b/JoinData/icarMilkDeliveriesType.json new file mode 100644 index 0000000..57abcf0 --- /dev/null +++ b/JoinData/icarMilkDeliveriesType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarMilkDeliveryType.json" + } + } diff --git a/JoinData/icarMilkDeliveryQualityReportType.json b/JoinData/icarMilkDeliveryQualityReportType.json new file mode 100644 index 0000000..132eddf --- /dev/null +++ b/JoinData/icarMilkDeliveryQualityReportType.json @@ -0,0 +1,63 @@ +{ + "type": "object", + "properties": { + "test": { + "type": "object", + "properties": { + "identification": { + "type": "integer", + "description": "200460", + "format": "int32" + }, + "description": { + "type": "string", + "description": "204529" + }, + "type": { + "type": "string", + "enum": [ + "fat", + "protein", + "lactose", + "bacteriaInhibitingSubstance", + "todo1", + "todo2" + ] + } + } + }, + "result": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP", + "GL" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200462" + }, + "gradation": { + "type": "integer", + "description": "204397", + "format": "int32" + }, + "score": { + "type": "integer", + "description": "200463", + "format": "int32" + } + }, + "description": "Gives information about test results (qualitity reports) of a milk delivery of a farmer to a dairy company." + } \ No newline at end of file diff --git a/JoinData/icarMilkDeliveryQualityReportsType.json b/JoinData/icarMilkDeliveryQualityReportsType.json new file mode 100644 index 0000000..16b3114 --- /dev/null +++ b/JoinData/icarMilkDeliveryQualityReportsType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarMilkDeliveryQualityReportType.json" + } + }, \ No newline at end of file diff --git a/JoinData/icarMilkIntakeType.json b/JoinData/icarMilkIntakeType.json new file mode 100644 index 0000000..c98cf31 --- /dev/null +++ b/JoinData/icarMilkIntakeType.json @@ -0,0 +1,66 @@ +{ + "required": [ + "identifier", + "period" + ], + "type": "object", + "properties": { + "identifier": { + "$ref": "animalIdentifier.json" + }, + "period": { + "$ref": "icarPeriodType.json" + }, + "entitlement": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "LTR", + "MLT" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The amount the animal was entitled to." + }, + "consumption": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "LTR", + "MLT" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The amount the animal consumed during this visit." + }, + "additives": { + "type": "array", + "items": { + "$ref": "icarMilkIntakeAdditive.json" + } + } + }, + "description": "Gives information about an animal's visit to a milk station." + } \ No newline at end of file diff --git a/JoinData/icarMilkIntakesType.json b/JoinData/icarMilkIntakesType.json new file mode 100644 index 0000000..b857da7 --- /dev/null +++ b/JoinData/icarMilkIntakesType.json @@ -0,0 +1,7 @@ +{ + "type": "array", + "items": { + "$ref": "icarMilkIntakeType.json" + } + } + \ No newline at end of file diff --git a/JoinData/icarMilkInvoiceItemType.json b/JoinData/icarMilkInvoiceItemType.json new file mode 100644 index 0000000..890feb5 --- /dev/null +++ b/JoinData/icarMilkInvoiceItemType.json @@ -0,0 +1,132 @@ +{ + "type": "object", + "properties": { + "indexNumberInvoice": { + "type": "integer", + "description": "204640", + "format": "int32" + }, + "indexNumberItemCodeDairy": { + "type": "integer", + "description": "204528", + "format": "int32" + }, + "accountNumber": { + "type": "string", + "description": "201088" + }, + "period": { + "$ref": "icarPeriodType.json" + }, + "description": { + "type": "string", + "description": "204520" + }, + "quantity": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "LTR", + "KGM", + "H87" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "202435" + }, + "item": { + "type": "object", + "properties": { + "vatPercentage": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "P1" + ] + }, + "value": { + "maximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "description": "204557" + }, + "itemCodeDairy": { + "type": "integer", + "description": "204521", + "format": "int32" + } + } + }, + "financial": { + "required": [ + "gross", + "net", + "unitPrice", + "valutaCode", + "vat" + ], + "type": "object", + "properties": { + "unitPrice": { + "type": "number", + "description": "204387", + "format": "double" + }, + "discountPer100litres": { + "type": "number", + "description": "204630", + "format": "double" + }, + "runningTotal": { + "type": "number", + "description": "204391", + "format": "double" + }, + "gross": { + "type": "number", + "description": "204384", + "format": "double" + }, + "valutaCode": { + "type": "string", + "description": "402617 | ISO 4217", + "enum": [ + "EUR" + ] + }, + "vat": { + "type": "number", + "description": "204386", + "format": "double" + }, + "net": { + "type": "number", + "description": "204389", + "format": "double" + } + } + } + }, + "description": "Gives information about the items of a received milk invoice of a farmer to a dairy company." + } \ No newline at end of file diff --git a/JoinData/icarMilkInvoiceItemsType.json b/JoinData/icarMilkInvoiceItemsType.json new file mode 100644 index 0000000..7f5d0fc --- /dev/null +++ b/JoinData/icarMilkInvoiceItemsType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarMilkInvoiceItemType.json" + } +} diff --git a/JoinData/icarMilkInvoiceType.json b/JoinData/icarMilkInvoiceType.json new file mode 100644 index 0000000..6fae7e1 --- /dev/null +++ b/JoinData/icarMilkInvoiceType.json @@ -0,0 +1,326 @@ +{ + "type": "object", + "properties": { + "invoiceDate": { + "$ref": "icarDateType.json" + }, + "invoiceNumber": { + "type": "string", + "description": "201136" + }, + "payee": { + "type": "object", + "properties": { + "zipcode": { + "type": "string", + "description": "204587" + }, + "number": { + "type": "string", + "description": "700767" + }, + "country": { + "type": "string", + "description": "700770" + }, + "city": { + "type": "string", + "description": "700768" + }, + "street": { + "type": "string", + "description": "700766" + }, + "name": { + "type": "string", + "description": "700129" + } + } + }, + "milkDelivered": { + "type": "object", + "properties": { + "score": { + "type": "integer", + "description": "200480", + "format": "int32" + }, + "quantity": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "LTR", + "KGM" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200468 & 204629" + }, + "protein": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP", + "GL" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "204556 & 204628" + }, + "fat": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP", + "GL" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "204555 & 204627" + }, + "ureaCumulative": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "204605" + }, + "lactose": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "204558" + }, + "urea": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "204604" + } + } + }, + "dairyAverage": { + "type": "object", + "properties": { + "protein": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP", + "GL" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200482" + }, + "fat": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP", + "GL" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200481" + }, + "lactose": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "201046" + }, + "milkPrice": { + "required": [ + "value", + "valutaCode" + ], + "type": "object", + "properties": { + "valutaCode": { + "type": "string", + "description": "ISO 4217", + "enum": [ + "EUR" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "204382" + }, + "urea": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "204606" + } + } + }, + "financial": { + "required": [ + "gross", + "net", + "valutaCode", + "vat" + ], + "type": "object", + "properties": { + "gross": { + "type": "number", + "description": "204384", + "format": "double" + }, + "valutaCode": { + "type": "string", + "description": "ISO 4217 / 402617", + "enum": [ + "EUR" + ] + }, + "vat": { + "type": "number", + "description": "204386", + "format": "double" + }, + "net": { + "type": "number", + "description": "204382", + "format": "double" + } + } + } + }, + "description": "Gives information about received milk invoices of a farmer to a dairy company." + } \ No newline at end of file diff --git a/JoinData/icarMilkInvoicesType.json b/JoinData/icarMilkInvoicesType.json new file mode 100644 index 0000000..24c0ff2 --- /dev/null +++ b/JoinData/icarMilkInvoicesType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarMilkInvoiceType.json" + } +} diff --git a/JoinData/icarMilkSample.json b/JoinData/icarMilkSample.json new file mode 100644 index 0000000..2e90ded --- /dev/null +++ b/JoinData/icarMilkSample.json @@ -0,0 +1,34 @@ +{ + "type": "object", + "properties": { + "bottleIdentifierType": { + "type": "string", + "description": "The type of bottle identifiertype according to ICAR_BottleIdentifierCode", + "enum": [ + "BRC", + "RFD" + ] + }, + "rackNumber": { + "type": "string", + "description": "Number of the sample rack" + }, + "bottlePosition": { + "type": "string", + "description": "Position of the bottle in the sample rack" + }, + "bottleIdentifier": { + "type": "string", + "description": "Bottle identifier read from barcode or RFID" + }, + "validSampleFillingIndicator": { + "type": "string", + "description": "Indicator of valid sample filling according to ICAR_ValidSampleFillingIndicatorCode list", + "enum": [ + "0", + "1", + "2" + ] + } + } +} diff --git a/JoinData/icarMilkingVisitType.json b/JoinData/icarMilkingVisitType.json new file mode 100644 index 0000000..f1de705 --- /dev/null +++ b/JoinData/icarMilkingVisitType.json @@ -0,0 +1,104 @@ +{ + "required": [ + "animal", + "milkingStartingDateTime", + "milkingSuccess" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A unique identifier for this location for the milking visit message" + }, + "animal": { + "$ref": "animalIdentifier.json" + }, + "milkingStartingDateTime": { + "$ref": "icarDateTimeType.json" + }, + "milkingDuration": { + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "SEC", + "MIN" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The length in time of the milking" + }, + "milkingVisitDuration": { + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "SEC", + "MIN" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The length in time of the milking visit" + }, + "milkingType": { + "type": "string", + "description": "The type of milking (manual or automated)", + "enum": [ + "Manual", + "Automated" + ] + }, + "milkingMilkWeight": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The amount of milk milked" + }, + "milkingSuccess": { + "type": "boolean" + }, + "milkingParlourUnit": { + "type": "string", + "description": "The milking parlour unit where the milking took place." + }, + "milkingBoxNumber": { + "type": "string", + "description": "The milking box number where the milking took place." + }, + "milkingDeviceId": { + "type": "string", + "description": "The ID of the device where the milking took place" + }, + "measureDeviceId": { + "type": "string", + "description": "The ID of the device where the measurement of the milking took place" + } + } + } \ No newline at end of file diff --git a/JoinData/icarPeriodType.json b/JoinData/icarPeriodType.json new file mode 100644 index 0000000..ae10df1 --- /dev/null +++ b/JoinData/icarPeriodType.json @@ -0,0 +1,15 @@ +{ + "required": [ + "end", + "start" + ], + "type": "object", + "properties": { + "start": { + "$ref": "icarDateTimeType.json" + }, + "end": { + "$ref": "icarDateTimeType.json" + } + } +} \ No newline at end of file diff --git a/JoinData/icarPregnancyCheckCode.json b/JoinData/icarPregnancyCheckCode.json new file mode 100644 index 0000000..da15d30 --- /dev/null +++ b/JoinData/icarPregnancyCheckCode.json @@ -0,0 +1,10 @@ +{ + "type": "string", + "description": "Defines the result of a pregnancy check event; can be -U- for unknown, -E- for empty or -P- for pregnant.", + "enum": [ + "U", + "E", + "P" + ] +} + \ No newline at end of file diff --git a/JoinData/icarPregnancyCheckMethodCode.json b/JoinData/icarPregnancyCheckMethodCode.json new file mode 100644 index 0000000..e53b406 --- /dev/null +++ b/JoinData/icarPregnancyCheckMethodCode.json @@ -0,0 +1,10 @@ +{ + "type": "string", + "description": "Defines the pregnancy check method; can be -E- for echography, -P- for palpation, -M- for milk analysis or O for Other.", + "enum": [ + "E", + "P", + "M", + "O" + ] +} diff --git a/JoinData/icarPregnancyChecksType.json b/JoinData/icarPregnancyChecksType.json new file mode 100644 index 0000000..36b8ee2 --- /dev/null +++ b/JoinData/icarPregnancyChecksType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarPregnancyCheckCode.json" + } +} diff --git a/JoinData/icarProductionPurposeCode.json b/JoinData/icarProductionPurposeCode.json new file mode 100644 index 0000000..63b3158 --- /dev/null +++ b/JoinData/icarProductionPurposeCode.json @@ -0,0 +1,8 @@ +{ + "type": "string", + "description": "Not an ICAR approval ready currently. Allowed values are -D- for Dairy and -B- for Beef.", + "enum": [ + "D", + "B" + ] +} diff --git a/JoinData/icarQuarterCode.json b/JoinData/icarQuarterCode.json new file mode 100644 index 0000000..406d115 --- /dev/null +++ b/JoinData/icarQuarterCode.json @@ -0,0 +1,9 @@ + { + "type": "string", + "enum": [ + "LF", + "RF", + "LB", + "RB" + ] +} diff --git a/JoinData/icarQuarterMilkingType.json b/JoinData/icarQuarterMilkingType.json new file mode 100644 index 0000000..1340c6f --- /dev/null +++ b/JoinData/icarQuarterMilkingType.json @@ -0,0 +1,23 @@ +{ + "type": "object", + "properties": { + "icarQuarterId": { + "$ref": "icarQuarterCode.json" + }, + "quarterMilkingDuration": { + "$ref": "quarterMilkingDuration.json" + }, + "quarterMilkingWeight": { + "$ref": "quarterMilkingWeight.json" + }, + "icarQuarterCharacteristics": { + "type": "array", + "items": { + "$ref": "icarMilkCharacteristicsType.json" + } + }, + "quarterMilkingSample": { + "$ref": "quarterMilkingSample.json" + } + } +} diff --git a/JoinData/icarQuarterMilkingsTypes.json b/JoinData/icarQuarterMilkingsTypes.json new file mode 100644 index 0000000..853c74f --- /dev/null +++ b/JoinData/icarQuarterMilkingsTypes.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarQuarterMilkingType.json" + } +} diff --git a/JoinData/icarSharedSemenUsedType.json b/JoinData/icarSharedSemenUsedType.json new file mode 100644 index 0000000..42561a1 --- /dev/null +++ b/JoinData/icarSharedSemenUsedType.json @@ -0,0 +1,5 @@ +{ + "type": "boolean", + "description": "Indication whether semen from 2 bulls was used for this insemination.", + "default": false +} diff --git a/JoinData/icarSlaughterType.json b/JoinData/icarSlaughterType.json new file mode 100644 index 0000000..4003a3e --- /dev/null +++ b/JoinData/icarSlaughterType.json @@ -0,0 +1,299 @@ +{ + "required": [ + "birth", + "conformation", + "conformationSubdivision", + "dateTimeInspection", + "dateTimeSlaughter", + "earTagNumber", + "fatCover", + "fatCoverSubdivision", + "gender", + "hairColorCode", + "identifier", + "slaughterHouseIdentifier", + "weightRejected", + "weightSlaughtered" + ], + "type": "object", + "properties": { + "identifier": { + "$ref": "animalIdentifier.json" + }, + "slaughterHouseIdentifier": { + "$ref": "companyIdentifier.json" + }, + "slaughterHouseBranche": { + "type": "string", + "description": "Branche number of the slaughterhouse" + }, + "earTagNumber": { + "type": "string", + "description": "The ear tag number" + }, + "birth": { + "$ref": "icarDateType.json" + }, + "dateTimeSlaughter": { + "$ref": "icarDateType.json" + }, + "dateTimeInspection": { + "$ref": "icarDateType.json" + }, + "weightSlaughtered": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM" + ] + }, + "value": { + "multipleOf": 0.1, + "type": "number", + "format": "double" + } + } + }, + "weightRejected": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM" + ] + }, + "value": { + "multipleOf": 0.1, + "type": "number", + "format": "double" + } + } + }, + "weightCorrection": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM" + ] + }, + "value": { + "multipleOf": 0.1, + "type": "number", + "format": "double" + } + } + }, + "weightHookLeft": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM" + ] + }, + "value": { + "multipleOf": 0.1, + "type": "number", + "format": "double" + } + } + }, + "weightHookRight": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM" + ] + }, + "value": { + "multipleOf": 0.1, + "type": "number", + "format": "double" + } + } + }, + "animalClassification": { + "type": "string", + "enum": [ + "A0", + "B0", + "B1", + "C0", + "D0", + "D1", + "D2", + "D3", + "D4", + "E0", + "E1", + "E2", + "Z0" + ] + }, + "gender": { + "$ref": "icarGenderCode.json" + }, + "classifier": { + "type": "string" + }, + "fatCover": { + "type": "string", + "enum": [ + "1", + "2", + "3", + "4", + "5" + ] + }, + "fatCoverSubdivision": { + "type": "string", + "enum": [ + "+", + "o", + "-" + ] + }, + "conformation": { + "type": "string", + "enum": [ + "S", + "E", + "U", + "R", + "O", + "P" + ] + }, + "conformationSubdivision": { + "type": "string", + "enum": [ + "+", + "o", + "-" + ] + }, + "colorScore": { + "type": "string", + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15" + ] + }, + "hairColorCode": { + "type": "object", + "properties": { + "countryCode": { + "type": "string", + "enum": [ + "NL", + "BE" + ] + }, + "hairColor": { + "type": "string", + "enum": [ + "AR", + "AZ", + "BB", + "BR", + "BZ", + "DK", + "EB", + "EG", + "ER", + "EW", + "EZ", + "MR", + "MZ", + "OV", + "RB", + "RW", + "VB", + "ZB", + "ZW" + ] + } + } + }, + "farmRegistrations": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "VUIL", + "TRAAG", + "MAGER", + "KREUPEL", + "ONTSTEKING", + "KNIE(L)" + ] + } + }, + "kdsRegistrations": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "NIEREN", + "PAT_KNIE", + "PAT_STOMPBIL", + "PAT_FLANKEN", + "FEC_LONGEN", + "FEC_HART" + ] + } + }, + "veterinaryPracticeNumber": { + "type": "string" + } + }, + "description": "Gives information about an animal's slaughter." + } + } \ No newline at end of file diff --git a/JoinData/icarSlaughtersType.json b/JoinData/icarSlaughtersType.json new file mode 100644 index 0000000..17ed87d --- /dev/null +++ b/JoinData/icarSlaughtersType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarSlaughterType.json" + } + } diff --git a/JoinData/icarTeatPositionsCoordType.json b/JoinData/icarTeatPositionsCoordType.json new file mode 100644 index 0000000..959b7f9 --- /dev/null +++ b/JoinData/icarTeatPositionsCoordType.json @@ -0,0 +1,15 @@ +{ + "type": "object", + "properties": { + "x-position": { + "type": "integer" + }, + "y-position": { + "type": "integer" + }, + "z-position": { + "type": "integer" + } + } +} + \ No newline at end of file diff --git a/JoinData/icarTeatPositionsType.json b/JoinData/icarTeatPositionsType.json new file mode 100644 index 0000000..ebdf000 --- /dev/null +++ b/JoinData/icarTeatPositionsType.json @@ -0,0 +1,11 @@ +{ + "type": "object", + "properties": { + "icarQuarterId": { + "$ref": "icarQuarterIdCode.json" + }, + "icarTeatPositions": { + "$ref": "icarTeatPositionsCoordType.json" + } + } +} diff --git a/JoinData/icarTeatPositionsTypes.json b/JoinData/icarTeatPositionsTypes.json new file mode 100644 index 0000000..8682fa8 --- /dev/null +++ b/JoinData/icarTeatPositionsTypes.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarTeatPositionsType.json" + } +} diff --git a/JoinData/icarTechnicianType.json b/JoinData/icarTechnicianType.json new file mode 100644 index 0000000..37ce9e7 --- /dev/null +++ b/JoinData/icarTechnicianType.json @@ -0,0 +1,4 @@ +{ + "type": "string", + "description": "The identification of the person that performed the insemination. In case the farmer has performed the insemination a zero is applied. The possible id's are not provided in this documentation." +} diff --git a/JoinData/icarWaterIntakeType.json b/JoinData/icarWaterIntakeType.json new file mode 100644 index 0000000..b47de91 --- /dev/null +++ b/JoinData/icarWaterIntakeType.json @@ -0,0 +1,38 @@ +{ + "required": [ + "identifier", + "period" + ], + "type": "object", + "properties": { + "identifier": { + "$ref": "animalIdentifier.json" + }, + "period": { + "$ref": "icarPeriodType.json" + }, + "consumption": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "LTR", + "MLT" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The amount the animal consumed during this visit." + } + }, + "description": "Gives information about an animal's visit to a water station." + } diff --git a/JoinData/icarWaterIntakesType.json b/JoinData/icarWaterIntakesType.json new file mode 100644 index 0000000..4289555 --- /dev/null +++ b/JoinData/icarWaterIntakesType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarWaterIntakeType.json" + } +} diff --git a/JoinData/icarWeightType.json b/JoinData/icarWeightType.json new file mode 100644 index 0000000..623fdec --- /dev/null +++ b/JoinData/icarWeightType.json @@ -0,0 +1,27 @@ +{ + "type": "object", + "properties": { + "identifier": { + "$ref": "animalIdentifierType.json" + }, + "timestamp": { + "type": "string", + "description": "The timestamp of the measurement.", + "format": "date-time" + }, + "value": { + "type": "number", + "description": "The value of the measurement.", + "format": "double" + }, + "unitCode": { + "type": "string", + "description": "The type of unit of measure." + }, + "unitDescription": { + "type": "string", + "description": "Description of type of unit of measure." + } + }, + "description": "Gives information about a weight event." +} \ No newline at end of file diff --git a/JoinData/icarWeightsType.json b/JoinData/icarWeightsType.json new file mode 100644 index 0000000..d34b837 --- /dev/null +++ b/JoinData/icarWeightsType.json @@ -0,0 +1,6 @@ +{ + "type": "array", + "items": { + "$ref": "icarWeightType.json" + } +} diff --git a/JoinData/quarterMilkingDurationType.json b/JoinData/quarterMilkingDurationType.json new file mode 100644 index 0000000..1c68aba --- /dev/null +++ b/JoinData/quarterMilkingDurationType.json @@ -0,0 +1,18 @@ +{ + "type": "object", + "properties": { + "value": { + "type": "number", + "format": "double" + }, + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "SEC", + "MIN" + ] + } + }, + "description": "The length in time of the milking for this quarter" +} diff --git a/JoinData/quarterMilkingSampleType.json b/JoinData/quarterMilkingSampleType.json new file mode 100644 index 0000000..8b650ee --- /dev/null +++ b/JoinData/quarterMilkingSampleType.json @@ -0,0 +1,8 @@ +{ + "type": "object", + "properties": { + "sample": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json new file mode 100644 index 0000000..1712494 --- /dev/null +++ b/JoinData/v3 json all.json @@ -0,0 +1,4146 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "JoinData Message definitions", + "description": "The specification describes the JoinData Datahub Broker API. \n", + "version": "1.0" + }, + "servers": [ + { + "url": "https://production.join-data.net/api/broker/icar-ade/v1" + } + ], + "security": [ + { + "jdClient": [ + "fullaccess" + ] + }, + { + "jdAuthorizationCode": [ + "fullaccess" + ] + }, + { + "jdImplicit": [ + "fullaccess" + ] + } + ], + "tags": [ + { + "name": "ICAR inspired", + "description": "Messages which do not exist in current ICAR-ADE standard, but which follow the same principles\n" + }, + { + "name": "Local/other standard", + "description": "Messages which are (soon) available through JoinData, but without any affiliation to ICAR\n" + } + ], + "paths": { + "/locations/{location-scheme}/{location-id}/milking-visits": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the data for milking visits", + "description": "# Purpose\nProvides data from visits of animals to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkingVisitsResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/characteristics": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the quarter milking data for a specific milking visit", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkCharacteristicsResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/quarter-milkings": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the quarter milking data for a specific milking visit", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarQuarterMilkingsResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/animal-milking-sample": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the quarter milking data for a specific milking visit", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarAnimalMilkingSampleResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/herd-list": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the animals on a location.", + "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns the herd list for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the animal identifiers for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHerdListResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/herd-list-core-data-set": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the core details of the animals on a location.", + "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns a herd list for a location containing core animal data.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the animal core data set for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHerdListCoreDataSetResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/dairy-grazing-summaries": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the dairy grazing summary data", + "description": "# Purpose\nReturns a summary with information about the grazing pattern of the animals on the given location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "modified-since", + "in": "query", + "description": "The date-time of insertion or last update of the event.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the dairy grazing summary data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarDairyGrazingSummariesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/feed-intakes": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get feed intakes of the animals on the location specified.", + "description": "# Purpose\nReturns feed intakes of the animals on the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the intake data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarFeedIntakesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/gestations": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get gestation information for all in-herd animals on a location.", + "description": "# Purpose\nReturns a list with current gestation information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the gestation data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarGestationsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/health-activities": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get health activity information for animals on a location.", + "description": "# Purpose\nReturns a list with health activity information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "animal-scheme", + "in": "query", + "description": "The scheme id for the animal identifier. Should be used together with animal-id.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "animal-id", + "in": "query", + "description": "The unique identifier for the animal. Should be used together with animal-scheme.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the health activity data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHealthActivitiesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/health-reports": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get health information for a location.", + "description": "# Purpose\nReturns a list with current health information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the health data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHealthReportsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/heat-activities": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get in-heat activity information for female animals on a location.", + "description": "# Purpose\nReturns a list with in-heat activity information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "animal-scheme", + "in": "query", + "description": "The scheme id for the animal identifier. Should be used together with animal-id.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "animal-id", + "in": "query", + "description": "The unique identifier for the animal. Should be used together with animal-scheme.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the in-heat activity data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHeatActivitiesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/heat-reports": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get in-heat information for a location.", + "description": "# Purpose\nReturns a list with current in-heat information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the in-heat data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHeatReportsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/herd-list-movements": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the animal movements on a location.", + "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns the animal movements for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the animal movement data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHerdListMovementsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/animal-registrations": { + "post": { + "tags": [ + "ICAR inspired" + ], + "summary": "Pushes a singular animal (governmental) registration", + "description": "# Purpose\nProvides data from a singular animal registration\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The animal you want to register", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarAnimalRegistrationBody" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarAnimalRegistrationResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/teat-positions": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the teat positions for a specific milking visit", + "description": "# Purpose\nProvides teat positions from a singular visit of an animal to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarTeatPositionsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/identification-tags": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the identification tags on a location.", + "description": "# Purpose\nReturns the identification tags for a location. Examples are Nedap, SCR and Gallagher identification tags (EIDs) for animals.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the current identification tags available on the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarIdentificationTagsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/inseminations": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the executed insemantions on a location.", + "description": "# Purpose\nReturns the inseminations for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "modified-since", + "in": "query", + "description": "The date-time of insertion or last update of the event.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the insemination data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarInseminationsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milk-deliveries": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get milk deliveries of the location specified.", + "description": "# Purpose\nReturns milk deliveries of the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the milk delivery data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkDeliveriesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milk-deliveries/{milk-delivery-id}/quality-reports": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get the test results for a specific milk delivery of the location specified.", + "description": "todo", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milk-delivery-id", + "in": "path", + "description": "The unique identifier for a milk delivery for a specific location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the quality reports of the milk delivery data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResultsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milk-intakes": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get milk intakes of the animals on the location specified.", + "description": "# Purpose\nReturns milk intakes of the animals on the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the intake data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkIntakesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milk-invoices": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get milk delivery invoices of the location specified.", + "description": "# Purpose\nReturns the invoices received for the milk delivered of the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the invoices received for the deliverd milk for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkInvoicesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milk-invoices/{milk-invoice-id}/items": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get the items of the milk delivery invoices of the location specified.", + "description": "# Purpose\nReturns the items of the invoices received for the milk delivered of the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milk-invoice-id", + "in": "path", + "description": "The unique identifier for a milk invoice for a specific location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the items of the invoices received for the deliverd milk for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkInvoiceItemsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/slaughters": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get the slaughterhouse events for all animals being slaughtered.", + "description": "# Purpose\nReturns a list animals being slaughtered with their details for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the slaughter events data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarSlaughtersResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/pregnancy-checks": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the pregnancy checks events for all in-herd animals on a location.", + "description": "_Subject to change_\n# Purpose\nReturns a list with pregnancy-checks events information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the pregnancy check events data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarPregnancyCheckResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/water-intakes": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get water intakes of the animals on the location specified.", + "description": "# Purpose\nReturns water intakes of the animals on the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the intake data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarWaterIntakesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/weights": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get information about the weight of an animal", + "description": "_Subject to change_\n# Purpose\nReturns a list of weight measurement events for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the weight data for the animals on the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarWeightsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/biodiversity-reports": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get the bio-diversity reports for the location in the given period.", + "description": "# Purpose\nGet the bio-diversity reports for the location in the given period.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains a list of all generated biodiversity reports for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarBiodiversityReportsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/addresses": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Gets the currently known addresses for this company", + "description": "# Purpose\nGets the known addresses for this company\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains a list of all generated biodiversity reports for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/uncefactAddressesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "icarGestationsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarGestationsResponseDataSource" + } + ] + }, + "icarSlaughtersResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarSlaughtersResponseDataSources" + } + }, + "icarPregnancyChecksResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarPregnancyChecksType" + } + } + }, + "icarPregnancyCheckType": { + "required": [ + "date", + "result" + ], + "type": "object", + "properties": { + "identifier": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "date": { + "type": "string", + "description": "The date on which the pregnancy check has occurred.", + "format": "date" + }, + "result": { + "$ref": "#/components/schemas/icarPregnancyCheckCodeType" + }, + "method": { + "$ref": "#/components/schemas/icarPregnancyCheckMethodCode" + } + }, + "description": "Gives information about a pregnancy check event." + }, + "icarHeatReportsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarHeatReportsType" + } + } + }, + "icarQuarterMilkingsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSource" + } + ] + }, + + "icarHerdListMovementsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHerdListMovementsResponseDataSources" + } + }, + "icarAnimalMilkingSampleResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSource" + } + ] + }, + "icarSemenOfOwnStock": { + "type": "boolean", + "description": "Indication whether the semen used came out of the stock from the farmer, or from the technician.", + "default": true + }, + "icarMilkInvoiceItemsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkInvoiceItemsResponseDataSource" + } + ] + }, + "icarMilkDeliveriesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkDeliveriesResponseDataSource" + } + ] + }, + "icarSexedSemenCode": { + "type": "string", + "description": "A list of codes representing the sexed semen type; can be -Y- for sexing semen Male or Female, -N- for no sexing semen, -F- for sexing semen Female or -M- for sexing semen Male.\n", + "enum": [ + "Y", + "F", + "M", + "N" + ] + }, + "icarDepartureCoreDataSetType": { + "type": "object", + "properties": { + "departureDate": { + "$ref": "#/components/schemas/icarDateType" + } + }, + "description": "not completely implemented yet!" + }, + "uncefactAddressesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/uncefactAddress" + } + }, + "icarAnimalRegistration": { + "required": [ + "identifier", + "registrationDate", + "registrationType" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A unique identifier for the posted message", + "format": "uuid" + }, + "registrationType": { + "$ref": "#/components/schemas/registrationType" + }, + "registrationDate": { + "$ref": "#/components/schemas/icarDateType" + }, + "identifier": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "specie": { + "$ref": "#/components/schemas/icarSpecieCodeType" + }, + "gender": { + "$ref": "#/components/schemas/icarGenderCodeType" + }, + "birth": { + "$ref": "#/components/schemas/icarDateType" + }, + "breed": { + "$ref": "#/components/schemas/icarCodeType" + }, + "sire": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "recipientDam": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "geneticDam": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "number": { + "type": "string", + "description": "A meaningful identification code of the animal, not necessary unique within the location" + }, + "earTagNumber": { + "type": "string", + "description": "The ear tag number" + }, + "name": { + "type": "string", + "description": "The name of the animal" + }, + "officialName": { + "type": "string", + "description": "The official name of the animal" + }, + "productionPurpose": { + "$ref": "#/components/schemas/icarProductionPurpose" + } + } + }, + "icarArrivalCoreDataSetType": { + "required": [ + "arrivalDate" + ], + "type": "object", + "properties": { + "arrivalDate": { + "$ref": "#/components/schemas/icarDateType" + } + }, + "description": "not completely implemented yet!" + }, + "icarMilkIntakesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkIntakesResponseDataSource" + } + ] + }, + "icarMilkIntakeAdditive": { + "required": [ + "bin", + "type" + ], + "type": "object", + "properties": { + "bin": { + "type": "integer", + "description": "The bin the additive was sourced from.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "The type of additive provided.", + "enum": [ + "Unknown", + "Electrolyte" + ] + }, + "quantity": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "LTR", + "MLT" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The provided quantity of the additive in milliliters." + } + } + }, + "icarMilkDeliveryType": { + "type": "object", + "properties": { + "dairyIdentifier": { + "$ref": "#/components/schemas/companyIdentifier" + }, + "productionUnit": { + "type": "integer", + "description": "204611", + "format": "int32" + }, + "supplierNumber": { + "type": "integer", + "description": "202510", + "format": "int32" + }, + "reckoningYear": { + "type": "integer", + "description": "204272", + "format": "int32" + }, + "codeFatProteinCalculated": { + "type": "integer", + "description": "204398", + "format": "int32" + }, + "period": { + "required": [ + "end", + "start" + ], + "type": "object", + "properties": { + "start": { + "type": "string", + "description": "The start time of the day. Time element should be set to 00:00:00.", + "format": "date-time" + }, + "name": { + "type": "string", + "description": "The friendly name of the period." + }, + "end": { + "type": "string", + "description": "The end time of the day. Time element should be set to 23:59:59.", + "format": "date-time" + } + }, + "description": "The period of reckoning the delivery belongs to." + }, + "timestampDelivery": { + "type": "string", + "description": "The timestamp of the milk delivery. 201731 & 204271", + "format": "date-time" + }, + "milkDelivered": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "LTR", + "KGM" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200503 & 203575" + }, + "fat": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP", + "GL" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200505 & 204625" + }, + "protein": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP", + "GL" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200506 & 204626" + }, + "lactose": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200507" + }, + "urea": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "204261" + }, + "temperature": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "CEL" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200509" + }, + "bacteriaInhibitingSubstance": { + "type": "object", + "properties": { + "reductionMilkAmount": { + "required": [ + "value", + "valutaCode" + ], + "type": "object", + "properties": { + "valutaCode": { + "type": "string", + "description": "ISO 4217", + "enum": [ + "EUR" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "204381" + }, + "kind": { + "type": "string", + "description": "202614" + }, + "testResult": { + "type": "string", + "description": "202668" + }, + "reductionMilkQuantity": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "LTR", + "KGM" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "203446" + } + } + } + }, + "description": "Gives information about a milk delivery of a farmer to a dairy company." + }, + "icarIdentificationTagType": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Contains the unique id of the tag" + }, + "animal": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "statusCode": { + "$ref": "#/components/schemas/icarIdentificationTagStatusCode" + }, + "statusMessage": { + "type": "string" + } + } + }, + "icarMilkDeliveriesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarMilkDeliveriesType" + } + } + }, + "icarBiodiversityReports": { + "type": "object", + "properties": { + "company": { + "$ref": "#/components/schemas/companyIdentifier" + }, + "ftn": { + "type": "string", + "description": "A factory tank number (factory number + company number at factory)" + }, + "area": { + "type": "string", + "description": "A meaningful identification code of the animal, not necessary unique within the location" + }, + "collectives": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarBiodiversityCollective" + } + } + } + }, + "icarSpecieCodeType": { + "type": "string", + "description": "Based upon Icar sc:SpecieCodeType. Allowed values are -BUF- for Buffalo, -OVI- for Ovine, -BOV- for Bovine and -GOT- for Goat.", + "enum": [ + "BUF", + "OVI", + "BOV", + "GOT" + ] + }, + "icarTeatPositionsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarTeatPositionsResponseDataSources" + } + }, + "icarHeatReportVendorSpecific": { + "type": "object", + "properties": { + "scrSenseTime": { + "$ref": "#/components/schemas/icarHeatReportScrSenseTime" + }, + "nedapBI": { + "$ref": "#/components/schemas/icarHeatReportNedapBusinessInsight" + } + }, + "description": "Contains vendor specific fields. Only one vendor element can be present." + }, + "icarHerdListCoreDataSetResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSource" + } + ] + }, + "icarHeatReportNedapBusinessInsight": { + "type": "object", + "description": "Specific fields for Nedap Business Insight. TO BE IMPLEMENTED" + }, + "icarWaterIntakesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarWaterIntakesType" + } + } + }, + "icarDairyGrazingSummariesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarDairyGrazingSummariesResponseDataSource" + } + ] + }, + "responseDataSource": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/dataSource" + } + } + }, + "registrationType": { + "type": "string", + "description": "Type of registration", + "enum": [ + "Birth", + "Death", + "Arrival", + "Departure" + ] + }, + "quarterMilkingWeight": { + "type": "object", + "properties": { + "value": { + "type": "number", + "format": "double" + }, + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM" + ] + } + }, + "description": "The weight of the milk milked of this quarter" + }, + "icarInseminationType": { + "type": "object", + "properties": { + "dam": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "date": { + "$ref": "#/components/schemas/icarDateType" + }, + "sire": { + "$ref": "#/components/schemas/animalIdentifier" + }, + "chargeNumber": { + "$ref": "#/components/schemas/icarChargeNumber" + }, + "forFlushing": { + "$ref": "#/components/schemas/icarForFlushing" + }, + "technician": { + "$ref": "#/components/schemas/icarTechnician" + }, + "semenOfOwnStock": { + "$ref": "#/components/schemas/icarSemenOfOwnStock" + }, + "sexedSemenType": { + "$ref": "#/components/schemas/icarSexedSemenCode" + }, + "sharedSemenUsed": { + "$ref": "#/components/schemas/icarSharedSemenUsed" + } + }, + "description": "Gives information about an insemination of a dam." + }, + "icarImpregnationCode": { + "type": "string", + "description": "Defines the type of the last impregnation event; can be -I- for insemination, -N- for natural service, -R- for running with the bull or -M- for implantation. \n", + "enum": [ + "I", + "N", + "R", + "M" + ] + }, + "icarHeatReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHeatReportsResponseDataSource" + } + ] + }, + "icarMilkDeliveryQualityReportsResultsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResponseDataSources" + } + }, + "icarIdentificationTagsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarIdentificationTagsResponseDataSource" + } + ] + }, + + + + "icarHerdListCoreDataSetResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSources" + } + }, + "icarForFlushing": { + "type": "boolean", + "description": "Indication whether the cow was inseminated for flushing.", + "default": false + }, + + + + "icarMilkDeliveriesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkDeliveriesResponseDataSources" + } + }, + "icarInseminationsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarInseminationsResponseDataSources" + } + }, + "icarHeatActivitiesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHeatActivitiesResponseDataSources" + } + }, + "icarHerdListResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHerdListResponseDataSource" + } + ] + }, + "icarInseminationsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarInseminationsResponseDataSource" + } + ] + }, + "icarMilkCharacteristicsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarMilkCharacteristicsTypes" + } + } + }, + "icarHealthReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHealthReportsResponseDataSource" + } + ] + }, + + "icarDairyGrazingSummariesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarDairyGrazingSummariesType" + } + } + }, + "icarFeedIntakesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarFeedIntakesType" + } + } + }, + "icarGestationsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarGestationsType" + } + } + }, + + "uncefactAddressFormatCode": { + "type": "integer", + "description": "A mutually agreed code signifying the format of this address.\n* `1` - Street name followed by number. Address street name followed by address number.\n* `2` - Number, road type, road name in this sequence. House number followed bytype of road and name of the road.\n* `3` - Road type, road name, number in this sequence. Type of the road followed by name of the road and the house number.\n* `4` - Post office box. Post office box.\n* `5` - Unstructured address. Unstructured address, comprising an unspecified mix of components.\n* `6` - Street name followed by number, building, suite. Identifies the address component as street name followed by number, building, and suite in this sequence.\n* `7` - Rural route number. Identifies the address component as the rural route number.\n* `8` - Post office drawer number. Identifies the address component as the post office drawer.\n* `9` - Building name followed by suite. Identifies the address component as building followed by suite.\n", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + }, + "icarHealthActivitiesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHealthActivitiesResponseDataSource" + } + ] + }, + "icarHealthActivityScrSenseTime": { + "type": "object", + "properties": { + "dailyRumination": { + "type": "number", + "description": "The number of minutes a cow ruminates during the day (24-hour period)", + "format": "double" + }, + "dailyEating": { + "type": "number", + "description": "The number of minutes a cow eats during the day (24 hour period)", + "format": "double" + }, + "hourlyRumination": { + "type": "number", + "description": "The number of minutes a cow ruminates during an hour.", + "format": "double" + }, + "hourlyEating": { + "type": "number", + "description": "The number of minutes a cow eats an hour.", + "format": "double" + }, + "activityTrend": { + "type": "number", + "description": "The trend of the cow’s activity. Cows when they are not well are less active.", + "format": "double" + } + }, + "description": "Contains SenseTime specific fields. Only one element can be present per item." + }, + "icarHealthActivityVendorSpecific": { + "type": "object", + "properties": { + "scrSenseTime": { + "$ref": "#/components/schemas/icarHealthActivityScrSenseTime" + } + }, + "description": "Contains vendor specific fields. Only one vendor element can be present." + }, + "icarHealthReportNedapBusinessInsight": { + "type": "object", + "description": "Specific fields for Nedap Business Insight. TO BE IMPLEMENTED" + }, + "icarWeightsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarWeightsResponseDataSources" + } + }, + "icarChargeNumber": { + "type": "string", + "description": "The number of the batch of the production of the semen." + }, + "icarFeedIntakesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarFeedIntakesResponseDataSources" + } + }, + "icarHealthReportScrSenseTime": { + "type": "object", + "properties": { + "dailyRumination": { + "type": "integer", + "format": "int32" + }, + "healthIndex": { + "type": "number", + "description": "One digit after decimal point", + "format": "double" + }, + "healthIndexThreshold": { + "type": "integer", + "description": "For report coloring", + "format": "int32" + } + }, + "description": "Specific fields for SCR SenseTime" + }, + + "icarHerdListMovementsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarHerdListMovementsType" + } + } + }, + "icarPregnancyChecksResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarPregnancyChecksResponseDataSource" + } + ] + }, + "icarSlaughtersResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarSlaughtersType" + } + } + }, + "uncefactAddressTypeCode": { + "type": "integer", + "description": "A mutually agreed code signifying the type of this address.\n* `1` - Postal address. The address is representing a postal address.\n* `2` - Fiscal address. Identification of an address as required by fiscal administrations.\n* `3` - Physical address. The address represents an actual physical location.\n", + "enum": [ + 1, + 2, + 3 + ] + }, + + "icarAnimalMilkingSampleResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSources" + } + }, + + "icarMilkDeliveryQualityReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResponseDataSource" + } + ] + }, + "icarHerdListMovementsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHerdListMovementsResponseDataSource" + } + ] + }, + "icarPregnancyCheckResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarPregnancyChecksResponseDataSources" + } + }, + "icarMilkingVisitsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSource" + } + ] + }, + "icarHealthActivitiesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarHealthActivitiesType" + } + } + }, + + "icarTeatPositionsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarTeatPositionsResponseDataSource" + } + ] + }, + "icarMilkIntakesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarMilkIntakesType" + } + } + }, + "icarSlaughtersResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarSlaughtersResponseDataSource" + } + ] + }, + "icarHeatActivitiesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarHeatActivitiesType" + } + } + }, + "icarMilkInvoicesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkInvoicesResponseDataSource" + } + ] + }, + "icarQuarterMilkingsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarQuarterMilkingsTypes" + } + } + }, + + + "icarHealthActivitiesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHealthActivitiesResponseDataSources" + } + }, + + "icarHerdListResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHerdListResponseDataSources" + } + }, + "icarIdentificationTagsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarIdentificationTagsResponseDataSources" + } + }, + "icarMilkInvoiceItemsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkInvoiceItemsResponseDataSources" + } + }, + "icarWaterIntakesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarWaterIntakesResponseDataSource" + } + ] + }, + "icarAnimalRegistrationResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarAnimalRegistration" + } + } + }, + "companyId": { + "type": "string", + "description": "A string which (in combination with a scheme) uniquely identifies a company." + }, + "icarMilkingVisitsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSources" + } + }, + "icarMilkCharacteristicsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSource" + } + ] + }, + "icarTeatPositionsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarTeatPositionsTypes" + } + } + }, + "icarMilkCharacteristicsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSources" + } + }, + "animalId": { + "type": "string", + "description": "A string which (in combination with a scheme) uniquely identifies an animal." + }, + "animalIdentifier": { + "required": [ + "id", + "scheme" + ], + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/animalId" + }, + "scheme": { + "$ref": "#/components/schemas/animalIdScheme" + } + }, + "description": "Identifies an animal" + }, + "icarBiodiversityReportsResponse": { + "$ref": "#/components/schemas/icarBiodiversityReports" + }, + "icarHerdListResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarHerdListAnimalsType" + } + } + }, + "icarMilkingVisitsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarMilkingVisitType" + } + } + }, + "icarIdentificationTagsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarIdentificationTagsType" + } + } + }, + "dataSource": { + "type": "string", + "description": "Source where data is retrieved from. Details can be retrieved from the source register." + }, + "companyIdScheme": { + "type": "string", + "description": "Identifies the used scheme for a company identification string.", + "enum": [ + "nl-v1", + "be-v1" + ] + }, + "icarHeatActivityScrSenseTime": { + "type": "object", + "properties": { + "heatBehavior": { + "type": "number", + "description": "The behavior of the cow as it relates to it being in heat.", + "format": "double" + }, + "dailyRumination": { + "type": "number", + "description": "The number of minutes a cow ruminates during the day (24-hour period)", + "format": "double" + }, + "dailyEating": { + "type": "number", + "description": "The number of minutes a cow eats during the day (24 hour period)", + "format": "double" + }, + "activityTrend": { + "type": "number", + "description": "The trend of the cow’s activity. This is usually higher when the cow is approaching the time it is in heat.", + "format": "double" + } + }, + "description": "Contains SenseTime specific fields. Only one element can be present per item." + }, + "icarWeightsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarWeightsResponseDataSource" + } + ] + }, + "icarGestationsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarGestationsResponseDataSources" + } + }, + "icarMilkInvoicesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarMilkInvoicesType" + } + } + }, + + "icarInseminationsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarInseminationsType" + } + } + }, + "responseErrors": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + } + }, + "error": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A unique identifier for this particular occurrence of the problem" + }, + "status": { + "type": "integer", + "description": "The HTTP status code applicable to this problem, expressed as a string value", + "format": "int32" + }, + "code": { + "type": "string", + "description": "An application-specific error code, expressed as a string value." + }, + "title": { + "type": "string", + "description": "A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization." + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized." + }, + "meta": { + "type": "object", + "properties": {} + } + }, + "description": "A human-readable error message describing what went wrong." + }, + "icarHerdListCoreDataSetResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarHerdListCoreDataSetsType" + } + } + }, + "icarHeatReportsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHeatReportsResponseDataSources" + } + }, + "icarHealthReportVendorSpecific": { + "type": "object", + "properties": { + "scrSenseTime": { + "$ref": "#/components/schemas/icarHealthReportScrSenseTime" + }, + "nedapBI": { + "$ref": "#/components/schemas/icarHealthReportNedapBusinessInsight" + } + }, + "description": "Contains vendor specific fields. Only one vendor element can be present." + }, + "companyIdentifier": { + "required": [ + "id", + "scheme" + ], + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/companyId" + }, + "scheme": { + "$ref": "#/components/schemas/companyIdScheme" + } + }, + "description": "Identifies a company" + }, + "icarWaterIntakesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarWaterIntakesResponseDataSources" + } + }, + "uncefactAddress": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "An identifier for this address within an agreed scheme of address identifiers." + }, + "addressTypeCode": { + "$ref": "#/components/schemas/uncefactAddressTypeCode" + }, + "addressFormatCode": { + "$ref": "#/components/schemas/uncefactAddressFormatCode" + }, + "postbox": { + "type": "string", + "description": "A post office box number registered for postal delivery by a postal service provider." + }, + "floor": { + "type": "string", + "description": "An identifiable floor of a building." + }, + "room": { + "type": "string", + "description": "An identifiable room, suite, or apartment of a building." + }, + "streetName": { + "type": "string", + "description": "The name of the street, road, avenue, way, etc. to which the number of the building is attached." + }, + "additionalStreetName": { + "type": "string", + "description": "An additional street name used to further clarify the address." + }, + "blockName": { + "type": "string", + "description": "The name of the block (an area surrounded by streets and usually containing several buildings) in which this address is located." + }, + "buildingName": { + "type": "string", + "description": "The name of a building." + }, + "buildingNumber": { + "type": "string", + "description": "The number of a building within the street." + }, + "inhouseMail": { + "type": "string", + "description": "The specific identifable location within a building where mail is delivered." + }, + "department": { + "type": "string", + "description": "The department of the addressee." + }, + "markAttention": { + "type": "string", + "description": "The name, expressed as text, of a person or department in an organization to whose attention incoming mail is directed; corresponds to the printed forms `for the attention of`, `FAO`, and `ATTN:`." + }, + "markCare": { + "type": "string", + "description": "The name, expressed as text, of a person or organization at this address into whose care incoming mail is entrusted; corresponds to the printed forms `care of` and `c/o`." + }, + "plotIdentification": { + "type": "string", + "description": "An identifier (e.g., a parcel number) for the piece of land associated with this address." + }, + "citySubdivisionName": { + "type": "string", + "description": "The name of the subdivision of a city, town, or village in which this address is located, such as the name of its district or borough." + }, + "cityName": { + "type": "string", + "description": "The name of a city, town, or village." + }, + "postalZone": { + "type": "string", + "description": "The postal identifier for this address according to the relevant national postal service, such as a ZIP code or Post Code." + }, + "countrySubentity": { + "type": "string", + "description": "The political or administrative division of a country in which this address is located, such as the name of its county, province, or state, expressed as text." + }, + "countrySubentityCode": { + "type": "string", + "description": "The political or administrative division of a country in which this address is located, such as a county, province, or state, expressed as a code (typically nationally agreed)." + }, + "region": { + "type": "string", + "description": "The recognized geographic or economic region or group of countries in which this address is located." + }, + "district": { + "type": "string", + "description": "The district or geographical division of a country or region in which this address is located." + }, + "timezoneOffset": { + "type": "string", + "description": "The time zone in which this address is located (as an offset from Universal Coordinated Time (UTC)) at the time of exchange." + }, + "addressLine": { + "type": "array", + "description": "An unstructured address line.", + "items": { + "type": "string" + } + }, + "country": { + "type": "string", + "description": "The country in which this address is situated." + }, + "locationCoordinate": { + "type": "string", + "description": "The geographical coordinates of this address." + } + } + }, + "icarMilkInvoicesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkInvoicesResponseDataSources" + } + }, + "icarHeatReportScrSenseTime": { + "type": "object", + "properties": { + "breedingWindow": { + "type": "integer", + "format": "int32" + }, + "heatIndex": { + "type": "integer", + "format": "int32" + } + }, + "description": "Specific fields for SCR SenseTime" + }, + "icarHeatActivitiesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHeatActivitiesResponseDataSource" + } + ] + }, + "icarFeedIntakesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarFeedIntakesResponseDataSource" + } + ] + }, + "icarWeightsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarWeightsType" + } + } + }, + "icarMilkDeliveryQualityReportsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsType" + } + } + }, + "icarHeatActivityVendorSpecific": { + "type": "object", + "properties": { + "scrSenseTime": { + "$ref": "#/components/schemas/icarHeatActivityScrSenseTime" + } + }, + "description": "Contains vendor specific fields. Only one vendor element can be present." + }, + "icarHealthReportsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarHealthReportsType" + } + } + }, + "icarQuarterMilkingsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSources" + } + }, + "icarMilkInvoiceItemsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarMilkInvoiceItemsType" + } + } + }, + "icarAnimalMilkingSampleResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/icarAnimalMilkingSampleType" + } + } + }, + "icarMilkIntakesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkIntakesResponseDataSources" + } + }, + "icarDairyGrazingSummariesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarDairyGrazingSummariesResponseDataSources" + } + }, + + "responses": { + "error": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + }, + "parameters": { + "queryEndDateTime": { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + "pathIcarMilkingVisitId": { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "pathLocationScheme": { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + "queryEndDateTimeRequired": { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + "queryModifiedSince": { + "name": "modified-since", + "in": "query", + "description": "The date-time of insertion or last update of the event.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + "pathLocationId": { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + "pathMilkDeliveryId": { + "name": "milk-delivery-id", + "in": "path", + "description": "The unique identifier for a milk delivery for a specific location.", + "required": true, + "schema": { + "type": "string" + } + }, + "queryAnimalScheme": { + "name": "animal-scheme", + "in": "query", + "description": "The scheme id for the animal identifier. Should be used together with animal-id.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + "queryStartDateTimeRequired": { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + "pathMilkInvoiceId": { + "name": "milk-invoice-id", + "in": "path", + "description": "The unique identifier for a milk invoice for a specific location.", + "required": true, + "schema": { + "type": "string" + } + }, + "queryAnimalId": { + "name": "animal-id", + "in": "query", + "description": "The unique identifier for the animal. Should be used together with animal-scheme.", + "required": true, + "schema": { + "type": "string" + } + }, + "queryStartDateTime": { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + }, + "securitySchemes": { + "jdClient": { + "type": "oauth2", + "description": "Secure access using client credentials grant", + "flows": { + "clientCredentials": { + "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", + "scopes": { + "fullaccess": "Full access to all resources" + } + } + } + }, + "jdAuthorizationCode": { + "type": "oauth2", + "description": "Secure access using authorization grant flow", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", + "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", + "scopes": { + "fullaccess": "Full access to all resources" + } + } + } + }, + "jdImplicit": { + "type": "oauth2", + "description": "Secure access using implicit grant", + "flows": { + "implicit": { + "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", + "scopes": { + "fullaccess": "Full access to all resources" + } + } + } + } + } + } +} \ No newline at end of file From 561af16c513934387d13e4b061c5ff6bd1a2b323 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 16:22:28 +0200 Subject: [PATCH 06/31] converted all files to json schema --- JoinData/companyIdType.json | 4 +-- JoinData/icarAnimalMovementDataSetType.json | 6 ++--- JoinData/icarAnimalMovementType.json | 8 +++--- JoinData/icarAnimalMovementsSet.json | 6 ++--- JoinData/icarAnimalRegistrationBody.json | 26 ++++++++++---------- JoinData/icarBiodiversityCollectiveType.json | 6 ++--- JoinData/icarBiodiversityReportType.json | 4 +-- JoinData/icarDairyGrazingSummariesType.json | 6 ++--- JoinData/icarDairyGrazingSummaryType.json | 4 +-- JoinData/icarDateType.json | 4 +-- JoinData/icarFeedIntakeType.json | 6 ++--- JoinData/icarFeedIntakesType.json | 6 ++--- JoinData/icarGestationType.json | 12 ++++----- JoinData/icarGestationsType.json | 6 ++--- JoinData/icarHealthActivitiesType.json | 6 ++--- JoinData/icarHealthActivityType.json | 8 +++--- JoinData/icarHealthReportType.json | 8 +++--- JoinData/icarHealthReportsType.json | 6 ++--- JoinData/icarHeatActivitiesType.json | 6 ++--- JoinData/icarHeatActivityType.json | 8 +++--- 20 files changed, 73 insertions(+), 73 deletions(-) diff --git a/JoinData/companyIdType.json b/JoinData/companyIdType.json index d6428fe..4915a78 100644 --- a/JoinData/companyIdType.json +++ b/JoinData/companyIdType.json @@ -1,4 +1,4 @@ - "companyIdType": { +{ "type": "string", "description": "A string which (in combination with a scheme) uniquely identifies a company." - }, +} diff --git a/JoinData/icarAnimalMovementDataSetType.json b/JoinData/icarAnimalMovementDataSetType.json index 96aef1f..9b6aa6a 100644 --- a/JoinData/icarAnimalMovementDataSetType.json +++ b/JoinData/icarAnimalMovementDataSetType.json @@ -1,6 +1,6 @@ - "icarAnimalMovementDataSetType": { +{ "type": "array", "items": { - "$ref": "#/components/schemas/icarAnimalMovementType" + "$ref": "icarAnimalMovementType.json" } - }, + } diff --git a/JoinData/icarAnimalMovementType.json b/JoinData/icarAnimalMovementType.json index 18c71b9..d4d06c3 100644 --- a/JoinData/icarAnimalMovementType.json +++ b/JoinData/icarAnimalMovementType.json @@ -1,14 +1,14 @@ - "icarAnimalMovementType": { +{ "required": [ "arrival" ], "type": "object", "properties": { "arrival": { - "$ref": "#/components/schemas/icarArrivalCoreDataSetType" + "$ref": "icarArrivalCoreDataSetType.json" }, "departure": { - "$ref": "#/components/schemas/icarDepartureCoreDataSetType" + "$ref": "icarDepartureCoreDataSetType.json" } } - }, + } diff --git a/JoinData/icarAnimalMovementsSet.json b/JoinData/icarAnimalMovementsSet.json index a5c92f7..2227cb5 100644 --- a/JoinData/icarAnimalMovementsSet.json +++ b/JoinData/icarAnimalMovementsSet.json @@ -1,6 +1,6 @@ - "icarAnimalMovementsSet": { +{ "type": "array", "items": { - "$ref": "#/components/schemas/icarAnimalMovementType" + "$ref": "icarAnimalMovementType.json" } - }, +} diff --git a/JoinData/icarAnimalRegistrationBody.json b/JoinData/icarAnimalRegistrationBody.json index 94f958a..fd50fe0 100644 --- a/JoinData/icarAnimalRegistrationBody.json +++ b/JoinData/icarAnimalRegistrationBody.json @@ -1,4 +1,4 @@ - "icarAnimalRegistrationBody": { +{ "required": [ "identifier", "registrationDate", @@ -7,34 +7,34 @@ "type": "object", "properties": { "registrationType": { - "$ref": "#/components/schemas/registrationType" + "$ref": "registrationType.json" }, "registrationDate": { - "$ref": "#/components/schemas/icarDateType" + "$ref": "icarDateType.json" }, "identifier": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "animalIdentifier.json" }, "specie": { - "$ref": "#/components/schemas/icarSpecieCodeType" + "$ref": "icarSpecieCodeType.json" }, "gender": { - "$ref": "#/components/schemas/icarGenderCodeType" + "$ref": "icarGenderCodeType.json" }, "birth": { - "$ref": "#/components/schemas/icarDateType" + "$ref": "icarDateType.json" }, "breed": { - "$ref": "#/components/schemas/icarCodeType" + "$ref": "icarCodeType.json" }, "sire": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "animalIdentifier.json" }, "recipientDam": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "animalIdentifier.json" }, "geneticDam": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "animalIdentifier.json" }, "number": { "type": "string", @@ -53,7 +53,7 @@ "description": "The official name of the animal" }, "productionPurpose": { - "$ref": "#/components/schemas/icarProductionPurpose" + "$ref": "icarProductionPurpose.json" } } - }, + } diff --git a/JoinData/icarBiodiversityCollectiveType.json b/JoinData/icarBiodiversityCollectiveType.json index a9f681e..3fcb888 100644 --- a/JoinData/icarBiodiversityCollectiveType.json +++ b/JoinData/icarBiodiversityCollectiveType.json @@ -1,4 +1,4 @@ - "icarBiodiversityCollectiveType": { +{ "type": "object", "properties": { "id": { @@ -16,8 +16,8 @@ "reports": { "type": "array", "items": { - "$ref": "#/components/schemas/icarBiodiversityReport" + "$ref": "icarBiodiversityReportType" } } } - }, + } diff --git a/JoinData/icarBiodiversityReportType.json b/JoinData/icarBiodiversityReportType.json index b641c49..b44ea07 100644 --- a/JoinData/icarBiodiversityReportType.json +++ b/JoinData/icarBiodiversityReportType.json @@ -1,4 +1,4 @@ -"icarBiodiversityReportType": { +{ "type": "object", "properties": { "packetCode": { @@ -47,4 +47,4 @@ ] } } - }, \ No newline at end of file +} \ No newline at end of file diff --git a/JoinData/icarDairyGrazingSummariesType.json b/JoinData/icarDairyGrazingSummariesType.json index b1c8cf1..3eadd2b 100644 --- a/JoinData/icarDairyGrazingSummariesType.json +++ b/JoinData/icarDairyGrazingSummariesType.json @@ -1,6 +1,6 @@ -"icarDairyGrazingSummariesType": { +{ "type": "array", "items": { - "$ref": "#/components/schemas/icarDairyGrazingSummaryType" + "$ref": "icarDairyGrazingSummaryType.json" } - } \ No newline at end of file +} \ No newline at end of file diff --git a/JoinData/icarDairyGrazingSummaryType.json b/JoinData/icarDairyGrazingSummaryType.json index ba4308d..1bcb26c 100644 --- a/JoinData/icarDairyGrazingSummaryType.json +++ b/JoinData/icarDairyGrazingSummaryType.json @@ -1,4 +1,4 @@ - "icarDairyGrazingSummaryType": { +{ "required": [ "animalsGrazed", "animalsQualify", @@ -167,4 +167,4 @@ } }, "description": "Contains the dairy grazing information for a period." - }, \ No newline at end of file + } \ No newline at end of file diff --git a/JoinData/icarDateType.json b/JoinData/icarDateType.json index e6afc07..063034f 100644 --- a/JoinData/icarDateType.json +++ b/JoinData/icarDateType.json @@ -1,5 +1,5 @@ - "icarDateType": { +{ "type": "string", "description": "udt:DateType | A day of the month or year as specified by a number.", "format": "date" - }, +} diff --git a/JoinData/icarFeedIntakeType.json b/JoinData/icarFeedIntakeType.json index 19f563e..cdd5599 100644 --- a/JoinData/icarFeedIntakeType.json +++ b/JoinData/icarFeedIntakeType.json @@ -1,4 +1,4 @@ - "icarFeedIntakeType": { +{ "required": [ "identifier", "period" @@ -6,10 +6,10 @@ "type": "object", "properties": { "identifier": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "animalIdentifier.json" }, "period": { - "$ref": "#/components/schemas/icarPeriodType" + "$ref": "icarPeriodType.json" }, "entitlement": { "required": [ diff --git a/JoinData/icarFeedIntakesType.json b/JoinData/icarFeedIntakesType.json index 1da59b1..144352a 100644 --- a/JoinData/icarFeedIntakesType.json +++ b/JoinData/icarFeedIntakesType.json @@ -1,6 +1,6 @@ - "icarFeedIntakesType": { +{ "type": "array", "items": { - "$ref": "#/components/schemas/icarFeedIntakeType" + "$ref": "icarFeedIntakeType.json" } - }, + } diff --git a/JoinData/icarGestationType.json b/JoinData/icarGestationType.json index 86fb3bb..c584522 100644 --- a/JoinData/icarGestationType.json +++ b/JoinData/icarGestationType.json @@ -1,11 +1,11 @@ - "icarGestationType": { +{ "type": "object", "properties": { "dam": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "animalIdentifier.json" }, "sire": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "animalIdentifier.json" }, "expectedCalvingDate": { "type": "string", @@ -13,11 +13,11 @@ "format": "date-time" }, "sexedSemenCode": { - "$ref": "#/components/schemas/icarSexedSemenCode" + "$ref": "icarSexedSemenCode.json" }, "impregnationCode": { - "$ref": "#/components/schemas/icarImpregnationCode" + "$ref": "icarImpregnationCode.json" } }, "description": "Gives information about a gestation of a dam." - }, \ No newline at end of file + } \ No newline at end of file diff --git a/JoinData/icarGestationsType.json b/JoinData/icarGestationsType.json index 542e958..ff580c4 100644 --- a/JoinData/icarGestationsType.json +++ b/JoinData/icarGestationsType.json @@ -1,6 +1,6 @@ - "icarGestationsType": { +{ "type": "array", "items": { - "$ref": "#/components/schemas/icarGestationType" + "$ref": "icarGestationType.json" } - }, + } diff --git a/JoinData/icarHealthActivitiesType.json b/JoinData/icarHealthActivitiesType.json index e24bcbf..5ff71fd 100644 --- a/JoinData/icarHealthActivitiesType.json +++ b/JoinData/icarHealthActivitiesType.json @@ -1,6 +1,6 @@ -"icarHealthActivitiesType": { +{ "type": "array", "items": { - "$ref": "#/components/schemas/icarHealthActivityType" + "$ref": "icarHealthActivityType.json" } - }, \ No newline at end of file + } \ No newline at end of file diff --git a/JoinData/icarHealthActivityType.json b/JoinData/icarHealthActivityType.json index d0d133e..35cad4e 100644 --- a/JoinData/icarHealthActivityType.json +++ b/JoinData/icarHealthActivityType.json @@ -1,11 +1,11 @@ -"icarHealthActivityType": { +{ "required": [ "identifier" ], "type": "object", "properties": { "identifier": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "animalIdentifier.json" }, "timestamp": { "type": "string", @@ -13,8 +13,8 @@ "format": "date-time" }, "vendorSpecific": { - "$ref": "#/components/schemas/icarHealthActivityVendorSpecific" + "$ref": "icarHealthActivityVendorSpecific.json" } }, "description": "Gives information about health activity of cows on a location." - }, \ No newline at end of file + } \ No newline at end of file diff --git a/JoinData/icarHealthReportType.json b/JoinData/icarHealthReportType.json index 1b0c9d1..f307df7 100644 --- a/JoinData/icarHealthReportType.json +++ b/JoinData/icarHealthReportType.json @@ -1,11 +1,11 @@ - "icarHealthReportType": { +{ "required": [ "timestamp" ], "type": "object", "properties": { "identifier": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "animalIdentifier.json" }, "timestamp": { "type": "string", @@ -13,8 +13,8 @@ "format": "date-time" }, "vendorSpecific": { - "$ref": "#/components/schemas/icarHealthReportVendorSpecific" + "$ref": "icarHealthReportVendorSpecific.json" } }, "description": "Gives health information." - }, + } diff --git a/JoinData/icarHealthReportsType.json b/JoinData/icarHealthReportsType.json index 4a7ca39..4192ba9 100644 --- a/JoinData/icarHealthReportsType.json +++ b/JoinData/icarHealthReportsType.json @@ -1,6 +1,6 @@ - "icarHealthReportsType": { +{ "type": "array", "items": { - "$ref": "#/components/schemas/icarHealthReportType" + "$ref": "icarHealthReportType.json" } - }, + } diff --git a/JoinData/icarHeatActivitiesType.json b/JoinData/icarHeatActivitiesType.json index 3540250..808c878 100644 --- a/JoinData/icarHeatActivitiesType.json +++ b/JoinData/icarHeatActivitiesType.json @@ -1,7 +1,7 @@ - "icarHeatActivitiesType": { +{ "type": "array", "items": { - "$ref": "#/components/schemas/icarHeatActivityType" + "$ref": "icarHeatActivityType.json" } - }, + } \ No newline at end of file diff --git a/JoinData/icarHeatActivityType.json b/JoinData/icarHeatActivityType.json index 7c6787a..18844f6 100644 --- a/JoinData/icarHeatActivityType.json +++ b/JoinData/icarHeatActivityType.json @@ -1,11 +1,11 @@ - "icarHeatActivityType": { +{ "required": [ "identifier" ], "type": "object", "properties": { "identifier": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "animalIdentifier.json" }, "timestamp": { "type": "string", @@ -13,8 +13,8 @@ "format": "date-time" }, "vendorSpecific": { - "$ref": "#/components/schemas/icarHeatActivityVendorSpecific" + "$ref": "icarHeatActivityVendorSpecific.json" } }, "description": "Gives information about an in-heat activity of a dam." - }, + } From d02d2cf34ab5faa94cd70dbeb1074f3c0b0d7d52 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 16:29:50 +0200 Subject: [PATCH 07/31] started fixing references to schemas --- JoinData/v3 json all.json | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 1712494..87324b6 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -7,6 +7,7 @@ }, "servers": [ { + "url": "https://integration.join-data.net/api/broker/icar-ade/v1" "url": "https://production.join-data.net/api/broker/icar-ade/v1" } ], @@ -93,7 +94,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/icarMilkingVisitsResponse" + "$ref": "icarMilkingVisitsResponse.json" } } } @@ -4111,7 +4112,7 @@ "clientCredentials": { "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", "scopes": { - "fullaccess": "Full access to all resources" + "fullaccess": "Full access to all resources when mandate is available" } } } @@ -4124,19 +4125,7 @@ "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", "scopes": { - "fullaccess": "Full access to all resources" - } - } - } - }, - "jdImplicit": { - "type": "oauth2", - "description": "Secure access using implicit grant", - "flows": { - "implicit": { - "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", - "scopes": { - "fullaccess": "Full access to all resources" + "fullaccess": "Full access to all resources when mandate is available" } } } From 99543f4bd2121773db3e9645a8e6e69fba619fc5 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 17:45:28 +0200 Subject: [PATCH 08/31] more cleaning up --- ...eCode.json => icarAnimalIdSchemeCode.json} | 0 ...nimalIdType.json => icarAnimalIdType.json} | 0 ...ype.json => icarAnimalIdentifierType.json} | 0 ...on => icarAnimalRegistrationBodyType.json} | 0 JoinData/icarFeedIntakeType.json | 2 +- JoinData/icarGestationType.json | 4 +- JoinData/icarHealthActivityType.json | 2 +- JoinData/icarHealthReportType.json | 2 +- JoinData/icarHeatActivityType.json | 2 +- JoinData/icarHeatReportType.json | 2 +- JoinData/icarHerdListAnimalType.json | 2 +- JoinData/icarHerdListCoreDataSetType.json | 8 +- JoinData/icarHerdListMovementType.json | 2 +- JoinData/icarMilkIntakeType.json | 2 +- JoinData/icarMilkingVisitType.json | 2 +- JoinData/icarPregnancyCheckType.json | 24 +++ JoinData/icarSlaughterType.json | 2 +- JoinData/icarWaterIntakeType.json | 2 +- JoinData/icarWeightType.json | 2 +- JoinData/uncefactAddressFormatCode.json | 15 ++ JoinData/v3 json all.json | 204 ++++++------------ icar/jdError.json | 31 +++ 22 files changed, 154 insertions(+), 156 deletions(-) rename JoinData/{animalIdSchemeCode.json => icarAnimalIdSchemeCode.json} (100%) rename JoinData/{animalIdType.json => icarAnimalIdType.json} (100%) rename JoinData/{animalIdentifierType.json => icarAnimalIdentifierType.json} (100%) rename JoinData/{icarAnimalRegistrationBody.json => icarAnimalRegistrationBodyType.json} (100%) create mode 100644 JoinData/icarPregnancyCheckType.json create mode 100644 JoinData/uncefactAddressFormatCode.json create mode 100644 icar/jdError.json diff --git a/JoinData/animalIdSchemeCode.json b/JoinData/icarAnimalIdSchemeCode.json similarity index 100% rename from JoinData/animalIdSchemeCode.json rename to JoinData/icarAnimalIdSchemeCode.json diff --git a/JoinData/animalIdType.json b/JoinData/icarAnimalIdType.json similarity index 100% rename from JoinData/animalIdType.json rename to JoinData/icarAnimalIdType.json diff --git a/JoinData/animalIdentifierType.json b/JoinData/icarAnimalIdentifierType.json similarity index 100% rename from JoinData/animalIdentifierType.json rename to JoinData/icarAnimalIdentifierType.json diff --git a/JoinData/icarAnimalRegistrationBody.json b/JoinData/icarAnimalRegistrationBodyType.json similarity index 100% rename from JoinData/icarAnimalRegistrationBody.json rename to JoinData/icarAnimalRegistrationBodyType.json diff --git a/JoinData/icarFeedIntakeType.json b/JoinData/icarFeedIntakeType.json index cdd5599..94c9829 100644 --- a/JoinData/icarFeedIntakeType.json +++ b/JoinData/icarFeedIntakeType.json @@ -6,7 +6,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "period": { "$ref": "icarPeriodType.json" diff --git a/JoinData/icarGestationType.json b/JoinData/icarGestationType.json index c584522..7ed54f3 100644 --- a/JoinData/icarGestationType.json +++ b/JoinData/icarGestationType.json @@ -2,10 +2,10 @@ "type": "object", "properties": { "dam": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "sire": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "expectedCalvingDate": { "type": "string", diff --git a/JoinData/icarHealthActivityType.json b/JoinData/icarHealthActivityType.json index 35cad4e..d747201 100644 --- a/JoinData/icarHealthActivityType.json +++ b/JoinData/icarHealthActivityType.json @@ -5,7 +5,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "timestamp": { "type": "string", diff --git a/JoinData/icarHealthReportType.json b/JoinData/icarHealthReportType.json index f307df7..e3b5cfe 100644 --- a/JoinData/icarHealthReportType.json +++ b/JoinData/icarHealthReportType.json @@ -5,7 +5,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "timestamp": { "type": "string", diff --git a/JoinData/icarHeatActivityType.json b/JoinData/icarHeatActivityType.json index 18844f6..567241a 100644 --- a/JoinData/icarHeatActivityType.json +++ b/JoinData/icarHeatActivityType.json @@ -5,7 +5,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "timestamp": { "type": "string", diff --git a/JoinData/icarHeatReportType.json b/JoinData/icarHeatReportType.json index 4c4d165..31c4499 100644 --- a/JoinData/icarHeatReportType.json +++ b/JoinData/icarHeatReportType.json @@ -5,7 +5,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "timestamp": { "type": "string", diff --git a/JoinData/icarHerdListAnimalType.json b/JoinData/icarHerdListAnimalType.json index 406d42b..3586219 100644 --- a/JoinData/icarHerdListAnimalType.json +++ b/JoinData/icarHerdListAnimalType.json @@ -2,7 +2,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" } } } \ No newline at end of file diff --git a/JoinData/icarHerdListCoreDataSetType.json b/JoinData/icarHerdListCoreDataSetType.json index e80bb39..a74a222 100644 --- a/JoinData/icarHerdListCoreDataSetType.json +++ b/JoinData/icarHerdListCoreDataSetType.json @@ -5,7 +5,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "specie": { "$ref": "icarSpecieCode.json" @@ -20,13 +20,13 @@ "$ref": "icarCodeType.json" }, "sire": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "recipientDam": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "geneticDam": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "number": { "type": "string", diff --git a/JoinData/icarHerdListMovementType.json b/JoinData/icarHerdListMovementType.json index b32fcf7..cb403d2 100644 --- a/JoinData/icarHerdListMovementType.json +++ b/JoinData/icarHerdListMovementType.json @@ -2,7 +2,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "animalMovementDataSet": { "$ref": "icarAnimalMovementsSet.json" diff --git a/JoinData/icarMilkIntakeType.json b/JoinData/icarMilkIntakeType.json index c98cf31..ea0a683 100644 --- a/JoinData/icarMilkIntakeType.json +++ b/JoinData/icarMilkIntakeType.json @@ -6,7 +6,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "period": { "$ref": "icarPeriodType.json" diff --git a/JoinData/icarMilkingVisitType.json b/JoinData/icarMilkingVisitType.json index f1de705..08c29c7 100644 --- a/JoinData/icarMilkingVisitType.json +++ b/JoinData/icarMilkingVisitType.json @@ -11,7 +11,7 @@ "description": "A unique identifier for this location for the milking visit message" }, "animal": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "milkingStartingDateTime": { "$ref": "icarDateTimeType.json" diff --git a/JoinData/icarPregnancyCheckType.json b/JoinData/icarPregnancyCheckType.json new file mode 100644 index 0000000..99b425e --- /dev/null +++ b/JoinData/icarPregnancyCheckType.json @@ -0,0 +1,24 @@ +{ + "required": [ + "date", + "result" + ], + "type": "object", + "properties": { + "identifier": { + "$ref": "animalIdentifier.json" + }, + "date": { + "type": "string", + "description": "The date on which the pregnancy check has occurred.", + "format": "date" + }, + "result": { + "$ref": "icarPregnancyCheckCode.json" + }, + "method": { + "$ref": "icarPregnancyCheckMethodCode.json" + } + }, + "description": "Gives information about a pregnancy check event." + } \ No newline at end of file diff --git a/JoinData/icarSlaughterType.json b/JoinData/icarSlaughterType.json index 4003a3e..b6d79f2 100644 --- a/JoinData/icarSlaughterType.json +++ b/JoinData/icarSlaughterType.json @@ -18,7 +18,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "slaughterHouseIdentifier": { "$ref": "companyIdentifier.json" diff --git a/JoinData/icarWaterIntakeType.json b/JoinData/icarWaterIntakeType.json index b47de91..7cbb0d3 100644 --- a/JoinData/icarWaterIntakeType.json +++ b/JoinData/icarWaterIntakeType.json @@ -6,7 +6,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "icarAnimalIdentifierType.json" }, "period": { "$ref": "icarPeriodType.json" diff --git a/JoinData/icarWeightType.json b/JoinData/icarWeightType.json index 623fdec..37bd507 100644 --- a/JoinData/icarWeightType.json +++ b/JoinData/icarWeightType.json @@ -2,7 +2,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "animalIdentifierType.json" + "$ref": "icarAnimalIdentifierType.json" }, "timestamp": { "type": "string", diff --git a/JoinData/uncefactAddressFormatCode.json b/JoinData/uncefactAddressFormatCode.json new file mode 100644 index 0000000..509c6ca --- /dev/null +++ b/JoinData/uncefactAddressFormatCode.json @@ -0,0 +1,15 @@ +{ + "type": "integer", + "description": "A mutually agreed code signifying the format of this address.\n* `1` - Street name followed by number. Address street name followed by address number.\n* `2` - Number, road type, road name in this sequence. House number followed bytype of road and name of the road.\n* `3` - Road type, road name, number in this sequence. Type of the road followed by name of the road and the house number.\n* `4` - Post office box. Post office box.\n* `5` - Unstructured address. Unstructured address, comprising an unspecified mix of components.\n* `6` - Street name followed by number, building, suite. Identifies the address component as street name followed by number, building, and suite in this sequence.\n* `7` - Rural route number. Identifies the address component as the rural route number.\n* `8` - Post office drawer number. Identifies the address component as the post office drawer.\n* `9` - Building name followed by suite. Identifies the address component as building followed by suite.\n", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + } \ No newline at end of file diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 87324b6..8f92de5 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -7,8 +7,7 @@ }, "servers": [ { - "url": "https://integration.join-data.net/api/broker/icar-ade/v1" - "url": "https://production.join-data.net/api/broker/icar-ade/v1" + "url": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/" } ], "security": [ @@ -21,11 +20,6 @@ "jdAuthorizationCode": [ "fullaccess" ] - }, - { - "jdImplicit": [ - "fullaccess" - ] } ], "tags": [ @@ -1198,7 +1192,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/icarAnimalRegistrationBody" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalRegistrationBodyType.json" } } }, @@ -2329,39 +2323,15 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarPregnancyChecksType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPregnancyChecksType.json" } } }, - "icarPregnancyCheckType": { - "required": [ - "date", - "result" - ], - "type": "object", - "properties": { - "identifier": { - "$ref": "#/components/schemas/animalIdentifier" - }, - "date": { - "type": "string", - "description": "The date on which the pregnancy check has occurred.", - "format": "date" - }, - "result": { - "$ref": "#/components/schemas/icarPregnancyCheckCodeType" - }, - "method": { - "$ref": "#/components/schemas/icarPregnancyCheckMethodCode" - } - }, - "description": "Gives information about a pregnancy check event." - }, "icarHeatReportsResponseDataSource": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarHeatReportsType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatReportsType.json" } } }, @@ -2378,7 +2348,6 @@ } ] }, - "icarHerdListMovementsResponse": { "type": "array", "items": { @@ -2443,7 +2412,7 @@ "type": "object", "properties": { "departureDate": { - "$ref": "#/components/schemas/icarDateType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" } }, "description": "not completely implemented yet!" @@ -2451,7 +2420,7 @@ "uncefactAddressesResponse": { "type": "array", "items": { - "$ref": "#/components/schemas/uncefactAddress" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddress.json" } }, "icarAnimalRegistration": { @@ -2468,34 +2437,34 @@ "format": "uuid" }, "registrationType": { - "$ref": "#/components/schemas/registrationType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/registrationType.json" }, "registrationDate": { - "$ref": "#/components/schemas/icarDateType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" }, "identifier": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "specie": { - "$ref": "#/components/schemas/icarSpecieCodeType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSpecieCodeType.json" }, "gender": { - "$ref": "#/components/schemas/icarGenderCodeType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGenderCodeType.json" }, "birth": { - "$ref": "#/components/schemas/icarDateType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" }, "breed": { - "$ref": "#/components/schemas/icarCodeType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCodeType.json" }, "sire": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "recipientDam": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "geneticDam": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "number": { "type": "string", @@ -2514,7 +2483,7 @@ "description": "The official name of the animal" }, "productionPurpose": { - "$ref": "#/components/schemas/icarProductionPurpose" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarProductionPurpose.json" } } }, @@ -2525,7 +2494,7 @@ "type": "object", "properties": { "arrivalDate": { - "$ref": "#/components/schemas/icarDateType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" } }, "description": "not completely implemented yet!" @@ -2841,10 +2810,10 @@ "description": "Contains the unique id of the tag" }, "animal": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "statusCode": { - "$ref": "#/components/schemas/icarIdentificationTagStatusCode" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarIdentificationTagStatusCode.json" }, "statusMessage": { "type": "string" @@ -2855,7 +2824,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarMilkDeliveriesType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveriesType.json" } } }, @@ -2876,7 +2845,7 @@ "collectives": { "type": "array", "items": { - "$ref": "#/components/schemas/icarBiodiversityCollective" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityCollective.json" } } } @@ -2930,7 +2899,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarWaterIntakesType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWaterIntakesType.json" } } }, @@ -2989,31 +2958,31 @@ "type": "object", "properties": { "dam": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "date": { - "$ref": "#/components/schemas/icarDateType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" }, "sire": { - "$ref": "#/components/schemas/animalIdentifier" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "chargeNumber": { - "$ref": "#/components/schemas/icarChargeNumber" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarChargeNumber.json" }, "forFlushing": { - "$ref": "#/components/schemas/icarForFlushing" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarForFlushing.json" }, "technician": { - "$ref": "#/components/schemas/icarTechnician" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTechnician.json" }, "semenOfOwnStock": { - "$ref": "#/components/schemas/icarSemenOfOwnStock" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSemenOfOwnStock.json" }, "sexedSemenType": { - "$ref": "#/components/schemas/icarSexedSemenCode" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSexedSemenCode.json" }, "sharedSemenUsed": { - "$ref": "#/components/schemas/icarSharedSemenUsed" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSharedSemenUsed.json" } }, "description": "Gives information about an insemination of a dam." @@ -3060,9 +3029,6 @@ } ] }, - - - "icarHerdListCoreDataSetResponse": { "type": "array", "items": { @@ -3074,9 +3040,6 @@ "description": "Indication whether the cow was inseminated for flushing.", "default": false }, - - - "icarMilkDeliveriesResponse": { "type": "array", "items": { @@ -3125,10 +3088,16 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarMilkCharacteristicsTypes" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkCharacteristicsTypes.json" } } }, + "icarHealthReportsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHealthReportsResponseDataSources" + } + }, "icarHealthReportsResponseDataSources": { "allOf": [ { @@ -3142,12 +3111,11 @@ } ] }, - "icarDairyGrazingSummariesResponseDataSource": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarDairyGrazingSummariesType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDairyGrazingSummariesType.json" } } }, @@ -3155,7 +3123,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarFeedIntakesType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarFeedIntakesType.json" } } }, @@ -3163,26 +3131,10 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarGestationsType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGestationsType.json" } } }, - - "uncefactAddressFormatCode": { - "type": "integer", - "description": "A mutually agreed code signifying the format of this address.\n* `1` - Street name followed by number. Address street name followed by address number.\n* `2` - Number, road type, road name in this sequence. House number followed bytype of road and name of the road.\n* `3` - Road type, road name, number in this sequence. Type of the road followed by name of the road and the house number.\n* `4` - Post office box. Post office box.\n* `5` - Unstructured address. Unstructured address, comprising an unspecified mix of components.\n* `6` - Street name followed by number, building, suite. Identifies the address component as street name followed by number, building, and suite in this sequence.\n* `7` - Rural route number. Identifies the address component as the rural route number.\n* `8` - Post office drawer number. Identifies the address component as the post office drawer.\n* `9` - Building name followed by suite. Identifies the address component as building followed by suite.\n", - "enum": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ] - }, "icarHealthActivitiesResponseDataSources": { "allOf": [ { @@ -3276,12 +3228,11 @@ }, "description": "Specific fields for SCR SenseTime" }, - "icarHerdListMovementsResponseDataSource": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarHerdListMovementsType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListMovementsType.json" } } }, @@ -3302,7 +3253,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarSlaughtersType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSlaughtersType.json" } } }, @@ -3315,14 +3266,12 @@ 3 ] }, - "icarAnimalMilkingSampleResponse": { "type": "array", "items": { "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSources" } }, - "icarMilkDeliveryQualityReportsResponseDataSources": { "allOf": [ { @@ -3372,11 +3321,10 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarHealthActivitiesType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthActivitiesType.json" } } }, - "icarTeatPositionsResponseDataSources": { "allOf": [ { @@ -3394,7 +3342,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarMilkIntakesType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkIntakesType.json" } } }, @@ -3415,7 +3363,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarHeatActivitiesType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatActivitiesType.json" } } }, @@ -3436,19 +3384,16 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarQuarterMilkingsTypes" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingsTypes.json" } } }, - - "icarHealthActivitiesResponse": { "type": "array", "items": { "$ref": "#/components/schemas/icarHealthActivitiesResponseDataSources" } }, - "icarHerdListResponse": { "type": "array", "items": { @@ -3515,7 +3460,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarTeatPositionsTypes" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsTypes.json" } } }, @@ -3529,22 +3474,6 @@ "type": "string", "description": "A string which (in combination with a scheme) uniquely identifies an animal." }, - "animalIdentifier": { - "required": [ - "id", - "scheme" - ], - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/animalId" - }, - "scheme": { - "$ref": "#/components/schemas/animalIdScheme" - } - }, - "description": "Identifies an animal" - }, "icarBiodiversityReportsResponse": { "$ref": "#/components/schemas/icarBiodiversityReports" }, @@ -3552,7 +3481,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarHerdListAnimalsType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListAnimalsType.json" } } }, @@ -3560,7 +3489,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarMilkingVisitType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkingVisitType.json" } } }, @@ -3568,7 +3497,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarIdentificationTagsType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarIdentificationTagsType.json" } } }, @@ -3633,16 +3562,15 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarMilkInvoicesType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoicesType.json" } } }, - "icarInseminationsResponseDataSource": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarInseminationsType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarInseminationsType.json" } } }, @@ -3692,7 +3620,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarHerdListCoreDataSetsType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListCoreDataSetsType.json" } } }, @@ -3722,10 +3650,10 @@ "type": "object", "properties": { "id": { - "$ref": "#/components/schemas/companyId" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/companyId.json" }, "scheme": { - "$ref": "#/components/schemas/companyIdScheme" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/companyIdScheme.json" } }, "description": "Identifies a company" @@ -3744,10 +3672,10 @@ "description": "An identifier for this address within an agreed scheme of address identifiers." }, "addressTypeCode": { - "$ref": "#/components/schemas/uncefactAddressTypeCode" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressTypeCode.json" }, "addressFormatCode": { - "$ref": "#/components/schemas/uncefactAddressFormatCode" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressFormatCode.json" }, "postbox": { "type": "string", @@ -3900,7 +3828,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarWeightsType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWeightsType.json" } } }, @@ -3908,7 +3836,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveryQualityReportsType.json" } } }, @@ -3925,7 +3853,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarHealthReportsType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthReportsType.json" } } }, @@ -3939,7 +3867,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarMilkInvoiceItemsType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoiceItemsType.json" } } }, @@ -3947,7 +3875,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarAnimalMilkingSampleType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMilkingSampleType.json" } } }, @@ -3962,8 +3890,8 @@ "items": { "$ref": "#/components/schemas/icarDairyGrazingSummariesResponseDataSources" } - }, - + } + }, "responses": { "error": { "description": "An error has occurred while handling the request. Check the content of the message for the error details.", diff --git a/icar/jdError.json b/icar/jdError.json new file mode 100644 index 0000000..51fa5b8 --- /dev/null +++ b/icar/jdError.json @@ -0,0 +1,31 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A unique identifier for this particular occurrence of the problem" + }, + "status": { + "type": "integer", + "description": "The HTTP status code applicable to this problem, expressed as a string value", + "format": "int32" + }, + "code": { + "type": "string", + "description": "An application-specific error code, expressed as a string value." + }, + "title": { + "type": "string", + "description": "A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization." + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized." + }, + "meta": { + "type": "object", + "properties": {} + } + }, + "description": "A human-readable error message describing what went wrong." + } From a1576b9fd03e7cd1b7badd36d403d26138a5c34e Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 17:48:19 +0200 Subject: [PATCH 09/31] fixed refs --- JoinData/icarAnimalIdentifierType.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/JoinData/icarAnimalIdentifierType.json b/JoinData/icarAnimalIdentifierType.json index 1826420..c595bc3 100644 --- a/JoinData/icarAnimalIdentifierType.json +++ b/JoinData/icarAnimalIdentifierType.json @@ -6,10 +6,10 @@ "type": "object", "properties": { "id": { - "$ref": "animalIdType.json" + "$ref": "icarAnimalIdType.json" }, "scheme": { - "$ref": "animalIdSchemeCode.json" + "$ref": "icarAnimalIdSchemeCode.json" } }, "description": "Identifies an animal" From 3231c6e209ac8abf2f1fb42b3eabb891666cf08a Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 17:52:06 +0200 Subject: [PATCH 10/31] hardcoded urls since tool doesnt understand relative links --- JoinData/icarAnimalIdentifierType.json | 4 ++-- JoinData/icarHerdListAnimalType.json | 2 +- JoinData/icarHerdListAnimalsType.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/JoinData/icarAnimalIdentifierType.json b/JoinData/icarAnimalIdentifierType.json index c595bc3..122045f 100644 --- a/JoinData/icarAnimalIdentifierType.json +++ b/JoinData/icarAnimalIdentifierType.json @@ -6,10 +6,10 @@ "type": "object", "properties": { "id": { - "$ref": "icarAnimalIdType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdType.json" }, "scheme": { - "$ref": "icarAnimalIdSchemeCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdSchemeCode.json" } }, "description": "Identifies an animal" diff --git a/JoinData/icarHerdListAnimalType.json b/JoinData/icarHerdListAnimalType.json index 3586219..5874675 100644 --- a/JoinData/icarHerdListAnimalType.json +++ b/JoinData/icarHerdListAnimalType.json @@ -2,7 +2,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" } } } \ No newline at end of file diff --git a/JoinData/icarHerdListAnimalsType.json b/JoinData/icarHerdListAnimalsType.json index d0041c6..4c25a74 100644 --- a/JoinData/icarHerdListAnimalsType.json +++ b/JoinData/icarHerdListAnimalsType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarHerdListAnimalType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListAnimalType.json" } } \ No newline at end of file From 39f1f16760cb91dfd3a828fb4b2f06da34d64ef7 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 18:07:48 +0200 Subject: [PATCH 11/31] used hardcoded refs for now to get to a stable situation --- JoinData/icarAnimalMovementDataSetType.json | 2 +- JoinData/icarAnimalMovementType.json | 4 +- JoinData/icarAnimalMovementsSet.json | 2 +- JoinData/icarBiodiversityCollectiveType.json | 2 +- JoinData/icarChargeNumber.json | 4 ++ JoinData/icarDairyGrazingSummariesType.json | 2 +- JoinData/icarFeedIntakeType.json | 4 +- JoinData/icarFeedIntakesType.json | 2 +- JoinData/icarForFlushing.json | 5 ++ JoinData/icarGestationType.json | 8 +-- JoinData/icarGestationsType.json | 2 +- JoinData/icarHealthActivitiesType.json | 2 +- JoinData/icarHealthActivityType.json | 4 +- JoinData/icarHealthReportType.json | 4 +- JoinData/icarHealthReportsType.json | 2 +- JoinData/icarHeatActivitiesType.json | 2 +- JoinData/icarHeatActivityType.json | 4 +- JoinData/icarHeatReportType.json | 6 +-- JoinData/icarHeatReportsType.json | 2 +- JoinData/icarHerdListCoreDataSetType.json | 18 +++---- JoinData/icarHerdListCoreDataSetsType.json | 2 +- JoinData/icarHerdListMovementType.json | 4 +- JoinData/icarHerdListMovementsType.json | 2 +- JoinData/icarIdentificationTagsType.json | 2 +- JoinData/icarImpregnationCode.json | 10 ++++ JoinData/icarInseminationType.json | 33 ++++++++++++ JoinData/icarInseminationsType.json | 2 +- JoinData/icarMilkCharacteristicsTypes.json | 2 +- JoinData/icarMilkDeliveriesType.json | 2 +- .../icarMilkDeliveryQualityReportsType.json | 4 +- JoinData/icarMilkIntakeType.json | 6 +-- JoinData/icarMilkIntakesType.json | 2 +- JoinData/icarMilkInvoiceItemType.json | 2 +- JoinData/icarMilkInvoiceItemsType.json | 2 +- JoinData/icarMilkInvoiceType.json | 2 +- JoinData/icarMilkInvoicesType.json | 2 +- JoinData/icarMilkingVisitType.json | 4 +- JoinData/icarPeriodType.json | 4 +- JoinData/icarPregnancyChecksType.json | 2 +- JoinData/icarQuarterMilkingType.json | 10 ++-- JoinData/icarQuarterMilkingsTypes.json | 2 +- JoinData/icarSlaughterType.json | 12 ++--- JoinData/icarSlaughtersType.json | 2 +- JoinData/icarTeatPositionsType.json | 4 +- JoinData/icarTeatPositionsTypes.json | 2 +- JoinData/icarWaterIntakeType.json | 4 +- JoinData/icarWaterIntakesType.json | 2 +- JoinData/icarWeightType.json | 2 +- JoinData/icarWeightsType.json | 2 +- JoinData/v3 json all.json | 53 +------------------ 50 files changed, 133 insertions(+), 132 deletions(-) create mode 100644 JoinData/icarChargeNumber.json create mode 100644 JoinData/icarForFlushing.json create mode 100644 JoinData/icarImpregnationCode.json create mode 100644 JoinData/icarInseminationType.json diff --git a/JoinData/icarAnimalMovementDataSetType.json b/JoinData/icarAnimalMovementDataSetType.json index 9b6aa6a..b94d491 100644 --- a/JoinData/icarAnimalMovementDataSetType.json +++ b/JoinData/icarAnimalMovementDataSetType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarAnimalMovementType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMovementType.json" } } diff --git a/JoinData/icarAnimalMovementType.json b/JoinData/icarAnimalMovementType.json index d4d06c3..fe8abbc 100644 --- a/JoinData/icarAnimalMovementType.json +++ b/JoinData/icarAnimalMovementType.json @@ -5,10 +5,10 @@ "type": "object", "properties": { "arrival": { - "$ref": "icarArrivalCoreDataSetType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarArrivalCoreDataSetType.json" }, "departure": { - "$ref": "icarDepartureCoreDataSetType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDepartureCoreDataSetType.json" } } } diff --git a/JoinData/icarAnimalMovementsSet.json b/JoinData/icarAnimalMovementsSet.json index 2227cb5..9662c86 100644 --- a/JoinData/icarAnimalMovementsSet.json +++ b/JoinData/icarAnimalMovementsSet.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarAnimalMovementType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMovementType.json" } } diff --git a/JoinData/icarBiodiversityCollectiveType.json b/JoinData/icarBiodiversityCollectiveType.json index 3fcb888..f38c2a9 100644 --- a/JoinData/icarBiodiversityCollectiveType.json +++ b/JoinData/icarBiodiversityCollectiveType.json @@ -16,7 +16,7 @@ "reports": { "type": "array", "items": { - "$ref": "icarBiodiversityReportType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityReportType" } } } diff --git a/JoinData/icarChargeNumber.json b/JoinData/icarChargeNumber.json new file mode 100644 index 0000000..fdbea52 --- /dev/null +++ b/JoinData/icarChargeNumber.json @@ -0,0 +1,4 @@ +{ + "type": "string", + "description": "The number of the batch of the production of the semen." +} diff --git a/JoinData/icarDairyGrazingSummariesType.json b/JoinData/icarDairyGrazingSummariesType.json index 3eadd2b..1e68933 100644 --- a/JoinData/icarDairyGrazingSummariesType.json +++ b/JoinData/icarDairyGrazingSummariesType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarDairyGrazingSummaryType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDairyGrazingSummaryType.json" } } \ No newline at end of file diff --git a/JoinData/icarFeedIntakeType.json b/JoinData/icarFeedIntakeType.json index 94c9829..1c848cc 100644 --- a/JoinData/icarFeedIntakeType.json +++ b/JoinData/icarFeedIntakeType.json @@ -6,10 +6,10 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "period": { - "$ref": "icarPeriodType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPeriodType.json" }, "entitlement": { "required": [ diff --git a/JoinData/icarFeedIntakesType.json b/JoinData/icarFeedIntakesType.json index 144352a..626fc0a 100644 --- a/JoinData/icarFeedIntakesType.json +++ b/JoinData/icarFeedIntakesType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarFeedIntakeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarFeedIntakeType.json" } } diff --git a/JoinData/icarForFlushing.json b/JoinData/icarForFlushing.json new file mode 100644 index 0000000..62e6ee3 --- /dev/null +++ b/JoinData/icarForFlushing.json @@ -0,0 +1,5 @@ +{ + "type": "boolean", + "description": "Indication whether the cow was inseminated for flushing.", + "default": false + } diff --git a/JoinData/icarGestationType.json b/JoinData/icarGestationType.json index 7ed54f3..ffa7f8c 100644 --- a/JoinData/icarGestationType.json +++ b/JoinData/icarGestationType.json @@ -2,10 +2,10 @@ "type": "object", "properties": { "dam": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "sire": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "expectedCalvingDate": { "type": "string", @@ -13,10 +13,10 @@ "format": "date-time" }, "sexedSemenCode": { - "$ref": "icarSexedSemenCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSexedSemenCode.json" }, "impregnationCode": { - "$ref": "icarImpregnationCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarImpregnationCode.json" } }, "description": "Gives information about a gestation of a dam." diff --git a/JoinData/icarGestationsType.json b/JoinData/icarGestationsType.json index ff580c4..7dd668f 100644 --- a/JoinData/icarGestationsType.json +++ b/JoinData/icarGestationsType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarGestationType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGestationType.json" } } diff --git a/JoinData/icarHealthActivitiesType.json b/JoinData/icarHealthActivitiesType.json index 5ff71fd..507c0f5 100644 --- a/JoinData/icarHealthActivitiesType.json +++ b/JoinData/icarHealthActivitiesType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarHealthActivityType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthActivityType.json" } } \ No newline at end of file diff --git a/JoinData/icarHealthActivityType.json b/JoinData/icarHealthActivityType.json index d747201..2d7ddb8 100644 --- a/JoinData/icarHealthActivityType.json +++ b/JoinData/icarHealthActivityType.json @@ -5,7 +5,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "timestamp": { "type": "string", @@ -13,7 +13,7 @@ "format": "date-time" }, "vendorSpecific": { - "$ref": "icarHealthActivityVendorSpecific.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthActivityVendorSpecific.json" } }, "description": "Gives information about health activity of cows on a location." diff --git a/JoinData/icarHealthReportType.json b/JoinData/icarHealthReportType.json index e3b5cfe..2163b8c 100644 --- a/JoinData/icarHealthReportType.json +++ b/JoinData/icarHealthReportType.json @@ -5,7 +5,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "timestamp": { "type": "string", @@ -13,7 +13,7 @@ "format": "date-time" }, "vendorSpecific": { - "$ref": "icarHealthReportVendorSpecific.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthReportVendorSpecific.json" } }, "description": "Gives health information." diff --git a/JoinData/icarHealthReportsType.json b/JoinData/icarHealthReportsType.json index 4192ba9..37cae54 100644 --- a/JoinData/icarHealthReportsType.json +++ b/JoinData/icarHealthReportsType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarHealthReportType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthReportType.json" } } diff --git a/JoinData/icarHeatActivitiesType.json b/JoinData/icarHeatActivitiesType.json index 808c878..7bf8d1a 100644 --- a/JoinData/icarHeatActivitiesType.json +++ b/JoinData/icarHeatActivitiesType.json @@ -1,7 +1,7 @@ { "type": "array", "items": { - "$ref": "icarHeatActivityType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatActivityType.json" } } \ No newline at end of file diff --git a/JoinData/icarHeatActivityType.json b/JoinData/icarHeatActivityType.json index 567241a..17fe88c 100644 --- a/JoinData/icarHeatActivityType.json +++ b/JoinData/icarHeatActivityType.json @@ -5,7 +5,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "timestamp": { "type": "string", @@ -13,7 +13,7 @@ "format": "date-time" }, "vendorSpecific": { - "$ref": "icarHeatActivityVendorSpecific.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatActivityVendorSpecific.json" } }, "description": "Gives information about an in-heat activity of a dam." diff --git a/JoinData/icarHeatReportType.json b/JoinData/icarHeatReportType.json index 31c4499..0425e8c 100644 --- a/JoinData/icarHeatReportType.json +++ b/JoinData/icarHeatReportType.json @@ -5,7 +5,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "timestamp": { "type": "string", @@ -13,10 +13,10 @@ "format": "date-time" }, "method": { - "$ref": "icarHeatDetectionMethodCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatDetectionMethodCode.json" }, "vendorSpecific": { - "$ref": "icarHeatReportVendorSpecific.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatReportVendorSpecific.json" } }, "description": "Gives information about an in-heat detection of a dam." diff --git a/JoinData/icarHeatReportsType.json b/JoinData/icarHeatReportsType.json index b403703..391c7da 100644 --- a/JoinData/icarHeatReportsType.json +++ b/JoinData/icarHeatReportsType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarHeatReportType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatReportType.json" } } diff --git a/JoinData/icarHerdListCoreDataSetType.json b/JoinData/icarHerdListCoreDataSetType.json index a74a222..ccd3a79 100644 --- a/JoinData/icarHerdListCoreDataSetType.json +++ b/JoinData/icarHerdListCoreDataSetType.json @@ -5,28 +5,28 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "specie": { - "$ref": "icarSpecieCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSpecieCode.json" }, "gender": { - "$ref": "icarGenderCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGenderCode.json" }, "birth": { - "$ref": "icarDateType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" }, "breed": { - "$ref": "icarCodeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCodeType.json" }, "sire": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "recipientDam": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "geneticDam": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "number": { "type": "string", @@ -45,7 +45,7 @@ "description": "The official name of the animal" }, "productionPurpose": { - "$ref": "icarProductionPurposeCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarProductionPurposeCode.json" } } } \ No newline at end of file diff --git a/JoinData/icarHerdListCoreDataSetsType.json b/JoinData/icarHerdListCoreDataSetsType.json index d0a3c36..5259cd8 100644 --- a/JoinData/icarHerdListCoreDataSetsType.json +++ b/JoinData/icarHerdListCoreDataSetsType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarHerdListCoreDataSetType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListCoreDataSetType.json" } } diff --git a/JoinData/icarHerdListMovementType.json b/JoinData/icarHerdListMovementType.json index cb403d2..fae44b2 100644 --- a/JoinData/icarHerdListMovementType.json +++ b/JoinData/icarHerdListMovementType.json @@ -2,10 +2,10 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "animalMovementDataSet": { - "$ref": "icarAnimalMovementsSet.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMovementsType.json" } } } diff --git a/JoinData/icarHerdListMovementsType.json b/JoinData/icarHerdListMovementsType.json index 87f13b2..2dfe3a4 100644 --- a/JoinData/icarHerdListMovementsType.json +++ b/JoinData/icarHerdListMovementsType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarHerdListMovementType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListMovementType.json" } } \ No newline at end of file diff --git a/JoinData/icarIdentificationTagsType.json b/JoinData/icarIdentificationTagsType.json index 7b18cfb..46a8ccf 100644 --- a/JoinData/icarIdentificationTagsType.json +++ b/JoinData/icarIdentificationTagsType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarIdentificationTagType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarIdentificationTagType.json" } } diff --git a/JoinData/icarImpregnationCode.json b/JoinData/icarImpregnationCode.json new file mode 100644 index 0000000..3a21dd1 --- /dev/null +++ b/JoinData/icarImpregnationCode.json @@ -0,0 +1,10 @@ +{ + "type": "string", + "description": "Defines the type of the last impregnation event; can be -I- for insemination, -N- for natural service, -R- for running with the bull or -M- for implantation. \n", + "enum": [ + "I", + "N", + "R", + "M" + ] +} \ No newline at end of file diff --git a/JoinData/icarInseminationType.json b/JoinData/icarInseminationType.json new file mode 100644 index 0000000..3d90d53 --- /dev/null +++ b/JoinData/icarInseminationType.json @@ -0,0 +1,33 @@ +{ + "type": "object", + "properties": { + "dam": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" + }, + "date": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" + }, + "sire": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" + }, + "chargeNumber": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarChargeNumber.json" + }, + "forFlushing": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarForFlushing.json" + }, + "technician": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTechnician.json" + }, + "semenOfOwnStock": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSemenOfOwnStock.json" + }, + "sexedSemenType": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSexedSemenCode.json" + }, + "sharedSemenUsed": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSharedSemenUsed.json" + } + }, + "description": "Gives information about an insemination of a dam." +} \ No newline at end of file diff --git a/JoinData/icarInseminationsType.json b/JoinData/icarInseminationsType.json index 0623b6f..1082e36 100644 --- a/JoinData/icarInseminationsType.json +++ b/JoinData/icarInseminationsType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarInseminationType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarInseminationType.json" } } diff --git a/JoinData/icarMilkCharacteristicsTypes.json b/JoinData/icarMilkCharacteristicsTypes.json index 74388d9..62f2839 100644 --- a/JoinData/icarMilkCharacteristicsTypes.json +++ b/JoinData/icarMilkCharacteristicsTypes.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarMilkCharacteristicsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkCharacteristicsType.json" } } diff --git a/JoinData/icarMilkDeliveriesType.json b/JoinData/icarMilkDeliveriesType.json index 57abcf0..a60434f 100644 --- a/JoinData/icarMilkDeliveriesType.json +++ b/JoinData/icarMilkDeliveriesType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarMilkDeliveryType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveryType.json" } } diff --git a/JoinData/icarMilkDeliveryQualityReportsType.json b/JoinData/icarMilkDeliveryQualityReportsType.json index 16b3114..2c18132 100644 --- a/JoinData/icarMilkDeliveryQualityReportsType.json +++ b/JoinData/icarMilkDeliveryQualityReportsType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarMilkDeliveryQualityReportType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveryQualityReportType.json" } - }, \ No newline at end of file + } \ No newline at end of file diff --git a/JoinData/icarMilkIntakeType.json b/JoinData/icarMilkIntakeType.json index ea0a683..0508c5e 100644 --- a/JoinData/icarMilkIntakeType.json +++ b/JoinData/icarMilkIntakeType.json @@ -6,10 +6,10 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "period": { - "$ref": "icarPeriodType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPeriodType.json" }, "entitlement": { "required": [ @@ -58,7 +58,7 @@ "additives": { "type": "array", "items": { - "$ref": "icarMilkIntakeAdditive.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkIntakeAdditive.json" } } }, diff --git a/JoinData/icarMilkIntakesType.json b/JoinData/icarMilkIntakesType.json index b857da7..1142db4 100644 --- a/JoinData/icarMilkIntakesType.json +++ b/JoinData/icarMilkIntakesType.json @@ -1,7 +1,7 @@ { "type": "array", "items": { - "$ref": "icarMilkIntakeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkIntakeType.json" } } \ No newline at end of file diff --git a/JoinData/icarMilkInvoiceItemType.json b/JoinData/icarMilkInvoiceItemType.json index 890feb5..60e6075 100644 --- a/JoinData/icarMilkInvoiceItemType.json +++ b/JoinData/icarMilkInvoiceItemType.json @@ -16,7 +16,7 @@ "description": "201088" }, "period": { - "$ref": "icarPeriodType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPeriodType.json" }, "description": { "type": "string", diff --git a/JoinData/icarMilkInvoiceItemsType.json b/JoinData/icarMilkInvoiceItemsType.json index 7f5d0fc..1c2a900 100644 --- a/JoinData/icarMilkInvoiceItemsType.json +++ b/JoinData/icarMilkInvoiceItemsType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarMilkInvoiceItemType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoiceItemType.json" } } diff --git a/JoinData/icarMilkInvoiceType.json b/JoinData/icarMilkInvoiceType.json index 6fae7e1..0b6a203 100644 --- a/JoinData/icarMilkInvoiceType.json +++ b/JoinData/icarMilkInvoiceType.json @@ -2,7 +2,7 @@ "type": "object", "properties": { "invoiceDate": { - "$ref": "icarDateType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" }, "invoiceNumber": { "type": "string", diff --git a/JoinData/icarMilkInvoicesType.json b/JoinData/icarMilkInvoicesType.json index 24c0ff2..df649d7 100644 --- a/JoinData/icarMilkInvoicesType.json +++ b/JoinData/icarMilkInvoicesType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarMilkInvoiceType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoiceType.json" } } diff --git a/JoinData/icarMilkingVisitType.json b/JoinData/icarMilkingVisitType.json index 08c29c7..b684ba6 100644 --- a/JoinData/icarMilkingVisitType.json +++ b/JoinData/icarMilkingVisitType.json @@ -11,10 +11,10 @@ "description": "A unique identifier for this location for the milking visit message" }, "animal": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "milkingStartingDateTime": { - "$ref": "icarDateTimeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateTimeType.json" }, "milkingDuration": { "type": "object", diff --git a/JoinData/icarPeriodType.json b/JoinData/icarPeriodType.json index ae10df1..4af4d12 100644 --- a/JoinData/icarPeriodType.json +++ b/JoinData/icarPeriodType.json @@ -6,10 +6,10 @@ "type": "object", "properties": { "start": { - "$ref": "icarDateTimeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateTimeType.json" }, "end": { - "$ref": "icarDateTimeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateTimeType.json" } } } \ No newline at end of file diff --git a/JoinData/icarPregnancyChecksType.json b/JoinData/icarPregnancyChecksType.json index 36b8ee2..442eba8 100644 --- a/JoinData/icarPregnancyChecksType.json +++ b/JoinData/icarPregnancyChecksType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarPregnancyCheckCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPregnancyCheckCode.json" } } diff --git a/JoinData/icarQuarterMilkingType.json b/JoinData/icarQuarterMilkingType.json index 1340c6f..0d157ce 100644 --- a/JoinData/icarQuarterMilkingType.json +++ b/JoinData/icarQuarterMilkingType.json @@ -2,22 +2,22 @@ "type": "object", "properties": { "icarQuarterId": { - "$ref": "icarQuarterCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterCode.json" }, "quarterMilkingDuration": { - "$ref": "quarterMilkingDuration.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/quarterMilkingDuration.json" }, "quarterMilkingWeight": { - "$ref": "quarterMilkingWeight.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/quarterMilkingWeight.json" }, "icarQuarterCharacteristics": { "type": "array", "items": { - "$ref": "icarMilkCharacteristicsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkCharacteristicsType.json" } }, "quarterMilkingSample": { - "$ref": "quarterMilkingSample.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingSample.json" } } } diff --git a/JoinData/icarQuarterMilkingsTypes.json b/JoinData/icarQuarterMilkingsTypes.json index 853c74f..b7316c0 100644 --- a/JoinData/icarQuarterMilkingsTypes.json +++ b/JoinData/icarQuarterMilkingsTypes.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarQuarterMilkingType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingType.json" } } diff --git a/JoinData/icarSlaughterType.json b/JoinData/icarSlaughterType.json index b6d79f2..a7c1900 100644 --- a/JoinData/icarSlaughterType.json +++ b/JoinData/icarSlaughterType.json @@ -18,10 +18,10 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "slaughterHouseIdentifier": { - "$ref": "companyIdentifier.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/companyIdentifier.json" }, "slaughterHouseBranche": { "type": "string", @@ -32,13 +32,13 @@ "description": "The ear tag number" }, "birth": { - "$ref": "icarDateType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" }, "dateTimeSlaughter": { - "$ref": "icarDateType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" }, "dateTimeInspection": { - "$ref": "icarDateType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" }, "weightSlaughtered": { "required": [ @@ -164,7 +164,7 @@ ] }, "gender": { - "$ref": "icarGenderCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGenderCode.json" }, "classifier": { "type": "string" diff --git a/JoinData/icarSlaughtersType.json b/JoinData/icarSlaughtersType.json index 17ed87d..0154e17 100644 --- a/JoinData/icarSlaughtersType.json +++ b/JoinData/icarSlaughtersType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarSlaughterType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSlaughterType.json" } } diff --git a/JoinData/icarTeatPositionsType.json b/JoinData/icarTeatPositionsType.json index ebdf000..1d00665 100644 --- a/JoinData/icarTeatPositionsType.json +++ b/JoinData/icarTeatPositionsType.json @@ -2,10 +2,10 @@ "type": "object", "properties": { "icarQuarterId": { - "$ref": "icarQuarterIdCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterIdCode.json" }, "icarTeatPositions": { - "$ref": "icarTeatPositionsCoordType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsCoordType.json" } } } diff --git a/JoinData/icarTeatPositionsTypes.json b/JoinData/icarTeatPositionsTypes.json index 8682fa8..fafdf9c 100644 --- a/JoinData/icarTeatPositionsTypes.json +++ b/JoinData/icarTeatPositionsTypes.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarTeatPositionsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsType.json" } } diff --git a/JoinData/icarWaterIntakeType.json b/JoinData/icarWaterIntakeType.json index 7cbb0d3..e5f6157 100644 --- a/JoinData/icarWaterIntakeType.json +++ b/JoinData/icarWaterIntakeType.json @@ -6,10 +6,10 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "period": { - "$ref": "icarPeriodType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPeriodType.json" }, "consumption": { "required": [ diff --git a/JoinData/icarWaterIntakesType.json b/JoinData/icarWaterIntakesType.json index 4289555..9243da4 100644 --- a/JoinData/icarWaterIntakesType.json +++ b/JoinData/icarWaterIntakesType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarWaterIntakeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWaterIntakeType.json" } } diff --git a/JoinData/icarWeightType.json b/JoinData/icarWeightType.json index 37bd507..0944eb0 100644 --- a/JoinData/icarWeightType.json +++ b/JoinData/icarWeightType.json @@ -2,7 +2,7 @@ "type": "object", "properties": { "identifier": { - "$ref": "icarAnimalIdentifierType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "timestamp": { "type": "string", diff --git a/JoinData/icarWeightsType.json b/JoinData/icarWeightsType.json index d34b837..e27c35c 100644 --- a/JoinData/icarWeightsType.json +++ b/JoinData/icarWeightsType.json @@ -1,6 +1,6 @@ { "type": "array", "items": { - "$ref": "icarWeightType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWeightType.json" } } diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 8f92de5..abe9cc7 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -2954,49 +2954,7 @@ }, "description": "The weight of the milk milked of this quarter" }, - "icarInseminationType": { - "type": "object", - "properties": { - "dam": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" - }, - "date": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" - }, - "sire": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" - }, - "chargeNumber": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarChargeNumber.json" - }, - "forFlushing": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarForFlushing.json" - }, - "technician": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTechnician.json" - }, - "semenOfOwnStock": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSemenOfOwnStock.json" - }, - "sexedSemenType": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSexedSemenCode.json" - }, - "sharedSemenUsed": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSharedSemenUsed.json" - } - }, - "description": "Gives information about an insemination of a dam." - }, - "icarImpregnationCode": { - "type": "string", - "description": "Defines the type of the last impregnation event; can be -I- for insemination, -N- for natural service, -R- for running with the bull or -M- for implantation. \n", - "enum": [ - "I", - "N", - "R", - "M" - ] - }, + "icarHeatReportsResponseDataSources": { "allOf": [ { @@ -3035,11 +2993,6 @@ "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSources" } }, - "icarForFlushing": { - "type": "boolean", - "description": "Indication whether the cow was inseminated for flushing.", - "default": false - }, "icarMilkDeliveriesResponse": { "type": "array", "items": { @@ -3198,10 +3151,6 @@ "$ref": "#/components/schemas/icarWeightsResponseDataSources" } }, - "icarChargeNumber": { - "type": "string", - "description": "The number of the batch of the production of the semen." - }, "icarFeedIntakesResponse": { "type": "array", "items": { From 9233c1806574675a6a6495bdeab87b99f983a9b8 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 18:12:32 +0200 Subject: [PATCH 12/31] added missing specie code --- JoinData/icarSpecieCode.json | 10 ++++++++++ JoinData/v3 json all.json | 10 ---------- 2 files changed, 10 insertions(+), 10 deletions(-) create mode 100644 JoinData/icarSpecieCode.json diff --git a/JoinData/icarSpecieCode.json b/JoinData/icarSpecieCode.json new file mode 100644 index 0000000..e761c9d --- /dev/null +++ b/JoinData/icarSpecieCode.json @@ -0,0 +1,10 @@ +{ + "type": "string", + "description": "Based upon Icar sc:SpecieCodeType. Allowed values are -BUF- for Buffalo, -OVI- for Ovine, -BOV- for Bovine and -GOT- for Goat.", + "enum": [ + "BUF", + "OVI", + "BOV", + "GOT" + ] + } diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index abe9cc7..317ac8f 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -2850,16 +2850,6 @@ } } }, - "icarSpecieCodeType": { - "type": "string", - "description": "Based upon Icar sc:SpecieCodeType. Allowed values are -BUF- for Buffalo, -OVI- for Ovine, -BOV- for Bovine and -GOT- for Goat.", - "enum": [ - "BUF", - "OVI", - "BOV", - "GOT" - ] - }, "icarTeatPositionsResponse": { "type": "array", "items": { From 4868a686d94ebeb963c6cb9d673312542b30ba98 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 18:16:35 +0200 Subject: [PATCH 13/31] added sexed semen code --- JoinData/icarSexedSemenCode.json | 10 ++++++++++ JoinData/v3 json all.json | 10 ---------- 2 files changed, 10 insertions(+), 10 deletions(-) create mode 100644 JoinData/icarSexedSemenCode.json diff --git a/JoinData/icarSexedSemenCode.json b/JoinData/icarSexedSemenCode.json new file mode 100644 index 0000000..bb6bf57 --- /dev/null +++ b/JoinData/icarSexedSemenCode.json @@ -0,0 +1,10 @@ +{ + "type": "string", + "description": "A list of codes representing the sexed semen type; can be -Y- for sexing semen Male or Female, -N- for no sexing semen, -F- for sexing semen Female or -M- for sexing semen Male.\n", + "enum": [ + "Y", + "F", + "M", + "N" + ] +} diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 317ac8f..dd6bccd 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -2398,16 +2398,6 @@ } ] }, - "icarSexedSemenCode": { - "type": "string", - "description": "A list of codes representing the sexed semen type; can be -Y- for sexing semen Male or Female, -N- for no sexing semen, -F- for sexing semen Female or -M- for sexing semen Male.\n", - "enum": [ - "Y", - "F", - "M", - "N" - ] - }, "icarDepartureCoreDataSetType": { "type": "object", "properties": { From 0c3e8616fc0c1faf109a0efa516f5229c3d578d2 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 18:19:04 +0200 Subject: [PATCH 14/31] added missing vendor specific for health activity --- JoinData/icarHealthActivityVendorSpecific.json | 4 ++++ JoinData/v3 json all.json | 10 +--------- 2 files changed, 5 insertions(+), 9 deletions(-) create mode 100644 JoinData/icarHealthActivityVendorSpecific.json diff --git a/JoinData/icarHealthActivityVendorSpecific.json b/JoinData/icarHealthActivityVendorSpecific.json new file mode 100644 index 0000000..83d90ca --- /dev/null +++ b/JoinData/icarHealthActivityVendorSpecific.json @@ -0,0 +1,4 @@ +{ + "type": "object", + +} \ No newline at end of file diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index dd6bccd..20e99a4 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -3112,15 +3112,7 @@ }, "description": "Contains SenseTime specific fields. Only one element can be present per item." }, - "icarHealthActivityVendorSpecific": { - "type": "object", - "properties": { - "scrSenseTime": { - "$ref": "#/components/schemas/icarHealthActivityScrSenseTime" - } - }, - "description": "Contains vendor specific fields. Only one vendor element can be present." - }, + "icarHealthReportNedapBusinessInsight": { "type": "object", "description": "Specific fields for Nedap Business Insight. TO BE IMPLEMENTED" From 393386680c6fd28b1f29c368966dc48e6edbcc3b Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 18:30:38 +0200 Subject: [PATCH 15/31] more vendor specific types fixed wrongly named animalMovementsSets --- JoinData/icarAnimalMovementDataSetType.json | 10 +++---- JoinData/icarAnimalMovementType.json | 26 +++++++++---------- ...sSet.json => icarAnimalMovementsType.json} | 0 JoinData/icarHealthReportVendorSpecific.json | 3 +++ JoinData/icarHeatActivityVendorSpecific.json | 3 +++ JoinData/icarHeatReportVendorSpecific.json | 3 +++ JoinData/v3 json all.json | 12 --------- 7 files changed, 27 insertions(+), 30 deletions(-) rename JoinData/{icarAnimalMovementsSet.json => icarAnimalMovementsType.json} (100%) create mode 100644 JoinData/icarHealthReportVendorSpecific.json create mode 100644 JoinData/icarHeatActivityVendorSpecific.json create mode 100644 JoinData/icarHeatReportVendorSpecific.json diff --git a/JoinData/icarAnimalMovementDataSetType.json b/JoinData/icarAnimalMovementDataSetType.json index b94d491..8c0e4b1 100644 --- a/JoinData/icarAnimalMovementDataSetType.json +++ b/JoinData/icarAnimalMovementDataSetType.json @@ -1,6 +1,6 @@ { - "type": "array", - "items": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMovementType.json" - } - } + "type": "array", + "items": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMovementType.json" + } +} diff --git a/JoinData/icarAnimalMovementType.json b/JoinData/icarAnimalMovementType.json index fe8abbc..c1e956f 100644 --- a/JoinData/icarAnimalMovementType.json +++ b/JoinData/icarAnimalMovementType.json @@ -1,14 +1,14 @@ { - "required": [ - "arrival" - ], - "type": "object", - "properties": { - "arrival": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarArrivalCoreDataSetType.json" - }, - "departure": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDepartureCoreDataSetType.json" - } - } - } + "required": [ + "arrival" + ], + "type": "object", + "properties": { + "arrival": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarArrivalCoreDataSetType.json" + }, + "departure": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDepartureCoreDataSetType.json" + } + } +} diff --git a/JoinData/icarAnimalMovementsSet.json b/JoinData/icarAnimalMovementsType.json similarity index 100% rename from JoinData/icarAnimalMovementsSet.json rename to JoinData/icarAnimalMovementsType.json diff --git a/JoinData/icarHealthReportVendorSpecific.json b/JoinData/icarHealthReportVendorSpecific.json new file mode 100644 index 0000000..9a37859 --- /dev/null +++ b/JoinData/icarHealthReportVendorSpecific.json @@ -0,0 +1,3 @@ +{ + "type": "object" +} diff --git a/JoinData/icarHeatActivityVendorSpecific.json b/JoinData/icarHeatActivityVendorSpecific.json new file mode 100644 index 0000000..8a1ee62 --- /dev/null +++ b/JoinData/icarHeatActivityVendorSpecific.json @@ -0,0 +1,3 @@ +{ + "type": "object" +} diff --git a/JoinData/icarHeatReportVendorSpecific.json b/JoinData/icarHeatReportVendorSpecific.json new file mode 100644 index 0000000..f0bcab8 --- /dev/null +++ b/JoinData/icarHeatReportVendorSpecific.json @@ -0,0 +1,3 @@ +{ + "type": "object" + } diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 20e99a4..4451929 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -3551,18 +3551,6 @@ "$ref": "#/components/schemas/icarHeatReportsResponseDataSources" } }, - "icarHealthReportVendorSpecific": { - "type": "object", - "properties": { - "scrSenseTime": { - "$ref": "#/components/schemas/icarHealthReportScrSenseTime" - }, - "nedapBI": { - "$ref": "#/components/schemas/icarHealthReportNedapBusinessInsight" - } - }, - "description": "Contains vendor specific fields. Only one vendor element can be present." - }, "companyIdentifier": { "required": [ "id", From f21f9a050ba18ec1b5f4fde22fbae17ccea010c6 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 18:46:51 +0200 Subject: [PATCH 16/31] more missing types --- JoinData/icarAnimalRegistrationBodyType.json | 22 ++++++------- JoinData/icarArrivalCoreDataSetType.json | 12 +++++++ JoinData/icarDepartureCoreDataSetType.json | 9 ++++++ JoinData/icarTeatPositionType.json | 11 +++++++ JoinData/icarTeatPositionsType.json | 11 ++----- JoinData/icarTeatPositionsTypes.json | 6 ---- JoinData/v3 json all.json | 33 +++++++------------- 7 files changed, 58 insertions(+), 46 deletions(-) create mode 100644 JoinData/icarArrivalCoreDataSetType.json create mode 100644 JoinData/icarDepartureCoreDataSetType.json create mode 100644 JoinData/icarTeatPositionType.json delete mode 100644 JoinData/icarTeatPositionsTypes.json diff --git a/JoinData/icarAnimalRegistrationBodyType.json b/JoinData/icarAnimalRegistrationBodyType.json index fd50fe0..40f22d2 100644 --- a/JoinData/icarAnimalRegistrationBodyType.json +++ b/JoinData/icarAnimalRegistrationBodyType.json @@ -7,34 +7,34 @@ "type": "object", "properties": { "registrationType": { - "$ref": "registrationType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarRegistrationType.json" }, "registrationDate": { - "$ref": "icarDateType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" }, "identifier": { - "$ref": "animalIdentifier.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "specie": { - "$ref": "icarSpecieCodeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSpecieCodeType.json" }, "gender": { - "$ref": "icarGenderCodeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGenderCodeType.json" }, "birth": { - "$ref": "icarDateType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" }, "breed": { - "$ref": "icarCodeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCodeType.json" }, "sire": { - "$ref": "animalIdentifier.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "recipientDam": { - "$ref": "animalIdentifier.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "geneticDam": { - "$ref": "animalIdentifier.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "number": { "type": "string", @@ -53,7 +53,7 @@ "description": "The official name of the animal" }, "productionPurpose": { - "$ref": "icarProductionPurpose.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarProductionPurpose.json" } } } diff --git a/JoinData/icarArrivalCoreDataSetType.json b/JoinData/icarArrivalCoreDataSetType.json new file mode 100644 index 0000000..cf07814 --- /dev/null +++ b/JoinData/icarArrivalCoreDataSetType.json @@ -0,0 +1,12 @@ +{ + "required": [ + "arrivalDate" + ], + "type": "object", + "properties": { + "arrivalDate": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" + } + }, + "description": "not completely implemented yet!" +} diff --git a/JoinData/icarDepartureCoreDataSetType.json b/JoinData/icarDepartureCoreDataSetType.json new file mode 100644 index 0000000..554782a --- /dev/null +++ b/JoinData/icarDepartureCoreDataSetType.json @@ -0,0 +1,9 @@ +{ + "type": "object", + "properties": { + "departureDate": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" + } + }, + "description": "not completely implemented yet!" +} diff --git a/JoinData/icarTeatPositionType.json b/JoinData/icarTeatPositionType.json new file mode 100644 index 0000000..1d00665 --- /dev/null +++ b/JoinData/icarTeatPositionType.json @@ -0,0 +1,11 @@ +{ + "type": "object", + "properties": { + "icarQuarterId": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterIdCode.json" + }, + "icarTeatPositions": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsCoordType.json" + } + } +} diff --git a/JoinData/icarTeatPositionsType.json b/JoinData/icarTeatPositionsType.json index 1d00665..a4c7b28 100644 --- a/JoinData/icarTeatPositionsType.json +++ b/JoinData/icarTeatPositionsType.json @@ -1,11 +1,6 @@ { - "type": "object", - "properties": { - "icarQuarterId": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterIdCode.json" - }, - "icarTeatPositions": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsCoordType.json" - } + "type": "array", + "items": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionType.json" } } diff --git a/JoinData/icarTeatPositionsTypes.json b/JoinData/icarTeatPositionsTypes.json deleted file mode 100644 index fafdf9c..0000000 --- a/JoinData/icarTeatPositionsTypes.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "array", - "items": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsType.json" - } -} diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 4451929..421296e 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -2398,15 +2398,6 @@ } ] }, - "icarDepartureCoreDataSetType": { - "type": "object", - "properties": { - "departureDate": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" - } - }, - "description": "not completely implemented yet!" - }, "uncefactAddressesResponse": { "type": "array", "items": { @@ -2477,18 +2468,6 @@ } } }, - "icarArrivalCoreDataSetType": { - "required": [ - "arrivalDate" - ], - "type": "object", - "properties": { - "arrivalDate": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" - } - }, - "description": "not completely implemented yet!" - }, "icarMilkIntakesResponseDataSources": { "allOf": [ { @@ -3551,6 +3530,18 @@ "$ref": "#/components/schemas/icarHeatReportsResponseDataSources" } }, + "icarHealthReportVendorSpecific": { + "type": "object", + "properties": { + "scrSenseTime": { + "$ref": "#/components/schemas/icarHealthReportScrSenseTime" + }, + "nedapBI": { + "$ref": "#/components/schemas/icarHealthReportNedapBusinessInsight" + } + }, + "description": "Contains vendor specific fields. Only one vendor element can be present." + }, "companyIdentifier": { "required": [ "id", From 1ad1669bbcc7c63e4beca669fb256d2cd6d6a712 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 18:48:22 +0200 Subject: [PATCH 17/31] more missing types --- JoinData/icarIdentificationTagType.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 JoinData/icarIdentificationTagType.json diff --git a/JoinData/icarIdentificationTagType.json b/JoinData/icarIdentificationTagType.json new file mode 100644 index 0000000..75eb262 --- /dev/null +++ b/JoinData/icarIdentificationTagType.json @@ -0,0 +1,21 @@ +{ + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Contains the unique id of the tag" + }, + "animal": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" + }, + "statusCode": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarIdentificationTagStatusCode.json" + }, + "statusMessage": { + "type": "string" + } + } + } From 04b58cb07cca1f976910e8a2487ca48b43a63f84 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Fri, 12 Apr 2019 18:57:49 +0200 Subject: [PATCH 18/31] more fixes --- JoinData/icarAnimalRegistrationBodyType.json | 6 ++-- ...Flushing.json => icarForFlushingType.json} | 0 JoinData/icarInseminationType.json | 8 ++--- JoinData/icarRegistrationCode.json | 10 ++++++ JoinData/icarSemenOfOwnStockType.json | 5 +++ JoinData/v3 json all.json | 33 +------------------ 6 files changed, 23 insertions(+), 39 deletions(-) rename JoinData/{icarForFlushing.json => icarForFlushingType.json} (100%) create mode 100644 JoinData/icarRegistrationCode.json create mode 100644 JoinData/icarSemenOfOwnStockType.json diff --git a/JoinData/icarAnimalRegistrationBodyType.json b/JoinData/icarAnimalRegistrationBodyType.json index 40f22d2..d5c7119 100644 --- a/JoinData/icarAnimalRegistrationBodyType.json +++ b/JoinData/icarAnimalRegistrationBodyType.json @@ -7,7 +7,7 @@ "type": "object", "properties": { "registrationType": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarRegistrationType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarRegistrationCode.json" }, "registrationDate": { "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" @@ -16,10 +16,10 @@ "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" }, "specie": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSpecieCodeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSpecieCode.json" }, "gender": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGenderCodeType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGenderCode.json" }, "birth": { "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" diff --git a/JoinData/icarForFlushing.json b/JoinData/icarForFlushingType.json similarity index 100% rename from JoinData/icarForFlushing.json rename to JoinData/icarForFlushingType.json diff --git a/JoinData/icarInseminationType.json b/JoinData/icarInseminationType.json index 3d90d53..ccdf139 100644 --- a/JoinData/icarInseminationType.json +++ b/JoinData/icarInseminationType.json @@ -14,19 +14,19 @@ "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarChargeNumber.json" }, "forFlushing": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarForFlushing.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarForFlushingType.json" }, "technician": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTechnician.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTechnicianType.json" }, "semenOfOwnStock": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSemenOfOwnStock.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSemenOfOwnStockType.json" }, "sexedSemenType": { "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSexedSemenCode.json" }, "sharedSemenUsed": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSharedSemenUsed.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSharedSemenUsedType.json" } }, "description": "Gives information about an insemination of a dam." diff --git a/JoinData/icarRegistrationCode.json b/JoinData/icarRegistrationCode.json new file mode 100644 index 0000000..80c820d --- /dev/null +++ b/JoinData/icarRegistrationCode.json @@ -0,0 +1,10 @@ +{ + "type": "string", + "description": "Type of registration", + "enum": [ + "Birth", + "Death", + "Arrival", + "Departure" + ] + } diff --git a/JoinData/icarSemenOfOwnStockType.json b/JoinData/icarSemenOfOwnStockType.json new file mode 100644 index 0000000..cb2e492 --- /dev/null +++ b/JoinData/icarSemenOfOwnStockType.json @@ -0,0 +1,5 @@ +{ + "type": "boolean", + "description": "Indication whether the semen used came out of the stock from the farmer, or from the technician.", + "default": true + } diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 421296e..ede9908 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -2768,27 +2768,6 @@ }, "description": "Gives information about a milk delivery of a farmer to a dairy company." }, - "icarIdentificationTagType": { - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Contains the unique id of the tag" - }, - "animal": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" - }, - "statusCode": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarIdentificationTagStatusCode.json" - }, - "statusMessage": { - "type": "string" - } - } - }, "icarMilkDeliveriesResponseDataSource": { "type": "object", "properties": { @@ -2886,16 +2865,6 @@ } } }, - "registrationType": { - "type": "string", - "description": "Type of registration", - "enum": [ - "Birth", - "Death", - "Arrival", - "Departure" - ] - }, "quarterMilkingWeight": { "type": "object", "properties": { @@ -3360,7 +3329,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsTypes.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsType.json" } } }, From 02f00dc0f282b456d994468a74b83d124c763b4c Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 10:35:17 +0200 Subject: [PATCH 19/31] more fixes --- JoinData/icarAnimalRegistrationBodyType.json | 2 +- JoinData/icarAnimalRegistrationType.json | 64 +++ JoinData/icarBiodiversityReportsType.json | 22 + ...panyIdType.json => icarCompanyIdType.json} | 0 JoinData/icarCompanyIdentifierType.json | 16 + JoinData/icarMilkDeliveryType.json | 243 ++++++++ JoinData/icarMilkIntakeAdditiveType.json | 44 ++ JoinData/icarMilkIntakeType.json | 2 +- ...on => icarQuarterMilkingDurationType.json} | 0 ...json => icarQuarterMilkingSampleType.json} | 0 JoinData/icarQuarterMilkingType.json | 6 +- JoinData/icarQuarterMilkingWeightType.json | 17 + ...ypes.json => icarQuarterMilkingsType.json} | 0 JoinData/icarTeatPositionType.json | 2 +- JoinData/uncefactAddressType.json | 115 ++++ JoinData/v3 json all.json | 529 +----------------- 16 files changed, 548 insertions(+), 514 deletions(-) create mode 100644 JoinData/icarAnimalRegistrationType.json create mode 100644 JoinData/icarBiodiversityReportsType.json rename JoinData/{companyIdType.json => icarCompanyIdType.json} (100%) create mode 100644 JoinData/icarCompanyIdentifierType.json create mode 100644 JoinData/icarMilkDeliveryType.json create mode 100644 JoinData/icarMilkIntakeAdditiveType.json rename JoinData/{quarterMilkingDurationType.json => icarQuarterMilkingDurationType.json} (100%) rename JoinData/{quarterMilkingSampleType.json => icarQuarterMilkingSampleType.json} (100%) create mode 100644 JoinData/icarQuarterMilkingWeightType.json rename JoinData/{icarQuarterMilkingsTypes.json => icarQuarterMilkingsType.json} (100%) create mode 100644 JoinData/uncefactAddressType.json diff --git a/JoinData/icarAnimalRegistrationBodyType.json b/JoinData/icarAnimalRegistrationBodyType.json index d5c7119..b2e3929 100644 --- a/JoinData/icarAnimalRegistrationBodyType.json +++ b/JoinData/icarAnimalRegistrationBodyType.json @@ -53,7 +53,7 @@ "description": "The official name of the animal" }, "productionPurpose": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarProductionPurpose.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarProductionPurposeCode.json" } } } diff --git a/JoinData/icarAnimalRegistrationType.json b/JoinData/icarAnimalRegistrationType.json new file mode 100644 index 0000000..d8e5cb1 --- /dev/null +++ b/JoinData/icarAnimalRegistrationType.json @@ -0,0 +1,64 @@ +{ + "required": [ + "identifier", + "registrationDate", + "registrationType" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A unique identifier for the posted message", + "format": "uuid" + }, + "registrationType": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/registrationType.json" + }, + "registrationDate": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" + }, + "identifier": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" + }, + "specie": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSpecieCode.json" + }, + "gender": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGenderCode.json" + }, + "birth": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" + }, + "breed": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCodeType.json" + }, + "sire": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" + }, + "recipientDam": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" + }, + "geneticDam": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" + }, + "number": { + "type": "string", + "description": "A meaningful identification code of the animal, not necessary unique within the location" + }, + "earTagNumber": { + "type": "string", + "description": "The ear tag number" + }, + "name": { + "type": "string", + "description": "The name of the animal" + }, + "officialName": { + "type": "string", + "description": "The official name of the animal" + }, + "productionPurpose": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarProductionPurposeCode.json" + } + } +} diff --git a/JoinData/icarBiodiversityReportsType.json b/JoinData/icarBiodiversityReportsType.json new file mode 100644 index 0000000..1e47453 --- /dev/null +++ b/JoinData/icarBiodiversityReportsType.json @@ -0,0 +1,22 @@ +{ + "type": "object", + "properties": { + "company": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifierType.json" + }, + "ftn": { + "type": "string", + "description": "A factory tank number (factory number + company number at factory)" + }, + "area": { + "type": "string", + "description": "A meaningful identification code of the animal, not necessary unique within the location" + }, + "collectives": { + "type": "array", + "items": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityCollectiveType.json" + } + } + } +} diff --git a/JoinData/companyIdType.json b/JoinData/icarCompanyIdType.json similarity index 100% rename from JoinData/companyIdType.json rename to JoinData/icarCompanyIdType.json diff --git a/JoinData/icarCompanyIdentifierType.json b/JoinData/icarCompanyIdentifierType.json new file mode 100644 index 0000000..ddbb149 --- /dev/null +++ b/JoinData/icarCompanyIdentifierType.json @@ -0,0 +1,16 @@ + "companyIdentifier": { + "required": [ + "id", + "scheme" + ], + "type": "object", + "properties": { + "id": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/companyId.json" + }, + "scheme": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/companyIdScheme.json" + } + }, + "description": "Identifies a company" + }, diff --git a/JoinData/icarMilkDeliveryType.json b/JoinData/icarMilkDeliveryType.json new file mode 100644 index 0000000..3ff928a --- /dev/null +++ b/JoinData/icarMilkDeliveryType.json @@ -0,0 +1,243 @@ +{ + "type": "object", + "properties": { + "dairyIdentifier": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifierType.json" + }, + "productionUnit": { + "type": "integer", + "description": "204611", + "format": "int32" + }, + "supplierNumber": { + "type": "integer", + "description": "202510", + "format": "int32" + }, + "reckoningYear": { + "type": "integer", + "description": "204272", + "format": "int32" + }, + "codeFatProteinCalculated": { + "type": "integer", + "description": "204398", + "format": "int32" + }, + "period": { + "required": [ + "end", + "start" + ], + "type": "object", + "properties": { + "start": { + "type": "string", + "description": "The start time of the day. Time element should be set to 00:00:00.", + "format": "date-time" + }, + "name": { + "type": "string", + "description": "The friendly name of the period." + }, + "end": { + "type": "string", + "description": "The end time of the day. Time element should be set to 23:59:59.", + "format": "date-time" + } + }, + "description": "The period of reckoning the delivery belongs to." + }, + "timestampDelivery": { + "type": "string", + "description": "The timestamp of the milk delivery. 201731 & 204271", + "format": "date-time" + }, + "milkDelivered": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "LTR", + "KGM" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200503 & 203575" + }, + "fat": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP", + "GL" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200505 & 204625" + }, + "protein": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP", + "GL" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200506 & 204626" + }, + "lactose": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200507" + }, + "urea": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "VP" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "204261" + }, + "temperature": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "CEL" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "200509" + }, + "bacteriaInhibitingSubstance": { + "type": "object", + "properties": { + "reductionMilkAmount": { + "required": [ + "value", + "valutaCode" + ], + "type": "object", + "properties": { + "valutaCode": { + "type": "string", + "description": "ISO 4217", + "enum": [ + "EUR" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "204381" + }, + "kind": { + "type": "string", + "description": "202614" + }, + "testResult": { + "type": "string", + "description": "202668" + }, + "reductionMilkQuantity": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "LTR", + "KGM" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "203446" + } + } + } + }, + "description": "Gives information about a milk delivery of a farmer to a dairy company." + } \ No newline at end of file diff --git a/JoinData/icarMilkIntakeAdditiveType.json b/JoinData/icarMilkIntakeAdditiveType.json new file mode 100644 index 0000000..3bd3819 --- /dev/null +++ b/JoinData/icarMilkIntakeAdditiveType.json @@ -0,0 +1,44 @@ +{ + "required": [ + "bin", + "type" + ], + "type": "object", + "properties": { + "bin": { + "type": "integer", + "description": "The bin the additive was sourced from.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "The type of additive provided.", + "enum": [ + "Unknown", + "Electrolyte" + ] + }, + "quantity": { + "required": [ + "unitCode", + "value" + ], + "type": "object", + "properties": { + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "LTR", + "MLT" + ] + }, + "value": { + "type": "number", + "format": "double" + } + }, + "description": "The provided quantity of the additive in milliliters." + } + } + } \ No newline at end of file diff --git a/JoinData/icarMilkIntakeType.json b/JoinData/icarMilkIntakeType.json index 0508c5e..df88438 100644 --- a/JoinData/icarMilkIntakeType.json +++ b/JoinData/icarMilkIntakeType.json @@ -58,7 +58,7 @@ "additives": { "type": "array", "items": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkIntakeAdditive.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkIntakeAdditiveType.json" } } }, diff --git a/JoinData/quarterMilkingDurationType.json b/JoinData/icarQuarterMilkingDurationType.json similarity index 100% rename from JoinData/quarterMilkingDurationType.json rename to JoinData/icarQuarterMilkingDurationType.json diff --git a/JoinData/quarterMilkingSampleType.json b/JoinData/icarQuarterMilkingSampleType.json similarity index 100% rename from JoinData/quarterMilkingSampleType.json rename to JoinData/icarQuarterMilkingSampleType.json diff --git a/JoinData/icarQuarterMilkingType.json b/JoinData/icarQuarterMilkingType.json index 0d157ce..de447cf 100644 --- a/JoinData/icarQuarterMilkingType.json +++ b/JoinData/icarQuarterMilkingType.json @@ -5,10 +5,10 @@ "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterCode.json" }, "quarterMilkingDuration": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/quarterMilkingDuration.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingDurationType.json" }, "quarterMilkingWeight": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/quarterMilkingWeight.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingWeightType.json" }, "icarQuarterCharacteristics": { "type": "array", @@ -17,7 +17,7 @@ } }, "quarterMilkingSample": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingSample.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingSampleType.json" } } } diff --git a/JoinData/icarQuarterMilkingWeightType.json b/JoinData/icarQuarterMilkingWeightType.json new file mode 100644 index 0000000..873a4bf --- /dev/null +++ b/JoinData/icarQuarterMilkingWeightType.json @@ -0,0 +1,17 @@ +{ + "type": "object", + "description": "The weight of the milk milked of this quarter", + "properties": { + "value": { + "type": "number", + "format": "double" + }, + "unitCode": { + "type": "string", + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "KGM" + ] + } + } +} diff --git a/JoinData/icarQuarterMilkingsTypes.json b/JoinData/icarQuarterMilkingsType.json similarity index 100% rename from JoinData/icarQuarterMilkingsTypes.json rename to JoinData/icarQuarterMilkingsType.json diff --git a/JoinData/icarTeatPositionType.json b/JoinData/icarTeatPositionType.json index 1d00665..5d7aae1 100644 --- a/JoinData/icarTeatPositionType.json +++ b/JoinData/icarTeatPositionType.json @@ -2,7 +2,7 @@ "type": "object", "properties": { "icarQuarterId": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterIdCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterCode.json" }, "icarTeatPositions": { "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsCoordType.json" diff --git a/JoinData/uncefactAddressType.json b/JoinData/uncefactAddressType.json new file mode 100644 index 0000000..d3d2fe9 --- /dev/null +++ b/JoinData/uncefactAddressType.json @@ -0,0 +1,115 @@ +{ + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "An identifier for this address within an agreed scheme of address identifiers." + }, + "addressTypeCode": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressTypeCode.json" + }, + "addressFormatCode": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressFormatCode.json" + }, + "postbox": { + "type": "string", + "description": "A post office box number registered for postal delivery by a postal service provider." + }, + "floor": { + "type": "string", + "description": "An identifiable floor of a building." + }, + "room": { + "type": "string", + "description": "An identifiable room, suite, or apartment of a building." + }, + "streetName": { + "type": "string", + "description": "The name of the street, road, avenue, way, etc. to which the number of the building is attached." + }, + "additionalStreetName": { + "type": "string", + "description": "An additional street name used to further clarify the address." + }, + "blockName": { + "type": "string", + "description": "The name of the block (an area surrounded by streets and usually containing several buildings) in which this address is located." + }, + "buildingName": { + "type": "string", + "description": "The name of a building." + }, + "buildingNumber": { + "type": "string", + "description": "The number of a building within the street." + }, + "inhouseMail": { + "type": "string", + "description": "The specific identifable location within a building where mail is delivered." + }, + "department": { + "type": "string", + "description": "The department of the addressee." + }, + "markAttention": { + "type": "string", + "description": "The name, expressed as text, of a person or department in an organization to whose attention incoming mail is directed; corresponds to the printed forms `for the attention of`, `FAO`, and `ATTN:`." + }, + "markCare": { + "type": "string", + "description": "The name, expressed as text, of a person or organization at this address into whose care incoming mail is entrusted; corresponds to the printed forms `care of` and `c/o`." + }, + "plotIdentification": { + "type": "string", + "description": "An identifier (e.g., a parcel number) for the piece of land associated with this address." + }, + "citySubdivisionName": { + "type": "string", + "description": "The name of the subdivision of a city, town, or village in which this address is located, such as the name of its district or borough." + }, + "cityName": { + "type": "string", + "description": "The name of a city, town, or village." + }, + "postalZone": { + "type": "string", + "description": "The postal identifier for this address according to the relevant national postal service, such as a ZIP code or Post Code." + }, + "countrySubentity": { + "type": "string", + "description": "The political or administrative division of a country in which this address is located, such as the name of its county, province, or state, expressed as text." + }, + "countrySubentityCode": { + "type": "string", + "description": "The political or administrative division of a country in which this address is located, such as a county, province, or state, expressed as a code (typically nationally agreed)." + }, + "region": { + "type": "string", + "description": "The recognized geographic or economic region or group of countries in which this address is located." + }, + "district": { + "type": "string", + "description": "The district or geographical division of a country or region in which this address is located." + }, + "timezoneOffset": { + "type": "string", + "description": "The time zone in which this address is located (as an offset from Universal Coordinated Time (UTC)) at the time of exchange." + }, + "addressLine": { + "type": "array", + "description": "An unstructured address line.", + "items": { + "type": "string" + } + }, + "country": { + "type": "string", + "description": "The country in which this address is situated." + }, + "locationCoordinate": { + "type": "string", + "description": "The geographical coordinates of this address." + } + } + } + \ No newline at end of file diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index ede9908..52d3d47 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -88,7 +88,7 @@ "content": { "application/json": { "schema": { - "$ref": "icarMilkingVisitsResponse.json" + "$ref": "#/components/schemas/icarMilkingVisitsResponse" } } } @@ -1204,7 +1204,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/icarAnimalRegistrationResponse" + "$ref": "#/components/schemas/icarAnimalRegistrationResponseDataSource" } } } @@ -2367,11 +2367,6 @@ } ] }, - "icarSemenOfOwnStock": { - "type": "boolean", - "description": "Indication whether the semen used came out of the stock from the farmer, or from the technician.", - "default": true - }, "icarMilkInvoiceItemsResponseDataSources": { "allOf": [ { @@ -2404,70 +2399,6 @@ "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddress.json" } }, - "icarAnimalRegistration": { - "required": [ - "identifier", - "registrationDate", - "registrationType" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "A unique identifier for the posted message", - "format": "uuid" - }, - "registrationType": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/registrationType.json" - }, - "registrationDate": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" - }, - "identifier": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" - }, - "specie": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSpecieCodeType.json" - }, - "gender": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGenderCodeType.json" - }, - "birth": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" - }, - "breed": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCodeType.json" - }, - "sire": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" - }, - "recipientDam": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" - }, - "geneticDam": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalIdentifierType.json" - }, - "number": { - "type": "string", - "description": "A meaningful identification code of the animal, not necessary unique within the location" - }, - "earTagNumber": { - "type": "string", - "description": "The ear tag number" - }, - "name": { - "type": "string", - "description": "The name of the animal" - }, - "officialName": { - "type": "string", - "description": "The official name of the animal" - }, - "productionPurpose": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarProductionPurpose.json" - } - } - }, "icarMilkIntakesResponseDataSources": { "allOf": [ { @@ -2481,320 +2412,32 @@ } ] }, - "icarMilkIntakeAdditive": { - "required": [ - "bin", - "type" - ], + "icarMilkDeliveriesResponseDataSource": { "type": "object", "properties": { - "bin": { - "type": "integer", - "description": "The bin the additive was sourced from.", - "format": "int32" - }, - "type": { - "type": "string", - "description": "The type of additive provided.", - "enum": [ - "Unknown", - "Electrolyte" - ] - }, - "quantity": { - "required": [ - "unitCode", - "value" - ], - "type": "object", - "properties": { - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "LTR", - "MLT" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "The provided quantity of the additive in milliliters." + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveriesType.json" } } }, - "icarMilkDeliveryType": { - "type": "object", - "properties": { - "dairyIdentifier": { - "$ref": "#/components/schemas/companyIdentifier" - }, - "productionUnit": { - "type": "integer", - "description": "204611", - "format": "int32" - }, - "supplierNumber": { - "type": "integer", - "description": "202510", - "format": "int32" - }, - "reckoningYear": { - "type": "integer", - "description": "204272", - "format": "int32" - }, - "codeFatProteinCalculated": { - "type": "integer", - "description": "204398", - "format": "int32" - }, - "period": { - "required": [ - "end", - "start" - ], - "type": "object", - "properties": { - "start": { - "type": "string", - "description": "The start time of the day. Time element should be set to 00:00:00.", - "format": "date-time" - }, - "name": { - "type": "string", - "description": "The friendly name of the period." - }, - "end": { - "type": "string", - "description": "The end time of the day. Time element should be set to 23:59:59.", - "format": "date-time" - } - }, - "description": "The period of reckoning the delivery belongs to." + "icarBiodiversityReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" }, - "timestampDelivery": { - "type": "string", - "description": "The timestamp of the milk delivery. 201731 & 204271", - "format": "date-time" - }, - "milkDelivered": { - "required": [ - "unitCode", - "value" - ], - "type": "object", - "properties": { - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "LTR", - "KGM" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "200503 & 203575" - }, - "fat": { - "required": [ - "unitCode", - "value" - ], - "type": "object", - "properties": { - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "VP", - "GL" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "200505 & 204625" - }, - "protein": { - "required": [ - "unitCode", - "value" - ], - "type": "object", - "properties": { - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "VP", - "GL" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "200506 & 204626" - }, - "lactose": { - "required": [ - "unitCode", - "value" - ], - "type": "object", - "properties": { - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "VP" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "200507" - }, - "urea": { - "required": [ - "unitCode", - "value" - ], - "type": "object", - "properties": { - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "VP" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "204261" - }, - "temperature": { - "required": [ - "unitCode", - "value" - ], - "type": "object", - "properties": { - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "CEL" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "200509" + { + "$ref": "#/components/schemas/responseErrors" }, - "bacteriaInhibitingSubstance": { - "type": "object", - "properties": { - "reductionMilkAmount": { - "required": [ - "value", - "valutaCode" - ], - "type": "object", - "properties": { - "valutaCode": { - "type": "string", - "description": "ISO 4217", - "enum": [ - "EUR" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "204381" - }, - "kind": { - "type": "string", - "description": "202614" - }, - "testResult": { - "type": "string", - "description": "202668" - }, - "reductionMilkQuantity": { - "required": [ - "unitCode", - "value" - ], - "type": "object", - "properties": { - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "LTR", - "KGM" - ] - }, - "value": { - "type": "number", - "format": "double" - } - }, - "description": "203446" - } - } + { + "$ref": "#/components/schemas/icarBiodiversityReportsResponseDataSource" } - }, - "description": "Gives information about a milk delivery of a farmer to a dairy company." + ] }, - "icarMilkDeliveriesResponseDataSource": { + "icarBiodiversityReportsResponseDataSource": { "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveriesType.json" - } - } - }, - "icarBiodiversityReports": { - "type": "object", - "properties": { - "company": { - "$ref": "#/components/schemas/companyIdentifier" - }, - "ftn": { - "type": "string", - "description": "A factory tank number (factory number + company number at factory)" - }, - "area": { - "type": "string", - "description": "A meaningful identification code of the animal, not necessary unique within the location" - }, - "collectives": { - "type": "array", - "items": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityCollective.json" - } + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityReportsType.json" } } }, @@ -3253,7 +2896,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingsTypes.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingsType.json" } } }, @@ -3294,11 +2937,11 @@ } ] }, - "icarAnimalRegistrationResponse": { + "icarAnimalRegistrationResponseDataSource": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/icarAnimalRegistration" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalRegistrationType.json" } } }, @@ -3344,7 +2987,7 @@ "description": "A string which (in combination with a scheme) uniquely identifies an animal." }, "icarBiodiversityReportsResponse": { - "$ref": "#/components/schemas/icarBiodiversityReports" + "$ref": "#/components/schemas/icarBiodiversityReportsResponseDataSources" }, "icarHerdListResponseDataSource": { "type": "object", @@ -3511,143 +3154,13 @@ }, "description": "Contains vendor specific fields. Only one vendor element can be present." }, - "companyIdentifier": { - "required": [ - "id", - "scheme" - ], - "type": "object", - "properties": { - "id": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/companyId.json" - }, - "scheme": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/companyIdScheme.json" - } - }, - "description": "Identifies a company" - }, "icarWaterIntakesResponse": { "type": "array", "items": { "$ref": "#/components/schemas/icarWaterIntakesResponseDataSources" } }, - "uncefactAddress": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "An identifier for this address within an agreed scheme of address identifiers." - }, - "addressTypeCode": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressTypeCode.json" - }, - "addressFormatCode": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressFormatCode.json" - }, - "postbox": { - "type": "string", - "description": "A post office box number registered for postal delivery by a postal service provider." - }, - "floor": { - "type": "string", - "description": "An identifiable floor of a building." - }, - "room": { - "type": "string", - "description": "An identifiable room, suite, or apartment of a building." - }, - "streetName": { - "type": "string", - "description": "The name of the street, road, avenue, way, etc. to which the number of the building is attached." - }, - "additionalStreetName": { - "type": "string", - "description": "An additional street name used to further clarify the address." - }, - "blockName": { - "type": "string", - "description": "The name of the block (an area surrounded by streets and usually containing several buildings) in which this address is located." - }, - "buildingName": { - "type": "string", - "description": "The name of a building." - }, - "buildingNumber": { - "type": "string", - "description": "The number of a building within the street." - }, - "inhouseMail": { - "type": "string", - "description": "The specific identifable location within a building where mail is delivered." - }, - "department": { - "type": "string", - "description": "The department of the addressee." - }, - "markAttention": { - "type": "string", - "description": "The name, expressed as text, of a person or department in an organization to whose attention incoming mail is directed; corresponds to the printed forms `for the attention of`, `FAO`, and `ATTN:`." - }, - "markCare": { - "type": "string", - "description": "The name, expressed as text, of a person or organization at this address into whose care incoming mail is entrusted; corresponds to the printed forms `care of` and `c/o`." - }, - "plotIdentification": { - "type": "string", - "description": "An identifier (e.g., a parcel number) for the piece of land associated with this address." - }, - "citySubdivisionName": { - "type": "string", - "description": "The name of the subdivision of a city, town, or village in which this address is located, such as the name of its district or borough." - }, - "cityName": { - "type": "string", - "description": "The name of a city, town, or village." - }, - "postalZone": { - "type": "string", - "description": "The postal identifier for this address according to the relevant national postal service, such as a ZIP code or Post Code." - }, - "countrySubentity": { - "type": "string", - "description": "The political or administrative division of a country in which this address is located, such as the name of its county, province, or state, expressed as text." - }, - "countrySubentityCode": { - "type": "string", - "description": "The political or administrative division of a country in which this address is located, such as a county, province, or state, expressed as a code (typically nationally agreed)." - }, - "region": { - "type": "string", - "description": "The recognized geographic or economic region or group of countries in which this address is located." - }, - "district": { - "type": "string", - "description": "The district or geographical division of a country or region in which this address is located." - }, - "timezoneOffset": { - "type": "string", - "description": "The time zone in which this address is located (as an offset from Universal Coordinated Time (UTC)) at the time of exchange." - }, - "addressLine": { - "type": "array", - "description": "An unstructured address line.", - "items": { - "type": "string" - } - }, - "country": { - "type": "string", - "description": "The country in which this address is situated." - }, - "locationCoordinate": { - "type": "string", - "description": "The geographical coordinates of this address." - } - } - }, - "icarMilkInvoicesResponse": { + "icarMilkInvoicesResponse": { "type": "array", "items": { "$ref": "#/components/schemas/icarMilkInvoicesResponseDataSources" From 406cccba8f47f813d961d847a5a0435b4a040420 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 10:45:09 +0200 Subject: [PATCH 20/31] updated biodiversity --- JoinData/icarAnimalRegistrationType.json | 2 +- JoinData/icarBiodiversityCollectiveType.json | 16 +++++---- ...=> icarBiodiversityPacketElementType.json} | 23 ++++++------ JoinData/icarBiodiversityPacketType.json | 23 ++++++++++++ JoinData/icarBiodiversityReportsType.json | 35 +++++++++++++++---- 5 files changed, 76 insertions(+), 23 deletions(-) rename JoinData/{icarBiodiversityReportType.json => icarBiodiversityPacketElementType.json} (68%) create mode 100644 JoinData/icarBiodiversityPacketType.json diff --git a/JoinData/icarAnimalRegistrationType.json b/JoinData/icarAnimalRegistrationType.json index d8e5cb1..8c725f8 100644 --- a/JoinData/icarAnimalRegistrationType.json +++ b/JoinData/icarAnimalRegistrationType.json @@ -12,7 +12,7 @@ "format": "uuid" }, "registrationType": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/registrationType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarRegistrationCode.json" }, "registrationDate": { "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDateType.json" diff --git a/JoinData/icarBiodiversityCollectiveType.json b/JoinData/icarBiodiversityCollectiveType.json index f38c2a9..71a3d64 100644 --- a/JoinData/icarBiodiversityCollectiveType.json +++ b/JoinData/icarBiodiversityCollectiveType.json @@ -9,15 +9,19 @@ "type": "string", "description": "name of the collective" }, - "anlbMember": { - "type": "boolean", - "description": "Indicates if the company is an ANLB member (in original proposal" + "otherProperties": { + "type": "array", + "description": "e.g. if the farmer is member of ANLb (anlb:true)", + "items": { + "type": "object", + "properties": {} + } }, - "reports": { + "packets": { "type": "array", "items": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityReportType" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityPacketType.json" } } } - } + } \ No newline at end of file diff --git a/JoinData/icarBiodiversityReportType.json b/JoinData/icarBiodiversityPacketElementType.json similarity index 68% rename from JoinData/icarBiodiversityReportType.json rename to JoinData/icarBiodiversityPacketElementType.json index b44ea07..d8a1d96 100644 --- a/JoinData/icarBiodiversityReportType.json +++ b/JoinData/icarBiodiversityPacketElementType.json @@ -1,20 +1,23 @@ { "type": "object", "properties": { - "packetCode": { - "type": "integer", - "description": "unique code for the bio diversity packet; ANLb number or BenN number" - }, - "label": { + "elementId": { "type": "string", - "description": "Verschillende TBO, eigen beheer" + "description": "identifier of the element of this report. Per element unieke code. Kan dus niet onder verschillende pakketten en/of collectieven herhaald voorkomen." + }, + "ownerlabel": { + "type": "array", + "description": "Verschillende TBO, eigen beheer", + "items": { + "type": "integer" + } }, "size": { "type": "string" }, "value": { "type": "number", - "description": "Ingetekende oppervlakte/ hoeveelheid van het betreffende Z-pakket", + "description": "Ingetekende oppervlakte/ hoeveelheid van het betreffende BBM", "format": "double" }, "unitCode": { @@ -22,7 +25,6 @@ "description": "UN/CEFACT Common Code for Units of Measurement.", "enum": [ "H18", - "MTK", "C62" ] }, @@ -43,8 +45,9 @@ "enum": [ "1", "2", - "3" + "3", + "4" ] } } -} \ No newline at end of file + } \ No newline at end of file diff --git a/JoinData/icarBiodiversityPacketType.json b/JoinData/icarBiodiversityPacketType.json new file mode 100644 index 0000000..f73e610 --- /dev/null +++ b/JoinData/icarBiodiversityPacketType.json @@ -0,0 +1,23 @@ +{ + "type": "object", + "properties": { + "packetCode": { + "type": "integer", + "description": "unique code for the bio diversity packet; Afgesproken unieke BBM code voor betreffende pakket uit de BBM coderingslijst." + }, + "otherProperties": { + "type": "array", + "description": "e.g. if the packet is member of ANLb (anlb:true)", + "items": { + "type": "object", + "properties": {} + } + }, + "elements": { + "type": "array", + "items": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityPacketElementType.json" + } + } + } +} \ No newline at end of file diff --git a/JoinData/icarBiodiversityReportsType.json b/JoinData/icarBiodiversityReportsType.json index 1e47453..cd51c1e 100644 --- a/JoinData/icarBiodiversityReportsType.json +++ b/JoinData/icarBiodiversityReportsType.json @@ -2,15 +2,38 @@ "type": "object", "properties": { "company": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifierType.json" + "$ref": https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifier.json" }, - "ftn": { - "type": "string", - "description": "A factory tank number (factory number + company number at factory)" + "sourceIdentifiers": { + "type": "array", + "description": "if this company is known by the data source with other identifiers, they can be listed here. E.g., there may be KVK's or UBN's known.", + "items": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifier.json" + } + }, + "targetIdentifiers": { + "type": "array", + "description": "if this company is known by the data target with other identifiers, they can be listed here. E.g., there may be FTN's known.", + "items": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifier.json" + } + }, + "year": { + "type": "number", + "description": "Het “Beheerjaar” waarover dit bericht gaat.", + "format": "integer" }, "area": { + "type": "number", + "description": "Bedrijfsoppervlakte RVO mijn percelen (via en van Scan-ICT). Alleen beschikbaar op niveau van KvK BN, dus niet op FTN niveau.", + "format": "double" + }, + "unitCode": { "type": "string", - "description": "A meaningful identification code of the animal, not necessary unique within the location" + "description": "UN/CEFACT Common Code for Units of Measurement.", + "enum": [ + "H18" + ] }, "collectives": { "type": "array", @@ -19,4 +42,4 @@ } } } -} + } \ No newline at end of file From 13134ae793e8104c3312b2aa384c5c815e579a7a Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 10:47:56 +0200 Subject: [PATCH 21/31] fixed missing Type --- JoinData/icarBiodiversityReportsType.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/JoinData/icarBiodiversityReportsType.json b/JoinData/icarBiodiversityReportsType.json index cd51c1e..d9e3dbe 100644 --- a/JoinData/icarBiodiversityReportsType.json +++ b/JoinData/icarBiodiversityReportsType.json @@ -8,14 +8,14 @@ "type": "array", "description": "if this company is known by the data source with other identifiers, they can be listed here. E.g., there may be KVK's or UBN's known.", "items": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifier.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifierType.json" } }, "targetIdentifiers": { "type": "array", "description": "if this company is known by the data target with other identifiers, they can be listed here. E.g., there may be FTN's known.", "items": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifier.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifierType.json" } }, "year": { From e9d70c49cc1d05ecabf5e5c1558e1f408fd17ba5 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 10:53:03 +0200 Subject: [PATCH 22/31] fixed type --- JoinData/icarBiodiversityReportsType.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/JoinData/icarBiodiversityReportsType.json b/JoinData/icarBiodiversityReportsType.json index d9e3dbe..1566763 100644 --- a/JoinData/icarBiodiversityReportsType.json +++ b/JoinData/icarBiodiversityReportsType.json @@ -2,7 +2,7 @@ "type": "object", "properties": { "company": { - "$ref": https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifier.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarCompanyIdentifierType.json" }, "sourceIdentifiers": { "type": "array", From 3d782ef2fcd1f420172999a35a8ca3482a5e7cd4 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 10:55:02 +0200 Subject: [PATCH 23/31] fixed type --- JoinData/v3 json all.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 52d3d47..17fe3d0 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -2396,7 +2396,7 @@ "uncefactAddressesResponse": { "type": "array", "items": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddress.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressType.json" } }, "icarMilkIntakesResponseDataSources": { From f8ff18df66b710bbf02a9fccf68c9319f88d7ea4 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 11:21:13 +0200 Subject: [PATCH 24/31] fixed address type removed old yaml file --- JoinData/JoinDataMessages.yml | 3352 ----------------------------- JoinData/uncefactAddressCode.json | 9 + JoinData/uncefactAddressType.json | 2 +- 3 files changed, 10 insertions(+), 3353 deletions(-) delete mode 100644 JoinData/JoinDataMessages.yml create mode 100644 JoinData/uncefactAddressCode.json diff --git a/JoinData/JoinDataMessages.yml b/JoinData/JoinDataMessages.yml deleted file mode 100644 index cef5357..0000000 --- a/JoinData/JoinDataMessages.yml +++ /dev/null @@ -1,3352 +0,0 @@ -swagger: '2.0' -info: - title: JoinData Message definitions - version: "1.0" - description: | - The specification describes the JoinData Datahub Broker API. - -############################################### -# General information # -############################################### -host: production.join-data.net -basePath: /api/broker/icar-ade/v1 -schemes: - - https -produces: - - application/json -consumes: - - application/json -tags: - - name: ICAR inspired - description: | - Messages which do not exist in current ICAR-ADE standard, but which follow the same principles - - name: Local/other standard - description: | - Messages which are (soon) available through JoinData, but without any affiliation to ICAR - -############################################### -# Security # -############################################### -securityDefinitions: - jdClient: - type: oauth2 - description: Secure access using client credentials grant - flow: application - tokenUrl: https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token - scopes: - fullaccess: Full access to all resources - jdAuthorizationCode: - type: oauth2 - description: Secure access using authorization grant flow - flow: accessCode - authorizationUrl: https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth - tokenUrl: https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token - scopes: - fullaccess: Full access to all resources - jdImplicit: - type: oauth2 - description: Secure access using implicit grant - flow: implicit - authorizationUrl: https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth - scopes: - fullaccess: Full access to all resources -security: - - jdClient: - - fullaccess - - jdAuthorizationCode: - - fullaccess - - jdImplicit: - - fullaccess - -############################################### -# Parameters # -############################################### -parameters: - pathLocationScheme: - in: path - name: location-scheme - type: string - description: The scheme id for the location identifier. - required: true - enum: - - nl-v1 - - be-v1 - pathLocationId: - in: path - name: location-id - type: string - description: The unique identifier for the location. - required: true - pathMilkDeliveryId: - in: path - name: milk-delivery-id - type: string - description: The unique identifier for a milk delivery for a specific location. - required: true - pathMilkInvoiceId: - in: path - name: milk-invoice-id - type: string - description: The unique identifier for a milk invoice for a specific location. - required: true - pathIcarMilkingVisitId: - in: path - name: milking-visit-id - type: string - required: true - queryStartDateTime: - in: query - name: start-date-time - description: The start of the date-time range for the data to get in the request. - type: string - format: date-time - queryStartDateTimeRequired: - in: query - name: start-date-time - description: The start of the date-time range for the data to get in the request. - required: true - type: string - format: date-time - queryEndDateTime: - in: query - name: end-date-time - description: The end of the date-time range for the data to get in the request. - type: string - format: date-time - queryEndDateTimeRequired: - in: query - name: end-date-time - description: The end of the date-time range for the data to get in the request. - required: true - type: string - format: date-time - queryAnimalScheme: - in: query - name: animal-scheme - type: string - description: The scheme id for the animal identifier. Should be used together with animal-id. - required: true - enum: - - nl-v1 - - be-v1 - queryAnimalId: - in: query - name: animal-id - type: string - description: The unique identifier for the animal. Should be used together with animal-scheme. - required: true - queryModifiedSince: - in: query - name: modified-since - description: The date-time of insertion or last update of the event. - type: string - format: date-time - -############################################### -# Responses # -############################################### -responses: -# okNoContent: -# description: The request was successful. - error: - description: An error has occured while handling the request. Check the content of the message for the error details. - schema: - type: object - description: A default response containing only a list of errors - properties: - errors: - type: array - items: - $ref: '#/definitions/error' - -############################################### -# Definitions # -############################################### -definitions: - # ---------------------------------------------------------------------------- - # Generic Datahub definitions - # ---------------------------------------------------------------------------- - error: - type: object - description: A human-readable error message describing what went wrong. - properties: - id: - type: string - description: A unique identifier for this particular occurrence of the problem - status: - type: integer - format: int32 - description: The HTTP status code applicable to this problem, expressed as a string value - code: - type: string - description: An application-specific error code, expressed as a string value. - title: - type: string - description: A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization. - detail: - type: string - description: A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized. - meta: - type: object - dataSource: - description: Source where data is retrieved from. Details can be retrieved from the source register. - type: string - responseDataSource: - type: object - properties: - id: - $ref: '#/definitions/dataSource' - required: - - id - responseErrors: - type: object - properties: - errors: - type: array - items: - $ref: '#/definitions/error' - animalId: - type: string - description: A string which (in combination with a scheme) uniquely identifies an animal. - animalIdScheme: - type: string - description: Identifies the used scheme for an animal identification string. nl-v1 life numbers are formatted as NL 123456789. See https://www.rvo.nl/onderwerpen/agrarisch-ondernemen/dieren/dieren-registreren/runderen/oormerken-voor-runderen for more information. - enum: - - nl-v1 - - be-v1 - animalIdentifier: - type: object - description: Identifies an animal - properties: - id: - $ref: '#/definitions/animalId' - scheme: - $ref: '#/definitions/animalIdScheme' - required: - - id - - scheme - companyId: - type: string - description: A string which (in combination with a scheme) uniquely identifies a company. - companyIdScheme: - type: string - description: Identifies the used scheme for a company identification string. - enum: - - nl-v1 - - be-v1 - companyIdentifier: - type: object - description: Identifies a company - properties: - id: - $ref: '#/definitions/companyId' - scheme: - $ref: '#/definitions/companyIdScheme' - required: - - id - - scheme - - # ---------------------------- - # ICAR ADE general definitions - # ---------------------------- - icarCodeType: - description: | - A character string (letters, figures, or symbols) that for brevity and/or languange independence may be used to represent or replace a definitive value or text of an attribute together with relevant supplementary information. - type: string - icarDateType: - description: udt:DateType | A day of the month or year as specified by a number. - type: string - format: date - icarDateTimeType: - description: udt:DateTimeType | A particular point in the progression of time together with relevant supplementary information. - type: string - format: datetime - icarPeriodType: - type: object - properties: - start: - $ref: '#/definitions/icarDateTimeType' - end: - $ref: '#/definitions/icarDateTimeType' - required: - - start - - end - icarSexedSemenCode: - type: string - description: | - A list of codes representing the sexed semen type; can be -Y- for sexing semen Male or Female, -N- for no sexing semen, -F- for sexing semen Female or -M- for sexing semen Male. - enum: - - Y - - F - - M - - N - - # ----------------- - # Herdlist - # ----------------- - icarHerdListResponse: - type: array - items: - $ref: '#/definitions/icarHerdListResponseDataSources' - icarHerdListResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarHerdListResponseDataSource' - icarHerdListResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarHerdListAnimalsType' - icarHerdListAnimalsType: - type: array - items: - $ref: '#/definitions/icarHerdListAnimalType' - icarHerdListAnimalType: - type: object - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - - # ------------------------------- - # Herdlist Core Data Set - # ------------------------------- - icarHerdListCoreDataSetResponse: - type: array - items: - $ref: '#/definitions/icarHerdListCoreDataSetResponseDataSources' - icarHerdListCoreDataSetResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarHerdListCoreDataSetResponseDataSource' - icarHerdListCoreDataSetResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarHerdListCoreDataSetsType' - icarHerdListCoreDataSetsType: - type: array - items: - $ref: '#/definitions/icarHerdListCoreDataSetType' - icarHerdListCoreDataSetType: - type: object - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - specie: - $ref: '#/definitions/icarSpecieCodeType' - gender: - $ref: '#/definitions/icarGenderCodeType' - birth: - $ref: '#/definitions/icarDateType' - breed: - $ref: '#/definitions/icarCodeType' - sire: - $ref: '#/definitions/animalIdentifier' - recipientDam: - $ref: '#/definitions/animalIdentifier' - geneticDam: - $ref: '#/definitions/animalIdentifier' - number: - type: string - description: A meaningful identification code of the animal, not necessary unique within the location - earTagNumber: - type: string - description: The ear tag number - name: - type: string - description: The name of the animal - officialName: - type: string - description: The official name of the animal - productionPurpose: - $ref: '#/definitions/icarProductionPurpose' - required: - - identifier - icarSpecieCodeType: - type: string - description: Based upon Icar sc:SpecieCodeType. Allowed values are -BUF- for Buffalo, -OVI- for Ovine, -BOV- for Bovine and -GOT- for Goat. - enum: - - BUF - - OVI - - BOV - - GOT - icarGenderCodeType: - type: string - description: Based upon Icar gc:GenderCodeType. Allowed values are -F- for female and -M- for male. - enum: - - F - - M - icarProductionPurpose: - type: string - description: Not an ICAR approval ready currently. Allowed values are -D- for Dairy and -B- for Beef. - enum: - - D - - B - - # ------------------ - # Herdlist Movements - # ------------------ - icarHerdListMovementsResponse: - type: array - items: - $ref: '#/definitions/icarHerdListMovementsResponseDataSources' - icarHerdListMovementsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarHerdListMovementsResponseDataSource' - icarHerdListMovementsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarHerdListMovementsType' - icarHerdListMovementsType: - type: array - items: - $ref: '#/definitions/icarHerdListMovementType' - icarHerdListMovementType: - type: object - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - animalMovementDataSet: - $ref: '#/definitions/icarAnimalMovementDataSet' - icarAnimalMovementDataSet: - type: array - items: - $ref: '#/definitions/icarAnimalMovementType' - icarAnimalMovementType: - type: object - properties: - arrival: - $ref: '#/definitions/icarArrivalCoreDataSetType' - departure: - $ref: '#/definitions/icarDepartureCoreDataSetType' - required: - - arrival - icarArrivalCoreDataSetType: - type: object - description: not completely implemented yet! - properties: - arrivalDate: - $ref: '#/definitions/icarDateType' - required: - - arrivalDate - icarDepartureCoreDataSetType: - type: object - description: not completely implemented yet! - properties: - departureDate: - $ref: '#/definitions/icarDateType' - - # ------------------- - # Animal Registration - # ------------------- - icarAnimalRegistration: - type: object - properties: - id: - type: string - format: uuid - description: A unique identifier for the posted message - registrationType: - $ref: '#/definitions/registrationType' - registrationDate: - $ref: '#/definitions/icarDateType' - identifier: - $ref: '#/definitions/animalIdentifier' - specie: - $ref: '#/definitions/icarSpecieCodeType' - gender: - $ref: '#/definitions/icarGenderCodeType' - birth: - $ref: '#/definitions/icarDateType' - breed: - $ref: '#/definitions/icarCodeType' - sire: - $ref: '#/definitions/animalIdentifier' - recipientDam: - $ref: '#/definitions/animalIdentifier' - geneticDam: - $ref: '#/definitions/animalIdentifier' - number: - type: string - description: A meaningful identification code of the animal, not necessary unique within the location - earTagNumber: - type: string - description: The ear tag number - name: - type: string - description: The name of the animal - officialName: - type: string - description: The official name of the animal - productionPurpose: - $ref: '#/definitions/icarProductionPurpose' - required: - - identifier - - registrationType - - registrationDate - icarAnimalRegistrationBody: - type: object - properties: - registrationType: - $ref: '#/definitions/registrationType' - registrationDate: - $ref: '#/definitions/icarDateType' - identifier: - $ref: '#/definitions/animalIdentifier' - specie: - $ref: '#/definitions/icarSpecieCodeType' - gender: - $ref: '#/definitions/icarGenderCodeType' - birth: - $ref: '#/definitions/icarDateType' - breed: - $ref: '#/definitions/icarCodeType' - sire: - $ref: '#/definitions/animalIdentifier' - recipientDam: - $ref: '#/definitions/animalIdentifier' - geneticDam: - $ref: '#/definitions/animalIdentifier' - number: - type: string - description: A meaningful identification code of the animal, not necessary unique within the location - earTagNumber: - type: string - description: The ear tag number - name: - type: string - description: The name of the animal - officialName: - type: string - description: The official name of the animal - productionPurpose: - $ref: '#/definitions/icarProductionPurpose' - required: - - identifier - - registrationType - - registrationDate - registrationType: - type: string - description: Type of registration - enum: - - Birth - - Death - - Arrival - - Departure - icarAnimalRegistrationResponse: - type: object - properties: - data: - $ref: '#/definitions/icarAnimalRegistration' - - # ------------------- - # Milking Visits - # ------------------- - icarMilkingVisitsResponse: - type: array - items: - $ref: '#/definitions/icarMilkingVisitsResponseDataSources' - icarMilkingVisitsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarMilkingVisitsResponseDataSource' - icarMilkingVisitsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarMilkingVisitType' - icarMilkingVisitType: - type: object - properties: - id: - type: string - description: A unique identifier for this location for the milking visit message - animal: - $ref: '#/definitions/animalIdentifier' - milkingStartingDateTime: - $ref: '#/definitions/icarDateTimeType' - milkingDuration: - type: object - description: The length in time of the milking - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - SEC - - MIN - milkingVisitDuration: - type: object - description: The length in time of the milking visit - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - SEC - - MIN - milkingType: - type: string - description: The type of milking (manual or automated) - enum: - - Manual - - Automated - milkingMilkWeight: - type: object - description: The amount of milk milked - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - KGM - required: - - value - - unitCode - milkingSuccess: - type: boolean - milkingParlourUnit: - description: The milking parlour unit where the milking took place. - type: string - milkingBoxNumber: - description: The milking box number where the milking took place. - type: string - milkingDeviceId: - description: The ID of the device where the milking took place - type: string - measureDeviceId: - description: The ID of the device where the measurement of the milking took place - type: string - required: - - animal - - milkingStartingDateTime - - milkingSuccess - - icarQuarterMilkingsResponse: - type: array - items: - $ref: '#/definitions/icarQuarterMilkingsResponseDataSources' - icarQuarterMilkingsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarQuarterMilkingsResponseDataSource' - icarQuarterMilkingsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarQuarterMilkingsTypes' - icarQuarterMilkingsTypes: - type: array - items: - $ref: '#/definitions/icarQuarterMilkingType' - icarQuarterMilkingType: - type: object - properties: - icarQuarterId: - $ref: '#/definitions/icarQuarterId' - quarterMilkingDuration: - $ref: '#/definitions/quarterMilkingDuration' - quarterMilkingWeight: - $ref: '#/definitions/quarterMilkingWeight' - icarQuarterCharacteristics: - type: array - items: - $ref: '#/definitions/icarMilkCharacteristicsType' - quarterMilkingSample: - $ref: '#/definitions/quarterMilkingSample' - icarQuarterId: - type: string - enum: - - LF - - RF - - LB - - RB - quarterMilkingDuration: - type: object - description: The length in time of the milking for this quarter - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - SEC - - MIN - quarterMilkingWeight: - type: object - description: The weight of the milk milked of this quarter - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - KGM - quarterMilkingSample: - type: object - properties: - sample: - type: string - icarMilkCharacteristicsTypes: - type: array - items: - $ref: '#/definitions/icarMilkCharacteristicsType' - icarMilkCharacteristicsType: - type: object - properties: - characteristicsCode: - type: string - description: ICAR Milk Characteristics Code - enum: - - SCC - - FAT - - PROTEIN - - LAC - - UREA - - BLOOD - - ACETONE - - BHB - - LDH - - PRO - - AVGCOND - - MAXCOND - - AVGFLWR - - MAXFLWR - - WEIGHT - value: - type: number - format: decimal - description: Numeric value determined by measuring an object - - icarMilkCharacteristicsResponse: - type: array - items: - $ref: '#/definitions/icarMilkCharacteristicsResponseDataSources' - icarMilkCharacteristicsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarMilkCharacteristicsResponseDataSource' - icarMilkCharacteristicsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarMilkCharacteristicsTypes' - - icarAnimalMilkingSampleResponse: - type: array - items: - $ref: '#/definitions/icarAnimalMilkingSampleResponseDataSources' - icarAnimalMilkingSampleResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarAnimalMilkingSampleResponseDataSource' - icarAnimalMilkingSampleResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarAnimalMilkingSampleType' - icarAnimalMilkingSampleType: - type: object - properties: - bottleIdentifierType: - type: string - description: The type of bottle identifiertype according to ICAR_BottleIdentifierCode - enum: - - BRC - - RFD - rackNumber: - type: string - description: Number of the sample rack - bottlePosition: - type: string - description: Position of the bottle in the sample rack - bottleIdentifier: - type: string - description: Bottle identifier read from barcode or RFID - validSampleFillingIndicator: - type: string - description: Indicator of valid sample filling according to ICAR_ValidSampleFillingIndicatorCode list - enum: - - 0 - - 1 - - 2 - - icarTeatPositionsResponse: - type: array - items: - $ref: '#/definitions/icarTeatPositionsResponseDataSources' - icarTeatPositionsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarTeatPositionsResponseDataSource' - icarTeatPositionsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarTeatPositionsTypes' - icarTeatPositionsTypes: - type: array - items: - $ref: '#/definitions/icarTeatPositionsType' - icarTeatPositionsType: - type: object - properties: - icarQuarterId: - $ref: '#/definitions/icarQuarterId' - icarTeatPositions: - $ref: '#/definitions/icarTeatPositions' - icarTeatPositions: - type: object - properties: - x-position: - type: integer - y-position: - type: integer - z-position: - type: integer - - # ------------------- - # Identification Tags - # ------------------- - icarIdentificationTagsResponse: - type: array - items: - $ref: '#/definitions/icarIdentificationTagsResponseDataSources' - icarIdentificationTagsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarIdentificationTagsResponseDataSource' - icarIdentificationTagsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarIdentificationTagsType' - icarIdentificationTagsType: - type: array - items: - $ref: '#/definitions/icarIdentificationTagType' - icarIdentificationTagType: - type: object - properties: - id: - type: string - description: Contains the unique id of the tag - animal: - $ref: '#/definitions/animalIdentifier' - statusCode: - $ref: '#/definitions/icarIdentificationTagStatusCode' - statusMessage: - type: string - required: - - id - icarIdentificationTagStatusCode: - type: string - enum: - - Normal - - Incompatible - - Illegal - - Faulty - - OutdatedData - - LowBattery - - Unattached - - NotOnAnimal - - BadPosition - - WrongSide - - Other - - # -------------------------------- - # Dairy Grazing Summaries - # -------------------------------- - icarDairyGrazingSummariesResponse: - type: array - items: - $ref: '#/definitions/icarDairyGrazingSummariesResponseDataSources' - icarDairyGrazingSummariesResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarDairyGrazingSummariesResponseDataSource' - icarDairyGrazingSummariesResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarDairyGrazingSummariesType' - icarDairyGrazingSummariesType: - type: array - items: - $ref: '#/definitions/icarDairyGrazingSummaryType' - icarDairyGrazingSummaryType: - type: object - description: Contains the dairy grazing information for a period. - properties: - tankId: - type: string - description: Tank identifier. - equipment: - type: object - description: Information about the equipment that supplied the data. - properties: - approvalNumber: - type: string - description: Approval number of the equipment. This number will be supplied by Duurzame Zuivelketen (DZK). - purchaseDate: - type: string - format: date-time - description: Purchase date of the equipment. - required: - - approvalNumber - - purchaseDate - period: - type: object - description: The period for which this reports contains the data. - properties: - start: - type: string - description: The start time of the day. Time element should be set to 00:00:00. - format: date-time - end: - type: string - description: The end time of the day. Time element should be set to 23:59:59. - format: date-time - name: - type: string - description: The friendly name of the period. - required: - - start - - end - animalsTotal: - type: integer - format: int32 - description: Total number of dairy cows on the farm. - animalsQualify: - type: integer - format: int32 - description: Total number of dairy cows that qualify for grazing. - animalsGrazed: - type: object - description: Percentage of dairy cows that qualify for grazing and that have had a grazing time of at least 60 minutes. - properties: - value: - type: number - format: double - minimum: 0 - maximum: 1 - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - P1 - required: - - value - - unitCode - grazingDay: - type: boolean - description: Indicates if this period satisfies the grazing day conditions. - grazingTime: - type: object - description: Farm grazing time for that date in full minutes. - properties: - value: - type: integer - format: int32 - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - MIN - required: - - value - - unitCode - grazingStdev: - type: number - format: double - description: Standard deviation of the individual grazing times of all dairy cows that qualify for grazing. Should be rounded to two digits. - grazingTimeTotal: - type: object - description: Cumulated farm grazing time for that location-id after the reported date for that year. - properties: - value: - type: integer - format: int32 - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - MIN - required: - - value - - unitCode - grazingDaysTotal: - type: object - description: Cumulated grazing days for that location-id after the reported date for that year. - properties: - value: - type: integer - format: int32 - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - DAY - required: - - value - - unitCode - required: - - equipment - - period - - animalsTotal - - animalsQualify - - animalsGrazed - - grazingDay - - grazingTime - - grazingStdev - - grazingTimeTotal - - grazingDaysTotal - - # ------------------- - # Feed intakes - # ------------------- - icarFeedIntakesResponse: - type: array - items: - $ref: '#/definitions/icarFeedIntakesResponseDataSources' - icarFeedIntakesResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarFeedIntakesResponseDataSource' - icarFeedIntakesResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarFeedIntakesType' - icarFeedIntakesType: - type: array - items: - $ref: '#/definitions/icarFeedIntakeType' - icarFeedIntakeType: - type: object - description: Gives information about an animal's visit to a feeding station. - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - period: - $ref: '#/definitions/icarPeriodType' - entitlement: - type: object - description: The amount the animal was entitled to. - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - KGM - - GRM - required: - - value - - unitCode - consumption: - type: object - description: The amount the animal consumed during this visit. - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - KGM - - GRM - required: - - value - - unitCode - required: - - identifier - - period - - # ------------------- - # Gestations - # ------------------- - icarGestationsResponse: - type: array - items: - $ref: '#/definitions/icarGestationsResponseDataSources' - icarGestationsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarGestationsResponseDataSource' - icarGestationsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarGestationsType' - icarGestationsType: - type: array - items: - $ref: '#/definitions/icarGestationType' - icarGestationType: - type: object - description: Gives information about a gestation of a dam. - properties: - dam: - $ref: '#/definitions/animalIdentifier' - sire: - $ref: '#/definitions/animalIdentifier' - expectedCalvingDate: - type: string - description: Date of expected calving. - format: date-time - sexedSemenCode: - $ref: '#/definitions/icarSexedSemenCode' - impregnationCode: - $ref: '#/definitions/icarImpregnationCode' - icarImpregnationCode: - type: string - description: | - Defines the type of the last impregnation event; can be -I- for insemination, -N- for natural service, -R- for running with the bull or -M- for implantation. - enum: - - I - - N - - R - - M - - # ------------------- - # Health reports - # ------------------- - icarHealthReportsResponse: - type: array - items: - $ref: '#/definitions/icarHealthReportsResponseDataSources' - icarHealthReportsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarHealthReportsResponseDataSource' - icarHealthReportsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarHealthReportsType' - icarHealthReportsType: - type: array - items: - $ref: '#/definitions/icarHealthReportType' - icarHealthReportType: - type: object - description: Gives health information. - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - timestamp: - type: string - format: date-time - description: The timestamp of the measurement. - vendorSpecific: - $ref: '#/definitions/icarHealthReportVendorSpecific' - required: - - timestamp - icarHealthReportVendorSpecific: - type: object - description: 'Contains vendor specific fields. Only one vendor element can be present.' - properties: - scrSenseTime: - $ref: '#/definitions/icarHealthReportScrSenseTime' - nedapBI: - $ref: '#/definitions/icarHealthReportNedapBusinessInsight' - icarHealthReportScrSenseTime: - type: object - description: 'Specific fields for SCR SenseTime' - properties: - dailyRumination: - type: integer - format: int32 - healthIndex: - type: number - format: double - description: 'One digit after decimal point' - healthIndexThreshold: - type: integer - format: int32 - description: 'For report coloring' - icarHealthReportNedapBusinessInsight: - type: object - description: 'Specific fields for Nedap Business Insight. TO BE IMPLEMENTED' - - # ------------------- - # Heat activity - # ------------------- - icarHeatActivitiesResponse: - type: array - items: - $ref: '#/definitions/icarHeatActivitiesResponseDataSources' - icarHeatActivitiesResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarHeatActivitiesResponseDataSource' - icarHeatActivitiesResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarHeatActivitiesType' - icarHeatActivitiesType: - type: array - items: - $ref: '#/definitions/icarHeatActivityType' - icarHeatActivityType: - type: object - description: Gives information about an in-heat activity of a dam. - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - timestamp: - type: string - format: date-time - description: The timestamp of the measurement. - vendorSpecific: - $ref: '#/definitions/icarHeatActivityVendorSpecific' - required: - - identifier - icarHeatActivityVendorSpecific: - type: object - description: 'Contains vendor specific fields. Only one vendor element can be present.' - properties: - scrSenseTime: - $ref: '#/definitions/icarHeatActivityScrSenseTime' - icarHeatActivityScrSenseTime: - type: object - description: 'Contains SenseTime specific fields. Only one element can be present per item.' - properties: - heatBehavior: - description: The behavior of the cow as it relates to it being in heat. - type: number - format: double - dailyRumination: - description: The number of minutes a cow ruminates during the day (24-hour period) - type: number - format: double - dailyEating: - description: The number of minutes a cow eats during the day (24 hour period) - type: number - format: double - activityTrend: - description: The trend of the cow’s activity. This is usually higher when the cow is approaching the time it is in heat. - type: number - format: double - - # ------------------- - # Heat reports - # ------------------- - icarHeatReportsResponse: - type: array - items: - $ref: '#/definitions/icarHeatReportsResponseDataSources' - icarHeatReportsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarHeatReportsResponseDataSource' - icarHeatReportsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarHeatReportsType' - icarHeatReportsType: - type: array - items: - $ref: '#/definitions/icarHeatReportType' - icarHeatReportType: - type: object - description: Gives information about an in-heat detection of a dam. - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - timestamp: - type: string - format: date-time - description: The timestamp of the measurement. - method: - $ref: '#/definitions/icarHeatDetectionMethodCode' - vendorSpecific: - $ref: '#/definitions/icarHeatReportVendorSpecific' - required: - - timestamp - icarHeatDetectionMethodCode: - type: string - description: | - Defines the type of the heat detection method; can be -C- for chemical, -V- for visual, -P- for podometer or -O- for other. - enum: - - C - - V - - P - - O - icarHeatReportVendorSpecific: - type: object - description: 'Contains vendor specific fields. Only one vendor element can be present.' - properties: - scrSenseTime: - $ref: '#/definitions/icarHeatReportScrSenseTime' - nedapBI: - $ref: '#/definitions/icarHeatReportNedapBusinessInsight' - icarHeatReportScrSenseTime: - type: object - description: 'Specific fields for SCR SenseTime' - properties: - breedingWindow: - type: integer - format: int32 - heatIndex: - type: integer - format: int32 - icarHeatReportNedapBusinessInsight: - type: object - description: 'Specific fields for Nedap Business Insight. TO BE IMPLEMENTED' - - # ------------------- - # Inseminations - # ------------------- - icarInseminationsResponse: - type: array - items: - $ref: '#/definitions/icarInseminationsResponseDataSources' - icarInseminationsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarInseminationsResponseDataSource' - icarInseminationsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarInseminationsType' - icarInseminationsType: - type: array - items: - $ref: '#/definitions/icarInseminationType' - icarInseminationType: - type: object - description: Gives information about an insemination of a dam. - properties: - dam: - $ref: '#/definitions/animalIdentifier' - date: - $ref: '#/definitions/icarDateType' - sire: - $ref: '#/definitions/animalIdentifier' - chargeNumber: - $ref: "#/definitions/icarChargeNumber" - forFlushing: - $ref: "#/definitions/icarForFlushing" - technician: - $ref: "#/definitions/icarTechnician" - semenOfOwnStock: - $ref: "#/definitions/icarSemenOfOwnStock" - sexedSemenType: - $ref: "#/definitions/icarSexedSemenCode" - sharedSemenUsed: - $ref: "#/definitions/icarSharedSemenUsed" - icarChargeNumber: - type: string - description: The number of the batch of the production of the semen. - icarForFlushing: - type: boolean - default: false - description: Indication whether the cow was inseminated for flushing. - icarTechnician: - type: string - description: The identification of the person that performed the insemination. In case the farmer has performed the insemination a zero is applied. The possible id's are not provided in this documentation. - icarSemenOfOwnStock: - description: Indication whether the semen used came out of the stock from the farmer, or from the technician. - type: boolean - default: true - icarSharedSemenUsed: - description: Indication whether semen from 2 bulls was used for this insemination. - type: boolean - default: false - - # ------------------- - # Milk Deliveries - # ------------------- - icarMilkDeliveriesResponse: - type: array - items: - $ref: '#/definitions/icarMilkDeliveriesResponseDataSources' - icarMilkDeliveriesResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarMilkDeliveriesResponseDataSource' - icarMilkDeliveriesResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarMilkDeliveriesType' - icarMilkDeliveriesType: - type: array - items: - $ref: '#/definitions/icarMilkDeliveryType' - icarMilkDeliveryType: - type: object - description: Gives information about a milk delivery of a farmer to a dairy company. - properties: - dairyIdentifier: - $ref: '#/definitions/companyIdentifier' - productionUnit: - description: '204611' - type: integer - format: int32 - supplierNumber: - description: '202510' - type: integer - format: int32 - reckoningYear: - description: '204272' - type: integer - format: int32 - codeFatProteinCalculated: - description: '204398' - type: integer - format: int32 - period: - type: object - description: The period of reckoning the delivery belongs to. - properties: - start: - type: string - description: The start time of the day. Time element should be set to 00:00:00. - format: date-time - end: - type: string - description: The end time of the day. Time element should be set to 23:59:59. - format: date-time - name: - type: string - description: The friendly name of the period. - required: - - start - - end - timestampDelivery: - type: string - format: date-time - description: The timestamp of the milk delivery. 201731 & 204271 - milkDelivered: - type: object - description: 200503 & 203575 - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - LTR - - KGM - required: - - value - - unitCode - fat: - type: object - description: 200505 & 204625 - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - - GL #gram per litre - required: - - value - - unitCode - protein: - type: object - description: 200506 & 204626 - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - - GL #gram per litre - required: - - value - - unitCode - lactose: - type: object - description: '200507' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - required: - - value - - unitCode - urea: - type: object - description: '204261' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - required: - - value - - unitCode - temperature: - type: object - description: '200509' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - CEL #degree Celsius. - required: - - value - - unitCode - bacteriaInhibitingSubstance: - type: object - properties: - kind: - type: string - description: '202614' - testResult: - type: string - description: '202668' - reductionMilkQuantity: - type: object - description: '203446' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - LTR - - KGM - required: - - value - - unitCode - reductionMilkAmount: - type: object - description: '204381' - properties: - value: - type: number - format: double - valutaCode: - type: string - description: ISO 4217 - enum: - - EUR - required: - - value - - valutaCode - - # ------------------- - # Milk Delivery Test Results - # ------------------- - icarMilkDeliveryQualityReportsResultsResponse: - type: array - items: - $ref: '#/definitions/icarMilkDeliveryQualityReportsResponseDataSources' - icarMilkDeliveryQualityReportsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarMilkDeliveryQualityReportsResponseDataSource' - icarMilkDeliveryQualityReportsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarMilkDeliveryQualityReportsType' - icarMilkDeliveryQualityReportsType: - type: array - items: - $ref: '#/definitions/icarMilkDeliveryQualityReportType' - icarMilkDeliveryQualityReportType: - type: object - description: Gives information about test results (qualitity reports) of a milk delivery of a farmer to a dairy company. - properties: - test: - type: object - properties: - type: - type: string - enum: - - fat - - protein - - lactose - - bacteriaInhibitingSubstance - - todo1 - - todo2 - identification: - description: '200460' - type: integer - format: int32 - description: - description: '204529' - type: string - result: - type: object - description: '200462' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - - GL #gram per litre - required: - - value - - unitCode - gradation: - description: '204397' - type: integer - format: int32 - score: - description: '200463' - type: integer - format: int32 - - # ------------------- - # Milk intakes - # ------------------- - icarMilkIntakesResponse: - type: array - items: - $ref: '#/definitions/icarMilkIntakesResponseDataSources' - icarMilkIntakesResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarMilkIntakesResponseDataSource' - icarMilkIntakesResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarMilkIntakesType' - icarMilkIntakesType: - type: array - items: - $ref: '#/definitions/icarMilkIntakeType' - icarMilkIntakeType: - type: object - description: Gives information about an animal's visit to a milk station. - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - period: - $ref: '#/definitions/icarPeriodType' - entitlement: - type: object - description: The amount the animal was entitled to. - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - LTR - - MLT - required: - - value - - unitCode - consumption: - type: object - description: The amount the animal consumed during this visit. - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - LTR - - MLT - required: - - value - - unitCode - additives: - type: array - items: - $ref: '#/definitions/icarMilkIntakeAdditive' - required: - - identifier - - period - icarMilkIntakeAdditive: - type: object - properties: - bin: - description: The bin the additive was sourced from. - type: integer - format: int32 - type: - description: The type of additive provided. - type: string - enum: - - Unknown - - Electrolyte - #- IronSupplement - #- Antibiotic - quantity: - type: object - description: The provided quantity of the additive in milliliters. - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - LTR - - MLT - required: - - value - - unitCode - required: - - bin - - type - - # ------------------- - # Milk Invoices - # ------------------- - icarMilkInvoicesResponse: - type: array - items: - $ref: '#/definitions/icarMilkInvoicesResponseDataSources' - icarMilkInvoicesResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarMilkInvoicesResponseDataSource' - icarMilkInvoicesResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarMilkInvoicesType' - icarMilkInvoicesType: - type: array - items: - $ref: '#/definitions/icarMilkInvoiceType' - icarMilkInvoiceType: - type: object - description: Gives information about received milk invoices of a farmer to a dairy company. - properties: - invoiceDate: - $ref: '#/definitions/icarDateType' - invoiceNumber: - description: '201136' - type: string - payee: - type: object - properties: - name: - description: '700129' - type: string - street: - description: '700766' - type: string - number: - description: '700767' - type: string - city: - description: '700768' - type: string - zipcode: - description: '204587' - type: string - country: - description: '700770' - type: string - milkDelivered: - type: object - properties: - quantity: - type: object - description: '200468 & 204629' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - LTR - - KGM - required: - - value - - unitCode - fat: - type: object - description: 204555 & 204627 - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - - GL #gram per litre - required: - - value - - unitCode - protein: - type: object - description: 204556 & 204628 - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - - GL #gram per litre - required: - - value - - unitCode - lactose: - type: object - description: '204558' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - required: - - value - - unitCode - urea: - type: object - description: '204604' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - required: - - value - - unitCode - ureaCumulative: - type: object - description: '204605' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - required: - - value - - unitCode - score: - description: '200480' - type: integer - format: int32 - dairyAverage: - type: object - properties: - fat: - type: object - description: '200481' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - - GL #gram per litre - required: - - value - - unitCode - protein: - type: object - description: '200482' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - - GL #gram per litre - required: - - value - - unitCode - lactose: - type: object - description: '201046' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - required: - - value - - unitCode - urea: - type: object - description: '204606' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - VP #A measure of concentration, typically expressed as the percentage volume of a solute in a solution. - required: - - value - - unitCode - milkPrice: - type: object - description: '204382' - properties: - value: - type: number - format: double - valutaCode: - type: string - description: ISO 4217 - enum: - - EUR - required: - - value - - valutaCode - financial: - type: object - properties: - net: - description: '204382' - type: number - format: double - vat: - description: '204386' - type: number - format: double - gross: - description: '204384' - type: number - format: double - valutaCode: - description: ISO 4217 / 402617 - type: string - enum: - - EUR - required: - - net - - vat - - gross - - valutaCode - - # ------------------- - # Milk Invoice Items - # ------------------- - icarMilkInvoiceItemsResponse: - type: array - items: - $ref: '#/definitions/icarMilkInvoiceItemsResponseDataSources' - icarMilkInvoiceItemsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarMilkInvoiceItemsResponseDataSource' - icarMilkInvoiceItemsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarMilkInvoiceItemsType' - icarMilkInvoiceItemsType: - type: array - items: - $ref: '#/definitions/icarMilkInvoiceItemType' - icarMilkInvoiceItemType: - type: object - description: Gives information about the items of a received milk invoice of a farmer to a dairy company. - properties: - indexNumberInvoice: - description: '204640' - type: integer - format: int32 - indexNumberItemCodeDairy: - description: '204528' - type: integer - format: int32 - accountNumber: - description: '201088' - type: string - period: - $ref: '#/definitions/icarPeriodType' - description: - description: '204520' - type: string - quantity: - type: object - description: '202435' - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - LTR - - KGM - - H87 #Piece: a unit of count defining the number of pieces (piece: a single item, article or exemplar). - required: - - value - - unitCode - item: - type: object - properties: - itemCodeDairy: - description: '204521' - type: integer - format: int32 - vatPercentage: - description: '204557' - type: object - properties: - value: - type: number - format: double - minimum: 0 - maximum: 1 - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - P1 - required: - - value - - unitCode - financial: - type: object - properties: - unitPrice: - description: '204387' - type: number - format: double - discountPer100litres: - description: '204630' - type: number - format: double - net: - description: '204389' - type: number - format: double - vat: - description: '204386' - type: number - format: double - gross: - description: '204384' - type: number - format: double - runningTotal: - description: '204391' - type: number - format: double - valutaCode: - description: '402617 | ISO 4217' - type: string - enum: - - EUR - required: - - unitPrice - - net - - vat - - gross - - valutaCode - - # ------------------- - # PregnancyChecks - # ------------------- - icarPregnancyCheckResponse: - type: array - items: - $ref: '#/definitions/icarPregnancyChecksResponseDataSources' - icarPregnancyChecksResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarPregnancyChecksResponseDataSource' - icarPregnancyChecksResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarPregnancyChecksType' - icarPregnancyChecksType: - type: array - items: - $ref: '#/definitions/icarPregnancyCheckType' - icarPregnancyCheckType: - type: object - description: Gives information about a pregnancy check event. - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - date: - type: string - description: The date on which the pregnancy check has occured. - format: date - result: - $ref: '#/definitions/icarPregnancyCheckCodeType' - method: - $ref: '#/definitions/icarPregnancyCheckMethodCode' - required: - - date - - result - icarPregnancyCheckCodeType: - type: string - description: Defines the result of a pregnancy check event; can be -U- for unknown, -E- for empty or -P- for pregnant. - enum: - - U - - E - - P - icarPregnancyCheckMethodCode: - type: string - description: Defines the pregnancy check method; can be -E- for echography, -P- for palpation, -M- for milk analysis or O for Other. - enum: - - E - - P - - M - - O - - # ------------------- - # health activity - # ------------------- - icarHealthActivitiesResponse: - type: array - items: - $ref: '#/definitions/icarHealthActivitiesResponseDataSources' - icarHealthActivitiesResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarHealthActivitiesResponseDataSource' - icarHealthActivitiesResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarHealthActivitiesType' - icarHealthActivitiesType: - type: array - items: - $ref: '#/definitions/icarHealthActivityType' - icarHealthActivityType: - type: object - description: Gives information about health activity of cows on a location. - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - timestamp: - type: string - format: date-time - description: The timestamp of the measurement. - vendorSpecific: - $ref: '#/definitions/icarHealthActivityVendorSpecific' - required: - - identifier - icarHealthActivityVendorSpecific: - type: object - description: 'Contains vendor specific fields. Only one vendor element can be present.' - properties: - scrSenseTime: - $ref: '#/definitions/icarHealthActivityScrSenseTime' - icarHealthActivityScrSenseTime: - type: object - description: 'Contains SenseTime specific fields. Only one element can be present per item.' - properties: - dailyRumination: - description: The number of minutes a cow ruminates during the day (24-hour period) - type: number - format: double - dailyEating: - description: The number of minutes a cow eats during the day (24 hour period) - type: number - format: double - hourlyRumination: - description: The number of minutes a cow ruminates during an hour. - type: number - format: double - hourlyEating: - description: The number of minutes a cow eats an hour. - type: number - format: double - activityTrend: - description: The trend of the cow’s activity. Cows when they are not well are less active. - type: number - format: double - - # ------------------- - # Slaughters - # ------------------- - icarSlaughtersResponse: - type: array - items: - $ref: '#/definitions/icarSlaughtersResponseDataSources' - icarSlaughtersResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarSlaughtersResponseDataSource' - icarSlaughtersResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarSlaughtersType' - icarSlaughtersType: - type: array - items: - $ref: '#/definitions/icarSlaughterType' - icarSlaughterType: - type: object - description: Gives information about an animal's slaughter. - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - slaughterHouseIdentifier: - $ref: '#/definitions/companyIdentifier' - slaughterHouseBranche: - type: string - description: 'Branche number of the slaughterhouse' - earTagNumber: - type: string - description: The ear tag number - birth: - $ref: '#/definitions/icarDateType' - dateTimeSlaughter: - $ref: '#/definitions/icarDateType' - dateTimeInspection: - $ref: '#/definitions/icarDateType' - weightSlaughtered: - type: object - properties: - value: - type: number - format: double - multipleOf: 0.1 - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - KGM - required: - - value - - unitCode - weightRejected: - type: object - properties: - value: - type: number - format: double - multipleOf: 0.1 - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - KGM - required: - - value - - unitCode - weightCorrection: - type: object - properties: - value: - type: number - format: double - multipleOf: 0.1 - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - KGM - required: - - value - - unitCode - weightHookLeft: - type: object - properties: - value: - type: number - format: double - multipleOf: 0.1 - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - KGM - required: - - value - - unitCode - weightHookRight: - type: object - properties: - value: - type: number - format: double - multipleOf: 0.1 - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - KGM - required: - - value - - unitCode - animalClassification: - type: string - enum: - - A0 - - B0 - - B1 - - C0 - - D0 - - D1 - - D2 - - D3 - - D4 - - E0 - - E1 - - E2 - - Z0 - gender: - $ref: '#/definitions/icarGenderCodeType' - classifier: - type: string - fatCover: - type: string - enum: - - "1" - - "2" - - "3" - - "4" - - "5" - fatCoverSubdivision: - type: string - enum: - - "+" - - "o" - - "-" - conformation: - type: string - enum: - - S - - E - - U - - R - - O - - P - conformationSubdivision: - type: string - enum: - - "+" - - "o" - - "-" - colorScore: - type: string - enum: - - "1" - - "2" - - "3" - - "4" - - "5" - - "6" - - "7" - - "8" - - "9" - - "10" - - "11" - - "12" - - "13" - - "14" - - "15" - hairColorCode: - type: object - properties: - countryCode: - type: string - enum: - - "NL" - - "BE" - hairColor: - type: string - enum: - - "AR" - - "AZ" - - "BB" - - "BR" - - "BZ" - - "DK" - - "EB" - - "EG" - - "ER" - - "EW" - - "EZ" - - "MR" - - "MZ" - - "OV" - - "RB" - - "RW" - - "VB" - - "ZB" - - "ZW" - farmRegistrations: - type: array - items: - type: string - enum: - - "VUIL" - - "TRAAG" - - "MAGER" - - "KREUPEL" - - "ONTSTEKING" - - "KNIE(L)" - kdsRegistrations: - type: array - items: - type: string - enum: - - "NIEREN" - - "PAT_KNIE" - - "PAT_STOMPBIL" - - "PAT_FLANKEN" - - "FEC_LONGEN" - - "FEC_HART" - veterinaryPracticeNumber: - type: string - required: - - identifier - - slaughterHouseIdentifier - - earTagNumber - - birth - - dateTimeSlaughter - - dateTimeInspection - - weightSlaughtered - - weightRejected - - gender - - fatCover - - fatCoverSubdivision - - conformation - - conformationSubdivision - - hairColorCode - - # ------------------- - # Water intakes - # ------------------- - icarWaterIntakesResponse: - type: array - items: - $ref: '#/definitions/icarWaterIntakesResponseDataSources' - icarWaterIntakesResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarWaterIntakesResponseDataSource' - icarWaterIntakesResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarWaterIntakesType' - icarWaterIntakesType: - type: array - items: - $ref: '#/definitions/icarWaterIntakeType' - icarWaterIntakeType: - type: object - description: Gives information about an animal's visit to a water station. - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - period: - $ref: '#/definitions/icarPeriodType' - consumption: - type: object - description: The amount the animal consumed during this visit. - properties: - value: - type: number - format: double - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - LTR - - MLT - required: - - value - - unitCode - required: - - identifier - - period - - # ------------------- - # Weigths - # ------------------- - icarWeightsResponse: - type: array - items: - $ref: '#/definitions/icarWeightsResponseDataSources' - icarWeightsResponseDataSources: - type: object - allOf: - - $ref: '#/definitions/responseDataSource' - - $ref: '#/definitions/responseErrors' - - $ref: '#/definitions/icarWeightsResponseDataSource' - icarWeightsResponseDataSource: - type: object - properties: - data: - $ref: '#/definitions/icarWeightsType' - icarWeightsType: - type: array - items: - $ref: '#/definitions/icarWeightType' - icarWeightType: - type: object - description: Gives information about a weight event. - properties: - identifier: - $ref: '#/definitions/animalIdentifier' - timestamp: - type: string - format: date-time - description: The timestamp of the measurement. - value: - type: number - format: double - description: The value of the measurement. - unitCode: - type: string - description: The type of unit of measure. - unitDescription: - type: string - description: Description of type of unit of measure. - - # ----------------- - # Biodiversity report - # ----------------- - - icarBiodiversityReportsResponse: - $ref: '#/definitions/icarBiodiversityReports' - - icarBiodiversityReports: - type: object - properties: - company: - $ref: '#/definitions/companyIdentifier' - ftn: - type: string - description: A factory tank number (factory number + company number at factory) - area: - type: string - description: A meaningful identification code of the animal, not necessary unique within the location - collectives: - type: array - items: - $ref: '#/definitions/icarBiodiversityCollective' - - icarBiodiversityCollective: - type: object - properties: - id: - type: string - description: collective number, according to SCAN coding - name: - type: string - description: name of the collective - anlbMember: - type: boolean - description: Indicates if the company is an ANLB member (in original proposal - reports: - type: array - items: - $ref: '#/definitions/icarBiodiversityReport' - - icarBiodiversityReport: - type: object - properties: - packetCode: - type: integer - description: unique code for the bio diversity packet; ANLb number or BenN number - label: - type: string - description: Verschillende TBO, eigen beheer - size: - type: string - value: - type: number - format: double - description: Ingetekende oppervlakte/ hoeveelheid van het betreffende Z-pakket - unitCode: - type: string - description: UN/CEFACT Common Code for Units of Measurement. - enum: - - H18 - - MTK - - C62 - contractStartDate: - type: string - format: date - contractEndDate: - type: string - format: date - lastInspectionDate: - type: string - format: date - inspectionResult: - type: string - enum: - - 1 - - 2 - - 3 - - # --------- - # Addresses - # --------- - - uncefactAddressesResponse: - type: array - items: - $ref: '#/definitions/uncefactAddress' - - # ------------------------------------- - # uncefact compatible / UBL 2.1 address - # ------------------------------------- - uncefactAddress: - type: object - properties: - id: - type: string - description: An identifier for this address within an agreed scheme of address identifiers. - addressTypeCode: - $ref: '#/definitions/uncefactAddressTypeCode' - addressFormatCode: - $ref: '#/definitions/uncefactAddressFormatCode' - postbox: - type: string - description: A post office box number registered for postal delivery by a postal service provider. - floor: - type: string - description: An identifiable floor of a building. - room: - type: string - description: An identifiable room, suite, or apartment of a building. - streetName: - type: string - description: The name of the street, road, avenue, way, etc. to which the number of the building is attached. - additionalStreetName: - type: string - description: An additional street name used to further clarify the address. - blockName: - type: string - description: The name of the block (an area surrounded by streets and usually containing several buildings) in which this address is located. - buildingName: - type: string - description: The name of a building. - buildingNumber: - type: string - description: The number of a building within the street. - inhouseMail: - type: string - description: The specific identifable location within a building where mail is delivered. - department: - type: string - description: The department of the addressee. - markAttention: - type: string - description: The name, expressed as text, of a person or department in an organization to whose attention incoming mail is directed; corresponds to the printed forms `for the attention of`, `FAO`, and `ATTN:`. - markCare: - type: string - description: The name, expressed as text, of a person or organization at this address into whose care incoming mail is entrusted; corresponds to the printed forms `care of` and `c/o`. - plotIdentification: - type: string - description: An identifier (e.g., a parcel number) for the piece of land associated with this address. - citySubdivisionName: - type: string - description: The name of the subdivision of a city, town, or village in which this address is located, such as the name of its district or borough. - cityName: - type: string - description: The name of a city, town, or village. - postalZone: - type: string - description: The postal identifier for this address according to the relevant national postal service, such as a ZIP code or Post Code. - countrySubentity: - type: string - description: The political or administrative division of a country in which this address is located, such as the name of its county, province, or state, expressed as text. - countrySubentityCode: - type: string - description: The political or administrative division of a country in which this address is located, such as a county, province, or state, expressed as a code (typically nationally agreed). - region: - type: string - description: The recognized geographic or economic region or group of countries in which this address is located. - district: - type: string - description: The district or geographical division of a country or region in which this address is located. - timezoneOffset: - type: string - description: The time zone in which this address is located (as an offset from Universal Coordinated Time (UTC)) at the time of exchange. - addressLine: - type: array - description: An unstructured address line. - items: - type: string - country: - type: string - description: The country in which this address is situated. - locationCoordinate: - type: string - description: The geographical coordinates of this address. - - uncefactAddressTypeCode: - type: integer - description: | - A mutually agreed code signifying the type of this address. - * `1` - Postal address. The address is representing a postal address. - * `2` - Fiscal address. Identification of an address as required by fiscal administrations. - * `3` - Physical address. The address represents an actual physical location. - enum: - - 1 - - 2 - - 3 - - uncefactAddressFormatCode: - type: integer - description: | - A mutually agreed code signifying the format of this address. - * `1` - Street name followed by number. Address street name followed by address number. - * `2` - Number, road type, road name in this sequence. House number followed bytype of road and name of the road. - * `3` - Road type, road name, number in this sequence. Type of the road followed by name of the road and the house number. - * `4` - Post office box. Post office box. - * `5` - Unstructured address. Unstructured address, comprising an unspecified mix of components. - * `6` - Street name followed by number, building, suite. Identifies the address component as street name followed by number, building, and suite in this sequence. - * `7` - Rural route number. Identifies the address component as the rural route number. - * `8` - Post office drawer number. Identifies the address component as the post office drawer. - * `9` - Building name followed by suite. Identifies the address component as building followed by suite. - enum: - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - -############################################### -# Paths # -############################################### -paths: - /locations/{location-scheme}/{location-id}/herd-list: - get: - tags: - - ICAR inspired - summary: Get the animals on a location. - description: | - _Based upon ICAR ADE GetHerdListRequest._ - # Purpose - Returns the herd list for a location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 200: - description: Successful. The response contains the animal identifiers for the location. - schema: - $ref: '#/definitions/icarHerdListResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/herd-list-core-data-set: - get: - tags: - - ICAR inspired - summary: Get the core details of the animals on a location. - description: | - _Based upon ICAR ADE GetHerdListRequest._ - # Purpose - Returns a herd list for a location containing core animal data. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 200: - description: Successful. The response contains the animal core data set for the location. - schema: - $ref: '#/definitions/icarHerdListCoreDataSetResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/dairy-grazing-summaries: - get: - tags: - - ICAR inspired - summary: Get the dairy grazing summary data - description: | - # Purpose - Returns a summary with information about the grazing pattern of the animals on the given location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTimeRequired' - - $ref: '#/parameters/queryEndDateTimeRequired' - - $ref: '#/parameters/queryModifiedSince' - responses: - 200: - description: Successful. The response contains the dairy grazing summary data for the location. - schema: - $ref: '#/definitions/icarDairyGrazingSummariesResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/feed-intakes: - get: - tags: - - ICAR inspired - summary: Get feed intakes of the animals on the location specified. - description: | - # Purpose - Returns feed intakes of the animals on the location specified. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 200: - description: Successful. The response contains the intake data for the location. - schema: - $ref: '#/definitions/icarFeedIntakesResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/gestations: - get: - tags: - - ICAR inspired - summary: Get gestation information for all in-herd animals on a location. - description: | - # Purpose - Returns a list with current gestation information for a location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - responses: - 200: - description: Successful. The response contains the gestation data for the location. - schema: - $ref: '#/definitions/icarGestationsResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/health-activities: - get: - tags: - - ICAR inspired - summary: Get health activity information for animals on a location. - description: | - # Purpose - Returns a list with health activity information for a location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTimeRequired' - - $ref: '#/parameters/queryEndDateTimeRequired' - - $ref: '#/parameters/queryAnimalScheme' - - $ref: '#/parameters/queryAnimalId' - responses: - 200: - description: Successful. The response contains the health activity data for the location. - schema: - $ref: '#/definitions/icarHealthActivitiesResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/health-reports: - get: - tags: - - ICAR inspired - summary: Get health information for a location. - description: | - # Purpose - Returns a list with current health information for a location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - responses: - 200: - description: Successful. The response contains the health data for the location. - schema: - $ref: '#/definitions/icarHealthReportsResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/heat-activities: - get: - tags: - - ICAR inspired - summary: Get in-heat activity information for female animals on a location. - description: | - # Purpose - Returns a list with in-heat activity information for a location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTimeRequired' - - $ref: '#/parameters/queryEndDateTimeRequired' - - $ref: '#/parameters/queryAnimalScheme' - - $ref: '#/parameters/queryAnimalId' - responses: - 200: - description: Successful. The response contains the in-heat activity data for the location. - schema: - $ref: '#/definitions/icarHeatActivitiesResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/heat-reports: - get: - tags: - - ICAR inspired - summary: Get in-heat information for a location. - description: | - # Purpose - Returns a list with current in-heat information for a location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - responses: - 200: - description: Successful. The response contains the in-heat data for the location. - schema: - $ref: '#/definitions/icarHeatReportsResponse' - default: - $ref: '#/responses/error' - - /locations/{location-scheme}/{location-id}/herd-list-movements: - get: - tags: - - ICAR inspired - summary: Get the animal movements on a location. - description: | - _Based upon ICAR ADE GetHerdListRequest._ - # Purpose - Returns the animal movements for a location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 200: - description: Successful. The response contains the animal movement data for the location. - schema: - $ref: '#/definitions/icarHerdListMovementsResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/animal-registrations: - post: - tags: - - ICAR inspired - summary: Pushes a singular animal (governmental) registration - description: | - # Purpose - Provides data from a singular animal registration - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - name: icarAnimalRegistration - in: body - description: The animal you want to register - required: true - schema: - $ref: '#/definitions/icarAnimalRegistrationBody' - responses: - 201: - description: Successful. The response contains the milking results for the given location - schema: - $ref: '#/definitions/icarAnimalRegistrationResponse' - default: - $ref: '#/responses/error' - - - /locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/teat-positions: - get: - tags: - - ICAR inspired - summary: Get the teat positions for a specific milking visit - description: | - # Purpose - Provides teat positions from a singular visit of an animal to a milking parlour - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/pathIcarMilkingVisitId' - responses: - 201: - description: Successful. The response contains the milking results for the given location - schema: - $ref: '#/definitions/icarTeatPositionsResponse' - default: - $ref: '#/responses/error' - - /locations/{location-scheme}/{location-id}/identification-tags: - get: - tags: - - ICAR inspired - summary: Get the identification tags on a location. - description: | - # Purpose - Returns the identification tags for a location. Examples are Nedap, SCR and Gallagher identification tags (EIDs) for animals. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - responses: - 200: - description: Successful. The response contains the current identification tags available on the location. - schema: - $ref: '#/definitions/icarIdentificationTagsResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/inseminations: - get: - tags: - - ICAR inspired - summary: Get the executed insemantions on a location. - description: | - # Purpose - Returns the inseminations for a location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryModifiedSince' - responses: - 200: - description: Successful. The response contains the insemination data for the location. - schema: - $ref: '#/definitions/icarInseminationsResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/milk-deliveries: - get: - tags: - - Local/other standard - summary: Get milk deliveries of the location specified. - description: | - # Purpose - Returns milk deliveries of the location specified. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 200: - description: Successful. The response contains the milk delivery data for the location. - schema: - $ref: '#/definitions/icarMilkDeliveriesResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/milk-deliveries/{milk-delivery-id}/quality-reports: - get: - tags: - - Local/other standard - summary: Get the test results for a specific milk delivery of the location specified. - description: todo - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/pathMilkDeliveryId' - responses: - 200: - description: Successful. The response contains the quality reports of the milk delivery data for the location. - schema: - $ref: '#/definitions/icarMilkDeliveryQualityReportsResultsResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/milk-intakes: - get: - tags: - - ICAR inspired - summary: Get milk intakes of the animals on the location specified. - description: | - # Purpose - Returns milk intakes of the animals on the location specified. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 200: - description: Successful. The response contains the intake data for the location. - schema: - $ref: '#/definitions/icarMilkIntakesResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/milk-invoices: - get: - tags: - - Local/other standard - summary: Get milk delivery invoices of the location specified. - description: | - # Purpose - Returns the invoices received for the milk delivered of the location specified. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 200: - description: Successful. The response contains the invoices received for the deliverd milk for the location. - schema: - $ref: '#/definitions/icarMilkInvoicesResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/milk-invoices/{milk-invoice-id}/items: - get: - tags: - - Local/other standard - summary: Get the items of the milk delivery invoices of the location specified. - description: | - # Purpose - Returns the items of the invoices received for the milk delivered of the location specified. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/pathMilkInvoiceId' - responses: - 200: - description: Successful. The response contains the items of the invoices received for the deliverd milk for the location. - schema: - $ref: '#/definitions/icarMilkInvoiceItemsResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/slaughters: - get: - tags: - - Local/other standard - summary: Get the slaughterhouse events for all animals being slaughtered. - description: | - # Purpose - Returns a list animals being slaughtered with their details for a location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 200: - description: Successful. The response contains the slaughter events data for the location. - schema: - $ref: '#/definitions/icarSlaughtersResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/pregnancy-checks: - get: - tags: - - ICAR inspired - summary: Get the pregnancy checks events for all in-herd animals on a location. - description: | - _Subject to change_ - # Purpose - Returns a list with pregnancy-checks events information for a location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - responses: - 200: - description: Successful. The response contains the pregnancy check events data for the location. - schema: - $ref: '#/definitions/icarPregnancyCheckResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/water-intakes: - get: - tags: - - ICAR inspired - summary: Get water intakes of the animals on the location specified. - description: | - # Purpose - Returns water intakes of the animals on the location specified. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 200: - description: Successful. The response contains the intake data for the location. - schema: - $ref: '#/definitions/icarWaterIntakesResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/weights: - get: - tags: - - ICAR inspired - summary: Get information about the weight of an animal - description: | - _Subject to change_ - # Purpose - Returns a list of weight measurement events for a location. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 200: - description: Successful. The response contains the weight data for the animals on the location. - schema: - $ref: '#/definitions/icarWeightsResponse' - default: - $ref: '#/responses/error' - /locations/{location-scheme}/{location-id}/biodiversity-reports: - get: - tags: - - Local/other standard - summary: Get the bio-diversity reports for the location in the given period. - description: | - # Purpose - Get the bio-diversity reports for the location in the given period. - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - - $ref: '#/parameters/queryStartDateTime' - - $ref: '#/parameters/queryEndDateTime' - responses: - 200: - description: Successful. The response contains a list of all generated biodiversity reports for the location. - schema: - $ref: '#/definitions/icarBiodiversityReportsResponse' - default: - $ref: '#/responses/error' - - /locations/{location-scheme}/{location-id}/addresses: - get: - tags: - - Local/other standard - summary: Gets the currently known addresses for this company - description: | - # Purpose - Gets the known addresses for this company - parameters: - - $ref: '#/parameters/pathLocationScheme' - - $ref: '#/parameters/pathLocationId' - responses: - 200: - description: Successful. The response contains a list of all generated biodiversity reports for the location. - schema: - $ref: '#/definitions/uncefactAddressesResponse' - default: - $ref: '#/responses/error' diff --git a/JoinData/uncefactAddressCode.json b/JoinData/uncefactAddressCode.json new file mode 100644 index 0000000..be53696 --- /dev/null +++ b/JoinData/uncefactAddressCode.json @@ -0,0 +1,9 @@ +{ + "type": "integer", + "description": "A mutually agreed code signifying the type of this address.\n* `1` - Postal address. The address is representing a postal address.\n* `2` - Fiscal address. Identification of an address as required by fiscal administrations.\n* `3` - Physical address. The address represents an actual physical location.\n", + "enum": [ + 1, + 2, + 3 + ] +} diff --git a/JoinData/uncefactAddressType.json b/JoinData/uncefactAddressType.json index d3d2fe9..114653f 100644 --- a/JoinData/uncefactAddressType.json +++ b/JoinData/uncefactAddressType.json @@ -6,7 +6,7 @@ "description": "An identifier for this address within an agreed scheme of address identifiers." }, "addressTypeCode": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressTypeCode.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressCode.json" }, "addressFormatCode": { "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressFormatCode.json" From e8e27da296f537b48c7d6a3d2e678fcc07d104c8 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 13:47:42 +0200 Subject: [PATCH 25/31] cleanup of url scheme definitions (grouped them together) --- JoinData/README.md | 8 +- JoinData/v3 json all.json | 6870 ++++++++++++++++++------------------- 2 files changed, 3432 insertions(+), 3446 deletions(-) diff --git a/JoinData/README.md b/JoinData/README.md index 03471d0..f271803 100644 --- a/JoinData/README.md +++ b/JoinData/README.md @@ -10,11 +10,13 @@ URL scheme vs message types Each _message_ or _event_ has its own path. Per _path_, the (standardized) parameters are described. There is always a default type for errors (called error). The actual response is build up out of several types: * The full response for a message xxx is described in a type called xxxResponse. This contains an array of data sources that have responded * The xxxDataSources type describes the response per data source. It can contain information on the data source itself or errors it produced. There are all generic. It can also contain the actual message. -* The xxxResponseDataSource type describes the actual response. This should be a wrapper to an ICAR defined JSON scheme. +* The xxxResponseDataSource type describes the actual response. This should be a wrapper to an ICAR defined JSON scheme, e.g. to an xxxResource file. Naming Conventions ------------------ -Typically, most messages have a plural version (e.g. icarGestationsType) which is simply an array wrapping a singular type (e.g. icarGestationType). In many cases, the endpoint would be defined on the plural version but this allows for more flexibility. -An enum type should be located in a file called xxxCode. +A message that can be transported by itself should be placed in a file called xxxResource. Basic types that are reused in multiple messages and are not transported by themselves should be placed in a file called xxxType. An enum type should be located in a file called xxxCode. + +Typically, most messages have a plural version (e.g. icarGestationsResource) which is simply an array wrapping a singular type (e.g. icarGestationResource). In many cases, the endpoint would be defined on the plural version but this allows for more flexibility. + diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 17fe3d0..abcfa60 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -1,3445 +1,3429 @@ { - "openapi": "3.0.1", - "info": { - "title": "JoinData Message definitions", - "description": "The specification describes the JoinData Datahub Broker API. \n", - "version": "1.0" - }, - "servers": [ - { - "url": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/" - } - ], - "security": [ - { - "jdClient": [ - "fullaccess" - ] - }, - { - "jdAuthorizationCode": [ - "fullaccess" - ] - } - ], - "tags": [ - { - "name": "ICAR inspired", - "description": "Messages which do not exist in current ICAR-ADE standard, but which follow the same principles\n" - }, - { - "name": "Local/other standard", - "description": "Messages which are (soon) available through JoinData, but without any affiliation to ICAR\n" - } - ], - "paths": { - "/locations/{location-scheme}/{location-id}/milking-visits": { - "get": { - "tags": [ - "ICAR approval ready" - ], - "summary": "Get the data for milking visits", - "description": "# Purpose\nProvides data from visits of animals to a milking parlour\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "201": { - "description": "Successful. The response contains the milking results for the given location", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarMilkingVisitsResponse" - } - } - } - }, - "default": { - "description": "An error has occured while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/characteristics": { - "get": { - "tags": [ - "ICAR approval ready" - ], - "summary": "Get the quarter milking data for a specific milking visit", - "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "milking-visit-id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "Successful. The response contains the milking results for the given location", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarMilkCharacteristicsResponse" - } - } - } - }, - "default": { - "description": "An error has occured while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/quarter-milkings": { - "get": { - "tags": [ - "ICAR approval ready" - ], - "summary": "Get the quarter milking data for a specific milking visit", - "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "milking-visit-id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "Successful. The response contains the milking results for the given location", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarQuarterMilkingsResponse" - } - } - } - }, - "default": { - "description": "An error has occured while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/animal-milking-sample": { - "get": { - "tags": [ - "ICAR approval ready" - ], - "summary": "Get the quarter milking data for a specific milking visit", - "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "milking-visit-id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "Successful. The response contains the milking results for the given location", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarAnimalMilkingSampleResponse" - } - } - } - }, - "default": { - "description": "An error has occured while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/herd-list": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get the animals on a location.", - "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns the herd list for a location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the animal identifiers for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarHerdListResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/herd-list-core-data-set": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get the core details of the animals on a location.", - "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns a herd list for a location containing core animal data.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the animal core data set for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarHerdListCoreDataSetResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/dairy-grazing-summaries": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get the dairy grazing summary data", - "description": "# Purpose\nReturns a summary with information about the grazing pattern of the animals on the given location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "modified-since", - "in": "query", - "description": "The date-time of insertion or last update of the event.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the dairy grazing summary data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarDairyGrazingSummariesResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/feed-intakes": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get feed intakes of the animals on the location specified.", - "description": "# Purpose\nReturns feed intakes of the animals on the location specified.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the intake data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarFeedIntakesResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/gestations": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get gestation information for all in-herd animals on a location.", - "description": "# Purpose\nReturns a list with current gestation information for a location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the gestation data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarGestationsResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/health-activities": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get health activity information for animals on a location.", - "description": "# Purpose\nReturns a list with health activity information for a location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "animal-scheme", - "in": "query", - "description": "The scheme id for the animal identifier. Should be used together with animal-id.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "animal-id", - "in": "query", - "description": "The unique identifier for the animal. Should be used together with animal-scheme.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the health activity data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarHealthActivitiesResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/health-reports": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get health information for a location.", - "description": "# Purpose\nReturns a list with current health information for a location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the health data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarHealthReportsResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/heat-activities": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get in-heat activity information for female animals on a location.", - "description": "# Purpose\nReturns a list with in-heat activity information for a location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "animal-scheme", - "in": "query", - "description": "The scheme id for the animal identifier. Should be used together with animal-id.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "animal-id", - "in": "query", - "description": "The unique identifier for the animal. Should be used together with animal-scheme.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the in-heat activity data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarHeatActivitiesResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/heat-reports": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get in-heat information for a location.", - "description": "# Purpose\nReturns a list with current in-heat information for a location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the in-heat data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarHeatReportsResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/herd-list-movements": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get the animal movements on a location.", - "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns the animal movements for a location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the animal movement data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarHerdListMovementsResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/animal-registrations": { - "post": { - "tags": [ - "ICAR inspired" - ], - "summary": "Pushes a singular animal (governmental) registration", - "description": "# Purpose\nProvides data from a singular animal registration\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "The animal you want to register", - "content": { - "application/json": { - "schema": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalRegistrationBodyType.json" - } - } - }, - "required": true - }, - "responses": { - "201": { - "description": "Successful. The response contains the milking results for the given location", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarAnimalRegistrationResponseDataSource" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/teat-positions": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get the teat positions for a specific milking visit", - "description": "# Purpose\nProvides teat positions from a singular visit of an animal to a milking parlour\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "milking-visit-id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "Successful. The response contains the milking results for the given location", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarTeatPositionsResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/identification-tags": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get the identification tags on a location.", - "description": "# Purpose\nReturns the identification tags for a location. Examples are Nedap, SCR and Gallagher identification tags (EIDs) for animals.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the current identification tags available on the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarIdentificationTagsResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/inseminations": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get the executed insemantions on a location.", - "description": "# Purpose\nReturns the inseminations for a location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "modified-since", - "in": "query", - "description": "The date-time of insertion or last update of the event.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the insemination data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarInseminationsResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milk-deliveries": { - "get": { - "tags": [ - "Local/other standard" - ], - "summary": "Get milk deliveries of the location specified.", - "description": "# Purpose\nReturns milk deliveries of the location specified.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the milk delivery data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarMilkDeliveriesResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milk-deliveries/{milk-delivery-id}/quality-reports": { - "get": { - "tags": [ - "Local/other standard" - ], - "summary": "Get the test results for a specific milk delivery of the location specified.", - "description": "todo", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "milk-delivery-id", - "in": "path", - "description": "The unique identifier for a milk delivery for a specific location.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the quality reports of the milk delivery data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResultsResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milk-intakes": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get milk intakes of the animals on the location specified.", - "description": "# Purpose\nReturns milk intakes of the animals on the location specified.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the intake data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarMilkIntakesResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milk-invoices": { - "get": { - "tags": [ - "Local/other standard" - ], - "summary": "Get milk delivery invoices of the location specified.", - "description": "# Purpose\nReturns the invoices received for the milk delivered of the location specified.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the invoices received for the deliverd milk for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarMilkInvoicesResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/milk-invoices/{milk-invoice-id}/items": { - "get": { - "tags": [ - "Local/other standard" - ], - "summary": "Get the items of the milk delivery invoices of the location specified.", - "description": "# Purpose\nReturns the items of the invoices received for the milk delivered of the location specified.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "milk-invoice-id", - "in": "path", - "description": "The unique identifier for a milk invoice for a specific location.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the items of the invoices received for the deliverd milk for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarMilkInvoiceItemsResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/slaughters": { - "get": { - "tags": [ - "Local/other standard" - ], - "summary": "Get the slaughterhouse events for all animals being slaughtered.", - "description": "# Purpose\nReturns a list animals being slaughtered with their details for a location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the slaughter events data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarSlaughtersResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/pregnancy-checks": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get the pregnancy checks events for all in-herd animals on a location.", - "description": "_Subject to change_\n# Purpose\nReturns a list with pregnancy-checks events information for a location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the pregnancy check events data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarPregnancyCheckResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/water-intakes": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get water intakes of the animals on the location specified.", - "description": "# Purpose\nReturns water intakes of the animals on the location specified.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the intake data for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarWaterIntakesResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/weights": { - "get": { - "tags": [ - "ICAR inspired" - ], - "summary": "Get information about the weight of an animal", - "description": "_Subject to change_\n# Purpose\nReturns a list of weight measurement events for a location.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains the weight data for the animals on the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarWeightsResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/biodiversity-reports": { - "get": { - "tags": [ - "Local/other standard" - ], - "summary": "Get the bio-diversity reports for the location in the given period.", - "description": "# Purpose\nGet the bio-diversity reports for the location in the given period.\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains a list of all generated biodiversity reports for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/icarBiodiversityReportsResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - }, - "/locations/{location-scheme}/{location-id}/addresses": { - "get": { - "tags": [ - "Local/other standard" - ], - "summary": "Gets the currently known addresses for this company", - "description": "# Purpose\nGets the known addresses for this company\n", - "parameters": [ - { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Successful. The response contains a list of all generated biodiversity reports for the location.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/uncefactAddressesResponse" - } - } - } - }, - "default": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "icarGestationsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarGestationsResponseDataSource" - } - ] - }, - "icarSlaughtersResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarSlaughtersResponseDataSources" - } - }, - "icarPregnancyChecksResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPregnancyChecksType.json" - } - } - }, - "icarHeatReportsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatReportsType.json" - } - } - }, - "icarQuarterMilkingsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSource" - } - ] - }, - "icarHerdListMovementsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHerdListMovementsResponseDataSources" - } - }, - "icarAnimalMilkingSampleResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSource" - } - ] - }, - "icarMilkInvoiceItemsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkInvoiceItemsResponseDataSource" - } - ] - }, - "icarMilkDeliveriesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkDeliveriesResponseDataSource" - } - ] - }, - "uncefactAddressesResponse": { - "type": "array", - "items": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressType.json" - } - }, - "icarMilkIntakesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkIntakesResponseDataSource" - } - ] - }, - "icarMilkDeliveriesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveriesType.json" - } - } - }, - "icarBiodiversityReportsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarBiodiversityReportsResponseDataSource" - } - ] - }, - "icarBiodiversityReportsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityReportsType.json" - } - } - }, - "icarTeatPositionsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarTeatPositionsResponseDataSources" - } - }, - "icarHeatReportVendorSpecific": { - "type": "object", - "properties": { - "scrSenseTime": { - "$ref": "#/components/schemas/icarHeatReportScrSenseTime" - }, - "nedapBI": { - "$ref": "#/components/schemas/icarHeatReportNedapBusinessInsight" - } - }, - "description": "Contains vendor specific fields. Only one vendor element can be present." - }, - "icarHerdListCoreDataSetResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSource" - } - ] - }, - "icarHeatReportNedapBusinessInsight": { - "type": "object", - "description": "Specific fields for Nedap Business Insight. TO BE IMPLEMENTED" - }, - "icarWaterIntakesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWaterIntakesType.json" - } - } - }, - "icarDairyGrazingSummariesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarDairyGrazingSummariesResponseDataSource" - } - ] - }, - "responseDataSource": { - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/dataSource" - } - } - }, - "quarterMilkingWeight": { - "type": "object", - "properties": { - "value": { - "type": "number", - "format": "double" - }, - "unitCode": { - "type": "string", - "description": "UN/CEFACT Common Code for Units of Measurement.", - "enum": [ - "KGM" - ] - } - }, - "description": "The weight of the milk milked of this quarter" - }, - - "icarHeatReportsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHeatReportsResponseDataSource" - } - ] - }, - "icarMilkDeliveryQualityReportsResultsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResponseDataSources" - } - }, - "icarIdentificationTagsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarIdentificationTagsResponseDataSource" - } - ] - }, - "icarHerdListCoreDataSetResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSources" - } - }, - "icarMilkDeliveriesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkDeliveriesResponseDataSources" - } - }, - "icarInseminationsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarInseminationsResponseDataSources" - } - }, - "icarHeatActivitiesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHeatActivitiesResponseDataSources" - } - }, - "icarHerdListResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHerdListResponseDataSource" - } - ] - }, - "icarInseminationsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarInseminationsResponseDataSource" - } - ] - }, - "icarMilkCharacteristicsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkCharacteristicsTypes.json" - } - } - }, - "icarHealthReportsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHealthReportsResponseDataSources" - } - }, - "icarHealthReportsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHealthReportsResponseDataSource" - } - ] - }, - "icarDairyGrazingSummariesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDairyGrazingSummariesType.json" - } - } - }, - "icarFeedIntakesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarFeedIntakesType.json" - } - } - }, - "icarGestationsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGestationsType.json" - } - } - }, - "icarHealthActivitiesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHealthActivitiesResponseDataSource" - } - ] - }, - "icarHealthActivityScrSenseTime": { - "type": "object", - "properties": { - "dailyRumination": { - "type": "number", - "description": "The number of minutes a cow ruminates during the day (24-hour period)", - "format": "double" - }, - "dailyEating": { - "type": "number", - "description": "The number of minutes a cow eats during the day (24 hour period)", - "format": "double" - }, - "hourlyRumination": { - "type": "number", - "description": "The number of minutes a cow ruminates during an hour.", - "format": "double" - }, - "hourlyEating": { - "type": "number", - "description": "The number of minutes a cow eats an hour.", - "format": "double" - }, - "activityTrend": { - "type": "number", - "description": "The trend of the cow’s activity. Cows when they are not well are less active.", - "format": "double" - } - }, - "description": "Contains SenseTime specific fields. Only one element can be present per item." - }, - - "icarHealthReportNedapBusinessInsight": { - "type": "object", - "description": "Specific fields for Nedap Business Insight. TO BE IMPLEMENTED" - }, - "icarWeightsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarWeightsResponseDataSources" - } - }, - "icarFeedIntakesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarFeedIntakesResponseDataSources" - } - }, - "icarHealthReportScrSenseTime": { - "type": "object", - "properties": { - "dailyRumination": { - "type": "integer", - "format": "int32" - }, - "healthIndex": { - "type": "number", - "description": "One digit after decimal point", - "format": "double" - }, - "healthIndexThreshold": { - "type": "integer", - "description": "For report coloring", - "format": "int32" - } - }, - "description": "Specific fields for SCR SenseTime" - }, - "icarHerdListMovementsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListMovementsType.json" - } - } - }, - "icarPregnancyChecksResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarPregnancyChecksResponseDataSource" - } - ] - }, - "icarSlaughtersResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSlaughtersType.json" - } - } - }, - "uncefactAddressTypeCode": { - "type": "integer", - "description": "A mutually agreed code signifying the type of this address.\n* `1` - Postal address. The address is representing a postal address.\n* `2` - Fiscal address. Identification of an address as required by fiscal administrations.\n* `3` - Physical address. The address represents an actual physical location.\n", - "enum": [ - 1, - 2, - 3 - ] - }, - "icarAnimalMilkingSampleResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSources" - } - }, - "icarMilkDeliveryQualityReportsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResponseDataSource" - } - ] - }, - "icarHerdListMovementsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHerdListMovementsResponseDataSource" - } - ] - }, - "icarPregnancyCheckResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarPregnancyChecksResponseDataSources" - } - }, - "icarMilkingVisitsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSource" - } - ] - }, - "icarHealthActivitiesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthActivitiesType.json" - } - } - }, - "icarTeatPositionsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarTeatPositionsResponseDataSource" - } - ] - }, - "icarMilkIntakesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkIntakesType.json" - } - } - }, - "icarSlaughtersResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarSlaughtersResponseDataSource" - } - ] - }, - "icarHeatActivitiesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatActivitiesType.json" - } - } - }, - "icarMilkInvoicesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkInvoicesResponseDataSource" - } - ] - }, - "icarQuarterMilkingsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingsType.json" - } - } - }, - "icarHealthActivitiesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHealthActivitiesResponseDataSources" - } - }, - "icarHerdListResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHerdListResponseDataSources" - } - }, - "icarIdentificationTagsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarIdentificationTagsResponseDataSources" - } - }, - "icarMilkInvoiceItemsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkInvoiceItemsResponseDataSources" - } - }, - "icarWaterIntakesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarWaterIntakesResponseDataSource" - } - ] - }, - "icarAnimalRegistrationResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalRegistrationType.json" - } - } - }, - "companyId": { - "type": "string", - "description": "A string which (in combination with a scheme) uniquely identifies a company." - }, - "icarMilkingVisitsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSources" - } - }, - "icarMilkCharacteristicsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSource" - } - ] - }, - "icarTeatPositionsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsType.json" - } - } - }, - "icarMilkCharacteristicsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSources" - } - }, - "animalId": { - "type": "string", - "description": "A string which (in combination with a scheme) uniquely identifies an animal." - }, - "icarBiodiversityReportsResponse": { - "$ref": "#/components/schemas/icarBiodiversityReportsResponseDataSources" - }, - "icarHerdListResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListAnimalsType.json" - } - } - }, - "icarMilkingVisitsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkingVisitType.json" - } - } - }, - "icarIdentificationTagsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarIdentificationTagsType.json" - } - } - }, - "dataSource": { - "type": "string", - "description": "Source where data is retrieved from. Details can be retrieved from the source register." - }, - "companyIdScheme": { - "type": "string", - "description": "Identifies the used scheme for a company identification string.", - "enum": [ - "nl-v1", - "be-v1" - ] - }, - "icarHeatActivityScrSenseTime": { - "type": "object", - "properties": { - "heatBehavior": { - "type": "number", - "description": "The behavior of the cow as it relates to it being in heat.", - "format": "double" - }, - "dailyRumination": { - "type": "number", - "description": "The number of minutes a cow ruminates during the day (24-hour period)", - "format": "double" - }, - "dailyEating": { - "type": "number", - "description": "The number of minutes a cow eats during the day (24 hour period)", - "format": "double" - }, - "activityTrend": { - "type": "number", - "description": "The trend of the cow’s activity. This is usually higher when the cow is approaching the time it is in heat.", - "format": "double" - } - }, - "description": "Contains SenseTime specific fields. Only one element can be present per item." - }, - "icarWeightsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarWeightsResponseDataSource" - } - ] - }, - "icarGestationsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarGestationsResponseDataSources" - } - }, - "icarMilkInvoicesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoicesType.json" - } - } - }, - "icarInseminationsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarInseminationsType.json" - } - } - }, - "responseErrors": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - } - }, - "error": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "A unique identifier for this particular occurrence of the problem" - }, - "status": { - "type": "integer", - "description": "The HTTP status code applicable to this problem, expressed as a string value", - "format": "int32" - }, - "code": { - "type": "string", - "description": "An application-specific error code, expressed as a string value." - }, - "title": { - "type": "string", - "description": "A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization." - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized." - }, - "meta": { - "type": "object", - "properties": {} - } - }, - "description": "A human-readable error message describing what went wrong." - }, - "icarHerdListCoreDataSetResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListCoreDataSetsType.json" - } - } - }, - "icarHeatReportsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHeatReportsResponseDataSources" - } - }, - "icarHealthReportVendorSpecific": { - "type": "object", - "properties": { - "scrSenseTime": { - "$ref": "#/components/schemas/icarHealthReportScrSenseTime" - }, - "nedapBI": { - "$ref": "#/components/schemas/icarHealthReportNedapBusinessInsight" - } - }, - "description": "Contains vendor specific fields. Only one vendor element can be present." - }, - "icarWaterIntakesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarWaterIntakesResponseDataSources" - } - }, - "icarMilkInvoicesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkInvoicesResponseDataSources" - } - }, - "icarHeatReportScrSenseTime": { - "type": "object", - "properties": { - "breedingWindow": { - "type": "integer", - "format": "int32" - }, - "heatIndex": { - "type": "integer", - "format": "int32" - } - }, - "description": "Specific fields for SCR SenseTime" - }, - "icarHeatActivitiesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHeatActivitiesResponseDataSource" - } - ] - }, - "icarFeedIntakesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarFeedIntakesResponseDataSource" - } - ] - }, - "icarWeightsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWeightsType.json" - } - } - }, - "icarMilkDeliveryQualityReportsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveryQualityReportsType.json" - } - } - }, - "icarHeatActivityVendorSpecific": { - "type": "object", - "properties": { - "scrSenseTime": { - "$ref": "#/components/schemas/icarHeatActivityScrSenseTime" - } - }, - "description": "Contains vendor specific fields. Only one vendor element can be present." - }, - "icarHealthReportsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthReportsType.json" - } - } - }, - "icarQuarterMilkingsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSources" - } - }, - "icarMilkInvoiceItemsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoiceItemsType.json" - } - } - }, - "icarAnimalMilkingSampleResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMilkingSampleType.json" - } - } - }, - "icarMilkIntakesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkIntakesResponseDataSources" - } - }, - "icarDairyGrazingSummariesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarDairyGrazingSummariesResponseDataSources" - } - } - }, - "responses": { - "error": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } - } - } - } - }, - "parameters": { - "queryEndDateTime": { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - "pathIcarMilkingVisitId": { - "name": "milking-visit-id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - "pathLocationScheme": { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - "queryEndDateTimeRequired": { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - "queryModifiedSince": { - "name": "modified-since", - "in": "query", - "description": "The date-time of insertion or last update of the event.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - "pathLocationId": { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - "pathMilkDeliveryId": { - "name": "milk-delivery-id", - "in": "path", - "description": "The unique identifier for a milk delivery for a specific location.", - "required": true, - "schema": { - "type": "string" - } - }, - "queryAnimalScheme": { - "name": "animal-scheme", - "in": "query", - "description": "The scheme id for the animal identifier. Should be used together with animal-id.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - "queryStartDateTimeRequired": { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - "pathMilkInvoiceId": { - "name": "milk-invoice-id", - "in": "path", - "description": "The unique identifier for a milk invoice for a specific location.", - "required": true, - "schema": { - "type": "string" - } - }, - "queryAnimalId": { - "name": "animal-id", - "in": "query", - "description": "The unique identifier for the animal. Should be used together with animal-scheme.", - "required": true, - "schema": { - "type": "string" - } - }, - "queryStartDateTime": { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - }, - "securitySchemes": { - "jdClient": { - "type": "oauth2", - "description": "Secure access using client credentials grant", - "flows": { - "clientCredentials": { - "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", - "scopes": { - "fullaccess": "Full access to all resources when mandate is available" - } - } - } - }, - "jdAuthorizationCode": { - "type": "oauth2", - "description": "Secure access using authorization grant flow", - "flows": { - "authorizationCode": { - "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", - "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", - "scopes": { - "fullaccess": "Full access to all resources when mandate is available" - } - } - } - } - } - } + "openapi": "3.0.1", + "info": { + "title": "JoinData Message definitions", + "description": "The specification describes the JoinData Datahub Broker API. \n", + "version": "1.0" + }, + "servers": [ + { + "url": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/" + } + ], + "security": [ + { + "jdClient": [ + "fullaccess" + ] + }, + { + "jdAuthorizationCode": [ + "fullaccess" + ] + } + ], + "tags": [ + { + "name": "ICAR inspired", + "description": "Messages which do not exist in current ICAR-ADE standard, but which follow the same principles\n" + }, + { + "name": "Local/other standard", + "description": "Messages which are (soon) available through JoinData, but without any affiliation to ICAR\n" + } + ], + "paths": { + "/locations/{location-scheme}/{location-id}/milking-visits": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the data for milking visits", + "description": "# Purpose\nProvides data from visits of animals to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkingVisitsResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/characteristics": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the quarter milking data for a specific milking visit", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkCharacteristicsResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/quarter-milkings": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the quarter milking data for a specific milking visit", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarQuarterMilkingsResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/animal-milking-sample": { + "get": { + "tags": [ + "ICAR approval ready" + ], + "summary": "Get the quarter milking data for a specific milking visit", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarAnimalMilkingSampleResponse" + } + } + } + }, + "default": { + "description": "An error has occured while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/herd-list": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the animals on a location.", + "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns the herd list for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the animal identifiers for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHerdListResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/herd-list-core-data-set": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the core details of the animals on a location.", + "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns a herd list for a location containing core animal data.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the animal core data set for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHerdListCoreDataSetResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/dairy-grazing-summaries": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the dairy grazing summary data", + "description": "# Purpose\nReturns a summary with information about the grazing pattern of the animals on the given location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "modified-since", + "in": "query", + "description": "The date-time of insertion or last update of the event.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the dairy grazing summary data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarDairyGrazingSummariesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/feed-intakes": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get feed intakes of the animals on the location specified.", + "description": "# Purpose\nReturns feed intakes of the animals on the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the intake data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarFeedIntakesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/gestations": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get gestation information for all in-herd animals on a location.", + "description": "# Purpose\nReturns a list with current gestation information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the gestation data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarGestationsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/health-activities": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get health activity information for animals on a location.", + "description": "# Purpose\nReturns a list with health activity information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "animal-scheme", + "in": "query", + "description": "The scheme id for the animal identifier. Should be used together with animal-id.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "animal-id", + "in": "query", + "description": "The unique identifier for the animal. Should be used together with animal-scheme.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the health activity data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHealthActivitiesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/health-reports": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get health information for a location.", + "description": "# Purpose\nReturns a list with current health information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the health data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHealthReportsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/heat-activities": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get in-heat activity information for female animals on a location.", + "description": "# Purpose\nReturns a list with in-heat activity information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "animal-scheme", + "in": "query", + "description": "The scheme id for the animal identifier. Should be used together with animal-id.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "animal-id", + "in": "query", + "description": "The unique identifier for the animal. Should be used together with animal-scheme.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the in-heat activity data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHeatActivitiesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/heat-reports": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get in-heat information for a location.", + "description": "# Purpose\nReturns a list with current in-heat information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the in-heat data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHeatReportsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/herd-list-movements": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the animal movements on a location.", + "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns the animal movements for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the animal movement data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarHerdListMovementsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/animal-registrations": { + "post": { + "tags": [ + "ICAR inspired" + ], + "summary": "Pushes a singular animal (governmental) registration", + "description": "# Purpose\nProvides data from a singular animal registration\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The animal you want to register", + "content": { + "application/json": { + "schema": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalRegistrationBodyType.json" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarAnimalRegistrationResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/teat-positions": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the teat positions for a specific milking visit", + "description": "# Purpose\nProvides teat positions from a singular visit of an animal to a milking parlour\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Successful. The response contains the milking results for the given location", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarTeatPositionsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/identification-tags": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the identification tags on a location.", + "description": "# Purpose\nReturns the identification tags for a location. Examples are Nedap, SCR and Gallagher identification tags (EIDs) for animals.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the current identification tags available on the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarIdentificationTagsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/inseminations": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the executed insemantions on a location.", + "description": "# Purpose\nReturns the inseminations for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "modified-since", + "in": "query", + "description": "The date-time of insertion or last update of the event.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the insemination data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarInseminationsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milk-deliveries": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get milk deliveries of the location specified.", + "description": "# Purpose\nReturns milk deliveries of the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the milk delivery data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkDeliveriesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milk-deliveries/{milk-delivery-id}/quality-reports": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get the test results for a specific milk delivery of the location specified.", + "description": "todo", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milk-delivery-id", + "in": "path", + "description": "The unique identifier for a milk delivery for a specific location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the quality reports of the milk delivery data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milk-intakes": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get milk intakes of the animals on the location specified.", + "description": "# Purpose\nReturns milk intakes of the animals on the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the intake data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkIntakesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milk-invoices": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get milk delivery invoices of the location specified.", + "description": "# Purpose\nReturns the invoices received for the milk delivered of the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the invoices received for the deliverd milk for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkInvoicesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/milk-invoices/{milk-invoice-id}/items": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get the items of the milk delivery invoices of the location specified.", + "description": "# Purpose\nReturns the items of the invoices received for the milk delivered of the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "milk-invoice-id", + "in": "path", + "description": "The unique identifier for a milk invoice for a specific location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the items of the invoices received for the deliverd milk for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarMilkInvoiceItemsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/slaughters": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get the slaughterhouse events for all animals being slaughtered.", + "description": "# Purpose\nReturns a list animals being slaughtered with their details for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the slaughter events data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarSlaughtersResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/pregnancy-checks": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get the pregnancy checks events for all in-herd animals on a location.", + "description": "_Subject to change_\n# Purpose\nReturns a list with pregnancy-checks events information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the pregnancy check events data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarPregnancyCheckResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/water-intakes": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get water intakes of the animals on the location specified.", + "description": "# Purpose\nReturns water intakes of the animals on the location specified.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the intake data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarWaterIntakesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/weights": { + "get": { + "tags": [ + "ICAR inspired" + ], + "summary": "Get information about the weight of an animal", + "description": "_Subject to change_\n# Purpose\nReturns a list of weight measurement events for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the weight data for the animals on the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarWeightsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/biodiversity-reports": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Get the bio-diversity reports for the location in the given period.", + "description": "# Purpose\nGet the bio-diversity reports for the location in the given period.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains a list of all generated biodiversity reports for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/icarBiodiversityReportsResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/addresses": { + "get": { + "tags": [ + "Local/other standard" + ], + "summary": "Gets the currently known addresses for this company", + "description": "# Purpose\nGets the known addresses for this company\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains a list of all generated biodiversity reports for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/uncefactAddressesResponse" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "icarAnimalRegistrationResponse": { + "$ref": "#/components/schemas/icarAnimalRegistrationResponseDataSources" + }, + "icarAnimalRegistrationResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarAnimalRegistrationResponseDataSource" + } + ] + }, + "icarAnimalRegistrationResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalRegistrationType.json" + } + } + }, + "icarMilkInvoicesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkInvoicesResponseDataSources" + } + }, + "icarMilkInvoicesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkInvoicesResponseDataSource" + } + ] + }, + "icarMilkInvoicesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoicesType.json" + } + } + }, + "icarMilkingVisitsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSources" + } + }, + "icarMilkingVisitsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSource" + } + ] + }, + "icarMilkingVisitsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkingVisitType.json" + } + } + }, + "icarHerdListResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHerdListResponseDataSources" + } + }, + "icarHerdListResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHerdListResponseDataSource" + } + ] + }, + "icarHerdListResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListAnimalsType.json" + } + } + }, + "icarFeedIntakesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarFeedIntakesResponseDataSources" + } + }, + "icarFeedIntakesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarFeedIntakesResponseDataSource" + } + ] + }, + "icarFeedIntakesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarFeedIntakesType.json" + } + } + }, + "icarHeatActivitiesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHeatActivitiesResponseDataSources" + } + }, + "icarHeatActivitiesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHeatActivitiesResponseDataSource" + } + ] + }, + "icarHeatActivitiesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatActivitiesType.json" + } + } + }, + "icarHeatActivityScrSenseTime": { + "type": "object", + "properties": { + "heatBehavior": { + "type": "number", + "description": "The behavior of the cow as it relates to it being in heat.", + "format": "double" + }, + "dailyRumination": { + "type": "number", + "description": "The number of minutes a cow ruminates during the day (24-hour period)", + "format": "double" + }, + "dailyEating": { + "type": "number", + "description": "The number of minutes a cow eats during the day (24 hour period)", + "format": "double" + }, + "activityTrend": { + "type": "number", + "description": "The trend of the cow’s activity. This is usually higher when the cow is approaching the time it is in heat.", + "format": "double" + } + }, + "description": "Contains SenseTime specific fields. Only one element can be present per item." + }, + "icarHeatActivityVendorSpecific": { + "type": "object", + "properties": { + "scrSenseTime": { + "$ref": "#/components/schemas/icarHeatActivityScrSenseTime" + } + }, + "description": "Contains vendor specific fields. Only one vendor element can be present." + }, + + "icarWeightsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarWeightsResponseDataSources" + } + }, + "icarWeightsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarWeightsResponseDataSource" + } + ] + }, + "icarWeightsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWeightsType.json" + } + } + }, + "icarInseminationsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarInseminationsResponseDataSources" + } + }, + "icarInseminationsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarInseminationsResponseDataSource" + } + ] + }, + "icarInseminationsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarInseminationsType.json" + } + } + }, + "icarIdentificationTagsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarIdentificationTagsResponseDataSources" + } + }, + "icarIdentificationTagsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarIdentificationTagsResponseDataSource" + } + ] + }, + "icarIdentificationTagsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarIdentificationTagsType.json" + } + } + }, + "icarMilkDeliveryQualityReportsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResponseDataSources" + } + }, + "icarMilkDeliveryQualityReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResponseDataSource" + } + ] + }, + "icarMilkDeliveryQualityReportsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveryQualityReportsType.json" + } + } + }, + "icarHealthReportsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHealthReportsResponseDataSources" + } + }, + "icarHealthReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHealthReportsResponseDataSource" + } + ] + }, + "icarHealthReportsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthReportsType.json" + } + } + }, + "icarHealthReportVendorSpecific": { + "type": "object", + "properties": { + "scrSenseTime": { + "$ref": "#/components/schemas/icarHealthReportScrSenseTime" + }, + "nedapBI": { + "$ref": "#/components/schemas/icarHealthReportNedapBusinessInsight" + } + }, + "description": "Contains vendor specific fields. Only one vendor element can be present." + }, + "icarHealthReportNedapBusinessInsight": { + "type": "object", + "description": "Specific fields for Nedap Business Insight. TO BE IMPLEMENTED" + }, + "icarHealthReportScrSenseTime": { + "type": "object", + "properties": { + "dailyRumination": { + "type": "integer", + "format": "int32" + }, + "healthIndex": { + "type": "number", + "description": "One digit after decimal point", + "format": "double" + }, + "healthIndexThreshold": { + "type": "integer", + "description": "For report coloring", + "format": "int32" + } + }, + "description": "Specific fields for SCR SenseTime" + }, + "icarWaterIntakesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarWaterIntakesResponseDataSources" + } + }, + "icarWaterIntakesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarWaterIntakesResponseDataSource" + } + ] + }, + "icarWaterIntakesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWaterIntakesType.json" + } + } + }, + "icarDairyGrazingSummariesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarDairyGrazingSummariesResponseDataSources" + } + }, + "icarDairyGrazingSummariesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarDairyGrazingSummariesResponseDataSource" + } + ] + }, + "icarDairyGrazingSummariesResponseDataSource": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSources" + } + }, + "icarHerdListCoreDataSetResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSource" + } + ] + }, + "icarHerdListCoreDataSetResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListCoreDataSetsType.json" + } + } + }, + "icarTeatPositionsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarTeatPositionsResponseDataSources" + } + }, + "icarTeatPositionsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarTeatPositionsResponseDataSource" + } + ] + }, + "icarTeatPositionsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsType.json" + } + } + }, + "icarBiodiversityReportsResponse": { + "$ref": "#/components/schemas/icarBiodiversityReportsResponseDataSources" + }, + "icarBiodiversityReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarBiodiversityReportsResponseDataSource" + } + ] + }, + "icarBiodiversityReportsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityReportsType.json" + } + } + }, + "icarMilkIntakesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkIntakesResponseDataSources" + } + }, + "icarMilkIntakesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkIntakesResponseDataSource" + } + ] + }, + "icarMilkIntakesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkIntakesType.json" + } + } + }, + "icarMilkDeliveriesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkDeliveriesResponseDataSources" + } + }, + "icarMilkDeliveriesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkDeliveriesResponseDataSource" + } + ] + }, + "icarMilkDeliveriesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveriesType.json" + } + } + }, + "icarMilkInvoiceItemsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkInvoiceItemsResponseDataSources" + } + }, + "icarMilkInvoiceItemsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkInvoiceItemsResponseDataSource" + } + ] + }, + "icarMilkInvoiceItemsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoiceItemsType.json" + } + } + }, + "icarAnimalMilkingSampleResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSources" + } + }, + "icarAnimalMilkingSampleResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSource" + } + ] + }, + "icarAnimalMilkingSampleResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMilkingSampleType.json" + } + } + }, + "icarHerdListMovementsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHerdListMovementsResponseDataSources" + } + }, + "icarHerdListMovementsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHerdListMovementsResponseDataSource" + } + ] + }, + "icarHerdListMovementsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListMovementsType.json" + } + } + }, + "icarQuarterMilkingsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSources" + } + }, + "icarQuarterMilkingsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSource" + } + ] + }, + "icarQuarterMilkingsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingsType.json" + } + } + }, + "icarHeatReportsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHeatReportsResponseDataSources" + } + }, + "icarHeatReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHeatReportsResponseDataSource" + } + ] + }, + "icarHeatReportsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatReportsType.json" + } + } + }, + "icarHeatReportVendorSpecific": { + "type": "object", + "properties": { + "scrSenseTime": { + "$ref": "#/components/schemas/icarHeatReportScrSenseTime" + }, + "nedapBI": { + "$ref": "#/components/schemas/icarHeatReportNedapBusinessInsight" + } + }, + "description": "Contains vendor specific fields. Only one vendor element can be present." + }, + "icarHeatReportScrSenseTime": { + "type": "object", + "properties": { + "breedingWindow": { + "type": "integer", + "format": "int32" + }, + "heatIndex": { + "type": "integer", + "format": "int32" + } + }, + "description": "Specific fields for SCR SenseTime" + }, + "icarHeatReportNedapBusinessInsight": { + "type": "object", + "description": "Specific fields for Nedap Business Insight. TO BE IMPLEMENTED" + }, + "icarPregnancyCheckResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarPregnancyChecksResponseDataSources" + } + }, + "icarPregnancyChecksResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarPregnancyChecksResponseDataSource" + } + ] + }, + "icarPregnancyChecksResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPregnancyChecksType.json" + } + } + }, + "icarGestationsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarGestationsResponseDataSources" + } + }, + "icarGestationsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarGestationsResponseDataSource" + } + ] + }, + "icarGestationsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGestationsType.json" + } + } + }, + "uncefactAddressesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/uncefactAddressesResponseDataSources" + } + }, + "uncefactAddressesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/uncefactAddressesResponseDataSource" + } + ] + }, + "uncefactAddressesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressType.json" + } + } + }, + "icarSlaughtersResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarSlaughtersResponseDataSources" + } + }, + "icarSlaughtersResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarSlaughtersResponseDataSource" + } + ] + }, + "icarSlaughtersResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSlaughtersResource.json" + } + } + }, + "icarHealthActivitiesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHealthActivitiesResponseDataSources" + } + }, + "icarHealthActivitiesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHealthActivitiesResponseDataSource" + } + ] + }, + "icarHealthActivityScrSenseTime": { + "type": "object", + "properties": { + "dailyRumination": { + "type": "number", + "description": "The number of minutes a cow ruminates during the day (24-hour period)", + "format": "double" + }, + "dailyEating": { + "type": "number", + "description": "The number of minutes a cow eats during the day (24 hour period)", + "format": "double" + }, + "hourlyRumination": { + "type": "number", + "description": "The number of minutes a cow ruminates during an hour.", + "format": "double" + }, + "hourlyEating": { + "type": "number", + "description": "The number of minutes a cow eats an hour.", + "format": "double" + }, + "activityTrend": { + "type": "number", + "description": "The trend of the cow’s activity. Cows when they are not well are less active.", + "format": "double" + } + }, + "description": "Contains SenseTime specific fields. Only one element can be present per item." + }, + "icarHealthActivitiesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthActivitiesType.json" + } + } + }, + "icarMilkCharacteristicsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSources" + } + }, + "icarMilkCharacteristicsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSource" + } + ] + }, + "icarMilkCharacteristicsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkCharacteristicsTypes.json" + } + } + }, + "responseErrors": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + } + }, + "error": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A unique identifier for this particular occurrence of the problem" + }, + "status": { + "type": "integer", + "description": "The HTTP status code applicable to this problem, expressed as a string value", + "format": "int32" + }, + "code": { + "type": "string", + "description": "An application-specific error code, expressed as a string value." + }, + "title": { + "type": "string", + "description": "A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization." + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized." + }, + "meta": { + "type": "object", + "properties": { + + } + } + }, + "description": "A human-readable error message describing what went wrong." + }, + "responseDataSource": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/dataSource" + } + } + } + }, + "responses": { + "error": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + }, + "parameters": { + "queryEndDateTime": { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + "pathIcarMilkingVisitId": { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "pathLocationScheme": { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + "queryEndDateTimeRequired": { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + "queryModifiedSince": { + "name": "modified-since", + "in": "query", + "description": "The date-time of insertion or last update of the event.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + "pathLocationId": { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + "pathMilkDeliveryId": { + "name": "milk-delivery-id", + "in": "path", + "description": "The unique identifier for a milk delivery for a specific location.", + "required": true, + "schema": { + "type": "string" + } + }, + "queryAnimalScheme": { + "name": "animal-scheme", + "in": "query", + "description": "The scheme id for the animal identifier. Should be used together with animal-id.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + "queryStartDateTimeRequired": { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "required": true, + "schema": { + "type": "string", + "format": "date-time" + } + }, + "pathMilkInvoiceId": { + "name": "milk-invoice-id", + "in": "path", + "description": "The unique identifier for a milk invoice for a specific location.", + "required": true, + "schema": { + "type": "string" + } + }, + "queryAnimalId": { + "name": "animal-id", + "in": "query", + "description": "The unique identifier for the animal. Should be used together with animal-scheme.", + "required": true, + "schema": { + "type": "string" + } + }, + "queryStartDateTime": { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" + } + } + }, + "securitySchemes": { + "jdClient": { + "type": "oauth2", + "description": "Secure access using client credentials grant", + "flows": { + "clientCredentials": { + "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", + "scopes": { + "fullaccess": "Full access to all resources when mandate is available" + } + } + } + }, + "jdAuthorizationCode": { + "type": "oauth2", + "description": "Secure access using authorization grant flow", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", + "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", + "scopes": { + "fullaccess": "Full access to all resources when mandate is available" + } + } + } + } + } +} } \ No newline at end of file From 678e27164964802b8d222db65ae62cde332e7eb8 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 14:00:06 +0200 Subject: [PATCH 26/31] introduced Resource naming scheme --- ...n => icarAnimalMilkingSampleResource.json} | 0 ...on => icarAnimalRegistrationResource.json} | 0 ...n => icarBiodiversityReportsResource.json} | 0 ...Type.json => icarFeedIntakesResource.json} | 0 ...sType.json => icarGestationsResource.json} | 0 ...json => icarHealthActivitiesResource.json} | 0 ...pe.json => icarHealthReportsResource.json} | 0 ...e.json => icarHeatActivitiesResource.json} | 0 ...Type.json => icarHeatReportsResource.json} | 0 ....json => icarHerdListAnimalsResource.json} | 0 ... => icarHerdListCoreDataSetsResource.json} | 0 ...son => icarHerdListMovementsResource.json} | 0 ...on => icarIdentificationTagsResource.json} | 0 ...pe.json => icarInseminationsResource.json} | 0 ...n => icarMilkCharacteristicsResource.json} | 0 JoinData/icarMilkCharacteristicsType.json | 4 +- ...e.json => icarMilkDeliveriesResource.json} | 0 ...arMilkDeliveryQualityReportsResource.json} | 0 ...Type.json => icarMilkIntakesResource.json} | 0 ...json => icarMilkInvoiceItemsResource.json} | 0 ...ype.json => icarMilkInvoicesResource.json} | 0 ...ype.json => icarMilkingVisitResource.json} | 0 ....json => icarPregnancyChecksResource.json} | 0 ....json => icarQuarterMilkingsResource.json} | 0 ...sType.json => icarSlaughtersResource.json} | 0 ...pe.json => icarTeatPositionsResource.json} | 0 ...ype.json => icarWaterIntakesResource.json} | 0 ...ghtsType.json => icarWeightsResource.json} | 0 ...Type.json => uncefactAddressResource.json} | 0 JoinData/v3 json all.json | 65 ++++++++----------- 30 files changed, 29 insertions(+), 40 deletions(-) rename JoinData/{icarAnimalMilkingSampleType.json => icarAnimalMilkingSampleResource.json} (100%) rename JoinData/{icarAnimalRegistrationType.json => icarAnimalRegistrationResource.json} (100%) rename JoinData/{icarBiodiversityReportsType.json => icarBiodiversityReportsResource.json} (100%) rename JoinData/{icarFeedIntakesType.json => icarFeedIntakesResource.json} (100%) rename JoinData/{icarGestationsType.json => icarGestationsResource.json} (100%) rename JoinData/{icarHealthActivitiesType.json => icarHealthActivitiesResource.json} (100%) rename JoinData/{icarHealthReportsType.json => icarHealthReportsResource.json} (100%) rename JoinData/{icarHeatActivitiesType.json => icarHeatActivitiesResource.json} (100%) rename JoinData/{icarHeatReportsType.json => icarHeatReportsResource.json} (100%) rename JoinData/{icarHerdListAnimalsType.json => icarHerdListAnimalsResource.json} (100%) rename JoinData/{icarHerdListCoreDataSetsType.json => icarHerdListCoreDataSetsResource.json} (100%) rename JoinData/{icarHerdListMovementsType.json => icarHerdListMovementsResource.json} (100%) rename JoinData/{icarIdentificationTagsType.json => icarIdentificationTagsResource.json} (100%) rename JoinData/{icarInseminationsType.json => icarInseminationsResource.json} (100%) rename JoinData/{icarMilkCharacteristicsTypes.json => icarMilkCharacteristicsResource.json} (100%) rename JoinData/{icarMilkDeliveriesType.json => icarMilkDeliveriesResource.json} (100%) rename JoinData/{icarMilkDeliveryQualityReportsType.json => icarMilkDeliveryQualityReportsResource.json} (100%) rename JoinData/{icarMilkIntakesType.json => icarMilkIntakesResource.json} (100%) rename JoinData/{icarMilkInvoiceItemsType.json => icarMilkInvoiceItemsResource.json} (100%) rename JoinData/{icarMilkInvoicesType.json => icarMilkInvoicesResource.json} (100%) rename JoinData/{icarMilkingVisitType.json => icarMilkingVisitResource.json} (100%) rename JoinData/{icarPregnancyChecksType.json => icarPregnancyChecksResource.json} (100%) rename JoinData/{icarQuarterMilkingsType.json => icarQuarterMilkingsResource.json} (100%) rename JoinData/{icarSlaughtersType.json => icarSlaughtersResource.json} (100%) rename JoinData/{icarTeatPositionsType.json => icarTeatPositionsResource.json} (100%) rename JoinData/{icarWaterIntakesType.json => icarWaterIntakesResource.json} (100%) rename JoinData/{icarWeightsType.json => icarWeightsResource.json} (100%) rename JoinData/{uncefactAddressType.json => uncefactAddressResource.json} (100%) diff --git a/JoinData/icarAnimalMilkingSampleType.json b/JoinData/icarAnimalMilkingSampleResource.json similarity index 100% rename from JoinData/icarAnimalMilkingSampleType.json rename to JoinData/icarAnimalMilkingSampleResource.json diff --git a/JoinData/icarAnimalRegistrationType.json b/JoinData/icarAnimalRegistrationResource.json similarity index 100% rename from JoinData/icarAnimalRegistrationType.json rename to JoinData/icarAnimalRegistrationResource.json diff --git a/JoinData/icarBiodiversityReportsType.json b/JoinData/icarBiodiversityReportsResource.json similarity index 100% rename from JoinData/icarBiodiversityReportsType.json rename to JoinData/icarBiodiversityReportsResource.json diff --git a/JoinData/icarFeedIntakesType.json b/JoinData/icarFeedIntakesResource.json similarity index 100% rename from JoinData/icarFeedIntakesType.json rename to JoinData/icarFeedIntakesResource.json diff --git a/JoinData/icarGestationsType.json b/JoinData/icarGestationsResource.json similarity index 100% rename from JoinData/icarGestationsType.json rename to JoinData/icarGestationsResource.json diff --git a/JoinData/icarHealthActivitiesType.json b/JoinData/icarHealthActivitiesResource.json similarity index 100% rename from JoinData/icarHealthActivitiesType.json rename to JoinData/icarHealthActivitiesResource.json diff --git a/JoinData/icarHealthReportsType.json b/JoinData/icarHealthReportsResource.json similarity index 100% rename from JoinData/icarHealthReportsType.json rename to JoinData/icarHealthReportsResource.json diff --git a/JoinData/icarHeatActivitiesType.json b/JoinData/icarHeatActivitiesResource.json similarity index 100% rename from JoinData/icarHeatActivitiesType.json rename to JoinData/icarHeatActivitiesResource.json diff --git a/JoinData/icarHeatReportsType.json b/JoinData/icarHeatReportsResource.json similarity index 100% rename from JoinData/icarHeatReportsType.json rename to JoinData/icarHeatReportsResource.json diff --git a/JoinData/icarHerdListAnimalsType.json b/JoinData/icarHerdListAnimalsResource.json similarity index 100% rename from JoinData/icarHerdListAnimalsType.json rename to JoinData/icarHerdListAnimalsResource.json diff --git a/JoinData/icarHerdListCoreDataSetsType.json b/JoinData/icarHerdListCoreDataSetsResource.json similarity index 100% rename from JoinData/icarHerdListCoreDataSetsType.json rename to JoinData/icarHerdListCoreDataSetsResource.json diff --git a/JoinData/icarHerdListMovementsType.json b/JoinData/icarHerdListMovementsResource.json similarity index 100% rename from JoinData/icarHerdListMovementsType.json rename to JoinData/icarHerdListMovementsResource.json diff --git a/JoinData/icarIdentificationTagsType.json b/JoinData/icarIdentificationTagsResource.json similarity index 100% rename from JoinData/icarIdentificationTagsType.json rename to JoinData/icarIdentificationTagsResource.json diff --git a/JoinData/icarInseminationsType.json b/JoinData/icarInseminationsResource.json similarity index 100% rename from JoinData/icarInseminationsType.json rename to JoinData/icarInseminationsResource.json diff --git a/JoinData/icarMilkCharacteristicsTypes.json b/JoinData/icarMilkCharacteristicsResource.json similarity index 100% rename from JoinData/icarMilkCharacteristicsTypes.json rename to JoinData/icarMilkCharacteristicsResource.json diff --git a/JoinData/icarMilkCharacteristicsType.json b/JoinData/icarMilkCharacteristicsType.json index 3e5df53..3d00a30 100644 --- a/JoinData/icarMilkCharacteristicsType.json +++ b/JoinData/icarMilkCharacteristicsType.json @@ -1,4 +1,4 @@ - "icarMilkCharacteristicsType": { +{ "type": "object", "properties": { "characteristicsCode": { @@ -28,4 +28,4 @@ "format": "decimal" } } - }, +} diff --git a/JoinData/icarMilkDeliveriesType.json b/JoinData/icarMilkDeliveriesResource.json similarity index 100% rename from JoinData/icarMilkDeliveriesType.json rename to JoinData/icarMilkDeliveriesResource.json diff --git a/JoinData/icarMilkDeliveryQualityReportsType.json b/JoinData/icarMilkDeliveryQualityReportsResource.json similarity index 100% rename from JoinData/icarMilkDeliveryQualityReportsType.json rename to JoinData/icarMilkDeliveryQualityReportsResource.json diff --git a/JoinData/icarMilkIntakesType.json b/JoinData/icarMilkIntakesResource.json similarity index 100% rename from JoinData/icarMilkIntakesType.json rename to JoinData/icarMilkIntakesResource.json diff --git a/JoinData/icarMilkInvoiceItemsType.json b/JoinData/icarMilkInvoiceItemsResource.json similarity index 100% rename from JoinData/icarMilkInvoiceItemsType.json rename to JoinData/icarMilkInvoiceItemsResource.json diff --git a/JoinData/icarMilkInvoicesType.json b/JoinData/icarMilkInvoicesResource.json similarity index 100% rename from JoinData/icarMilkInvoicesType.json rename to JoinData/icarMilkInvoicesResource.json diff --git a/JoinData/icarMilkingVisitType.json b/JoinData/icarMilkingVisitResource.json similarity index 100% rename from JoinData/icarMilkingVisitType.json rename to JoinData/icarMilkingVisitResource.json diff --git a/JoinData/icarPregnancyChecksType.json b/JoinData/icarPregnancyChecksResource.json similarity index 100% rename from JoinData/icarPregnancyChecksType.json rename to JoinData/icarPregnancyChecksResource.json diff --git a/JoinData/icarQuarterMilkingsType.json b/JoinData/icarQuarterMilkingsResource.json similarity index 100% rename from JoinData/icarQuarterMilkingsType.json rename to JoinData/icarQuarterMilkingsResource.json diff --git a/JoinData/icarSlaughtersType.json b/JoinData/icarSlaughtersResource.json similarity index 100% rename from JoinData/icarSlaughtersType.json rename to JoinData/icarSlaughtersResource.json diff --git a/JoinData/icarTeatPositionsType.json b/JoinData/icarTeatPositionsResource.json similarity index 100% rename from JoinData/icarTeatPositionsType.json rename to JoinData/icarTeatPositionsResource.json diff --git a/JoinData/icarWaterIntakesType.json b/JoinData/icarWaterIntakesResource.json similarity index 100% rename from JoinData/icarWaterIntakesType.json rename to JoinData/icarWaterIntakesResource.json diff --git a/JoinData/icarWeightsType.json b/JoinData/icarWeightsResource.json similarity index 100% rename from JoinData/icarWeightsType.json rename to JoinData/icarWeightsResource.json diff --git a/JoinData/uncefactAddressType.json b/JoinData/uncefactAddressResource.json similarity index 100% rename from JoinData/uncefactAddressType.json rename to JoinData/uncefactAddressResource.json diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index abcfa60..1aeac59 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -2320,7 +2320,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalRegistrationType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalRegistrationResource.json" } } }, @@ -2347,7 +2347,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoicesType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoicesResource.json" } } }, @@ -2374,7 +2374,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkingVisitType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkingVisitResource.json" } } }, @@ -2401,7 +2401,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListAnimalsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListAnimalsResource.json" } } }, @@ -2428,7 +2428,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarFeedIntakesType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarFeedIntakesResource.json" } } }, @@ -2455,7 +2455,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatActivitiesType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatActivitiesResource.json" } } }, @@ -2518,7 +2518,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWeightsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWeightsResource.json" } } }, @@ -2545,7 +2545,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarInseminationsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarInseminationsResource.json" } } }, @@ -2572,7 +2572,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarIdentificationTagsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarIdentificationTagsResource.json" } } }, @@ -2599,7 +2599,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveryQualityReportsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveryQualityReportsResource.json" } } }, @@ -2626,7 +2626,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthReportsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthReportsResource.json" } } }, @@ -2689,7 +2689,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWaterIntakesType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWaterIntakesResource.json" } } }, @@ -2735,7 +2735,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListCoreDataSetsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListCoreDataSetsResource.json" } } }, @@ -2762,7 +2762,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsResource.json" } } }, @@ -2786,7 +2786,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityReportsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityReportsResource.json" } } }, @@ -2813,7 +2813,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkIntakesType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkIntakesResource.json" } } }, @@ -2840,7 +2840,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveriesType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveriesResource.json" } } }, @@ -2867,7 +2867,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoiceItemsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoiceItemsResource.json" } } }, @@ -2894,7 +2894,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMilkingSampleType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMilkingSampleResource.json" } } }, @@ -2921,7 +2921,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListMovementsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListMovementsResource.json" } } }, @@ -2948,7 +2948,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingsResource.json" } } }, @@ -2975,7 +2975,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatReportsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatReportsResource.json" } } }, @@ -3032,7 +3032,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPregnancyChecksType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPregnancyChecksResource.json" } } }, @@ -3059,7 +3059,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGestationsType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGestationsResource.json" } } }, @@ -3086,7 +3086,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressResource.json" } } }, @@ -3171,7 +3171,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthActivitiesType.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthActivitiesResource.json" } } }, @@ -3198,7 +3198,7 @@ "type": "object", "properties": { "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkCharacteristicsTypes.json" + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkCharacteristicsResource.json" } } }, @@ -3246,17 +3246,6 @@ }, "description": "A human-readable error message describing what went wrong." }, - "responseDataSource": { - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/dataSource" - } - } - } }, "responses": { "error": { From fd87670d063b3bb031ea735189286142d884f954 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 14:02:28 +0200 Subject: [PATCH 27/31] accidental removal of responseErrors --- JoinData/v3 json all.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 1aeac59..1e02bd8 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -3246,6 +3246,17 @@ }, "description": "A human-readable error message describing what went wrong." }, + "responseDataSource": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/dataSource" + } + } + } }, "responses": { "error": { From b5b0d0b58155efe9c8ba1c94b2d623bf29b1852c Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 14:09:19 +0200 Subject: [PATCH 28/31] more fixes --- ...ype.json => icarDairyGrazingSummariesResponse.json} | 0 JoinData/v3 json all.json | 10 ++++++++++ 2 files changed, 10 insertions(+) rename JoinData/{icarDairyGrazingSummariesType.json => icarDairyGrazingSummariesResponse.json} (100%) diff --git a/JoinData/icarDairyGrazingSummariesType.json b/JoinData/icarDairyGrazingSummariesResponse.json similarity index 100% rename from JoinData/icarDairyGrazingSummariesType.json rename to JoinData/icarDairyGrazingSummariesResponse.json diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 1e02bd8..87557e9 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -2713,6 +2713,12 @@ ] }, "icarDairyGrazingSummariesResponseDataSource": { + "type": "array", + "items": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDairyGrazingSummariesResource.json" + } + }, + "icarHerdListCoreDataSetResponse": { "type": "array", "items": { "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSources" @@ -3213,6 +3219,10 @@ } } }, + "dataSource": { + "type": "string", + "description": "Source where data is retrieved from. Details can be retrieved from the source register." + }, "error": { "type": "object", "properties": { From b92d19f8362f47c80ccf451ab1217c24b440c11d Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 14:11:03 +0200 Subject: [PATCH 29/31] fixed wrong name --- ...mariesResponse.json => icarDairyGrazingSummariesResource.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename JoinData/{icarDairyGrazingSummariesResponse.json => icarDairyGrazingSummariesResource.json} (100%) diff --git a/JoinData/icarDairyGrazingSummariesResponse.json b/JoinData/icarDairyGrazingSummariesResource.json similarity index 100% rename from JoinData/icarDairyGrazingSummariesResponse.json rename to JoinData/icarDairyGrazingSummariesResource.json From f2cf1ea172ad3c92df2e8b4ba492f91a082e27a0 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 14:15:38 +0200 Subject: [PATCH 30/31] formatted file --- JoinData/v3 json all.json | 2071 ++++++++++++++++++------------------- 1 file changed, 1035 insertions(+), 1036 deletions(-) diff --git a/JoinData/v3 json all.json b/JoinData/v3 json all.json index 87557e9..7f982e7 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/v3 json all.json @@ -2303,1137 +2303,1136 @@ "icarAnimalRegistrationResponse": { "$ref": "#/components/schemas/icarAnimalRegistrationResponseDataSources" }, - "icarAnimalRegistrationResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarAnimalRegistrationResponseDataSource" - } - ] - }, - "icarAnimalRegistrationResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalRegistrationResource.json" + "icarAnimalRegistrationResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarAnimalRegistrationResponseDataSource" + } + ] + }, + "icarAnimalRegistrationResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalRegistrationResource.json" + } } - } - }, - "icarMilkInvoicesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkInvoicesResponseDataSources" - } - }, - "icarMilkInvoicesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkInvoicesResponseDataSource" + }, + "icarMilkInvoicesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkInvoicesResponseDataSources" } - ] - }, - "icarMilkInvoicesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoicesResource.json" + }, + "icarMilkInvoicesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkInvoicesResponseDataSource" + } + ] + }, + "icarMilkInvoicesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoicesResource.json" + } } - } - }, - "icarMilkingVisitsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSources" - } - }, - "icarMilkingVisitsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSource" + }, + "icarMilkingVisitsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSources" } - ] - }, - "icarMilkingVisitsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkingVisitResource.json" + }, + "icarMilkingVisitsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkingVisitsResponseDataSource" + } + ] + }, + "icarMilkingVisitsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkingVisitResource.json" + } } - } - }, - "icarHerdListResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHerdListResponseDataSources" - } - }, - "icarHerdListResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHerdListResponseDataSource" + }, + "icarHerdListResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHerdListResponseDataSources" } - ] - }, - "icarHerdListResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListAnimalsResource.json" + }, + "icarHerdListResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHerdListResponseDataSource" + } + ] + }, + "icarHerdListResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListAnimalsResource.json" + } } - } - }, - "icarFeedIntakesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarFeedIntakesResponseDataSources" - } - }, - "icarFeedIntakesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarFeedIntakesResponseDataSource" + }, + "icarFeedIntakesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarFeedIntakesResponseDataSources" } - ] - }, - "icarFeedIntakesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarFeedIntakesResource.json" + }, + "icarFeedIntakesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarFeedIntakesResponseDataSource" + } + ] + }, + "icarFeedIntakesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarFeedIntakesResource.json" + } } - } - }, - "icarHeatActivitiesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHeatActivitiesResponseDataSources" - } - }, - "icarHeatActivitiesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHeatActivitiesResponseDataSource" + }, + "icarHeatActivitiesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHeatActivitiesResponseDataSources" } - ] - }, - "icarHeatActivitiesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatActivitiesResource.json" + }, + "icarHeatActivitiesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHeatActivitiesResponseDataSource" + } + ] + }, + "icarHeatActivitiesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatActivitiesResource.json" + } } - } - }, - "icarHeatActivityScrSenseTime": { - "type": "object", - "properties": { - "heatBehavior": { - "type": "number", - "description": "The behavior of the cow as it relates to it being in heat.", - "format": "double" - }, - "dailyRumination": { - "type": "number", - "description": "The number of minutes a cow ruminates during the day (24-hour period)", - "format": "double" + }, + "icarHeatActivityScrSenseTime": { + "type": "object", + "properties": { + "heatBehavior": { + "type": "number", + "description": "The behavior of the cow as it relates to it being in heat.", + "format": "double" + }, + "dailyRumination": { + "type": "number", + "description": "The number of minutes a cow ruminates during the day (24-hour period)", + "format": "double" + }, + "dailyEating": { + "type": "number", + "description": "The number of minutes a cow eats during the day (24 hour period)", + "format": "double" + }, + "activityTrend": { + "type": "number", + "description": "The trend of the cow’s activity. This is usually higher when the cow is approaching the time it is in heat.", + "format": "double" + } }, - "dailyEating": { - "type": "number", - "description": "The number of minutes a cow eats during the day (24 hour period)", - "format": "double" + "description": "Contains SenseTime specific fields. Only one element can be present per item." + }, + "icarHeatActivityVendorSpecific": { + "type": "object", + "properties": { + "scrSenseTime": { + "$ref": "#/components/schemas/icarHeatActivityScrSenseTime" + } }, - "activityTrend": { - "type": "number", - "description": "The trend of the cow’s activity. This is usually higher when the cow is approaching the time it is in heat.", - "format": "double" + "description": "Contains vendor specific fields. Only one vendor element can be present." + }, + "icarWeightsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarWeightsResponseDataSources" } }, - "description": "Contains SenseTime specific fields. Only one element can be present per item." - }, - "icarHeatActivityVendorSpecific": { - "type": "object", - "properties": { - "scrSenseTime": { - "$ref": "#/components/schemas/icarHeatActivityScrSenseTime" + "icarWeightsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarWeightsResponseDataSource" + } + ] + }, + "icarWeightsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWeightsResource.json" + } } }, - "description": "Contains vendor specific fields. Only one vendor element can be present." - }, - - "icarWeightsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarWeightsResponseDataSources" - } - }, - "icarWeightsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarWeightsResponseDataSource" + "icarInseminationsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarInseminationsResponseDataSources" } - ] - }, - "icarWeightsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWeightsResource.json" + }, + "icarInseminationsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarInseminationsResponseDataSource" + } + ] + }, + "icarInseminationsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarInseminationsResource.json" + } } - } - }, - "icarInseminationsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarInseminationsResponseDataSources" - } - }, - "icarInseminationsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarInseminationsResponseDataSource" + }, + "icarIdentificationTagsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarIdentificationTagsResponseDataSources" } - ] - }, - "icarInseminationsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarInseminationsResource.json" + }, + "icarIdentificationTagsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarIdentificationTagsResponseDataSource" + } + ] + }, + "icarIdentificationTagsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarIdentificationTagsResource.json" + } } - } - }, - "icarIdentificationTagsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarIdentificationTagsResponseDataSources" - } - }, - "icarIdentificationTagsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarIdentificationTagsResponseDataSource" + }, + "icarMilkDeliveryQualityReportsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResponseDataSources" } - ] - }, - "icarIdentificationTagsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarIdentificationTagsResource.json" + }, + "icarMilkDeliveryQualityReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResponseDataSource" + } + ] + }, + "icarMilkDeliveryQualityReportsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveryQualityReportsResource.json" + } } - } - }, - "icarMilkDeliveryQualityReportsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResponseDataSources" - } - }, - "icarMilkDeliveryQualityReportsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkDeliveryQualityReportsResponseDataSource" + }, + "icarHealthReportsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHealthReportsResponseDataSources" } - ] - }, - "icarMilkDeliveryQualityReportsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveryQualityReportsResource.json" + }, + "icarHealthReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHealthReportsResponseDataSource" + } + ] + }, + "icarHealthReportsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthReportsResource.json" + } } - } - }, - "icarHealthReportsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHealthReportsResponseDataSources" - } - }, - "icarHealthReportsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" + }, + "icarHealthReportVendorSpecific": { + "type": "object", + "properties": { + "scrSenseTime": { + "$ref": "#/components/schemas/icarHealthReportScrSenseTime" + }, + "nedapBI": { + "$ref": "#/components/schemas/icarHealthReportNedapBusinessInsight" + } }, - { - "$ref": "#/components/schemas/responseErrors" + "description": "Contains vendor specific fields. Only one vendor element can be present." + }, + "icarHealthReportNedapBusinessInsight": { + "type": "object", + "description": "Specific fields for Nedap Business Insight. TO BE IMPLEMENTED" + }, + "icarHealthReportScrSenseTime": { + "type": "object", + "properties": { + "dailyRumination": { + "type": "integer", + "format": "int32" + }, + "healthIndex": { + "type": "number", + "description": "One digit after decimal point", + "format": "double" + }, + "healthIndexThreshold": { + "type": "integer", + "description": "For report coloring", + "format": "int32" + } }, - { - "$ref": "#/components/schemas/icarHealthReportsResponseDataSource" + "description": "Specific fields for SCR SenseTime" + }, + "icarWaterIntakesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarWaterIntakesResponseDataSources" } - ] - }, - "icarHealthReportsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthReportsResource.json" + }, + "icarWaterIntakesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarWaterIntakesResponseDataSource" + } + ] + }, + "icarWaterIntakesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWaterIntakesResource.json" + } } - } - }, - "icarHealthReportVendorSpecific": { - "type": "object", - "properties": { - "scrSenseTime": { - "$ref": "#/components/schemas/icarHealthReportScrSenseTime" - }, - "nedapBI": { - "$ref": "#/components/schemas/icarHealthReportNedapBusinessInsight" + }, + "icarDairyGrazingSummariesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarDairyGrazingSummariesResponseDataSources" } }, - "description": "Contains vendor specific fields. Only one vendor element can be present." - }, - "icarHealthReportNedapBusinessInsight": { - "type": "object", - "description": "Specific fields for Nedap Business Insight. TO BE IMPLEMENTED" - }, - "icarHealthReportScrSenseTime": { - "type": "object", - "properties": { - "dailyRumination": { - "type": "integer", - "format": "int32" - }, - "healthIndex": { - "type": "number", - "description": "One digit after decimal point", - "format": "double" - }, - "healthIndexThreshold": { - "type": "integer", - "description": "For report coloring", - "format": "int32" + "icarDairyGrazingSummariesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarDairyGrazingSummariesResponseDataSource" + } + ] + }, + "icarDairyGrazingSummariesResponseDataSource": { + "type": "array", + "items": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDairyGrazingSummariesResource.json" } }, - "description": "Specific fields for SCR SenseTime" - }, - "icarWaterIntakesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarWaterIntakesResponseDataSources" - } - }, - "icarWaterIntakesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarWaterIntakesResponseDataSource" + "icarHerdListCoreDataSetResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSources" } - ] - }, - "icarWaterIntakesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarWaterIntakesResource.json" + }, + "icarHerdListCoreDataSetResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSource" + } + ] + }, + "icarHerdListCoreDataSetResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListCoreDataSetsResource.json" + } } - } - }, - "icarDairyGrazingSummariesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarDairyGrazingSummariesResponseDataSources" - } - }, - "icarDairyGrazingSummariesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarDairyGrazingSummariesResponseDataSource" + }, + "icarTeatPositionsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarTeatPositionsResponseDataSources" } - ] - }, - "icarDairyGrazingSummariesResponseDataSource": { - "type": "array", - "items": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarDairyGrazingSummariesResource.json" - } - }, - "icarHerdListCoreDataSetResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSources" - } - }, - "icarHerdListCoreDataSetResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHerdListCoreDataSetResponseDataSource" + }, + "icarTeatPositionsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarTeatPositionsResponseDataSource" + } + ] + }, + "icarTeatPositionsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsResource.json" + } } - ] - }, - "icarHerdListCoreDataSetResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListCoreDataSetsResource.json" + }, + "icarBiodiversityReportsResponse": { + "$ref": "#/components/schemas/icarBiodiversityReportsResponseDataSources" + }, + "icarBiodiversityReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarBiodiversityReportsResponseDataSource" + } + ] + }, + "icarBiodiversityReportsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityReportsResource.json" + } } - } - }, - "icarTeatPositionsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarTeatPositionsResponseDataSources" - } - }, - "icarTeatPositionsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarTeatPositionsResponseDataSource" + }, + "icarMilkIntakesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkIntakesResponseDataSources" } - ] - }, - "icarTeatPositionsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarTeatPositionsResource.json" + }, + "icarMilkIntakesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkIntakesResponseDataSource" + } + ] + }, + "icarMilkIntakesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkIntakesResource.json" + } } - } - }, - "icarBiodiversityReportsResponse": { - "$ref": "#/components/schemas/icarBiodiversityReportsResponseDataSources" - }, - "icarBiodiversityReportsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarBiodiversityReportsResponseDataSource" + }, + "icarMilkDeliveriesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkDeliveriesResponseDataSources" } - ] - }, - "icarBiodiversityReportsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarBiodiversityReportsResource.json" + }, + "icarMilkDeliveriesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkDeliveriesResponseDataSource" + } + ] + }, + "icarMilkDeliveriesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveriesResource.json" + } } - } - }, - "icarMilkIntakesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkIntakesResponseDataSources" - } - }, - "icarMilkIntakesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkIntakesResponseDataSource" + }, + "icarMilkInvoiceItemsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkInvoiceItemsResponseDataSources" } - ] - }, - "icarMilkIntakesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkIntakesResource.json" + }, + "icarMilkInvoiceItemsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkInvoiceItemsResponseDataSource" + } + ] + }, + "icarMilkInvoiceItemsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoiceItemsResource.json" + } } - } - }, - "icarMilkDeliveriesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkDeliveriesResponseDataSources" - } - }, - "icarMilkDeliveriesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkDeliveriesResponseDataSource" + }, + "icarAnimalMilkingSampleResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSources" } - ] - }, - "icarMilkDeliveriesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkDeliveriesResource.json" + }, + "icarAnimalMilkingSampleResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSource" + } + ] + }, + "icarAnimalMilkingSampleResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMilkingSampleResource.json" + } } - } - }, - "icarMilkInvoiceItemsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkInvoiceItemsResponseDataSources" - } - }, - "icarMilkInvoiceItemsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkInvoiceItemsResponseDataSource" + }, + "icarHerdListMovementsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHerdListMovementsResponseDataSources" } - ] - }, - "icarMilkInvoiceItemsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkInvoiceItemsResource.json" + }, + "icarHerdListMovementsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHerdListMovementsResponseDataSource" + } + ] + }, + "icarHerdListMovementsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListMovementsResource.json" + } } - } - }, - "icarAnimalMilkingSampleResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSources" - } - }, - "icarAnimalMilkingSampleResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarAnimalMilkingSampleResponseDataSource" + }, + "icarQuarterMilkingsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSources" } - ] - }, - "icarAnimalMilkingSampleResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarAnimalMilkingSampleResource.json" + }, + "icarQuarterMilkingsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSource" + } + ] + }, + "icarQuarterMilkingsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingsResource.json" + } } - } - }, - "icarHerdListMovementsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHerdListMovementsResponseDataSources" - } - }, - "icarHerdListMovementsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHerdListMovementsResponseDataSource" + }, + "icarHeatReportsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHeatReportsResponseDataSources" } - ] - }, - "icarHerdListMovementsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHerdListMovementsResource.json" + }, + "icarHeatReportsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHeatReportsResponseDataSource" + } + ] + }, + "icarHeatReportsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatReportsResource.json" + } } - } - }, - "icarQuarterMilkingsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSources" - } - }, - "icarQuarterMilkingsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" + }, + "icarHeatReportVendorSpecific": { + "type": "object", + "properties": { + "scrSenseTime": { + "$ref": "#/components/schemas/icarHeatReportScrSenseTime" + }, + "nedapBI": { + "$ref": "#/components/schemas/icarHeatReportNedapBusinessInsight" + } }, - { - "$ref": "#/components/schemas/responseErrors" + "description": "Contains vendor specific fields. Only one vendor element can be present." + }, + "icarHeatReportScrSenseTime": { + "type": "object", + "properties": { + "breedingWindow": { + "type": "integer", + "format": "int32" + }, + "heatIndex": { + "type": "integer", + "format": "int32" + } }, - { - "$ref": "#/components/schemas/icarQuarterMilkingsResponseDataSource" - } - ] - }, - "icarQuarterMilkingsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarQuarterMilkingsResource.json" + "description": "Specific fields for SCR SenseTime" + }, + "icarHeatReportNedapBusinessInsight": { + "type": "object", + "description": "Specific fields for Nedap Business Insight. TO BE IMPLEMENTED" + }, + "icarPregnancyCheckResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarPregnancyChecksResponseDataSources" } - } - }, - "icarHeatReportsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHeatReportsResponseDataSources" - } - }, - "icarHeatReportsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHeatReportsResponseDataSource" + }, + "icarPregnancyChecksResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarPregnancyChecksResponseDataSource" + } + ] + }, + "icarPregnancyChecksResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPregnancyChecksResource.json" + } } - ] - }, - "icarHeatReportsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHeatReportsResource.json" + }, + "icarGestationsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarGestationsResponseDataSources" } - } - }, - "icarHeatReportVendorSpecific": { - "type": "object", - "properties": { - "scrSenseTime": { - "$ref": "#/components/schemas/icarHeatReportScrSenseTime" - }, - "nedapBI": { - "$ref": "#/components/schemas/icarHeatReportNedapBusinessInsight" + }, + "icarGestationsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarGestationsResponseDataSource" + } + ] + }, + "icarGestationsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGestationsResource.json" + } } }, - "description": "Contains vendor specific fields. Only one vendor element can be present." - }, - "icarHeatReportScrSenseTime": { - "type": "object", - "properties": { - "breedingWindow": { - "type": "integer", - "format": "int32" - }, - "heatIndex": { - "type": "integer", - "format": "int32" + "uncefactAddressesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/uncefactAddressesResponseDataSources" } }, - "description": "Specific fields for SCR SenseTime" - }, - "icarHeatReportNedapBusinessInsight": { - "type": "object", - "description": "Specific fields for Nedap Business Insight. TO BE IMPLEMENTED" - }, - "icarPregnancyCheckResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarPregnancyChecksResponseDataSources" - } - }, - "icarPregnancyChecksResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarPregnancyChecksResponseDataSource" + "uncefactAddressesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/uncefactAddressesResponseDataSource" + } + ] + }, + "uncefactAddressesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressResource.json" + } } - ] - }, - "icarPregnancyChecksResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarPregnancyChecksResource.json" + }, + "icarSlaughtersResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarSlaughtersResponseDataSources" } - } - }, - "icarGestationsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarGestationsResponseDataSources" - } - }, - "icarGestationsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarGestationsResponseDataSource" + }, + "icarSlaughtersResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarSlaughtersResponseDataSource" + } + ] + }, + "icarSlaughtersResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSlaughtersResource.json" + } } - ] - }, - "icarGestationsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarGestationsResource.json" + }, + "icarHealthActivitiesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarHealthActivitiesResponseDataSources" } - } - }, - "uncefactAddressesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/uncefactAddressesResponseDataSources" - } - }, - "uncefactAddressesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" + }, + "icarHealthActivitiesResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarHealthActivitiesResponseDataSource" + } + ] + }, + "icarHealthActivityScrSenseTime": { + "type": "object", + "properties": { + "dailyRumination": { + "type": "number", + "description": "The number of minutes a cow ruminates during the day (24-hour period)", + "format": "double" + }, + "dailyEating": { + "type": "number", + "description": "The number of minutes a cow eats during the day (24 hour period)", + "format": "double" + }, + "hourlyRumination": { + "type": "number", + "description": "The number of minutes a cow ruminates during an hour.", + "format": "double" + }, + "hourlyEating": { + "type": "number", + "description": "The number of minutes a cow eats an hour.", + "format": "double" + }, + "activityTrend": { + "type": "number", + "description": "The trend of the cow’s activity. Cows when they are not well are less active.", + "format": "double" + } }, - { - "$ref": "#/components/schemas/uncefactAddressesResponseDataSource" - } - ] - }, - "uncefactAddressesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/uncefactAddressResource.json" + "description": "Contains SenseTime specific fields. Only one element can be present per item." + }, + "icarHealthActivitiesResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthActivitiesResource.json" + } } - } - }, - "icarSlaughtersResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarSlaughtersResponseDataSources" - } - }, - "icarSlaughtersResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarSlaughtersResponseDataSource" + }, + "icarMilkCharacteristicsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSources" } - ] - }, - "icarSlaughtersResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarSlaughtersResource.json" + }, + "icarMilkCharacteristicsResponseDataSources": { + "allOf": [ + { + "$ref": "#/components/schemas/responseDataSource" + }, + { + "$ref": "#/components/schemas/responseErrors" + }, + { + "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSource" + } + ] + }, + "icarMilkCharacteristicsResponseDataSource": { + "type": "object", + "properties": { + "data": { + "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkCharacteristicsResource.json" + } } - } - }, - "icarHealthActivitiesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarHealthActivitiesResponseDataSources" - } - }, - "icarHealthActivitiesResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarHealthActivitiesResponseDataSource" + }, + "responseErrors": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } } - ] - }, - "icarHealthActivityScrSenseTime": { - "type": "object", - "properties": { - "dailyRumination": { - "type": "number", - "description": "The number of minutes a cow ruminates during the day (24-hour period)", - "format": "double" - }, - "dailyEating": { - "type": "number", - "description": "The number of minutes a cow eats during the day (24 hour period)", - "format": "double" - }, - "hourlyRumination": { - "type": "number", - "description": "The number of minutes a cow ruminates during an hour.", - "format": "double" - }, - "hourlyEating": { - "type": "number", - "description": "The number of minutes a cow eats an hour.", - "format": "double" + }, + "dataSource": { + "type": "string", + "description": "Source where data is retrieved from. Details can be retrieved from the source register." + }, + "error": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "A unique identifier for this particular occurrence of the problem" + }, + "status": { + "type": "integer", + "description": "The HTTP status code applicable to this problem, expressed as a string value", + "format": "int32" + }, + "code": { + "type": "string", + "description": "An application-specific error code, expressed as a string value." + }, + "title": { + "type": "string", + "description": "A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization." + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized." + }, + "meta": { + "type": "object", + "properties": { + + } + } }, - "activityTrend": { - "type": "number", - "description": "The trend of the cow’s activity. Cows when they are not well are less active.", - "format": "double" - } + "description": "A human-readable error message describing what went wrong." }, - "description": "Contains SenseTime specific fields. Only one element can be present per item." - }, - "icarHealthActivitiesResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarHealthActivitiesResource.json" + "responseDataSource": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/dataSource" + } } } }, - "icarMilkCharacteristicsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSources" + "responses": { + "error": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } } }, - "icarMilkCharacteristicsResponseDataSources": { - "allOf": [ - { - "$ref": "#/components/schemas/responseDataSource" - }, - { - "$ref": "#/components/schemas/responseErrors" - }, - { - "$ref": "#/components/schemas/icarMilkCharacteristicsResponseDataSource" + "parameters": { + "queryEndDateTime": { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" } - ] - }, - "icarMilkCharacteristicsResponseDataSource": { - "type": "object", - "properties": { - "data": { - "$ref": "https://raw.githubusercontent.com/alamers/ICAR/master/JoinData/icarMilkCharacteristicsResource.json" + }, + "pathIcarMilkingVisitId": { + "name": "milking-visit-id", + "in": "path", + "required": true, + "schema": { + "type": "string" } - } - }, - "responseErrors": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } + }, + "pathLocationScheme": { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] } - } - }, - "dataSource": { - "type": "string", - "description": "Source where data is retrieved from. Details can be retrieved from the source register." - }, - "error": { - "type": "object", - "properties": { - "id": { + }, + "queryEndDateTimeRequired": { + "name": "end-date-time", + "in": "query", + "description": "The end of the date-time range for the data to get in the request.", + "required": true, + "schema": { "type": "string", - "description": "A unique identifier for this particular occurrence of the problem" - }, - "status": { - "type": "integer", - "description": "The HTTP status code applicable to this problem, expressed as a string value", - "format": "int32" - }, - "code": { + "format": "date-time" + } + }, + "queryModifiedSince": { + "name": "modified-since", + "in": "query", + "description": "The date-time of insertion or last update of the event.", + "schema": { "type": "string", - "description": "An application-specific error code, expressed as a string value." - }, - "title": { + "format": "date-time" + } + }, + "pathLocationId": { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + }, + "pathMilkDeliveryId": { + "name": "milk-delivery-id", + "in": "path", + "description": "The unique identifier for a milk delivery for a specific location.", + "required": true, + "schema": { + "type": "string" + } + }, + "queryAnimalScheme": { + "name": "animal-scheme", + "in": "query", + "description": "The scheme id for the animal identifier. Should be used together with animal-id.", + "required": true, + "schema": { "type": "string", - "description": "A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization." - }, - "detail": { + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + "queryStartDateTimeRequired": { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "required": true, + "schema": { "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized." - }, - "meta": { - "type": "object", - "properties": { - - } + "format": "date-time" } }, - "description": "A human-readable error message describing what went wrong." - }, - "responseDataSource": { - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "$ref": "#/components/schemas/dataSource" + "pathMilkInvoiceId": { + "name": "milk-invoice-id", + "in": "path", + "description": "The unique identifier for a milk invoice for a specific location.", + "required": true, + "schema": { + "type": "string" } - } - } - }, - "responses": { - "error": { - "description": "An error has occurred while handling the request. Check the content of the message for the error details.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "A default response containing only a list of errors" - } + }, + "queryAnimalId": { + "name": "animal-id", + "in": "query", + "description": "The unique identifier for the animal. Should be used together with animal-scheme.", + "required": true, + "schema": { + "type": "string" + } + }, + "queryStartDateTime": { + "name": "start-date-time", + "in": "query", + "description": "The start of the date-time range for the data to get in the request.", + "schema": { + "type": "string", + "format": "date-time" } - } - } - }, - "parameters": { - "queryEndDateTime": { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - "pathIcarMilkingVisitId": { - "name": "milking-visit-id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - "pathLocationScheme": { - "name": "location-scheme", - "in": "path", - "description": "The scheme id for the location identifier.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - "queryEndDateTimeRequired": { - "name": "end-date-time", - "in": "query", - "description": "The end of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - "queryModifiedSince": { - "name": "modified-since", - "in": "query", - "description": "The date-time of insertion or last update of the event.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - "pathLocationId": { - "name": "location-id", - "in": "path", - "description": "The unique identifier for the location.", - "required": true, - "schema": { - "type": "string" - } - }, - "pathMilkDeliveryId": { - "name": "milk-delivery-id", - "in": "path", - "description": "The unique identifier for a milk delivery for a specific location.", - "required": true, - "schema": { - "type": "string" - } - }, - "queryAnimalScheme": { - "name": "animal-scheme", - "in": "query", - "description": "The scheme id for the animal identifier. Should be used together with animal-id.", - "required": true, - "schema": { - "type": "string", - "enum": [ - "nl-v1", - "be-v1" - ] - } - }, - "queryStartDateTimeRequired": { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "required": true, - "schema": { - "type": "string", - "format": "date-time" - } - }, - "pathMilkInvoiceId": { - "name": "milk-invoice-id", - "in": "path", - "description": "The unique identifier for a milk invoice for a specific location.", - "required": true, - "schema": { - "type": "string" - } - }, - "queryAnimalId": { - "name": "animal-id", - "in": "query", - "description": "The unique identifier for the animal. Should be used together with animal-scheme.", - "required": true, - "schema": { - "type": "string" } }, - "queryStartDateTime": { - "name": "start-date-time", - "in": "query", - "description": "The start of the date-time range for the data to get in the request.", - "schema": { - "type": "string", - "format": "date-time" - } - } - }, - "securitySchemes": { - "jdClient": { - "type": "oauth2", - "description": "Secure access using client credentials grant", - "flows": { - "clientCredentials": { - "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", - "scopes": { - "fullaccess": "Full access to all resources when mandate is available" + "securitySchemes": { + "jdClient": { + "type": "oauth2", + "description": "Secure access using client credentials grant", + "flows": { + "clientCredentials": { + "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", + "scopes": { + "fullaccess": "Full access to all resources when mandate is available" + } } } - } - }, - "jdAuthorizationCode": { - "type": "oauth2", - "description": "Secure access using authorization grant flow", - "flows": { - "authorizationCode": { - "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", - "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", - "scopes": { - "fullaccess": "Full access to all resources when mandate is available" + }, + "jdAuthorizationCode": { + "type": "oauth2", + "description": "Secure access using authorization grant flow", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/auth", + "tokenUrl": "https://production.join-data.net/auth/realms/datahub/protocol/openid-connect/token", + "scopes": { + "fullaccess": "Full access to all resources when mandate is available" + } } } } } } -} } \ No newline at end of file From 98ba3f2a1a78b7f0fddbd276feb9a2ac4d1551f2 Mon Sep 17 00:00:00 2001 From: Arjan Lamers <> Date: Tue, 16 Apr 2019 15:19:13 +0200 Subject: [PATCH 31/31] tagged JD endpoints with existing/new compared to the draft --- ...json all.json => joindata url scheme.json} | 235 ++++++++++++++---- icar/jdError.json | 31 --- 2 files changed, 185 insertions(+), 81 deletions(-) rename JoinData/{v3 json all.json => joindata url scheme.json} (94%) delete mode 100644 icar/jdError.json diff --git a/JoinData/v3 json all.json b/JoinData/joindata url scheme.json similarity index 94% rename from JoinData/v3 json all.json rename to JoinData/joindata url scheme.json index 7f982e7..bf14cc9 100644 --- a/JoinData/v3 json all.json +++ b/JoinData/joindata url scheme.json @@ -24,22 +24,26 @@ ], "tags": [ { - "name": "ICAR inspired", - "description": "Messages which do not exist in current ICAR-ADE standard, but which follow the same principles\n" + "name": "New in JD", + "description": "Messages which do not exist in current ICAR-ADE draft but should be added\n" }, { - "name": "Local/other standard", - "description": "Messages which are (soon) available through JoinData, but without any affiliation to ICAR\n" - } + "name": "Existing in Draft", + "description": "Messages which already defined in the ICAR-ADE draft and should be merged\n" + }, + { + "name": "New in Draft", + "description": "Messages already defined in the ICAR-ADE draft and new for JoinData\n" + } ], "paths": { "/locations/{location-scheme}/{location-id}/milking-visits": { "get": { "tags": [ - "ICAR approval ready" + "Existing in Draft" ], - "summary": "Get the data for milking visits", - "description": "# Purpose\nProvides data from visits of animals to a milking parlour\n", + "summary": "Get the data for milking visits. \nCompare to /herds/animal-events/MilkingEvents.", + "description": "# Purpose\nProvides data from visits of animals to a milking parlour.\n", "parameters": [ { "name": "location-scheme", @@ -118,10 +122,10 @@ "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/characteristics": { "get": { "tags": [ - "ICAR approval ready" + "Existing in Draft" ], - "summary": "Get the quarter milking data for a specific milking visit", - "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "summary": "Get the quarter milking data for a specific milking visit.\nCompare to /herds/animal-events/MilkingEvents.", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour.\n", "parameters": [ { "name": "location-scheme", @@ -190,10 +194,10 @@ "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/quarter-milkings": { "get": { "tags": [ - "ICAR approval ready" + "Existing in Draft" ], - "summary": "Get the quarter milking data for a specific milking visit", - "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "summary": "Get the quarter milking data for a specific milking visit.\nCompare to /herds/animal-events/MilkingEvents.", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour.\n", "parameters": [ { "name": "location-scheme", @@ -262,10 +266,10 @@ "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/animal-milking-sample": { "get": { "tags": [ - "ICAR approval ready" + "Existing in Draft" ], - "summary": "Get the quarter milking data for a specific milking visit", - "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour\n", + "summary": "Get the quarter milking data for a specific milking visit.\nCompare to /herds/animal-events/MilkingEvents", + "description": "# Purpose\nProvides quarter milking data from a singular visit of an animal to a milking parlour.\n", "parameters": [ { "name": "location-scheme", @@ -334,9 +338,9 @@ "/locations/{location-scheme}/{location-id}/herd-list": { "get": { "tags": [ - "ICAR inspired" + "Existing in Draft" ], - "summary": "Get the animals on a location.", + "summary": "Get the animals on a location.\nCompare to /herds/animals", "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns the herd list for a location.\n", "parameters": [ { @@ -416,10 +420,10 @@ "/locations/{location-scheme}/{location-id}/herd-list-core-data-set": { "get": { "tags": [ - "ICAR inspired" + "Existing in Draft" ], - "summary": "Get the core details of the animals on a location.", - "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns a herd list for a location containing core animal data.\n", + "summary": "Get the core details of the animals on a location.\n Compare to /herds/animals and /herds/animal.", + "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns a herd list for a location containing core animal data.\n'", "parameters": [ { "name": "location-scheme", @@ -498,7 +502,7 @@ "/locations/{location-scheme}/{location-id}/dairy-grazing-summaries": { "get": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Get the dairy grazing summary data", "description": "# Purpose\nReturns a summary with information about the grazing pattern of the animals on the given location.\n", @@ -591,7 +595,7 @@ "/locations/{location-scheme}/{location-id}/feed-intakes": { "get": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Get feed intakes of the animals on the location specified.", "description": "# Purpose\nReturns feed intakes of the animals on the location specified.\n", @@ -673,7 +677,7 @@ "/locations/{location-scheme}/{location-id}/gestations": { "get": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Get gestation information for all in-herd animals on a location.", "description": "# Purpose\nReturns a list with current gestation information for a location.\n", @@ -737,7 +741,7 @@ "/locations/{location-scheme}/{location-id}/health-activities": { "get": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Get health activity information for animals on a location.", "description": "# Purpose\nReturns a list with health activity information for a location.\n", @@ -843,7 +847,7 @@ "/locations/{location-scheme}/{location-id}/health-reports": { "get": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Get health information for a location.", "description": "# Purpose\nReturns a list with current health information for a location.\n", @@ -907,7 +911,7 @@ "/locations/{location-scheme}/{location-id}/heat-activities": { "get": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Get in-heat activity information for female animals on a location.", "description": "# Purpose\nReturns a list with in-heat activity information for a location.\n", @@ -1013,9 +1017,9 @@ "/locations/{location-scheme}/{location-id}/heat-reports": { "get": { "tags": [ - "ICAR inspired" + "Existing in Draft" ], - "summary": "Get in-heat information for a location.", + "summary": "Get in-heat information for a location.\nCompare to /herds/animal-events/HeatEvents", "description": "# Purpose\nReturns a list with current in-heat information for a location.\n", "parameters": [ { @@ -1077,9 +1081,9 @@ "/locations/{location-scheme}/{location-id}/herd-list-movements": { "get": { "tags": [ - "ICAR inspired" + "Existing in Draft" ], - "summary": "Get the animal movements on a location.", + "summary": "Get the animal movements on a location.\nCompare to /herds/animal-events/ArrivalEvents and /herds/animal-events/DepatureEvents", "description": "_Based upon ICAR ADE GetHerdListRequest._\n# Purpose\nReturns the animal movements for a location.\n", "parameters": [ { @@ -1159,10 +1163,10 @@ "/locations/{location-scheme}/{location-id}/animal-registrations": { "post": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Pushes a singular animal (governmental) registration", - "description": "# Purpose\nProvides data from a singular animal registration\n", + "description": "# Purpose\nProvides data from a singular animal registration\nSpecific for a country (NL).", "parameters": [ { "name": "location-scheme", @@ -1234,7 +1238,7 @@ "/locations/{location-scheme}/{location-id}/milking-visits/{milking-visit-id}/teat-positions": { "get": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Get the teat positions for a specific milking visit", "description": "# Purpose\nProvides teat positions from a singular visit of an animal to a milking parlour\n", @@ -1306,7 +1310,7 @@ "/locations/{location-scheme}/{location-id}/identification-tags": { "get": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Get the identification tags on a location.", "description": "# Purpose\nReturns the identification tags for a location. Examples are Nedap, SCR and Gallagher identification tags (EIDs) for animals.\n", @@ -1370,10 +1374,10 @@ "/locations/{location-scheme}/{location-id}/inseminations": { "get": { "tags": [ - "ICAR inspired" + "Existing in Draft" ], "summary": "Get the executed insemantions on a location.", - "description": "# Purpose\nReturns the inseminations for a location.\n", + "description": "# Purpose\nReturns the inseminations for a location.\n Compare to /herds/animal-events/InseminationEvents.\n", "parameters": [ { "name": "location-scheme", @@ -1452,7 +1456,7 @@ "/locations/{location-scheme}/{location-id}/milk-deliveries": { "get": { "tags": [ - "Local/other standard" + "New in JD" ], "summary": "Get milk deliveries of the location specified.", "description": "# Purpose\nReturns milk deliveries of the location specified.\n", @@ -1534,7 +1538,7 @@ "/locations/{location-scheme}/{location-id}/milk-deliveries/{milk-delivery-id}/quality-reports": { "get": { "tags": [ - "Local/other standard" + "New in JD" ], "summary": "Get the test results for a specific milk delivery of the location specified.", "description": "todo", @@ -1607,7 +1611,7 @@ "/locations/{location-scheme}/{location-id}/milk-intakes": { "get": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Get milk intakes of the animals on the location specified.", "description": "# Purpose\nReturns milk intakes of the animals on the location specified.\n", @@ -1689,7 +1693,7 @@ "/locations/{location-scheme}/{location-id}/milk-invoices": { "get": { "tags": [ - "Local/other standard" + "New in JD" ], "summary": "Get milk delivery invoices of the location specified.", "description": "# Purpose\nReturns the invoices received for the milk delivered of the location specified.\n", @@ -1771,7 +1775,7 @@ "/locations/{location-scheme}/{location-id}/milk-invoices/{milk-invoice-id}/items": { "get": { "tags": [ - "Local/other standard" + "New in JD" ], "summary": "Get the items of the milk delivery invoices of the location specified.", "description": "# Purpose\nReturns the items of the invoices received for the milk delivered of the location specified.\n", @@ -1844,7 +1848,7 @@ "/locations/{location-scheme}/{location-id}/slaughters": { "get": { "tags": [ - "Local/other standard" + "New in JD" ], "summary": "Get the slaughterhouse events for all animals being slaughtered.", "description": "# Purpose\nReturns a list animals being slaughtered with their details for a location.\n", @@ -1923,12 +1927,143 @@ } } }, + + "/locations/{location-scheme}/{location-id}/parturitions": { + "get": { + "tags": [ + "New in Draft" + ], + "summary": "Get the parturition events for all in-herd animals on a location.\n Compare to /herds/animal-events/ParturitionCheckEvents.\n", + "description": "_Subject to change_\n# Purpose\nReturns a list with pregnancy-checks events information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the pregnancy check events data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "https://raw.githubusercontent.com/adewg/ICAR/master/DataLinker/ICARAnimalEventParturition.json" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + + "/locations/{location-scheme}/{location-id}/offsprings": { + "get": { + "tags": [ + "New in Draft" + ], + "summary": "Get the offspring events for all in-herd animals on a location.\n Compare to /herds/animal-events/OffspringEvents.\n", + "description": "_Subject to change_\n# Purpose\nReturns a list with offspring events information for a location.\n", + "parameters": [ + { + "name": "location-scheme", + "in": "path", + "description": "The scheme id for the location identifier.", + "required": true, + "schema": { + "type": "string", + "enum": [ + "nl-v1", + "be-v1" + ] + } + }, + { + "name": "location-id", + "in": "path", + "description": "The unique identifier for the location.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response contains the pregnancy check events data for the location.", + "content": { + "application/json": { + "schema": { + "$ref": "https://raw.githubusercontent.com/adewg/ICAR/master/DataLinker/ICARAnimalParturitionOffspring.json" + } + } + } + }, + "default": { + "description": "An error has occurred while handling the request. Check the content of the message for the error details.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "A default response containing only a list of errors" + } + } + } + } + } + } + }, + "/locations/{location-scheme}/{location-id}/pregnancy-checks": { "get": { "tags": [ - "ICAR inspired" + "Existing in Draft" ], - "summary": "Get the pregnancy checks events for all in-herd animals on a location.", + "summary": "Get the pregnancy checks events for all in-herd animals on a location.\n Compare to /herds/animal-events/PregnancyCheckEvents.\n", "description": "_Subject to change_\n# Purpose\nReturns a list with pregnancy-checks events information for a location.\n", "parameters": [ { @@ -1990,7 +2125,7 @@ "/locations/{location-scheme}/{location-id}/water-intakes": { "get": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Get water intakes of the animals on the location specified.", "description": "# Purpose\nReturns water intakes of the animals on the location specified.\n", @@ -2072,7 +2207,7 @@ "/locations/{location-scheme}/{location-id}/weights": { "get": { "tags": [ - "ICAR inspired" + "New in JD" ], "summary": "Get information about the weight of an animal", "description": "_Subject to change_\n# Purpose\nReturns a list of weight measurement events for a location.\n", @@ -2154,7 +2289,7 @@ "/locations/{location-scheme}/{location-id}/biodiversity-reports": { "get": { "tags": [ - "Local/other standard" + "New in JD" ], "summary": "Get the bio-diversity reports for the location in the given period.", "description": "# Purpose\nGet the bio-diversity reports for the location in the given period.\n", @@ -2236,7 +2371,7 @@ "/locations/{location-scheme}/{location-id}/addresses": { "get": { "tags": [ - "Local/other standard" + "New in JD" ], "summary": "Gets the currently known addresses for this company", "description": "# Purpose\nGets the known addresses for this company\n", diff --git a/icar/jdError.json b/icar/jdError.json deleted file mode 100644 index 51fa5b8..0000000 --- a/icar/jdError.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "A unique identifier for this particular occurrence of the problem" - }, - "status": { - "type": "integer", - "description": "The HTTP status code applicable to this problem, expressed as a string value", - "format": "int32" - }, - "code": { - "type": "string", - "description": "An application-specific error code, expressed as a string value." - }, - "title": { - "type": "string", - "description": "A short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization." - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized." - }, - "meta": { - "type": "object", - "properties": {} - } - }, - "description": "A human-readable error message describing what went wrong." - }