opensafely-core / opensafely-core/opencodelists

Link metadata description to codelist version

Open
#2,548 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

initiative:codelist-builder waiting-dependency
Dominant language
Python
Stars
60
Forks
16
Avg merge
4d 12h
Merged PRs (30d)
17

Description

Why are we doing this?

Currently, metadata descriptions are attached to the entire codelist, rather than to specific versions of the codelist. This creates a few issues:

  • Users cannot add or update metadata when a new version of a codelist is created.
  • As a result, users who want to understand what changed between versions need to do extra work (e.g. manual comparisons or reaching out to the author).

By linking metadata descriptions to individual codelist versions, we make it easier for users to:

  • Update metadata as they iterate on a codelist.
  • Clearly communicate the purpose or context of a specific version.
  • Reuse or assess codelists without unnecessary guesswork.
How will we know when it's done?
  • Each new version of a codelist will support its own metadata description.
  • Existing codelists will be backfilled so that every version has a metadata entry (even if copied from the current description).
  • When a user views a specific version of a codelist, the relevant metadata description will be shown alongside it.
What are we doing?
  • Update the data model so that metadata descriptions are version-specific rather than codelist-wide.
  • Migrate existing data by backfilling each version with the current description.
  • Update the UI to display the correct metadata when users browse different versions.
  • Ensure versioning workflows allow users to edit metadata when creating a new version.

Defining delivery tasks guidance

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the codelist data model, version-creation workflow, migration setup, and UI used to browse versions in the repository. Done means each version has a metadata entry, existing data is backfilled, the matching description is displayed for each version, and new-version workflows allow metadata editing.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, database, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.