Source (input) are BMM files for AM and RM.
The next generator then takes OPTs to generate “domain model” classes as shown in this post.
Since the generated “domain model” classes extend the RM classes, they return their canonical JSON representation of e.g. COMPOSITION (example for the vital signs composition class used in the linked post above):
Notice the list of other classes on the left of the screenshot. There are 136 classes for this template. These are all generated from the OPT and extend RM classes:
Top level TEncounterVitalSignsComposition
class converts the entire hierarchy to JSON. It also de-serializes JSON to TEncounterVitalSignsComposition
.
With AM classes reading of JSON representation of archetypes/templates is possible.
The plan for the TypeScript version is to be used as a frontend client library. Either with UI components or headless. React and Vue components could be included and forms generated.
The same library also works on Node.js in case somebody would want to use it there.
The plan is to opensource at least some of the RM classes for free. The complete version could be available as “source available” license.
A SaaS option could be available for generating the code for OPTs.
I would like to open source the tool but it will probably be available as “source available” license since “open source != free”