# datenbankschema labor liste

labs:

-[x] name `name` #string search index
-[x] website `website` #string
-[x] phone number `phone` #string
-[x] email address `email` #string
-[x] address line 1 `address_line1` #string
-[x] address line 2 `address_line2` #string
-[x] postcode `address_postcode` #string index
-[x] city `address_city` #string index
-[x] country (ref id) `country_id` #number foreign key
-[x] location coordinates `location` #geography
-[x] requires appointment `requires_appointment` #boolean index
-[x] allows self drawing blood `self_draw` #boolean index
-[x] basic fee `basic_fee` #number index
-[x] blood drawing fee `draw_fee` #number index
-[x] notes `notes` #text
-[ ] last updated `last_updated` #datetime or something

tests:

-[x] name `name` #string search index
-[x] abbreviation `abbreviation` #string search index
-[x] description `description` #text
-[x] pubchem link `pubchem_link` #string

tests_synonyms:

- test (id ref) `test_id` #number foreign key
- synonym name `synonym` #string search index

labs_tests:

-[x] labor (id ref) `lab_id` #number foreign key
-[x] test (id ref) `test_id` #number foreign key
-[x] price `price` #number index
-[x] leistungsverzeichnis link (if available) `service_directory_link` #string
-[x] required blood volume `blood_volume` #number
-[x] test method? `test_method` #string
-[x] notes `notes` #text
-[ ] last updated `last_updated` #datetime?

countries:

-[x] name `name` #string index

cities (for search):

-[x] name `name` #string index
-[x] english name if different from german `name_english` #string index
-[x] country (ref id) `country_id` #number foreign key
-[x] location `location` #geography