The Tabular Data Package as the one source for data definition

I’d like to check our planned approach to defining a data package and using that definition as the one source of all definitions from which schemas and other resources can be generated.

We’d like to:

  1. Take an existing tabular data package ( the Open Referral tabular data package that links services, providers, locations etc)
  2. Define proposed extensions (annotated as such)
  3. Define constraints to get the “application profile” which says how the package will be used in our situation (which fields to use, which vocabularies are used to populate them, …)
  4. Auto-generate from that one or more entity relation diagrams with colour coding to distinguish the original from extensions and constraints
  5. Autogetenate JSON schemas which define responses to web methods querying the data (eg getService)
  6. Autogenerate CSV schemas for tabular (partial) views of the data (eg a list of services)

Is this logic sound? Are there existing tools that do any of this?

I only know of jts_ERD tool for a small part of it.

Thanks