Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Note
titleDRAFT DOCUMENTATION

Please note that this documentation is in draft and is not finalised.

We would encourage you provide any comments, questions, or suggestions for changes by use in-line commenting on this page. To do so simply highlight a section of text and then click on the "Comment" option that appears.


When exchanging data between different sources it is common that each source uses a different identifier for the same entity and there is no universal identifier. TODS allows entities to contain multiple ids to facilitate easier data transfer.

Primary identifier

It is important to identify where data sent in the TODS came from. To do this, an identifier can be used. For example, every tournament must have a TournamentId. This is the Id used by the sender of the TODS data and is unique. Each Id sits in a URN-style namespace in the following format:

Tennis:<Entity>:<Provider>:<Identifier>

It is important to note that when, for example, entering a TournamentId, the entity is already a tournament and does not need to be re-entered.

To clarify, please see the example below where provider 'The Northern Lawn Tennis Club' is sending data using the TODS to the 'LTA':

Code Block
languagexml
titleXML
linenumberstrue
collapsetrue
<Tennis>
	<Header>
		<ProviderId>The Northern Lawn Tennis Club</ProviderId>
		<Date>2019-04-17</Date>
		<DataStandardsVersion>Draft 0.5</DataStandardsVersion>
	</Header>
		<Tournament>
			<TournamentId>T182747</TournamentId>
			<Name>The Manchester Trophy</Name>
			…
		</Tournament>
</Tennis>

...

We can see that The Northern Lawn Tennis Club sent data from a tournament, the Manchester Trophy, with the unique TournamentId of T182747. So, our Id is Tennis:Tournament:The Northern Lawn Tennis Club:T182747. This allows the recipient of TODS data to know exactly what it is and where it came from, in this case the LTA.

...

It is likely that the LTA would receive this tournament and add it to their own system, generating a new Id in the process. This would change ONLY the provider name and TournmentId, making their identifier Tennis:Tournament:LTA:ghttERaaI as you can see in the example below. If they wanted to add more data, sharing it back with The Nothern Lawn Tennis Club, it would be imperative to use both provider's unique reference Id to understand that they are sharing data on the same tournament.

Code Block
languagexml
titleXML
linenumberstrue
collapsetrue
<Tennis>
	<Header>
		<ProviderId>LTA/ProviderId>
		<Date>2019-04-18</Date>
		<DataStandardsVersion>Draft 0.5</DataStandardsVersion>
	</Header>
		<Tournament>
			<TournamentId>ghttERaaI</TournamentId>
			<Ids>
				<Id>The Northern Lawn Tennis Club:T182747</Id>
			</Ids>
			<Name>The Manchester Trophy</Name>
			…
		</Tournament>
</Tennis>

...

The Primary Identifier has been set to the LTA's (Tennis:Tournament:LTA:ghttERaaI) and The Northern Lawn Tennis Club's identifier has been included too. Both sources now know this is a single Tournament and how each identifies it.

...

Code Block
titleJson
linenumberstrue
collapsetrue
{
	"Tennis": {
		"Header": {
			"ProviderId": "LTA",
			"Date": "2019-04-18",
			"DataStandardsVersion": "Draft 0.5"
		},
		"Tournament": {
			"TournamentId": "ghttERaaI",
			"Ids": {
				"Id": [
					"The Northern Lawn Tennis Club:T182747",
					"ITF:2019-J-O-NOR"
				]
			},
			"Name": "The Manchester Trophy",
		}
	}
}

Related Information

...