Pulling Data from A Global Reference Frappe application instance to customer's instances

The architecture of system that I am working on is like there is a global Frappe application instance, which stores master data which is common. The global administrator may keep on adding, modifying the data in Global instance. When a client would buy our service, a client instance (VM) of the Frappe application would be created, which would pull initial setup data based on the modules bought by the client from Global Frappe application instance and populate the data in the client instance tables.

For example, at global instance level, there is a module called Medication and it has two Doc Types or say tables. Disease and Treatment. These two tables are in many to many relation and must have a Join Table behind the scene. These three Doc Types (and thus tables) would exist at global instance level as well as at client instance level. The global instance level Doc Types carries some pre-populated data of disease and treatments which we have created after consulting subject matter experts.

Now, what I want is that, there shall exist some utility at client instance level (VM), which runs on click of a button within Frappe app and pulls data from global instance level and populates the local Doc Types with pulled data. This can be used at initial setup of module and data population as well as to sync from global repository if some new combination of disease and treatment is created at global level.

Is there a way this kind of synchronization can be achieved in Frappe framework.