Specify ICD-O code in a medication order along a chemotherapy

In our EHR, we can order a chemotherapy and specify the associated ICD-O code. The ICD-O is a classification system for Oncology, which allows the systematic specification of the topography (the body’s location) and the morphology (histologic characteristic) of the mass/tumor.

Currently, I am trying to model the ICD-O onto a medication order.

So far, I would have found two options to model it, namely

  1. in the field “Therapeutic intent” in the archetype INSTRUCTION.medication_order.v3, but I feel that this might be a misuse, as “Therapeutic intent” tries to convey the goal or purpose of the chemotherapy and not the characteristic of the mass.
  2. Create a new cluster and use the field “Additional details” in the same archetype as mentioned before.

From my point of view, the ICD-O would be a better match in describing a problem/diagnosis and thus should not be added in the medication order. But in order to map the current data model in our EHR, the mapping onto a medication order would be the most pragmatic solution.

In this regard, I wanted to ask you,

  1. If you modeled a medication order in the context of chemotherapy and
  2. How you modeled the ICD-O in this context.

By the way, I use the field “Clinical indication” in the archetype INSTRUCTION.medication_order.v3 to map the symptoms, for which the order has been created, where the prescriber will be able to choose from a (currently proprietary) value set, which will be updated to represent SNOMED CT backed symptoms or diseases.

Consequently, I try to model the ICD-O codes onto another field.

You could use “Clinical indication” for both. See this mockup example template:

1 Like

Thank you so much. Based on the template at your provided link, I can have several “Clinical indication” fields in one archetype and rename it to my use case?


I like your suggestion @siljelb but you can also add _mappings to any text/CodeText element, Lucas so it is perfectly possible to carry the ICD- code alongside the main SNOMED-CT code inside Indication as single element.

However, when this came up with a recent client with the same requirement, we recommended carrying the ICD-O and other diagnoses codes in a Problem list associated with the cancer journey. ad not directly in the order or prescription. It can then be queryed to present to the person doing the drug preparation / administration or for reporting.

1 Like

I agree with you, Ian, that ICD-O should be carried in a problem/diagnosis list. Based on the constraints and the requirements’ analysis, I opted to map this information onto the medication order.

Long thread here on term_mappings

Though I think I prefer @siljelb suggestion.

Even if you like our idea of maintaining the master list of diagnosis codes separately, there is a case for entering it again in the Order as an Indication, as it labels the indication specifically at the point the order was made, without having to maintain potentially complex links as the diagnosis morphs over time


Thanks, Ian, for this information. I will discuss this issue tomorrow at the team’s meeting, as along this year, we plan to migrate our problem/diagnosis list onto openEHR.

So far, I do not know, how in our EHR the implementation of such a solution would look like. If a prescriber can choose among a subset of ICD-O codes, which have been documented in the problem/diagnosis list, then this would incredibly improve the user experience (as these lists tend to be quite long). But it remains the use case, where no ICD-O has been documented at this point.

Maybe, we could implement a solution, where at the frontend, the prescriber chooses the respective ICD-O codes. If none has been associated to a problem/diagnosis item, then a user interaction flow is performed, where the problem/diagnosis list is updated accordingly, before continuing the medication order form. On the other hand, this might also be a burden for the user. But to sum up, I, personally, would also prefer, to handle the ICD-O in the problem/diagnosis list.


As long as your CDR implementation supports it, for sure. The implementation we’re using (DIPS) has trouble with repeating elements which have been renamed in the template, but I’m pretty sure this is only for historical reasons.

1 Like