opensafely-core / opencodelists

OpenCodelists is an open platform for creating and sharing codelists of clinical terms and drugs.
https://www.opencodelists.org
Other
31 stars 11 forks source link

Categories within codelists #507

Open brianmackenna opened 3 years ago

brianmackenna commented 3 years ago

Sometimes it would be good to have additional categories within a codelist that you can call upon in study defintion or analysis without creating an extra codelist. We have sort of done this with ethnicity. Here are two more examples to help inform thinking on any future developments

Antidiabetic medications We have a full list of medicines used for diabetes. This is comprehensive but within this there are different classes of medications - in an analysis you will want to further analyse by each class. Currently the only way to do this is to have the complete list plus a separate codelists for each class - (e.g. like Manuj has done here) Having the category in the complete list would be more efficent, reduce time compiling codelists and also I think will be eaiser to maintain in future. Study definition may need to be updated to support analysis with the categories.

Pulse Oximetry - We have started a codelist here and you can clearly see that there are different categories of code finding, procedure etc. Depending on the study you may want to use different ones depending on question - this isn't the most compelling use case but you may want to utilse categories here depending on the study.

image

helenmcd commented 3 years ago

'X resolved' codes - easy to miss that there's a codelist saying that something's resolved that should also be used when making a variable.

CKD stages - might be most useful just to use CKD stages 1-5, be able to indicate what stage it is, and then take whichever is the latest before the index date

Auselan commented 3 years ago

@brianmackenna interested to look at your Pulse Oximetry codelist.

The metadata don't allow me to understand the use-case well enough, nor the List Title.

I think this is a blend of multiple distinct themes::

  1. [Oximetry @home : home pulse oximeter status] 1.1 [Oximetry @home : has a pulse oximeter] 1.2 [Oximetry @home : pulse oximetry findings]
  2. [Oximetry @home : register of patients currently having monitoring]
  3. [Oximetry @home : administration events]

Is this code list simply a data extraction list, where the data will be processed after the event?

This might be an important feature requiring development: stacked / layered code lists. You might for example want to author your themes separately, then compile them into a larger list, as components