Load

See the ADAPT - LoggedData / OperationData / Section / Meter Discussion: each instance of a Load is valid inside the context of a single OperationData instance.

How does this work in the context of non-mechanical harvest? In the context of Summary? (Relegating non-mechanical load discussions for version 2).

AttributeTypeMultiplicityDescription
IdCompoundIdentifier1Unique identifier
DescriptionString0..1 
TimeScopeIdsInteger0..1

When was the load created? This is useful for summary-only situations.

Note how it can also include a geographical location.

LoadNumberString0..1Think about use cases: cotton modules
LoadTypeLoadTypeEnum1

Will ultimately become an EnumeratedRepresentationValue

LoadQuantityNumericRepresentationValue0..1 
DestinationIdsInteger0..*Destination(s) to which the load is shipped.
   NEED TO ADD WHAT IS CONTAINED IN THE LOAD!

 

LoadTypeEnum

LoadDestination

AttributeTypeMultiplicityDescription
IdCompoundIdentifier1Unique identifier
NameString1Note text
DestinationTypeEnumeratedRepresentation1Unspecified, Bin, Elevator, Terminal, etc.
GLNUri0..1Global Location Number
ContactInfoInteger0..1 Address, phones, etc. Defined in ADAPT - Grower / Farm / Field / Cropzone / ContactInfo / Location / Facility / FacilityTypeEnum Discussion

Additional Discussion

 

Use cases to use for testing our ideas:

Product coming off the field

Product going on the field

 

20160405 Attempt to unify ContainerUse, Load and ProductAllocation

Attrib / typeConceptLoadContainerUseProdAllComment

Load.Id: CompoundIdentifier

ProductAllocation: CompoundIdentifier

Identify standalone instances(tick)(error)(tick)

ContainerUse does NOT have a unique Id because it is owned by the corresponding LoggedData?

Do Loads, ProductAllocations, etc. need to stand alone?

ProductAllocation.OriginContainerIdOrigin of the movement (question)(tick)

This is implicit in ContainerUse, and explicit in ProductAllocation. Do not have clear semantics in ContainerUse of how to link a succession of container movements: we have to sort through them with timestamps, etc. Need to tighten the causality for the purposes of traceability.

An interesting assumption in ProductAllocation is that products always flow among containers. So does ContainerUse, for that matter.

ProductAllocation.DestinationContainerIdDestination of the movement (question)(tick)

This is implicit in ContainerUse, and explicit in ProductAllocation. Do not have clear semantics in ContainerUse of how to link a succession of container movements: we have to sort through them with timestamps, etc. Need to tighten the causality for the purposes of traceability.

An interesting assumption in ProductAllocation is that products always flow among containers. So does ContainerUse, for that matter.

Load.DestinationIds[0..*]: IntegerList of destinations(tick)(warning) 

A destination is a separate class, an ad-hoc mashup of Location and Facility, with a unique Id and a description.

Note that as of   ContainerUse does not resolve where things go / where they come from.

Load.LoadNumber[0..1]: StringHuman-readable identifier of the load.(tick)(warning) As of  ContainerUse needs a description or LoadNumber or similar.
ProductAllocation.LoadIdId of the Load that the ProductAllocation is in the context of.  (tick)Used in conjuction with Load, ProductAllocation identifies the product and the amount involved, and Load allows giving that particular instance of an amount of a product an identity.
Load.Description[0..1]: String (tick)(warning) As of    ContainerUse needs a description or LoadNumber or similar.

Load.TimeScopes[0..*]:Integer

ContainerUse.TimeScopeIds[0..*]:Integer

ProductAllocation.TimeScopeIds[0..*]:Integer

Meaningful timestamps & locations for when the movement took place.(tick)(tick)(tick)No need to use TimeScopes by reference.
LoadType: EnumerationEnumeration: Unknown, Tank, Field, Truck, Bale, Module(tick)  A little unclear

Load.LoadQuantity[0..1]: NumericRepresentationValue

ContainerUse.AmountUsed: NumericRepresentationValue

ProductAllocation.ProductAmount: NumericRepresentation

Amount of product/commodity(tick)(tick)(tick)Note that it was optional in Load, but required in ContainerUse. Unclear why it would be optional.
ContainerUse.ContainerIdWhat container was the subject (tick)  

ContainerUse.ProductId

ProductAllocation.ProductId

Identifying what product is being handled (tick)(tick)Based on latest work on the matter, harvestedCommodity is a specialization of Product, so this ProductId would allow us to identify both products going to the field and commodities coming back from the field.
ContainerUse.ContainerAction: ContainerActionEnumTells us what is being done with the container (tick)  
ContextItems[0..*]  (warning) 

Container has ContextItems that could be used to reflect things like:

  • GTIN of a package
  • Modele ID of a cotton module. This requires the mindset that the module is the container as opposed to the module being the "load". The latter could be modified via the ContainerUse having ContextItems.
DocumentIDs[0..*]: IntegerIdentify the document(s) this "load" is associated with. Such documents could include Work Records, Weight Certificates / Scale Tickets, etc. (tick)  

 

User Stories: