The biggest "problem" is code reuse. Everyone's problem/skills(i.e. ability to understand & trust particular solution)/infrastructure(e.g. needs to run on cell phone vs we gots Big Table) are slightly or massively different. We as a profession still struggle to abstract things correctly so they can be reused.
It's best to not to have a solution or have a partial solution and convince your industry to work on it together thus distributing the costs and benefits. This is commonly practiced as standards and open source.
Another situation were it is good to release solution you paid to build is if there are high maintenance costs associated with that solution. Others will be incentivized to use (and thus share maintenance costs) your solution. You will have "lost" the initial development cost but save on maintenance and there are multiple fringe benefits (publicity, good will, control/influence).
It sounds like the ICD things have low maintenance costs, creates a barrier to entry for competitors and is fundamental to medical billing and thus seen as a core competitive advantage. All factors that discourage openness.
Should sell directly or spin off company to sell libs/software/translation service of the ICD. When you recoup costs and/or sales decline open source it.
So if you are a C/C++ programmer you have the option to use someone else's low level data structure implementation you can use the STL or tons of open source projects (GLib, Boost).
But just as programmer's love to avoid work and re-use code, they also love to reinvent the wheel which we are all free to do. However, if you were a start-up founder and you insisted on reimplementing low level data structure libraries for your product I don't think your company would last long (unless that is your hobby.)