{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-eff01-schema.json",
  "title": "eff01",
  "description": "Discharge Monitoring Reports Object",
  "type": "object",
  "properties": {
    "DMREventId": {
      "description": "The sequence ID identifying the DMR Event.",
      "example": "3403602486",
      "title": "DMR Event ID",
      "type": "string"
    },
    "DMRFormValueId": {
      "description": "The sequence ID identifying the DMR Form Value.",
      "example": "3444464127",
      "title": "Measured Value ID",
      "type": "string"
    },
    "DMRUnitCode": {
      "description": "The code representing the unit of measure applicable to quantity or concentration limits and measurements as entered into ICIS-NPDES",
      "example": "19",
      "title": "Measured Value Unit Code",
      "type": "string"
    },
    "DMRUnitDesc": {
      "description": "The short description of the unit of measure applicable to limit or DMR values",
      "example": "mg/L",
      "title": "Measured Value Unit",
      "type": "string"
    },
    "DMRValueId": {
      "description": "The unique identifier for the DMR value generated in ICIS-NPDES",
      "example": "3420340252",
      "title": "Measured Value ID",
      "type": "string"
    },
    "DMRValueNmbr": {
      "description": "The DMR value number reported on the DMR Form",
      "example": "20",
      "title": "Measured Value",
      "type": "string"
    },
    "DMRValueQualifierCode": {
      "description": "The unique code identifying the DMR value operator (i.e., <, <=, >, >=, T, E, =). E indicates an estimated value. T indicates too numerous to count",
      "example": "=",
      "title": "DMR Value Qualifier Code",
      "type": "string"
    },
    "DMRValueStdUnits": {
      "description": "The DMR value expressed in standard units, as calculated in ICIS-NPDES",
      "example": "20",
      "title": "Measured Value Standard Units",
      "type": "string"
    },
    "DaysLate": {
      "description": "The number of days the DMR value is late, as generated in ICIS-NPDES",
      "example": "5",
      "title": "Days Received Late",
      "type": "string"
    },
    "ExceedencePct": {
      "description": "The percent by which the DMR value (or adjusted value) exceeded its limit (or stay) value, as generated in ICIS-NPDES",
      "example": "0",
      "title": "Exceedance Percentage",
      "type": "string"
    },
    "LimitBeginDate": {
      "description": "The date on which a limit becomes in effect for a particular parameter in a limit set",
      "example": "01-APR-14",
      "title": "Limit Begin Date",
      "type": "string"
    },
    "LimitEndDate": {
      "description": "The date on which a limit stops being in effect for a particular parameter in a limit set",
      "example": "31-MAR-19",
      "title": "Limit End Date",
      "type": "string"
    },
    "LimitId": {
      "description": "The unique identifier for a limit parameter record",
      "example": "3401161480",
      "title": "Limit ID",
      "type": "string"
    },
    "LimitSetId": {
      "description": "The unique identifier for a limit set, generated in ICIS-NPDES",
      "example": "3400122018",
      "title": "Limit Set ID",
      "type": "string"
    },
    "LimitSetScheduleId": {
      "description": "The unique identifier of the Limit Set Schedule, generated in ICIS-NPDES",
      "example": "3400204974",
      "title": "Limit Set Schedule ID",
      "type": "string"
    },
    "LimitTypeCode": {
      "example": "C1",
      "title": "Limit Type Code",
      "type": "string"
    },
    "LimitUnitCode": {
      "description": "The code representing the unit of measure applicable to quantity or concentration limits and measurements as entered by the user",
      "example": "12",
      "title": "Limit Unit Code",
      "type": "string"
    },
    "LimitUnitDesc": {
      "description": "The short description of the unit of measure applicable to limit or DMR values",
      "example": "SU",
      "title": "Limit Unit Description",
      "type": "string"
    },
    "LimitValueId": {
      "description": "The unique identifier in ICIS-NPDES for the Limit Value",
      "example": "3401799401",
      "title": "Limit Value ID",
      "type": "string"
    },
    "LimitValueNmbr": {
      "description": "The numerical limit for a given parameter",
      "example": "20",
      "title": "Limit Value",
      "type": "string"
    },
    "LimitValueQualifierCode": {
      "description": "The unique code identifying the limit value operator (i.e., <, <=, >, >=, T, E, =). E indicates an estimated value. T indicates too numerous to count",
      "example": "=",
      "title": "Limit Value Qualifier",
      "type": "string"
    },
    "LimitValueStdUnits": {
      "description": "The limit value expressed in standard units, as calculated in ICIS-NPDES",
      "example": "20",
      "title": "Limit Value in Standard Units",
      "type": "string"
    },
    "LimitValueTypeCode": {
      "description": "The code indicating the type of value the limit is given as (i.e., Q1, Q2, C1, C2, C3)",
      "example": "C1",
      "title": "Limit Value Code",
      "type": "string"
    },
    "LimitValueTypeDesc": {
      "description": "The description indicating the type of value the limit is given as (e.g., Concentration, Quantity)",
      "example": "Concentration1",
      "title": "Limit Value Type",
      "type": "string"
    },
    "MonitoringPeriodEndDate": {
      "description": "The date that the monitoring period for the values covered by the DMR Form ends",
      "example": "30-APR-14",
      "title": "Monitoring Period End Date",
      "type": "string"
    },
    "NODEDesc": {
      "type": "string",
      "example": "string"
    },
    "NODICode": {
      "description": "The unique code indicating why no DMR Value was submitted by the permittee for a Monitoring Period End Date",
      "example": "C",
      "title": "No Discharge Code",
      "type": "string"
    },
    "NPDESViolations": {
      "items": {
        "$ref": "#/definitions/eff02"
      },
      "title": "NPDES Violations",
      "type": "array",
      "xml": {
        "name": "NPDESViolations",
        "wrapped": true
      },
      "example": [
        "string"
      ]
    },
    "NmbrOfSubmission": {
      "description": "The number of months of discharges represented on each DMR for the limit set (e.g., monthly = 1, bi-monthly = 2, quarterly = 3, triannual = 4, semi-annual = 6, annual = 12). This data element will be blank for Unscheduled Limit Sets",
      "example": "1",
      "title": "Number of Submissions",
      "type": "string"
    },
    "PermFeatureId": {
      "description": "The unique identifier in ICIS-NPDES of a permitted feature or outfall",
      "example": "3400087283",
      "title": "Permit Feature ID",
      "type": "string"
    },
    "StatisticalBaseCode": {
      "description": "The code representing the unit of measure applicable to the limit and DMR values entered by the user (e.g., 30-day average, daily maximum)",
      "example": "DC",
      "title": "Statistical Base Code",
      "type": "string"
    },
    "StatisticalBaseDesc": {
      "type": "string",
      "example": "string"
    },
    "StatisticalBaseTypeCode": {
      "description": "The code indicating whether the statistical base code is a minimum, average, or maximum for purposes of calculating compliance against the limit value",
      "example": "MIN",
      "title": "Statistical Base Type Code",
      "type": "string"
    },
    "StatisticalBaseTypeDesc": {
      "description": "A short description for indicating whether the statistical base code is a minimum, average, or maximum for purposes of calculating compliance against the limit value",
      "example": "Minimum",
      "title": "Statistical Base Type",
      "type": "string"
    },
    "StayValueNmbr": {
      "description": "The numeric limit value imposed during the period of the stay for the limit; if entered, during the stay period, ICIS-NPDES will use this limit value for calculating compliance rather than the actual limit value",
      "example": "???",
      "title": "Stay Value Number",
      "type": "string"
    },
    "StdUnitCode": {
      "description": "The code representing the standard unit of measure applicable to quantity or concentration limits and measurements as entered by the user",
      "example": "19",
      "title": "Standard Unit Code",
      "type": "string"
    },
    "StdUnitDesc": {
      "description": "The short description of the standard unit of measure applicable to limit or DMR values",
      "example": "mg/L",
      "title": "Standard Unit Description",
      "type": "string"
    },
    "ValueReceivedDate": {
      "description": "The date the DMR value was received by the regulatory authority",
      "example": "08-MAY-14",
      "title": "Date Received",
      "type": "string"
    },
    "ValueTypeCode": {
      "description": "The indication of the limit value type (e.g., Quantity 1, Concentration 2)",
      "example": "C1",
      "title": "Measured Value Type Code",
      "type": "string"
    },
    "ValueTypeDesc": {
      "description": "The type of value the measured number is given as (e.g., Concentration, Quantity)",
      "example": "Concentration1",
      "title": "Measured Value Type",
      "type": "string"
    },
    "VersionNmbr": {
      "description": "The version of the permit when a modification or reissuance is applied to the permit. Version = 0 indicates the original permit issuance",
      "example": "0",
      "title": "Version Number",
      "type": "string"
    }
  },
  "required": [
    "VersionNmbr",
    "PermFeatureId",
    "LimitSetId",
    "LimitSetScheduleId",
    "NmbrOfSubmission",
    "LimitId",
    "LimitTypeCode",
    "LimitBeginDate",
    "LimitEndDate",
    "LimitValueId",
    "LimitValueTypeCode",
    "LimitValueTypeDesc",
    "LimitValueNmbr",
    "LimitUnitCode",
    "LimitUnitDesc",
    "StdUnitCode",
    "StdUnitDesc",
    "LimitValueStdUnits",
    "StatisticalBaseCode",
    "StatisticalBaseDesc",
    "StatisticalBaseTypeCode",
    "StatisticalBaseTypeDesc",
    "LimitValueQualifierCode",
    "StayValueNmbr",
    "DMREventId",
    "MonitoringPeriodEndDate",
    "DMRFormValueId",
    "ValueTypeCode",
    "ValueTypeDesc",
    "DMRValueId",
    "DMRValueNmbr",
    "DMRUnitCode",
    "DMRUnitDesc",
    "DMRValueStdUnits",
    "DMRValueQualifierCode",
    "ValueReceivedDate",
    "DaysLate",
    "NODICode",
    "NODEDesc",
    "ExceedencePct"
  ]
}