{
  "$id": "https://epa.gov/wqx/biological-habitat.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema#",
  "title": "Biological-Habitat",
  "description": "WQX Web Biological-Habitat Results",
  "type": "object",
  "additionalProperties": false,
  "unevaluatedProperties": false,
  "properties": {
    "Index ID": {
      "title": "Index ID",
      "description": "A unique designator used to identify a unique index record that the activity metric is associated with.",
      "type": "string",
      "minLength": 0,
      "maxLength": 35,
      "pattern": "^[\\p{L}\\p{N}\\p{P}\\p{M}\\p{S} ]+$"
    },
    "Index Type ID": {
      "title": "Index Type ID",
      "description": "Type of Activity (example: Field Msr/Obs, Sample-Routine, etc.)",
      "type": "string",
      "enum": [
        "Field Msr/Obs",
        "Field Msr/Obs-Continuous Time Series",
        "Field Msr/Obs-Habitat Assessment",
        "Field Msr/Obs-Incidental",
        "Field Msr/Obs-Portable Data Logger",
        "Quality Control Alternative Measurement Sensitivity",
        "Quality Control Alternative Measurement Sensitivity Plus",
        "Quality Control Field Calibration Check",
        "Quality Control Field Msr/Obs Post-Calibration",
        "Quality Control Field Msr/Obs Pre-Calibration",
        "Quality Control Field Replicate Habitat Assessment",
        "Quality Control Field Replicate Msr/Obs",
        "Quality Control Field Replicate Portable Data Logger",
        "Quality Control Field Replicate Sample-Composite",
        "Quality Control Field Replicate Sample-Field Subsample",
        "Quality Control Field Sample Equipment Rinsate Blank",
        "Quality Control Lab Sample Equipment Rinsate Blank",
        "Quality Control Sample-Archive Blank",
        "Quality Control Sample-Blind Duplicate",
        "Quality Control Sample-Concurrent Replicate",
        "Quality Control Sample-Equipment Blank",
        "Quality Control Sample-Field Ambient Conditions Blank",
        "Quality Control Sample-Field Blank",
        "Quality Control Sample-Field Replicate",
        "Quality Control Sample-Field Spike",
        "Quality Control Sample-Field Surrogate Spike",
        "Quality Control Sample-Integrated Time Series-Ambient Blank",
        "Quality Control Sample-Integrated Time Series-Concurrent Replicate",
        "Quality Control Sample-Integrated Time Series-Equipment Blank",
        "Quality Control Sample-Integrated Time Series-Field Blank",
        "Quality Control Sample-Integrated Time Series-Lab Blank",
        "Quality Control Sample-Integrated Time Series-Sequential Replicate",
        "Quality Control Sample-Integrated Time Series-Split Replicate",
        "Quality Control Sample-Integrated Time Series-SplitConcurrentReplicate",
        "Quality Control Sample-Integrated Time Series-SplitSequentialReplicate",
        "Quality Control Sample-Integrated Time Series-Trip Blank",
        "Quality Control Sample-Integrated Time Series-Unspecified Blank",
        "Quality Control Sample-Integrated Time Series-Unspecified Replicate",
        "Quality Control Sample-Inter-lab Split",
        "Quality Control Sample-Lab Blank",
        "Quality Control Sample-Lab Continuing Calibration Verification",
        "Quality Control Sample-Lab Control Sample/Blank Spike",
        "Quality Control Sample-Lab Control Sample/Blank Spike Duplicate",
        "Quality Control Sample-Lab Control Standard",
        "Quality Control Sample-Lab Control Standard Duplicate",
        "Quality Control Sample-Lab Duplicate",
        "Quality Control Sample-Lab Duplicate 2",
        "Quality Control Sample-Lab Initial Calib Certified Reference Material",
        "Quality Control Sample-Lab Initial Calibration Verification",
        "Quality Control Sample-Lab Matrix Spike",
        "Quality Control Sample-Lab Matrix Spike Duplicate",
        "Quality Control Sample-Lab Re-Analysis",
        "Quality Control Sample-Lab Spike",
        "Quality Control Sample-Lab Spike Duplicate",
        "Quality Control Sample-Lab Spike Target",
        "Quality Control Sample-Lab Spike of a Lab Blank",
        "Quality Control Sample-Lab Split",
        "Quality Control Sample-Lab Surrogate Control Standard",
        "Quality Control Sample-Lab Surrogate Control Standard Duplicate",
        "Quality Control Sample-Lab Surrogate Method Blank",
        "Quality Control Sample-Measurement Precision Sample",
        "Quality Control Sample-Other",
        "Quality Control Sample-Post-preservative Blank",
        "Quality Control Sample-Pre-preservative Blank",
        "Quality Control Sample-Reagent Blank",
        "Quality Control Sample-Reference Material",
        "Quality Control Sample-Reference Sample",
        "Quality Control Sample-Sequential Replicate",
        "Quality Control Sample-Source Solution Blank",
        "Quality Control Sample-Spike Replicate",
        "Quality Control Sample-Spike, Unspecified Type",
        "Quality Control Sample-Split Concurrent Replicate",
        "Quality Control Sample-Split Replicate",
        "Quality Control Sample-Split Sequential Replicate",
        "Quality Control Sample-Topical Replicate",
        "Quality Control Sample-Topical Spike",
        "Quality Control Sample-Trip Blank",
        "Quality Control Sample-Unspecified Blank",
        "Quality Control Sample-Unspecified Replicate",
        "Quality Control Sample-Unspecified Topical",
        "Quality Control-Calibration Check",
        "Quality Control-Calibration Check Buffer",
        "Quality Control-Meter Lab Blank",
        "Quality Control-Meter Lab Duplicate",
        "Quality Control-Meter Lab Duplicate 2",
        "Quality Control-Negative Control",
        "Sample-Composite With Parents",
        "Sample-Composite Without Parents",
        "Sample-Depletion Replicate",
        "Sample-Field Split",
        "Sample-Field Subsample",
        "Sample-Integrated Cross-Sectional Profile",
        "Sample-Integrated Flow Proportioned",
        "Sample-Integrated Horizontal Profile",
        "Sample-Integrated Horizontal and Vertical Composite Profile",
        "Sample-Integrated Time Series",
        "Sample-Integrated Unspecified Profile",
        "Sample-Integrated Vertical Profile",
        "Sample-Negative Control",
        "Sample-Other",
        "Sample-Positive Control",
        "Sample-Routine",
        "Sample-Routine Resample"
      ],
      "maxLength": 70
    },
    "Index Score": {
      "title": "Index Score",
      "description": "Medium in which sample or measurement was taken (example: Water, Sediment, etc.)",
      "type": "string",
      "enum": [
        "Air",
        "Biological",
        "Habitat",
        "Other",
        "Sediment",
        "Soil",
        "Tissue",
        "Water"
      ],
      "maxLength": 10
    },
    "Index Qualifier Code": {
      "title": "Index Qualifier Code",
      "description": "Name or code indicating the environmental matrix as a subdivision of the sample media.",
      "type": "string",
      "minLength": 0,
      "maxLength": 45,
      "pattern": "^[\\p{L}\\p{N}\\p{P}\\p{M}\\p{S} ]+$"
    },
    "Index Comment": {
      "title": "Index Comment",
      "description": "General comments concerning the activity.",
      "type": "string",
      "minLength": 0,
      "maxLength": 4000,
      "pattern": "^[\\p{L}\\p{N}\\p{P}\\p{M}\\p{S} \\r\\n]+$"
    },
    "Index Calculated Date": {
      "title": "Index Calculated Date",
      "description": "Date Activity began (YYYY-MM-DD)",
      "type": "string",
      "format": "date",
      "minLength": 10,
      "maxLength": 10
    },
    "Monitoring Location ID": {
      "title": "Monitoring Location ID",
      "description": "Valid Monitoring ID; required for most Activity Type Codes; Must correspond to Monitoring Locations already in WQX/STORET or entered in Monitoring Locations tab",
      "type": "string",
      "minLength": 0,
      "maxLength": 55,
      "pattern": "^[\\p{L}\\p{N}\\p{P}\\p{M}\\p{S} ]+$"
    }
  },
  "required": [
    "Index ID",
    "Index Type ID",
    "Index Score",
    "Monitoring Location ID"
  ]
}
