/** * Definitions for the Modus v1 standard for lab sample results. * * * File automatically generated using json-schema-to-typescript. * ! DO NOT MODIFY IT BY HAND ! * Instead, modify the source file ./modus/v1/global.schema.json of @oada/formats * and run `$ yarn build` to regenerate this file. * * @packageDocumentation */ /** * `$id` of the source schema * @see {@link https://formats.openag.io/modus/v1/global.schema.json} */ export declare const $id = "https://formats.openag.io/modus/v1/global.schema.json"; /** * JSON Schema used to generate this type * @see {@link https://formats.openag.io/modus/v1/global.schema.json} */ export declare const schema: { readonly $id: "https://formats.openag.io/modus/v1/global.schema.json"; readonly $schema: "http://json-schema.org/draft-07/schema#/"; readonly description: "Definitions for the Modus v1 standard for lab sample results."; readonly $defs: { readonly FMISMetadata: { readonly description: "Element that contains data needed for FMIS \"Field Management Information Systems\""; readonly type: "object"; readonly properties: { readonly FMISEventID: { readonly description: "Unique code for the sample event. Often an internal UUID from an FMIS"; readonly type: "string"; }; readonly FMISProfile: { readonly description: "Grower/Farm/Field Name and ID's for FMIS"; readonly $ref: "#/$defs/FMISProfile"; }; readonly FMISAllowedLabEquations: { readonly description: "Lab defined equations that are allowed by the lab to be used in the FMIS"; readonly type: "array"; readonly items: { readonly $ref: "#/$defs/Equation"; }; }; }; }; readonly LabMetaData: { readonly description: "Metadata related to the testing lab"; readonly type: "object"; readonly properties: { readonly LabName: { readonly description: "The name of the lab that ran the results"; readonly type: "string"; }; readonly LabID: { readonly description: "ID for the lab that ran the results"; readonly type: "string"; }; readonly LabEventID: { readonly description: "Internal Lab ID for the event"; readonly type: "string"; }; readonly Contact: { readonly description: "Contact information at the lab"; readonly type: "object"; readonly properties: { readonly Name: { readonly type: "string"; }; readonly PhoneNumber: { readonly type: "string"; }; readonly Address: { readonly type: "string"; }; }; }; readonly TestPackageRefs: { readonly $ref: "#/$defs/TestPackageRefs"; }; readonly ReceivedDate: { readonly description: "The date/time the sample where received at the lab"; readonly anyOf: readonly [{ readonly type: "string"; readonly format: "date-time"; }, { readonly type: "string"; readonly format: "date"; }]; }; readonly ProcessedDate: { readonly description: "The date/time the sample was processed by the lab"; readonly anyOf: readonly [{ readonly type: "string"; readonly format: "date-time"; }, { readonly type: "string"; readonly format: "date"; }]; }; readonly Reports: { readonly description: "List of lab reports"; readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly ReportID: { readonly description: "Incrementing reference number to associate this report data to individual samples"; readonly type: readonly ["number", "string"]; }; readonly LabReportID: { readonly description: "ID the lab has assigned to the report"; readonly type: "string"; }; readonly FileDescription: { readonly description: "Description of the report file"; readonly type: "string"; }; readonly File: { readonly description: "The file data for the report. The lab has the choice to pass a URL or embed the file data."; readonly anyOf: readonly [{ readonly type: "object"; readonly properties: { readonly URL: { readonly description: "The url path to the report file"; readonly type: "object"; readonly properties: { readonly FileName: { readonly description: "The name for the file"; readonly type: "string"; }; readonly Path: { readonly description: "The path to the file"; readonly type: "string"; }; }; readonly required: readonly ["Path"]; }; }; }, { readonly type: "object"; readonly properties: { readonly FileData: { readonly description: "The file data"; readonly type: "object"; readonly properties: { readonly FileName: { readonly description: "The name for the file"; readonly type: "string"; }; readonly FileData: { readonly description: "File data base64 encoded"; readonly type: "string"; }; }; readonly required: readonly ["FileData"]; }; }; }]; }; }; }; }; readonly ClientAccount: { readonly description: "End user lab account information"; readonly type: "object"; readonly properties: { readonly AccountNumber: { readonly type: "string"; }; readonly Name: { readonly type: "string"; }; readonly Company: { readonly type: "string"; }; readonly City: { readonly type: "string"; }; readonly State: { readonly type: "string"; }; }; }; }; }; readonly uuid: { readonly type: "string"; readonly $comment: "36 characters long according to Modus standard"; readonly minLength: 36; readonly maxLength: 36; }; readonly TestPackageRefs: { readonly type: "array"; readonly $comment: "keyed by TestPackageID, must be unique"; readonly items: { readonly type: "object"; readonly properties: { readonly TestPackageID: { readonly type: "string"; readonly pattern: "^[0-9]+$"; }; readonly Name: { readonly type: "string"; }; readonly LabBillingCode: { readonly type: "string"; }; }; }; }; readonly Warnings: { readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly warning_number: { readonly type: "string"; readonly pattern: "^[0-9]+$"; }; readonly message: { readonly type: "string"; }; }; }; }; readonly NutrientResults: { readonly description: "Nutrient results of a sample"; readonly type: "array"; readonly items: { readonly description: "Result for a single element"; readonly type: "object"; readonly properties: { readonly Element: { readonly description: "Nutrient Element. See \"Element List for Modus.xlsx\" for supported elements"; readonly type: "string"; }; readonly Value: { readonly description: "The value of the element"; readonly type: "number"; }; readonly ValueUnit: { readonly description: "Unit of measure for the value"; readonly type: "string"; }; readonly ModusTestID: { readonly description: "Analysis Name from \"Soil Analysis Nomenclature Modus.xlsx\" or \"Botanical Analysis Nomenclature Modus.xlsx\""; readonly type: "string"; }; readonly ValueType: { readonly description: "Type definition of the value"; readonly enum: readonly ["Measured", "Percent", "Calculated", "Index"]; }; readonly ValueDesc: { readonly description: "Value description assigned by the lab."; readonly enum: readonly ["Very Low", "Low", "Medium", "Optimum", "Very High", "VL", "L", "M", "O", "VH", "High", "H"]; }; }; }; }; readonly NutrientRecommendations: { readonly type: "array"; readonly items: { readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly RecID: { readonly type: "string"; readonly pattern: "^[0-9]+$"; }; readonly Element: { readonly description: "Name of the recommendation element"; readonly type: "string"; }; readonly Value: { readonly description: "Value of the recommendation"; readonly type: "number"; }; readonly ValueUnit: { readonly description: "Unit of the recommendation"; readonly type: "string"; }; }; }; }; }; readonly NematodeResults: { readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly Pest: { readonly description: "Name of the pest being reported"; readonly type: "string"; }; readonly ModusTestID: { readonly description: "ModusTestID found in \"Nematode Analysis Nomenclature.xlsx\" "; readonly type: "string"; }; readonly Value: { readonly description: "Value/count of the pest"; readonly type: "number"; }; readonly ValueUnit: { readonly description: "Unit of the pest value/count"; readonly type: "string"; }; readonly ValueType: { readonly description: "Measured, Percent, Calculated, Index"; readonly enum: readonly ["Measured", "Percent", "Calculated", "Index"]; }; readonly ValueDesc: { readonly enum: readonly ["Very Low", "Low", "Medium", "Optimum", "Very High", "VL", "L", "M", "O", "VH"]; }; readonly LifeStageValues: { readonly description: "Place to report the counts of the different life stages"; readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly LifeStage: { readonly description: "Life stage"; readonly enum: readonly ["Egg", "Juvenile", "Adult", "Dead", ""]; }; readonly Value: { readonly description: "Value/Count of the pest lifestage"; readonly $comment: "the standard did not define this as a number, oddly enough"; readonly type: "string"; }; readonly ValueUnit: { readonly description: "Unit of the value/count"; readonly type: "string"; }; readonly ValueType: { readonly description: "Measured, Percent, Calculated, Index"; readonly enum: readonly ["Measured", "Percent", "Calculated", "Index"]; }; readonly ValueDesc: { readonly enum: readonly ["Very Low", "Low", "Medium", "Optimum", "Very High", "VL", "L", "M", "O", "VH"]; }; }; }; }; }; }; }; readonly ResidueResults: { readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly CASRN: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; readonly Value: { readonly type: "number"; }; readonly ValueUnit: { readonly type: "string"; }; readonly ValueType: { readonly type: "string"; }; readonly ValueDesc: { readonly type: "string"; }; }; }; }; readonly Comments: { readonly type: "string"; }; readonly TextureResults: { readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly SoilClassification: { readonly type: "string"; }; readonly PercentClay: { readonly type: "string"; }; readonly PercentSilt: { readonly type: "string"; }; readonly PercentSand: { readonly type: "string"; }; readonly Density: { readonly type: "object"; readonly properties: { readonly Value: { readonly type: "number"; }; readonly Unit: { readonly type: "string"; }; }; }; }; }; }; readonly SensorResults: { readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly ValueDesc: { readonly type: "string"; }; readonly ValueUnit: { readonly type: "string"; }; readonly Value: { readonly type: "number"; }; }; }; }; readonly EventType: { readonly type: "object"; readonly properties: { readonly Soil: { readonly $comment: "if it exists, it is the value true"; readonly const: true; }; readonly Plant: { readonly type: "object"; readonly properties: { readonly PlantPart: { readonly type: "string"; }; readonly Crop: { readonly $ref: "#/$defs/Crop"; }; }; }; readonly Nematode: { readonly const: true; }; readonly Water: { readonly const: true; }; readonly Residue: { readonly const: true; }; }; }; readonly SampleMetaData: { readonly description: "Metadata for a sample in the sample event"; readonly type: "object"; readonly properties: { readonly SampleNumber: { readonly description: "Sample Number give the sample by during sample collection"; readonly type: "string"; }; readonly FMISSampleID: { readonly description: "Unique ID assigned by an FMIS for the sample"; readonly type: "string"; }; readonly SampleContainerID: { readonly description: "Unique ID for the sample bag or container. i.e. Bar code"; readonly type: "string"; }; readonly SampleGroupID: { readonly description: "ID number to reference different samples as one group"; readonly type: "integer"; }; readonly ReportID: { readonly description: "ID number indicating lab report to which this sample belongs."; readonly type: readonly ["number", "string"]; }; readonly OverwriteResult: { readonly description: "Flag to indicate if this result is to overwrite any previous results. e.g. for correcting a mistake."; readonly type: "boolean"; }; readonly Geometry: { readonly description: "WKT Geometry Source: http://en.wikipedia.org/wiki/Well-known_text Limit types to Point, Polygon and MultiPolygon"; readonly type: "object"; readonly properties: { readonly epsg: { readonly description: "Projection ID of the Geometry Source: http://spatialreference.org/ref/?page=1 Default is WGS84 - Lat,Lon epsg: 4326"; readonly type: "integer"; readonly default: 4326; }; }; }; readonly SubSamples: { readonly description: "Sub Samples is where the location of the cores within a sample can be recorded"; readonly type: "array"; readonly items: { readonly description: "One sub sample / core"; readonly type: "object"; readonly properties: { readonly SubSampleNumber: { readonly description: "ID number assigned during collection."; readonly type: "integer"; readonly minimum: 0; }; readonly SubSampleID: { readonly description: "Unique ID for the sub-sample assigned by an FMIS"; readonly type: "string"; }; readonly Geometry: { readonly description: "WKT Geometry Source: http://en.wikipedia.org/wiki/Well-known_text Limit types to Point, Polygon and MultiPolygon"; readonly type: "object"; readonly properties: { readonly epsg: { readonly description: "Projection ID of the Geometry Source: http://spatialreference.org/ref/?page=1 Default is WGS84 - Lat,Lon epsg: 4326"; readonly type: "integer"; readonly default: 4326; }; }; }; }; }; }; readonly TestPackages: { readonly description: "The lab test packages used for the sample."; readonly type: "array"; readonly uniqueItems: true; readonly items: { readonly type: "string"; }; }; }; }; readonly DepthRefs: { readonly $comment: "object keyed by DepthID"; readonly description: "Place to define a reference list for the depths used in the sample event"; readonly type: "array"; readonly items: { readonly description: "A single depth"; readonly type: "object"; readonly properties: { readonly Name: { readonly description: "Name given to the depth to be used for display by FMIS systems. ex Depth 1, 6\""; readonly type: "string"; }; readonly StartingDepth: { readonly description: "Depth at the start of the column depth in the DepthUnit"; readonly type: "integer"; readonly minimum: 0; }; readonly EndingDepth: { readonly description: "Depth at the end of the column depth in the DepthUnit"; readonly type: "integer"; readonly minimum: 0; }; readonly ColumnDepth: { readonly description: "Total column depth (End - Start) in the DepthUnit"; readonly type: "integer"; readonly minimum: 0; }; readonly DepthUnit: { readonly description: "Unit the depth is reported in."; readonly type: "string"; }; readonly DepthID: { readonly description: "Unique Sequential ID"; readonly type: "integer"; readonly minimum: 1; }; }; readonly required: readonly ["DepthID"]; }; }; readonly RecommendationRefs: { readonly $comment: "keyed by RecID"; readonly description: "Reference documentation to a lab recommendation"; readonly type: "array"; readonly items: { readonly $ref: "#/$defs/Recommendation"; }; }; readonly RecommendationRequests: { readonly $comment: "keyed by RecID"; readonly description: "Reference documentation to a lab recommendation"; readonly type: "array"; readonly items: { readonly $ref: "#/$defs/Recommendation"; }; }; readonly Crop: { readonly type: "object"; readonly properties: { readonly Name: { readonly type: "string"; }; readonly ClientID: { readonly type: "string"; }; readonly GrowthStage: { readonly type: "object"; readonly properties: { readonly Name: { readonly type: "string"; }; readonly ClientID: { readonly $comment: "why is this here?"; readonly type: "string"; }; }; }; readonly SubGrowthStage: { readonly type: "object"; readonly properties: { readonly Name: { readonly type: "string"; }; readonly ClientID: { readonly $comment: "why is this here?"; readonly type: "string"; }; }; }; }; }; readonly SiteAttributes: { readonly type: "object"; readonly properties: { readonly Tillage: { readonly type: "string"; }; readonly Irrigated: { readonly type: "boolean"; }; readonly Tilled: { readonly type: "boolean"; }; readonly PrevCrop: { readonly type: "string"; }; readonly Variables: { readonly description: "Used to store additional variables to be passed through"; readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly Name: { readonly type: "string"; }; readonly Value: { readonly type: "string"; }; readonly Unit: { readonly type: "string"; }; }; }; }; }; }; readonly EventMetaData: { readonly type: "object"; readonly properties: { readonly EventCode: { readonly description: "Unique human readable code for the sample event. Often referred to a Layer ID"; readonly type: "string"; }; readonly EventDate: { readonly description: "Date the sample event was collected in the field"; readonly type: "string"; readonly format: "date"; }; readonly EventType: { readonly $ref: "#/$defs/EventType"; }; readonly EventExpirationDate: { readonly description: "The date the data in the even is to expire for use in a recommendation"; readonly type: "string"; readonly format: "date"; }; }; }; readonly Equation: { readonly description: "Lab equation that is perminited to be used on this data set"; readonly type: "object"; readonly properties: { readonly Name: { readonly description: "Name of the equation"; readonly type: "string"; }; readonly Version: { readonly description: "Version of the lab equation"; readonly type: "string"; }; readonly Default: { readonly description: "Set if an equation is to be the default equation"; readonly type: "boolean"; }; readonly ID: { readonly description: "ID of the equation given by the lab"; readonly type: "string"; }; }; }; readonly FMISProfile: { readonly type: "object"; readonly properties: { readonly Grower: { readonly type: "object"; readonly properties: { readonly name: { readonly $comment: "the string between the tags in the XML"; readonly type: "string"; }; readonly ID: { readonly $comment: "the attribute on the tag itself"; readonly type: "string"; }; }; }; readonly Farm: { readonly type: "object"; readonly properties: { readonly name: { readonly $comment: "the string between the tags in the XML"; readonly type: "string"; }; readonly ID: { readonly $comment: "the attribute on the tag itself"; readonly type: "string"; }; }; }; readonly Field: { readonly type: "object"; readonly properties: { readonly name: { readonly $comment: "the string between the tags in the XML"; readonly type: "string"; }; readonly ID: { readonly $comment: "the attribute on the tag itself"; readonly type: "string"; }; }; }; readonly 'Sub-Field': { readonly type: "object"; readonly properties: { readonly name: { readonly $comment: "the string between the tags in the XML"; readonly type: "string"; }; readonly ID: { readonly $comment: "the attribute on the tag itself"; readonly type: "string"; }; }; }; }; }; readonly SubmissionAttributes: { readonly description: "Attributes that needed to be passed through for reference and recommendation."; readonly type: "object"; readonly properties: { readonly SubmittedBy: { readonly description: "Person submiting the sample"; readonly type: "string"; }; readonly SubmittedFor: { readonly description: "Person or company the sample is being submitted for."; readonly type: "string"; }; readonly SiteAttributes: { readonly description: "Attributes that are collected for the site the sample are collected from."; readonly $ref: "#/$defs/SiteAttributes"; }; readonly RecommendationRequests: { readonly description: "Reference documentation for a lab recommendation"; readonly $ref: "#/$defs/RecommendationRequests"; }; }; }; readonly Recommendation: { readonly type: "object"; readonly properties: { readonly Name: { readonly description: "Name for the recommendation"; readonly type: "string"; }; readonly Variables: { readonly description: "List of the variables used in the recommendation"; readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly Name: { readonly description: "Name of variable used in the recommendation"; readonly type: "string"; }; readonly Value: { readonly description: "Value of the variable used in the recommendation"; readonly type: "string"; readonly $comment: "elsewhere this sort of thing is a number"; }; readonly Unit: { readonly description: "Unit of the variable"; readonly type: "string"; }; }; }; }; readonly Equation: { readonly $ref: "#/$defs/Equation"; }; readonly DisplayOrder: { readonly description: "Order the FMIS should display the rec in."; readonly type: "integer"; readonly minimum: 1; }; readonly ExpirationDate: { readonly description: "The date the rec expires and should no longer be used."; readonly type: "string"; readonly format: "date"; }; readonly RecID: { readonly description: "Id to be referenced in the sample"; readonly type: "integer"; readonly minimum: 1; }; }; }; }; }; /** * Returns true if `val` is a @type `GlobalSchema`, false otherwise */ export declare function is(val: unknown): val is GlobalSchema; /** * Asserts that `val` is a @type `GlobalSchema` */ export declare function assert(val: unknown): asserts val is GlobalSchema; /** * Definitions for the Modus v1 standard for lab sample results. * */ export default GlobalSchema; /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "TestPackageRefs". */ export type TestPackageRefs = { TestPackageID?: string; Name?: string; LabBillingCode?: string; [k: string]: unknown; }[]; /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "uuid". */ export type Uuid = string; /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "Warnings". */ export type Warnings = { warning_number?: string; message?: string; [k: string]: unknown; }[]; /** * Nutrient results of a sample * * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "NutrientResults". */ export type NutrientResults = { /** * Nutrient Element. See "Element List for Modus.xlsx" for supported elements */ Element?: string; /** * The value of the element */ Value?: number; /** * Unit of measure for the value */ ValueUnit?: string; /** * Analysis Name from "Soil Analysis Nomenclature Modus.xlsx" or "Botanical Analysis Nomenclature Modus.xlsx" */ ModusTestID?: string; /** * Type definition of the value */ ValueType?: 'Measured' | 'Percent' | 'Calculated' | 'Index'; /** * Value description assigned by the lab. */ ValueDesc?: 'Very Low' | 'Low' | 'Medium' | 'Optimum' | 'Very High' | 'VL' | 'L' | 'M' | 'O' | 'VH' | 'High' | 'H'; [k: string]: unknown; }[]; /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "NutrientRecommendations". */ export type NutrientRecommendations = { RecID?: string; /** * Name of the recommendation element */ Element?: string; /** * Value of the recommendation */ Value?: number; /** * Unit of the recommendation */ ValueUnit?: string; [k: string]: unknown; }[][]; /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "NematodeResults". */ export type NematodeResults = { /** * Name of the pest being reported */ Pest?: string; /** * ModusTestID found in "Nematode Analysis Nomenclature.xlsx" */ ModusTestID?: string; /** * Value/count of the pest */ Value?: number; /** * Unit of the pest value/count */ ValueUnit?: string; /** * Measured, Percent, Calculated, Index */ ValueType?: 'Measured' | 'Percent' | 'Calculated' | 'Index'; ValueDesc?: 'Very Low' | 'Low' | 'Medium' | 'Optimum' | 'Very High' | 'VL' | 'L' | 'M' | 'O' | 'VH'; /** * Place to report the counts of the different life stages */ LifeStageValues?: { /** * Life stage */ LifeStage?: 'Egg' | 'Juvenile' | 'Adult' | 'Dead' | ''; /** * Value/Count of the pest lifestage */ Value?: string; /** * Unit of the value/count */ ValueUnit?: string; /** * Measured, Percent, Calculated, Index */ ValueType?: 'Measured' | 'Percent' | 'Calculated' | 'Index'; ValueDesc?: 'Very Low' | 'Low' | 'Medium' | 'Optimum' | 'Very High' | 'VL' | 'L' | 'M' | 'O' | 'VH'; [k: string]: unknown; }[]; [k: string]: unknown; }[]; /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "ResidueResults". */ export type ResidueResults = { CASRN?: string; Value?: number; ValueUnit?: string; ValueType?: string; ValueDesc?: string; [k: string]: unknown; }[]; /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "Comments". */ export type Comments = string; /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "TextureResults". */ export type TextureResults = { SoilClassification?: string; PercentClay?: string; PercentSilt?: string; PercentSand?: string; Density?: { Value?: number; Unit?: string; [k: string]: unknown; }; [k: string]: unknown; }[]; /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "SensorResults". */ export type SensorResults = { ValueDesc?: string; ValueUnit?: string; Value?: number; [k: string]: unknown; }[]; /** * Place to define a reference list for the depths used in the sample event * * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "DepthRefs". */ export type DepthRefs = { /** * Name given to the depth to be used for display by FMIS systems. ex Depth 1, 6" */ Name?: string; /** * Depth at the start of the column depth in the DepthUnit */ StartingDepth?: number; /** * Depth at the end of the column depth in the DepthUnit */ EndingDepth?: number; /** * Total column depth (End - Start) in the DepthUnit */ ColumnDepth?: number; /** * Unit the depth is reported in. */ DepthUnit?: string; /** * Unique Sequential ID */ DepthID: number; [k: string]: unknown; }[]; /** * Reference documentation to a lab recommendation * * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "RecommendationRefs". */ export type RecommendationRefs = Recommendation[]; /** * Reference documentation to a lab recommendation * * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "RecommendationRequests". */ export type RecommendationRequests = Recommendation[]; /** * Reference documentation for a lab recommendation */ export type RecommendationRequests1 = Recommendation[]; /** * Definitions for the Modus v1 standard for lab sample results. */ export interface GlobalSchema { [k: string]: unknown; } /** * Element that contains data needed for FMIS "Field Management Information Systems" * * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "FMISMetadata". */ export interface FMISMetadata { /** * Unique code for the sample event. Often an internal UUID from an FMIS */ FMISEventID?: string; FMISProfile?: FMISProfile; /** * Lab defined equations that are allowed by the lab to be used in the FMIS */ FMISAllowedLabEquations?: Equation[]; [k: string]: unknown; } /** * Grower/Farm/Field Name and ID's for FMIS */ export interface FMISProfile { 'Grower'?: { name?: string; ID?: string; [k: string]: unknown; }; 'Farm'?: { name?: string; ID?: string; [k: string]: unknown; }; 'Field'?: { name?: string; ID?: string; [k: string]: unknown; }; 'Sub-Field'?: { name?: string; ID?: string; [k: string]: unknown; }; [k: string]: unknown; } /** * Lab equation that is perminited to be used on this data set * * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "Equation". */ export interface Equation { /** * Name of the equation */ Name?: string; /** * Version of the lab equation */ Version?: string; /** * Set if an equation is to be the default equation */ Default?: boolean; /** * ID of the equation given by the lab */ ID?: string; [k: string]: unknown; } /** * Metadata related to the testing lab * * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "LabMetaData". */ export interface LabMetaData { /** * The name of the lab that ran the results */ LabName?: string; /** * ID for the lab that ran the results */ LabID?: string; /** * Internal Lab ID for the event */ LabEventID?: string; /** * Contact information at the lab */ Contact?: { Name?: string; PhoneNumber?: string; Address?: string; [k: string]: unknown; }; TestPackageRefs?: TestPackageRefs; /** * The date/time the sample where received at the lab */ ReceivedDate?: string; /** * The date/time the sample was processed by the lab */ ProcessedDate?: string; /** * List of lab reports */ Reports?: { /** * Incrementing reference number to associate this report data to individual samples */ ReportID?: number | string; /** * ID the lab has assigned to the report */ LabReportID?: string; /** * Description of the report file */ FileDescription?: string; /** * The file data for the report. The lab has the choice to pass a URL or embed the file data. */ File?: { /** * The url path to the report file */ URL?: { /** * The name for the file */ FileName?: string; /** * The path to the file */ Path: string; [k: string]: unknown; }; [k: string]: unknown; } | { /** * The file data */ FileData?: { /** * The name for the file */ FileName?: string; /** * File data base64 encoded */ FileData: string; [k: string]: unknown; }; [k: string]: unknown; }; [k: string]: unknown; }[]; /** * End user lab account information */ ClientAccount?: { AccountNumber?: string; Name?: string; Company?: string; City?: string; State?: string; [k: string]: unknown; }; [k: string]: unknown; } /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "EventType". */ export interface EventType { Soil?: true; Plant?: { PlantPart?: string; Crop?: Crop; [k: string]: unknown; }; Nematode?: true; Water?: true; Residue?: true; [k: string]: unknown; } /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "Crop". */ export interface Crop { Name?: string; ClientID?: string; GrowthStage?: { Name?: string; ClientID?: string; [k: string]: unknown; }; SubGrowthStage?: { Name?: string; ClientID?: string; [k: string]: unknown; }; [k: string]: unknown; } /** * Metadata for a sample in the sample event * * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "SampleMetaData". */ export interface SampleMetaData { /** * Sample Number give the sample by during sample collection */ SampleNumber?: string; /** * Unique ID assigned by an FMIS for the sample */ FMISSampleID?: string; /** * Unique ID for the sample bag or container. i.e. Bar code */ SampleContainerID?: string; /** * ID number to reference different samples as one group */ SampleGroupID?: number; /** * ID number indicating lab report to which this sample belongs. */ ReportID?: number | string; /** * Flag to indicate if this result is to overwrite any previous results. e.g. for correcting a mistake. */ OverwriteResult?: boolean; /** * WKT Geometry Source: http://en.wikipedia.org/wiki/Well-known_text Limit types to Point, Polygon and MultiPolygon */ Geometry?: { /** * Projection ID of the Geometry Source: http://spatialreference.org/ref/?page=1 Default is WGS84 - Lat,Lon epsg: 4326 */ epsg?: number; [k: string]: unknown; }; /** * Sub Samples is where the location of the cores within a sample can be recorded */ SubSamples?: { /** * ID number assigned during collection. */ SubSampleNumber?: number; /** * Unique ID for the sub-sample assigned by an FMIS */ SubSampleID?: string; /** * WKT Geometry Source: http://en.wikipedia.org/wiki/Well-known_text Limit types to Point, Polygon and MultiPolygon */ Geometry?: { /** * Projection ID of the Geometry Source: http://spatialreference.org/ref/?page=1 Default is WGS84 - Lat,Lon epsg: 4326 */ epsg?: number; [k: string]: unknown; }; [k: string]: unknown; }[]; /** * The lab test packages used for the sample. */ TestPackages?: string[]; [k: string]: unknown; } /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "Recommendation". */ export interface Recommendation { /** * Name for the recommendation */ Name?: string; /** * List of the variables used in the recommendation */ Variables?: { /** * Name of variable used in the recommendation */ Name?: string; /** * Value of the variable used in the recommendation */ Value?: string; /** * Unit of the variable */ Unit?: string; [k: string]: unknown; }[]; Equation?: Equation; /** * Order the FMIS should display the rec in. */ DisplayOrder?: number; /** * The date the rec expires and should no longer be used. */ ExpirationDate?: string; /** * Id to be referenced in the sample */ RecID?: number; [k: string]: unknown; } /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "SiteAttributes". */ export interface SiteAttributes { Tillage?: string; Irrigated?: boolean; Tilled?: boolean; PrevCrop?: string; /** * Used to store additional variables to be passed through */ Variables?: { Name?: string; Value?: string; Unit?: string; [k: string]: unknown; }[]; [k: string]: unknown; } /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "EventMetaData". */ export interface EventMetaData { /** * Unique human readable code for the sample event. Often referred to a Layer ID */ EventCode?: string; /** * Date the sample event was collected in the field */ EventDate?: string; EventType?: EventType; /** * The date the data in the even is to expire for use in a recommendation */ EventExpirationDate?: string; [k: string]: unknown; } /** * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "FMISProfile". */ export interface FMISProfile1 { 'Grower'?: { name?: string; ID?: string; [k: string]: unknown; }; 'Farm'?: { name?: string; ID?: string; [k: string]: unknown; }; 'Field'?: { name?: string; ID?: string; [k: string]: unknown; }; 'Sub-Field'?: { name?: string; ID?: string; [k: string]: unknown; }; [k: string]: unknown; } /** * Attributes that needed to be passed through for reference and recommendation. * * This interface was referenced by `GlobalSchema`'s JSON-Schema * via the `definition` "SubmissionAttributes". */ export interface SubmissionAttributes { /** * Person submiting the sample */ SubmittedBy?: string; /** * Person or company the sample is being submitted for. */ SubmittedFor?: string; SiteAttributes?: SiteAttributes1; RecommendationRequests?: RecommendationRequests1; [k: string]: unknown; } /** * Attributes that are collected for the site the sample are collected from. */ export interface SiteAttributes1 { Tillage?: string; Irrigated?: boolean; Tilled?: boolean; PrevCrop?: string; /** * Used to store additional variables to be passed through */ Variables?: { Name?: string; Value?: string; Unit?: string; [k: string]: unknown; }[]; [k: string]: unknown; }