General story line
We built the ADAPT model to help improve hardware/software systems interoperability.
In building it, we first put in everything we could think of. Many stakeholders contributing items from their own internal models.
Then we realized that it was just too fat to be useful. In addition, there was a lot of US-centric stuff in it.
We wanted this model to be relevant on a global scale since many of our stakeholders operate internationally.
So we downsized the model, keeping only the "lowest common denominator" properties for each business object.
We came up with the ContextItem system as a way to hold the chunks of data that weren't common to everyone.
This turned out to be a good idea because it allowed us to make progress in solving other problems inherent to the domain like:
- "Everybody uses different terms for the same thing" - this system provides a controlled vocabulary that will improve data quality
- "I don't know where to put this" - this system lets you filter for only the data points relevant to "what" and "where" you're need to use it
- "Data requirements keep changing" - this system is inherently dynamic; new data points are easily added and distributed
We also realized that this could be applied to other models like ISO11783.
A ContextItem is a key/value structure that can be attached to an object from the ADAPT or ISO11783 data model.
A ContextItemDefinition is a structure that defines what that "key" means, and what a valid "value" looks like.
We recognized that there will eventually be a lot of ContextItemDefinition(s) so we designed in attributes to help us classify them.
There is a process for submitting new ContextItemDefinitions through AgGateway's Standards and Guidelines committee.
ContextItemDefinition(s) are available from a RESTful web service, but you could cache them locally.
We know people won't always wait for approval, so there is a way to use them in an ad-hoc fashion.
Right now this is just a code list, but in the future we will add a way to assert relationships between ContextItemDefinitions, ContextItemEnumItems, and external sources of information.
Opening Statement
AgGateway, a nonprofit consortium of 240+ companies, leveraged its wide crosssection of PA stakeholders to propose a collaborative solution.
...