opensafely-core / opensafely-core/opencodelists
Separate CTV3 and TPP-CTV3 coding systems
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 60
- Forks
- 16
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 17
Description
CTV3 is a retired coding system. We have the last (April 2018) release in OpenCodelists, and to this we add TPP's CTV3 codes, plus TPP-specific extensions (Y codes).
OpenCodelists calls this "CTV3", but it isn't really; it's CTV3 plus TPP extensions, plus some codes that are in the April 2018 CTV3 release but are not in TPP. As of 16th Nov 2022, CTV3 codes that are not in TPP are all concepts with "redundant" status.
OpenCodelists uses both raw CTV3 and TPP CTV3 codes when doing searches, but TPP only when building the hierarchy/tree.
Proposal: split CTV3 and TPP-CTV3 into separate coding systems in OpenCodelists. For the most part, they're treated separately anyway, and have their own models which will be quite easily separated.
All CTV3 codelists currently in OpenCodelists are really TPP-CTV3. "Raw" CTV3 is unlikely to be used for new codelists (and certainly not for any that are to be used in OpenSafely), but we can maintain it for non-OpenSafely users.
This means that new imports for TPP-CTV3 only need to import the TPP models.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the coding-system models and the import, search, and hierarchy/tree paths described in the issue. Confirm how raw CTV3 and TPP-CTV3 are currently handled, then separate them so existing codelists remain TPP-CTV3 and new TPP-CTV3 imports use only the TPP models.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100