General Summary
Problem:
Projects that use Lens (e.g. bbmri-sample-locator, ccp-explorer) each maintain their own catalogue. These catalogues are partly very long and contain the same elements, eg. ICD-10 codes. This leads to redundant maintenance: any change to the ICD-10 codes has to be replicated in several places across multiple repositories.
Proposal
Provide a function in Lens that allows catalogue elements to be injected into the loaded catalogue at runtime.
Specifically
A project's main catalogue (e.g. Sample Locator) still contains the project-specific content, but without the ICD-10 codes. The ICD-10 codes (or shared elements in general) are loaded from an external JSON file and injected in-memory into the appropriate place in the catalogue.
As a result, the codes only need to be maintained in one central location and can be shared across multiple Lens-based projects.
Benefit
Single source of truth for shared code lists (ICD-10 and others)
Less redundancy and lower maintenance effort across multiple repos
Shorter, cleaner project-specific catalogues
Is this Breaking?
No
General Summary
Problem:
Projects that use Lens (e.g. bbmri-sample-locator, ccp-explorer) each maintain their own catalogue. These catalogues are partly very long and contain the same elements, eg. ICD-10 codes. This leads to redundant maintenance: any change to the ICD-10 codes has to be replicated in several places across multiple repositories.
Proposal
Provide a function in Lens that allows catalogue elements to be injected into the loaded catalogue at runtime.
Specifically
A project's main catalogue (e.g. Sample Locator) still contains the project-specific content, but without the ICD-10 codes. The ICD-10 codes (or shared elements in general) are loaded from an external JSON file and injected in-memory into the appropriate place in the catalogue.
As a result, the codes only need to be maintained in one central location and can be shared across multiple Lens-based projects.
Benefit
Single source of truth for shared code lists (ICD-10 and others)
Less redundancy and lower maintenance effort across multiple repos
Shorter, cleaner project-specific catalogues
Is this Breaking?
No