# Database Schema

For a conceptual overview, see the DbStructure page.

For an abbreviated listing of essential demographic, clinical, reference and blobs tables, see the CareRelatedTablesV20 page.

For the actual Postgres table layouts, refer to the following formats (generated via PG autodoc):

- HTML (cautions below): release, devel
- DIA: release, devel (does not yet support auto-arrangement)
- DIA (ZigZag style): release, devel (does not yet support auto-arrangement)
- DOT: release, devel
- SVG: release, devel
- PDF: release, devel
- PNG (entire database): release, devel
  - Cave: This is large (as in LARGE).

Older, and per-schema, files:

- v8
- v9
- v10
- v11
- v12
- v13
- v14
- v15
- v16
- v17
- v18
- v19
- v20
- v21

Cautions about the HTML output:

- lists foreign key references, but does not show the ON UPDATE/DELETE behaviour (available in the `/server/sql/` files)
- lists formal COMMENT ON ... entries, but not the in-line commenting from the sql files
- does not show multicolumn UNIQUE constraints -- for example 'unique (id_patient, description)' for the table clin.health_issue
- does not show inheritance, though it can be inferred when fields interposed above a table's primary key field (available in the `/server/sql/` files)

Or else you could take a look at dumps of the public database (again, generated daily):

- the schema of the database
- the data in the database
- or download a tarball of both

To get down to the nitty-gritty details you might want to take a look at

- the SQL scripts directly in our public Git tree

which are used to bootstrap the database.

Also available:

- a link to a thread on the developer's newsgroup, discussing OpenEHR and how its models might in future be adopted