PTAGIS Data Specification

 

 

P5 Schema 2024-06

 

Schema 2024-06 is based on the 2020-12 draft JSON schema.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://ptagis.org/content/schemas/mrr/2024-06/schema.json",
  "type": "object",
  "title": "PTAGIS MRR File JSON Schema.",
  "required": [
    "schema",
    "sourceSystemName",
    "sourceSystemVersion",
    "name",
    "fileName",
    "created",
    "modified",
    "mrrEvents"
  ],
  "properties": {
    "$schema": {
      "type": "string",
      "description": "PTAGIS MRR File JSON schema reference"
    },
    "sourceSystemName": {
      "type": "string",
      "title": "Source System Name",
      "description": "",
      "minLength": 1,
      "maxLength": 25
    },
    "sourceSystemVersion": {
      "type": "string",
      "title": "Source System Version",
      "description": "",
      "minLength": 1,
      "maxLength": 25
    },
    "sessionName": {
      "type": "string",
      "title": "Session Name",
      "description": "",
      "minLength": 1,
      "maxLength": 50
    },
    "fileName": {
      "type": "string",
      "title": "File Name",
      "description": "",
      "minLength": 18,
      "maxLength": 21
    },
    "legacyFileName": {
      "type": "string",
      "title": "Legacy File Name",
      "description": "",
      "maxLength": 50
    },
    "created": {
      "type": "string",
      "title": "File Creation Date",
      "description": "",
      "format": "date-time"
    },
    "modified": {
      "type": "string",
      "title": "Last File Modification Date",
      "description": "",
      "format": "date-time"
    },
    "sessionMessage": {
      "type": "string",
      "title": "Session Message",
      "description": "",
      "minLength": 1,
      "maxLength": 200
    },
    "mrrProject": {
      "type": "string",
      "title": "MRR Project Code",
      "description": "",
      "minLength": 3,
      "maxLength": 3
    },
    "sessionNote": {
      "type": "string",
      "title": "Session Note",
      "description": "",
      "maxLength": 4000
    },
    "spdv1": {
      "type": "string",
      "title": "Session-Level Custom Field",
      "description": "",
      "maxLength": 50
    },
    "spdv2": {
      "type": "string",
      "title": "Session-Level Custom Field",
      "description": "",
      "maxLength": 50
    },
    "spdv3": {
      "type": "string",
      "title": "Session-Level Custom Field",
      "description": "",
      "maxLength": 50
    },
    "spdv4": {
      "type": "string",
      "title": "Session-Level Custom Field",
      "description": "",
      "maxLength": 50
    },
    "spdv5": {
      "type": "string",
      "title": "Session-Level Custom Field",
      "description": "",
      "maxLength": 50
    },
    "spdv6": {
      "type": "string",
      "title": "Session-Level Custom Field",
      "description": "",
      "maxLength": 50
    },
    "spdv7": {
      "type": "string",
      "title": "Session-Level Custom Field",
      "description": "",
      "maxLength": 50
    },
    "spdv8": {
      "type": "string",
      "title": "Session-Level Custom Field",
      "description": "",
      "maxLength": 50
    },
    "spdv9": {
      "type": "string",
      "title": "Session-Level Custom Field",
      "description": "",
      "maxLength": 50
    },
    "spdv10": {
      "type": "string",
      "title": "Session-Level Custom Field",
      "description": "",
      "maxLength": 50
    },
    "mrrEvents": {
      "type": "array",
      "title": "The MRREvent Schema",
      "description": "A collection of MRR Events",
      "maxItems": 500000,
      "items": {
        "type": "object",
        "title": "MRR Event Schema",
        "required": [
          "sequenceNumber",
          "pitTag",
          "eventType",
          "speciesRunRearType",
        ],
        "properties": {
          "broodYear": {
            "title": "Brood Year",
            "type": "string",
            "description": "",
            "maxLength": 4
          },
          "captureMethod": {
            "title": "Capture Method",
            "type": "string",
            "description": "",
            "minLength": 3,
            "maxLength": 8
          },
          "conditionalComments": {
            "title": "Conditional Comments",
            "type": "string",
            "description": "",
            "maxLength": 50
          },
          "detailNote": {
            "title": "Detail Note",
            "type": "string",
            "description": "",
            "maxLength": 200
          },
          "eventDate": {
            "title": "Event Date",
            "type": "string",
            "description": "",
            "format": "date-time"
          },
          "eventSite": {
            "title": "Event Site",
            "type": "string",
            "description": "",
            "minLength": 3,
            "maxLength": 6
          },
          "eventType": {
            "title": "Event Type",
            "type": "string",
            "description": "",
            "enum": [
              "Mark",
              "Recapture",
              "Recovery",
              "Passive Recapture",
              "Tally"
            ]
          },
          "hatchery": {
            "title": "Hatchery",
            "type": "string",
            "description": "",
            "maxLength": 4
          },
          "holdingTemperature": {
            "title": "Holding Temperature",
            "type": "number",
            "description": ""
          },
          "length": {
            "title": "Length",
            "type": "number",
            "description": ""
          },
          "lifeStage": {
            "title": "Life Stage",
            "type": "string",
            "description": "",
            "enum": [
              "Adult",
              "Juvenile",
              "Unknown"
            ]
          },
          "locationSource": {
            "title": "Location Source",
            "type": "string",
            "description": "",
            "maxLength": 3
          },
          "locationLatitude": {
            "title": "Location Latitude",
            "type": "number",
            "description": ""
          },
          "locationLongitude": {
            "title": "Location Longitude",
            "type": "number",
            "description": ""
          },
          "locationRKMExt": {
            "title": "Location RKM Extension",
            "type": "number",
            "description": ""
          },
          "markMethod": {
            "title": "Mark Method",
            "type": "string",
            "description": "",
            "maxLength": 10
          },
          "markTemperature": {
            "title": "Mark Temperature",
            "type": "number",
            "description": ""
          },
          "migrationYear": {
            "title": "Migration Year",
            "type": "string",
            "description": "",
            "maxLength": 4
          },
          "organization": {
            "title": "Organization",
            "type": "string",
            "description": "",
            "minLength": 3,
            "maxLength": 6
          },
          "pitTag": {
            "title": "PIT Tag",
            "type": "string",
            "description": "",
            "minLength": 10,
            "maxLength": 15
          },
          "raceway": {
            "title": "Raceway",
            "type": "string",
            "description": "",
            "maxLength": 30
          },
          "releaseDate": {
            "title": "Release Date",
            "type": "string",
            "description": "",
            "format": "date-time"
          },
          "releaseSite": {
            "title": "Release Site",
            "type": "string",
            "description": "",
            "maxLength": 6
          },
          "releaseTemperature": {
            "title": "Release Temperature",
            "type": "number",
            "description": ""
          },
          "sequenceNumber": {
            "title": "Sequence Number",
            "type": "number",
            "description": ""
          },
          "spawnYear": {
            "title": "Spawn Year",
            "type": "string",
            "description": "",
            "maxLength": 4
          },
          "speciesRunRearType": {
            "title": "Species Run Rear Type",
            "type": "string",
            "description": "",
            "minLength": 1,
            "maxLength": 3
          },
          "stock": {
            "title": "Stock",
            "type": "string",
            "description": "",
            "maxLength": 15
          },
          "tagger": {
            "title": "Tagger",
            "type": "string",
            "description": "",
            "maxLength": 30
          },
          "weight": {
            "title": "Weight",
            "type": "number",
            "description": ""
          },
          "textComments": {
            "title": "",
            "type": "string",
            "description": "",
            "maxLength": 100
          },
          "secondPITTag": {
            "title": "Second PIT Tag",
            "type": "string",
            "description": "",
            "minLength": 10,
            "maxLength": 15
          },
          "cwTag": {
            "title": "Coded Wire Tag",
            "type": "string",
            "description": "",
            "maxLength": 50
          },
          "acousticTag": {
            "title": "Acoustic Tag",
            "type": "string",
            "description": "",
            "maxLength": 50
          },
          "radioTag": {
            "title": "Radio Tag",
            "type": "string",
            "description": "",
            "maxLength": 50
          },
          "geneticID": {
            "title": "Genetid ID",
            "type": "string",
            "description": "",
            "maxLength": 50
          },
          "scaleID": {
            "title": "Scale ID",
            "type": "string",
            "description": "",
            "maxLength": 50
          },
          "otherTag": {
            "title": "Other Tag",
            "type": "string",
            "description": "",
            "maxLength": 50
          },
          "pdv1": {
            "type": "string",
            "title": "Event-Level Custom Field",
            "description": "",
            "maxLength": 50
          },
          "pdv2": {
            "type": "string",
            "title": "Event-Level Custom Field",
            "description": "",
            "maxLength": 50
          },
          "pdv3": {
            "type": "string",
            "title": "Event-Level Custom Field",
            "description": "",
            "maxLength": 50
          },
          "pdv4": {
            "type": "string",
            "title": "Event-Level Custom Field",
            "description": "",
            "maxLength": 50
          },
          "pdv5": {
            "type": "string",
            "title": "Event-Level Custom Field",
            "description": "",
            "maxLength": 50
          },
          "pdv6": {
            "type": "string",
            "title": "Event-Level Custom Field",
            "description": "",
            "maxLength": 50
          },
          "pdv7": {
            "type": "string",
            "title": "Event-Level Custom Field",
            "description": "",
            "maxLength": 50
          },
          "pdv8": {
            "type": "string",
            "title": "Event-Level Custom Field",
            "description": "",
            "maxLength": 50
          },
          "pdv9": {
            "type": "string",
            "title": "Event-Level Custom Field",
            "description": "",
            "maxLength": 50
          },
          "pdv10": {
            "type": "string",
            "title": "Event-Level Custom Field",
            "description": "",
            "maxLength": 50
          }
        }
      }
    }
  },
  "SessionProjectDefinedFields": {
    "title": "Session-Level Custom Field Definitions",
    "type": "object",
    "default": {},
    "required": [
      "SessionProjectDefinedField"
    ],
    "properties": {
      "SessionProjectDefinedField": {
        "title": "The SessionProjectDefinedField Schema",
        "type": "array",
        "default": [],
        "items": {
          "title": "A Schema",
          "type": "object",
          "required": [
            "Label",
            "PDVColumn",
            "Definition"
          ],
          "properties": {
            "Label": {
              "title": "The Label Schema",
              "type": "string"
            },
            "PDVColumn": {
              "title": "The PDVColumn Schema",
              "type": "string"
            },
            "Definition": {
              "title": "The Definition Schema",
              "type": "string"
            }
          }
        }
      }
    }
  },
  "DetailProjectDefinedFields": {
    "title": "Event-Level Custom Field Definitions",
    "type": "object",
    "default": {},
    "required": [
      "DetailProjectDefinedField"
    ],
    "properties": {
      "DetailProjectDefinedField": {
        "title": "The DetailProjectDefinedField Schema",
        "type": "array",
        "default": [],
        "items": {
          "title": "A Schema",
          "type": "object",
          "required": [
            "Label",
            "PDVColumn",
            "Definition"
          ],
          "properties": {
            "Label": {
              "title": "The Label Schema",
              "type": "string"
            },
            "PDVColumn": {
              "title": "The PDVColumn Schema",
              "type": "string"
            },
            "Definition": {
              "title": "The Definition Schema",
              "type": "string"
            }
          }
        }
      }
    }
  }
}