Meta Source Migration
The FHIR Storage (RDBMS) module stores values for the field Resource.meta.source
in dedicated columns in its database so that they can be indexes and searched for as needed, using the _source
Search Parameter. These values are stored and indexed as long as the Store Meta.source information setting is not set to NONE
. The default for this setting is SOURCE_URI_AND_REQUEST_ID
which does store the data in these columns.
Prior to Smile CDR 2023.08.R01 (and HAPI FHIR 6.8.0), these values were stored in a dedicated table called HFJ_RES_VER_PROV
. Beginning in Smile CDR 2023.08.R01), two new columns were added to the HFJ_RES_VER
table which store the same data and make it available for searches.
Beginning in Smile CDR 2025.02.R01, the legacy table is no longer written to or searched by default. If you do not have Resource.meta.source data stored in HAPI FHIR that was last created/updated prior to version 2023.08.R01, this change will not affect you and no action needs to be taken, as any new Meta.source information from that release onwards was written in both the legacy table (HFJ_RES_VER_PROV)
If you do have data stored in the legacy table that would not also be in the new columns (i.e. it contains values in Resource.meta.source, and it was last created/updated prior to release 2023.08.R01), you should follow the following steps:
Enable the Load Meta.source information from Legacy Table setting on your FHIR Storage module
Perform a server resource reindex by invoking the $reindex Operation (server) with the optimizeStorage
parameter set to ALL_VERSIONS
.
When this reindex operation has successfully completed, the setting above can be disabled. Disabling this setting avoids an extra database round-trip when loading data, so this change will have a positive performance impact on your server.
Note that this process does not migrate data belonging to deleted resources. Please contact support if you have Meta.source
entries on deleted resources that you wish to preserve.