Currently there is an archetype on review, Clinical Terminology Criteria for Adverse Events, Clinical Knowledge Manager. To be able to provide guidance to users to pick the correct grading for an adverse event, it is recommended to use an external resource in the user interface/implementation. The CTCAE is based on a hierarchy of codes from MedDRA, and CTCAE uses two of the levels within that hierarchy: The System Organ Class (SOC) and Term. Each severity grade of adverse event is linked to Term and Term is linked to SOC, and the grading criterias, ranging from 1 - 5, differs with each Term/SOC.
Challenging @NeillY, @bna, @erik.sundvall and other “techies” to discuss and share how to best implement this recommendation, using the CTCAE and other archetypes.
More concrete:
Any missing elements or archetypes to do so?
Are the available data types for element “Grade” sufficient and useful?
Other aspects to consider?
As I mentioned in CR-936, sometimes you want to list the exact grading critera (see examples fpr grades 1-3 below) in certain simple templates where you don’t want to involve a terminology server. You may also want to, in EHR data, store exactly what the clinician saw data rather than a general non-symptom-specific Mild/Moderate/Severe wording.
CTCAE: MedDRA Code
CTCAE: MedDRA SOC
CTCAE Term
Grade 1
Grade 2
Grade 3
Grade 4
Grade 5
Definition
10016256
General disorders and administration site conditions
Fatigue
Fatigue relieved by rest
Fatigue not relieved by rest; limiting instrumental ADL
Fatigue not relieved by rest, limiting self care ADL
-
-
A disorder characterized by a state of generalized weakness with a pronounced inability to summon sufficient energy to accomplish daily activities.
I believe the currently suggested design covers the above requirements via the neat “workaround” choise bof data types for the “Grade” attribute, but maybe the documentation should include hints regarding how to query data (e.g. via AQL) in order to pick up the numerical value of the grade no matter if the person designing the template/application chose to use Ordinal or Scale.
Regarding implementing a useful demo, here is what somebody with time could do (by themselves or by asking ChatGPT ot Github Copilot for help) and then post a link to their open source code solution, in this discussion thread!
Make a user interface where a clinician can type words and get a weighted (priority-sorted) list of possible matching CTCAE terms/grades descriptions/definitions that match from the index. Show the results in a way that the makes it possible/easy to read all information from a CTCAE row (like the one in the post above)
Make it possible to click the grade descriptions in the search hit list, and by doing so adding as many CTCAE entries as you want to an openEHR composition based on the above mentioned CTCAE archetype (if possible including the selected symptom-specific grade description rather than the generic one, because that makes reading the CTCAE EHR entry more meaningful for other EHR readers that may not have access to a fancy widget with CTCAE-support).
Do note that @bna from DIPS has previously done parts of the above and demoed in a YouTube short CTCAE Prototype openEHR Form - YouTubebut it uses browsing of the hierarchy rather than search and also uses generic rather than symptom specific grade descriptions. (see correction of crossed out text in post below)
Actually that’s not correct. The user can start writing in all the fields, and the list shortens for each character added. Also, both the available grading alternatives and their corresponding description is unique for each term. See Grade 2 on the two Cardiac disorder SOC’s in the snippet below.
Based on the terminology models developers might create direct search on terms or a hierachical lookup user-interface. This will, of course, be adapted to end-users needs.
My suggestion is to add a new element to carry the specific term definition as DV_CODED_TEXT. This is needed to carry the external terminology id of the term. In addition it makes it possible to have a single generic element for the grade based on a singel well-defined DV_ORDINAL.
I think this will make the archetype capable of both being simple to use and also able to carry all semantic attributes for a CTCAE score/grade.
@erik.sundvall - I would like your view on the redesign of the archetype. You proposed an interesting choice structure to solve the modelling challenge. What do you think of the new pattern?
BTW: we think the suggested pattern and sw solution for CTCAE also will work for TNM. The norwegian cancer project is looking for machine readable publications of the TNM classification.
Hi Bjørn! Could you explain a bit further what information your proposed new DV_CODED_TEXT element would contain? Feel free to use examples from the output from your extraction script
Yes. But I don’t understand why we need both the grade classification and the grade value as separate elements. The grade classification contains the grade value, and can be populated from the knowledge base into the (in the archetype) empty DV_ORDINAL element “Grade”. As far as I can see from the excel file the terms are unique, and the exact code (10012378 in your example) can be put in the “Term” DV_CODED_TEXT element. Or have I missed something?