| field name | type | required | description | examples | notes |
|---|
| id | integer |  | primary key, internal to DB only (not a foreign key) | 1 | auto-incrementing |
| source_system | string |  | name of source system in which biomaterial's primary data is stored | "Labmatrix", "Lab Samples", "Staudt" | we will then need to come up with a mapping for all the non-central systems, and enforce them using that name when uploading |
| source_id | string |  | ID of biomaterial within the source system | (UUID), "AZD3-PL-0024-002" | |
| patient_id | string | | ID of source patient from whom biomaterial was collected | "1234567", "SS08-145" | |
| patient_id_source | string | | source of the patient ID | "CRIS", "SoftPath" | |
| collected_datetime | datetime |  | date & time the specimen was collected | | any vagaries in data (e.g., estimate, or date-only) are handled in source system, rather than here |
| sample_type | string |  | the type of sample | "blood", "serum", "prostate", "skin" | provide a catch-all "unknown" option? |
| status | string |  | the current status of the sample | "in inventory", "transferred", "exhausted", "destroyed" | if required, we will need a generic "unknown" option |
| status_datetime | datetime |  | date & time of the currently-recorded status | | |
| created | datetime |  | date/time the record was created | | |
| created_by | string |  | username of creator | | |
| last_modified | datetime | | date/time the record was last modified | | |
| last_modified_by | string | | username of modifier | | |