Trying to create a crdch_model.Decimal() with a Python Decimal works, but when you try writing it out as YAML, results in the following error: yaml.representer.RepresenterError: ('cannot represent an object', Decimal('20653'))
Trying to use the trick of manually setting the value doesn't work, because you can either set this value as a string (in which case it fails JSON validation, which expected a decimal), as a float (which would incorrectly mess up decimals), or as an integer (which truncates non-integral decimals).
CRDC-H defines a decimal type based on Python's Decimal type. Unfortunately, this doesn't work correctly at present:
yaml.representer.RepresenterError: ('cannot represent an object', Decimal('20653'))
You can see these errors in PR https://github.com/cancerDHC/example-data/pull/22, but we should move some examples into this repo and then try to fix them, probably in LinkML.
There might be a solution to this problem here: https://stackoverflow.com/a/47346704/27310