Projects enable the following use cases:
Development vs. Production: A common requirement for development teams to have a separate
Project, with non-protected data, for testing and debugging, before deploying workflow changes to production. A common Medplum usage pattern is to create a "development", "staging", and "production"
Multi-tenancy: In B2B2C environments, a service provider may partner with multiple healthcare organizations to deliver care to patients.
Projectscan provide each of these partners their own isolated environments, that have their own patient data, log-in flows, and project administrators. Medplum uses a multi-tenant instance for our hosted offering.
Projects create a hard boundary between FHIR resources, and resources within one project cannot reference resources in another.
Projects each have their own user administration. A user can be a member of one, or multiple
Projects, with different privileges in each. See our User Administration Guide for more information.
While they do cross the
Project isolation boundary, most application developers will not have to interact these resources.
The main exception to this isolation model is the "Super Admin" project. This is a special project that provides a global view over all the resources on the Medplum server. See our SuperAdmin Guide for more information.
The SuperAdmin has the following privileges:
- Access to protected resources.
- Ability to overwrite the
idof a resource, which is normally server generated.
- Ability to overwrite fields in the
metaelement of resources such as
Logging into the Super Admin project allows for potential dangerous operations and is only intended for server administrators
Creating a Project
- Visit the https://app.medplum.com/register or visit https://app.medplum.com/signin and click the "Register" link
- Sign in with an existing user, or enter the details for a new user account
- Enter your project name
You can find the full
Project resource schema here
|Whether this project is the super administrator project (see above).|
|Whether this project uses strict FHIR validation, based on FHIR profiles. Strongly recommend setting this to |
|A list of optional features that are enabled for the project. Allowed values are:|
|The default |
Project can store a set of key/value pairs to store configuration values, such as API keys, needed by Bots.
See Bot Secrets for more information.
Cloning and Expunging
Self-hosted users have two advanced project administration operations available to them:
$clone- Make a copy of an existing
Projectand all its resources.
$expunge- Perform a "hard delete" of
Projectand all its resources. This will remove all the related resource rows from the database.
For more information, refer to the Super Admin Project Management guide