I'm doing a conceptual class diagram for an app that lets:

  1. Clinicians view the patient's lab results and their calculated Reynolds Risk Score.

  2. Clinicians make changes to one or more of the patient’s lab results to see how the patient’s current Reynolds Risk Score could be improved.

My question is: Should Reynold's Risk Score extend from the lab measurements class because it's derived from it or should it be a composition or should it be a normal association?

To model scenario 2, do we have to draw an association from clinician class to patient's vitals class and another association from clinician class to Reynolds Risk Score since changing the patient's vitals also changes the Reynolds Risk Score?

  • 2
    If a class derives from another, it has a very specific relationship which can't be qualified as composition or association. If you're unsure about these relationships, you should read up on what these mean before jumping into UML.
    – Neil
    Commented Mar 25, 2019 at 10:14

2 Answers 2


It is important to know when the measures are used in the calculation are obtained. For example, this is a valid model:

  1. Each patient has 0,1 or more test result.
  2. Each patient makes 0,1 or more physician visits.
  3. Each visit results in 0,1 or more calculated risk assessment (Reynold's Risk Score or others).
  4. Each visit results in 0,1 or more obtained parameters (other than tests from the lab, as for example, height and weight).
  5. Each measure is measured by a professional healthcare worker and approved by another healthcare worker.

More can be added to the above such as results of the visit and medications prescribed, as well as diagnosis for each ailment found (if any).

Also, note that a patient in the above text means a patient record within some institution. It may be possible that a patient could have different records in different departments or service points (this is not uncommon in some gov. institutions).


In OOP, the relation A derives from B (or A inherits from B) means that A is a kind of B and that A can be passed to any function that expects to receive a B. This relation is valid when the sentence A is a B makes sense.

This is a different kind of "derives" than in your case of the Reynold's Risk Score and lab measurements.

The composition relation indicates a part-whole relationship. This relation is valid when the sentence A consists of B (and more) makes sense. To my understanding, the Reynold's Risk Score does not consist of lab measurements, but it is calculated from them. That means that a simple association models the relationship best.

For the second scenario, the clinician probably has to know about both the Reynold's Risk Score (to see how it changes) and the lab measurements (to change them), so an association with both would be appropriate.

  • Good writing...
    – NoChance
    Commented Mar 25, 2019 at 13:18
  • @Bart I agree that Reynold's Risk Score class and lab measurements class should just be a simple association. However, can the second scenario somehow be modelled as part of the attribute or operation in a class? Because if I were to draw two associations it would be clinicians "changes" lab measurements and clinicians "changes" Reynold's Risk Score- seems kinda redundant?
    – Sook Lim
    Commented Mar 25, 2019 at 17:40
  • @SookLim I am not sure if the Reynold's Risk Score should be a class at all. But I don't know enough about your design and requirements to tell for sure. Commented Mar 25, 2019 at 19:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.