This problem can also be solved directly with set notation instead of splitting the BP group into pieces first.
Let $C$, $P$, and $D$ denote the sets of patients with high cholesterol, high BP, and diabetes respectively. We are given $|C|=10$, $|P|=45$, $C \cap D = \varnothing$ (no patient has both cholesterol and diabetes), $C \subseteq P$ (every cholesterol patient also has high BP), and $|P \setminus (C \cup D)| = 20$ (only high BP, no other condition).
Since $C \subseteq P$, the set $P$ splits into exactly three disjoint pieces: patients in $P \cap C$, patients in $P$ with neither other condition, and patients in $P \cap D$. Because $C \subseteq P$ and $C \cap D = \varnothing$, we get $|P \cap C| = |C| = 10$.
So $|P| = |P \cap C| + |P \setminus (C \cup D)| + |P \cap D|$, which gives $45 = 10 + 20 + |P \cap D|$.
Solving, $|P \cap D| = 45 - 30 = 15$.
As a consistency check, using the inclusion-exclusion total $|C \cup P \cup D| = 75$ and substituting all known pieces confirms a non-negative value for the diabetes-only-without-BP group, so no contradiction arises.
\[\boxed{|P \cap D| = 15}\]