Database Design
Smile CDR typically uses two separate databases (i.e. sets of tables) in order to operate. These databases are outlined below. Conceptually these are separate sets of tables with different purposes.
In a simple installation it is possible for all tables to exist in a single database schema, which will simplify deployment. However, unless you know that your requirements will remain small, it is recommended to create separate database schemas for each set of tables.
This database is required in order for Smile CDR to operate. A single instance of this database must be shared by all nodes in a cluster. This database is used to store:
This database is used to store FHIR resource contents. A typical installation will have one instance of this database, which is shared across all nodes in the cluster. In such a configuration, FHIR clients accessing Smile CDR will see a single endpoint with a single pool of resources.
However, depending on your specific requirements, you may want to have multiple separate and distinct pools of resources. If this is required, you may want to create multiple FHIR Relational Storage databases – and multiple FHIR Storage (Relational) modules pointing to them.
See JPA Server Schema for details on the database schema used by the FHIR Storage (RDBMS) module.
This database is used to store FHIR resource contents. A typical installation will have one instance of this database with a collection for each type of resource and a corresponding collection for each resource type's history. This instance is shared across all nodes in the cluster. In such a configuration, FHIR clients accessing Smile CDR will see a single endpoint with a single pool of resources.