Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
synchronisation:introduction [2025/03/31 16:40] – Remove obsolete sections Adrian Boone | synchronisation:introduction [2025/04/01 16:29] (current) – [Setting up or extending a sync system] Adrian Boone | ||
---|---|---|---|
Line 32: | Line 32: | ||
* For most installations, | * For most installations, | ||
* The **//Central server//**, and all of the remote sites are collectively referred to as **//sync sites//**. | * The **//Central server//**, and all of the remote sites are collectively referred to as **//sync sites//**. | ||
- | * Each sync site has a unique ID and connection parameters, along with a list of the other sync sites with which it can send/ | + | * Each sync site has a unique ID and connection parameters, along with a list of the other sync sites with which it can send/ |
=== Active vs Collector === | === Active vs Collector === | ||
Line 61: | Line 61: | ||
Stores to be synced will exist as separate instances of the same store on more than one sync site: | Stores to be synced will exist as separate instances of the same store on more than one sync site: | ||
- | * on the central server - the store itself and its related preferences, | + | * on the central server - the store itself and its related preferences, |
* on the primary server - item visibility in the store is editable => all stores must exist on the primary server | * on the primary server - item visibility in the store is editable => all stores must exist on the primary server | ||
<WRAP center round important 95%> | <WRAP center round important 95%> | ||
- | On a mirrored sync system, the store must be created first on the central server. It will then sync to the primary server, where item visibility and/or master lists configured. | + | On a mirrored sync system, the store must be created first on the central server. It will then sync to the primary server, where item visibility and/or master lists can be configured. |
</ | </ | ||
- | * store data (e.g. store transactions, | + | * store data (e.g. store transactions, |
Once a store has been set up (see the relevant parameters below), item and name visibility for the store needs to be set up - see [[other_stuff: | Once a store has been set up (see the relevant parameters below), item and name visibility for the store needs to be set up - see [[other_stuff: | ||
Line 75: | Line 75: | ||
The table below is a high-level summary of the different data types: | The table below is a high-level summary of the different data types: | ||
- | * **//Central data//** can only be edited or imported on the primary server, and changes are synced to all sites | + | * **//Central data//** can only be edited or imported on the primary server |
- | * **//Central store data//** can only be edited or imported on the central server, but changes are only synced to the site where the store is visible | + | * **//Central store data//** can only be edited or imported on the central server |
* **//Store data//** can only be edited or imported on the sync site where the store is //active//, and changes are only synced to any site where the store exists as a // | * **//Store data//** can only be edited or imported on the sync site where the store is //active//, and changes are only synced to any site where the store exists as a // | ||
* **//Patient data//** can only be edited on the sync site where its //home store// is //active//, and changes are synced to any site where the patient is visible | * **//Patient data//** can only be edited on the sync site where its //home store// is //active//, and changes are synced to any site where the patient is visible | ||
Line 82: | Line 82: | ||
* **//Local data//** can be edited or imported on any site but doesn' | * **//Local data//** can be edited or imported on any site but doesn' | ||
* **//Sync data//** can only be edited on the central server but doesn' | * **//Sync data//** can only be edited on the central server but doesn' | ||
- | * **//Message data//** can be created on any site and syncs according to the sending/ | + | * **//Message data//** can be created on any site, but can't be edited anywhere, |
+ | * if the receiving store is set, then the message will be processed on the site where that store is active | ||
+ | * if the receiving store is blank and the sending store is set, then the message will be processed only on the central server | ||
+ | * if both are blank, then the message will be processed on all remote sites (i.e. all except the central server) | ||
* Some data can fall into more than one type, depending on the situation. | * Some data can fall into more than one type, depending on the situation. | ||
- | ^ Data ^ | + | ^ Data ^ |
| Items | Central | Primary | Including item-related data e.g. item categories, units, BOM masters | | | Items | Central | Primary | Including item-related data e.g. item categories, units, BOM masters | | ||
- | | Names (except patients) | Central | Primary | Including name-related data e.g. name categories, contacts, tags | | + | | Names (except patients) | Central | Primary | Including name-related data e.g. name categories, contacts | |
| Merging of items, units and names (except patients) | Central | Primary | | | | Merging of items, units and names (except patients) | Central | Primary | | | ||
| Groups and departments | Central | Primary | | | | Groups and departments | Central | Primary | | | ||
Line 95: | Line 98: | ||
| Purchase order categories | Central | Primary | | | | Purchase order categories | Central | Primary | | | ||
| Custom data | Central | Primary | | | | Custom data | Central | Primary | | | ||
- | | Barcodes | Central | Primary | | | + | | Barcodes | Central | Primary | Can be added on any site; duplicates are automatically merged when synced to the primary |
| Currencies | Central | Primary | | | | Currencies | Central | Primary | | | ||
| Options and properties | Central | Primary | | | | Options and properties | Central | Primary | | | ||
Line 113: | Line 116: | ||
| Tenders and quotes (centralised) | Central store | Primary | | | | Tenders and quotes (centralised) | Central store | Primary | | | ||
| Payments (centralised) | Central store | Primary | | | | Payments (centralised) | Central store | Primary | | | ||
- | | Visibility of items and names (except | + | | Visibility of items | Central store | Primary | | |
- | | Visibility of existing | + | | Visibility of names (including existing |
- | | Stores and non sync-related store preferences | Central store | Central | Managed on Central Mirror since v7.13 | + | | Visibility of existing prescribers | Central store | Central |
+ | | Stores and non sync-related store preferences | Central store | Central | | | ||
| Sites and sync-related preferences | Central | Central | Changes on the central server indirectly update related records on remote sites | | | Sites and sync-related preferences | Central | Central | Changes on the central server indirectly update related records on remote sites | | ||
| Dashboard reports | Central | Central | | | | Dashboard reports | Central | Central | | | ||
| Authorisers and authorisation | Central | Central | | | | Authorisers and authorisation | Central | Central | | | ||
- | | Messages | Message | Store | Depends on sending and/or receiving store (which can be blank) | + | | Messages | Message | Store | Depends on sending and/or receiving store | |
| Visibility of new patients and prescribers | Patient | Store | New visibility records sent to central server | | | Visibility of new patients and prescribers | Patient | Store | New visibility records sent to central server | | ||
| Patients and prescribers | Patient | Store | Including patient-related data e.g. PMR, insurance policies | | | Patients and prescribers | Patient | Store | Including patient-related data e.g. PMR, insurance policies | | ||
- | | Merging of patients and prescribers | Patient | Store | | | + | | Merging of patients and prescribers | Patient | Store | Both records must have the same home store | |
- | | Patient events | Patient | Store | Dispensary data | | + | | Patient events | Patient | Store | Dispensary data | |
| Repeats | Patient | Store | Dispensary data; preference can be set to allow processing on all sites where the patient is visible | | | Repeats | Patient | Store | Dispensary data; preference can be set to allow processing on all sites where the patient is visible | | ||
- | | Prescriptions | Patient | Store | Preference can be set sync to all sites where the patient is visible | | + | | Prescriptions | Patient | Store | Preference can be set to sync to all sites where the patient is visible |
+ | | Adverse drug reactions | Patient | Store | Dispensary data | | ||
+ | | Name-related tags, budgets and master-lists | Name | Primary | | ||
| Name notes | Store | Store | | | | Name notes | Store | Store | | | ||
| Customer stock history and requisitions | Store | Store | | | | Customer stock history and requisitions | Store | Store | | | ||
Line 155: | Line 161: | ||
| Logs | Local | Local | | | | Logs | Local | Local | | | ||
| Reminders | Local | Local | | | | Reminders | Local | Local | | | ||
- | | Adverse drug reactions | Local | Local | | | + | |
- | ==== Stores ==== | ||
- | |||
- | These are a special case: | ||
- | * changes to the store record itself (all except the // | ||
- | * the store' | ||
- | * a store should only ever be //Active// on one sync site at a time (usually on the site where it is //Local//) | ||
==== Centralised procurement ==== | ==== Centralised procurement ==== | ||
Line 178: | Line 178: | ||
==== Dispensary data ==== | ==== Dispensary data ==== | ||
- | === Stock transactions === | ||
- | |||
- | By default, prescriptions and any other operations in dispensary mode which affect stock levels are not synced to the sync server, unless the //Include transactions in sync// option is enabled in the store sync preferences, | ||
- | |||
- | If this preference is switched off in a dispensary store on a remote site, the following data will not be synced back to the central sync server: | ||
- | |||
- | * Transactions (including backorders, builds etc.) | ||
- | * Prescriptions | ||
- | * Stock lines | ||
- | * Stocktakes | ||
- | If the preference is switched on, all of the store' | ||
=== Patients === | === Patients === | ||
Line 196: | Line 185: | ||
Since mSupply v4.09, patients have a //home store//, initialised either according to the store they were created in, or according to their most recent prescription. Patients and their related data (patient medication records, repeats, insurance policies) can only be edited in an active dispensary store on the same //home site// where their home store is active. | Since mSupply v4.09, patients have a //home store//, initialised either according to the store they were created in, or according to their most recent prescription. Patients and their related data (patient medication records, repeats, insurance policies) can only be edited in an active dispensary store on the same //home site// where their home store is active. | ||
- | Patients and their related data records will be synced to the primary | + | Patients and their related data records will be synced to the central |
- | Newly created patients will also be made visible in any other dispensary stores on the home site, depending on the store' | + | Newly created patients will also be made visible in any other dispensary stores on the home site, depending on the store' |
=== Other dispensary data === | === Other dispensary data === | ||
Line 204: | Line 193: | ||
Abbreviations, | Abbreviations, | ||
- | Prescribers are also treated as a special kind of store-specific data, like patients i.e. they are editable in any active dispensary store on their home site, synced back to the primary | + | Prescribers are also treated as a special kind of store-specific data, like patients i.e. they are editable in any active dispensary store on their home site, synced back to the central |
=== Transferring patients/ | === Transferring patients/ | ||
- | Watch this space... | + | This can be done only on the central server, by selecting a different dispensary store from the "Home store" pull-down menu. If you confirm that you want to start the transfer process, the patient/ |
===== Transfers ===== | ===== Transfers ===== | ||
Line 254: | Line 243: | ||
* the received quantities for the original purchase order lines will be updated on the primary whenever the corresponding goods received lines are received there (and forwarded from there to the initiating store/site) | * the received quantities for the original purchase order lines will be updated on the primary whenever the corresponding goods received lines are received there (and forwarded from there to the initiating store/site) | ||
* when the primary receives any subsquent updates to goods received lines from the initiating store/site, it will update the quantities in the corresponding purchase order lines | * when the primary receives any subsquent updates to goods received lines from the initiating store/site, it will update the quantities in the corresponding purchase order lines | ||
- | * If centralised procurement is not enabled, the received quantities for the original purchase order lines will be updated in the initiating store/site when it receives the goods received lines from the primary | + | * If centralised procurement is not enabled, the received quantities for the original purchase order lines will be updated in the initiating store/site when it receives the goods received lines from the central server |
===== Reporting ===== | ===== Reporting ===== | ||
Line 305: | Line 294: | ||
- Decide how to configure your server(s) | - Decide how to configure your server(s) | ||
* for a local combined primary and sync server: | * for a local combined primary and sync server: | ||
- | * can your local server be online most of the time (it is more important | + | * can your local server be online most of the time (it is more important |
* have you a fixed external IP address? | * have you a fixed external IP address? | ||
* can you open the necessary firewall ports to allow access to the local server from outside? | * can you open the necessary firewall ports to allow access to the local server from outside? | ||
Line 321: | Line 310: | ||
* single-user store/quiet dispensary (desktop): mSupply single-user desktop | * single-user store/quiet dispensary (desktop): mSupply single-user desktop | ||
* small store/ | * small store/ | ||
- | - Decide on the heirarchy | + | - Decide on the hierarchy |
* which stores supply other stores? | * which stores supply other stores? | ||
* can stores which have the same supplying store transfer to each other, or just with the supplying store? | * can stores which have the same supplying store transfer to each other, or just with the supplying store? | ||
- | * for dispensary stores, do you need to see prescription details on the central server | ||
- Decide on the users for each site and their roles/ | - Decide on the users for each site and their roles/ | ||