A new doctype seems like a sensible option.
I want to ask, thus every CulitvarID, Genus Species, and Common Name will be a unique combination.
If you make a doctype and feed all the data, then there is a way you can do it.
For that you will have to customize CulitvarID into a Link field with the name of the Doctype you create in Options of the DocField. Let us suppose PlantX is the doctype name and culitvarid is the variable.
Then for Genus Species and Common Name you can mention in options those fields in Plantx that correspond these. Suppose genus and common_name are fields in Plantx.
You then mention culitvarid.genus and culitvarid.common_name in their options respectively and it will automatically mapped as soon as you select a valid ID from PlantX.
No explicit need of using custom script or changes in Python.
Please correct me if I have not understood your use case.
