opensafely-core / opensafely-core/opencodelists

Bug report: issue with BNF to DM+D mappings or conversion

Open
#2,921 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
60
Forks
16
Avg merge
4d 12h
Merged PRs (30d)
17

Description

Summary

It's possible that:

  • importing the BNF to DM+D mappings is failing somewhere
  • there's some issue with converting codelists.
  • possibly more likely, the BNF data is outdated (see below)

What did you do and what did you expect to happen?

From Andrea on Slack to tech support:

Hello, I've created a series of codelists for BNF chapters (example for Chapter 1: BNF codelist) which I've also converted to dmd. However, when I look at the tree for the dmd codelists some items are excluded, which I'm pretty sure should not be. There is no way to manually add those codes to the dmd codelist, and I can't see how to "fix" the BNF codelist so they are included. Any help?

Impact of the bug

It's happening consistently, and preventing the DM+D codelist from matching the original BNF one.

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 reproducing the conversion using the linked BNF and DM+D codelists, then compare the excluded items with the source mappings. Trace whether the mismatch comes from importing the BNF-to-DM+D mappings, codelist conversion, or outdated BNF data; done means the cause is identified and the converted codelist matches the expected source terms.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.