Keys
Each record in the files can be uniquely identified by both a surrogate key and a “natural” key consisting of the set of properties on the object that uniquely identify it. For example, a Patient record will have a Patient ID which is the surrogate key assigned to that patient record. A Patient record will also have an Identifier and a RecordAuthority that also uniquely identify the record. Systems receiving data from HIEBus may choose to use or not use the surrogate keys at their discretion. Systems sending data to HIEBus must populate both the surrogate key fields AND the fields making up the natural key for each record. Fields that are part of the natural key for a given data type are defined in the detailed field layout for each. HIEBus, by default, will not store the surrogate keys, but may leverage them for resolving references between records. The only case where HIEBus may store the surrogate keys is in the case of caregiver or patient IDs which may optionally be saved if needed. If the sending system does not have an appropriate surrogate key one way a key can be fabricated is constructing a hash of the natural key fields. When data is extracted from HIEBus in this format, the surrogate keys are GUIDs.