Neither the Vatican's dictionary of new Latin or Florusc's website are any help on this one. So we'll have to coin a word-- which means I'll have to stick my neck out. But we do have here some similar words to guide us. The usual rule, when importing a word from Greek with a -logos, that is, a "discourser" ending, is just to change the last omicron to a u, and call the word masculine of the IInd:
astrologer = astrologus
scholar = philologus
theologian = theologus
So surely "cardiologist" should be cardiologus, -i.
But "heart doctor", in plain Latin, would be medicus cordum "doctor of hearts".