As of version OpenMRS v1.5 most objects/tables have a UUID property. This property is automatically filled in for every row and is 99.9% guaranteed to be unique across the universe. The primary reason for uuids is to support the Sync Module and allow for identifying objects that are identical across different OpenMRS installations.
The In it's canonical form, a uuid value will be hexadecimal digits in the form of 8chars-4-4-4-12chars (e.g 0febc204-bca1-11de-913d-0010c6dffd0f). Depending on whether mysql or java generates these (see below), the uuid could be in version 1 or version 4 respectively.
The uuid can really be any unique string within the table, but to follow conventions, all of our uuids are hex 36 charactersOpenMRS uuids should be 36 characters in length. (Ideally, all OpenMRS uuids would be in the canonical form, but the uuids in the MVP dictionary, which were created manually, don't follow the 8chars-4-4-4-12chars convention, though they are all 36 characters in length.) Certain modules, such as the HTML Form Entry module, operate under the assumption that a uuid is 36 characters long, so if you are manually creating uuids for some reason, you should follow this convention.
All uuid columns can hold up to 38 character to accommodate MSSQL server's desire to put a curly brace ({}) at the beginning and end of the 36 chars.
...