Super Admin Guide
When self-hosting a Medplum server, you will have access to a "Super Admin" project. When you sign in as a member of the "Super Admin" project, you will have access to very powerful super admin privileges.
Super admin features can cause unrepairable damage. Proceed with caution. With great power comes great responsibility!
Protected Resources
Medplum uses custom FHIR resource types to manage user accounts and project administration. While these are not official FHIR resources, Medplum uses the same FHIR semantics: the same RESTful operations, same search capabilities, StructureDefinition
resources, SearchParameter
resources, etc.
The most important custom resource types are:
User
- represents a user account capabale of logging into the systemProject
- represents a project which contains other resourcesProjectMembership
- link between aUser
and aProject
which also definesAccessPolicy
andUserConfiguration
Login
- an authentication event and session state
Server Maintenance
From time to time, you may need to perform system level maintenance. The Medplum app has a special "Super Admin" page to make it easier to perform these tasks. You can find the "Super Admin" page at /admin/super
.
In the future, we hope that most of this maintenance will be 100% automatic and behind the scenes. For now, it is important that you understand this maintenance for system health.
Rebuild Resources
In the "Super Admin" page, there are buttons and sections for:
- Rebuild Structure Definitions
- Rebuild Search Paramters
- Rebuild Value Sets
From time to time, Medplum will make changes to custom resources. The server runtime uses StructureDefinition
and SearchParameter
files directly from disk. However, the client requests StructureDefinition
resources to dynamically generate client-side UI elements such as search filters, the "Details" page, and the "Edit" page. If a Medplum changes these resources, you may need to rebuild the index before you see the changes in the client.
Reindex Resources
From time to time, Medplum makes changes to the underlying search indexing logic. This usually happens when adding support for new FHIR search capabilities. Resource indexes are updated automatically on every create
or update
operation. Use the "Reindex Resources" button to reindex existing resources.
Rebuild Compartments
From time to time, Medplum makes changes to the underlying compartment logic. This can happen when adding enhancements to compartment features, or new compartment definitions. Compartments are updated automatically on every create
or update
operation. Use the "Rebuild Compartments" button to rebuild compartments for all existing resources.
Purge Resources
Some system generated resources can accumulate and lead to degraded performance. Use the "Purge Resources" form to permanently delete resources from the database. Note that this operation is a true DELETE
, and not the normal "soft delete", so this is permanent. Medplum recommends backing up all data, or synchronizing data to a data warehouse before using this feature.
Force Set Password
User accounts are global, and can be members of multiple projects. Therefore, normal project administrators do not have access to "Set Password" functionality. Use the "Force Set Password" button to forcefully override a user's password.
Inviting Users to Projects
When logged in as super admin you can invite users to any project. To do so navigate to the admin/invite
page. The first field on the page will allow you to specify which project you want to invite a user to as well as whether you want them to be an admin. This functionality is also available via the API.