Skip to content
Santiago Palladino edited this page Mar 25, 2015 · 1 revision

Sample

A CDX manifest may define sample and patient fields, besides the main event fields. Sample fields are stored in a separate sample model, in order to be shared among events ran on the same sample, even if on different devices. Currently patient fields are stored along with the sample.

There are multiple identifiers on a sample, depending on the context:

  • sample_id This field represents the identifier of the sample exactly as entered by the lab user or the diagnostics machine. Its purpose is to keep track of the originally reported sample identifier. Note that the values in this field may not be unique across different devices or even over time.
  • sample_uid Reserved CDX field. Manifests should ensure that the value in this field uniquely identifies each sample institution-wise. Two events are considered to have the same sample if and only if they belong to the same institution and have the same sample_uid value. A possible sample uid for an event is a composition of the original sample_id, the month of the event's start_time (to handle repetitions over time) and the identifier of the laboratory where the event was run (to handle repetitions across labs).
  • sample_uid_hash Internal CDX field. To avoid indexing the sample_uid, which may contain sensitive information (such as the sample_id), the sample_uid is hashed and then indexed. When a new event is received, its sample_uid_hash is calculated and attempted to be matched to an existing sample_uid_hash from the samples index.
  • sample_uuid Internal CDX identifier. The default implementation will automatically assign a generated UUID to every new sample instance.