import_and_export:importing_regions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
import_and_export:importing_regions [2021/08/10 15:57] – [Doing the import] Gary Willettsimport_and_export:importing_regions [2021/10/08 09:31] (current) Gary Willetts
Line 1: Line 1:
 {{indexmenu_n>93}} {{indexmenu_n>93}}
- +====== 17.10. Importing regions ====== 
-====== 16.10. Importing regions ====== +Regions are geographic boundaries, currently used in mSupply to help in displaying data on maps. At the moment they are only used in certain customisations but more use of them will follow as development progresses
-Information coming soon.+
  
 ===== Import spreadsheet format ===== ===== Import spreadsheet format =====
 The first row of the spreadsheet is for the column headers and is **not** imported. The first row of the spreadsheet is for the column headers and is **not** imported.
  
-The first 34 columns (up to, and including column AH, "Notes") represent standard asset fields in mSupply and the column headers for these are completely ignored in the import. Any columns after that are for asset properties and their headers are important; those headers must be in this format: +There must be 3 columns in the spreadsheet in the order shown in the following table:
- +
-<HTML><div style="text-align:center;font-weight:bold">Property name (Property type)</div></HTML> +
- +
-where **Property name** is the description the property will be given and **Property type** is one of "Text", "Date" or "Drop down list"+
- +
-For example, a column header of **Project name (Drop down list)** will represent a drop down list property with the description **Project name**. +
- +
-During the import process, if any properties or entities (like asset locations) do not exist, they will be created. If any options for drop down list properties or standard asset drop down lists (categories) are found not to exist, they will also be created. +
- +
-The import spreadsheet must contain these columns in this order (//Description// and //Current status// are mandatory, the others are all optional):+
  
 ^ Column number  ^ Column letter  ^ Field                                ^ Description                                                                                                                                                                                                                              ^ ^ Column number  ^ Column letter  ^ Field                                ^ Description                                                                                                                                                                                                                              ^
-| 1              | A              | Code                            | 255 alphanumeric characters. A code that the asset can be recognised by                                                                                                                                                                                               | +| 1              | A              | Region name                            | **Mandatory**. 255 alphanumeric characters. The name of the region                                                                                                                                                                                               
-| 2              | B              | Description                     | **Mandatory**. 255 alphanumeric characters. The name the asset will have and be recognised by throughout the system                                                                                                                                                                                                                               +                          Geometry                     OptionalLots of alphanumeric characters. The JSON geometry definition of the region. If it is entered then it must be valid according to the [[https://github.com/geojson/schema|geoJSON FeatureCollection schema]].                                                                                                                                                                                                                               
-                          Make                            255 alphanumeric characters                                                            | +3                           Parent                            Optional. 255 alphanumeric characters. The name of this region's parent region                                                           |
-| 4              | D              | Model                           | 255 alphanumeric characters                                                                                                                                                                                                                                                    | +
-| 5              | E              | Serial number                   | 255 alphanumeric characters                                                                                                                                                                                                                                 | +
-| 6              | F              | Supplier name                   | 255 alphanumeric charactersName of the company/person who supplied the asset                                                                                                                                                                                                                                 | +
-| 7              | G              | Purchase order number           | 255 alphanumeric characters                                                                                                                                                                                                                                 | +
-| 8              | H              | Purchase order date             | Valid date in current operating system format. The date the purchase order to buy the asset was confirmed                                                                                                                                                                                                                                 | +
-| 9              | I              | Acquisition date                | Valid date in current operating system format | +
-| 10             | J              | Next maintenance due date       | Valid date in current operating system format. The date the next maintenance is due to be carried out on the asset | +
-| 11             | K              | Disposal date                   | Valid date in current operating system format. The date the asset will be or was disposed of +
-| 12             | L              | Last verification date          | Valid date in current operating system format | +
-| 13             | M              | Location code                   | 20 alphanumeric characters. The code the location name will have. Will be matched against the names currently in the database. If a name with this code does not exist, one will be created with the name provided in the Location name field. If the Location name field is empty the name will be created with the code as its name. This field is mandatory if you want mSupply to create the name.  | +
-| 14             | N              | Location name                   | 255 alphanumeric characters. +
-| 15             | O              | Asset user name                 | 255 alphanumeric characters. The name of the asset user in the format "//last name//,//first name//". Will be created if the user does not exist as a contact of the location. | +
-| 16             | P              | Asset user phone number         | 255 alphanumeric characters | +
-| 17             | Q              | Asset user email                | 255 alphanumeric characters | +
-| 18             | R              | Custodian location              | 255 alphanumeric characters. Where the custodian of the asset (the main person responsible for itis located | +
-| 19             | S              | Custodian name                  | 255 alphanumeric characters. The name of the custodian | +
-| 20             | T              | Custodian phone number          | 255 alphanumeric characters | +
-| 21             | U              | Custodian email                 | 255 alphanumeric characters | +
-| 22             | V              | Current status                  | **Mandatory**. 255 alphanumeric characters. Will be created if it doesn't exist | +
-| 23             | W              | Proposed status                 | 255 alphanumeric characters. The proposed next status of the asset. Will be created if it doesn't exist. Please note that there is no way of telling mSupply what proposed statuses are allowed to follow which current statuses during import. This can only be done manually in the asset settings (see the [[assets:assets_setup|]] page for details). During import all proposed statuses are assumed to be valid and will not be checked. There are, however, some important exceptions:\\ 1. If the current status of an asset is designated to be a final status, any proposed status will be ignored.\\ 2. If an imported asset has a current status which has some possible proposed statuses assigned, if the proposed status is not included in these, it will be added to them.\\ \\ So, be careful with the proposed statuses in the import file: you could make a mess if you have already set up which statuses can follow which and you don't follow that in the import file. | +
-24                          Type                            255 alphanumeric charactersWill be created if it doesn't exist | +
-| 25             | Y              | Condition                       255 alphanumeric characters. Will be created if it doesn't exist | +
-| 26             | Z              | Purchase price                  | Number, currency. The cost of the asset when it was purchased | +
-| 27             | AA              | Purchase costs                  | Number, currency. Any costs that are ot be added ot the purchase proce to arrive at the total value of the asset to be depreciated | +
-| 28             | AB             | In service date                 | Valid date in current operating system format. The date the asset starts to depreciate from                                                                                                                                                                                                                                | +
-| 29             | AC             | Useful lifespan (months)        | Number, integer. The number of months the asset can be used for | +
-| 30             | AD             | Disposal value                  | Number, currency. The value of the asset at the end of its useful life | +
-| 31             | AE             | Insurer name                    | 255 alphanumeric characters | +
-| 32             | AF             | Insurance policy number        | 255 alphanumeric characters | +
-| 33             | AG             | Insurance renewal date          | Valid date in current operating system format. The date the insurance should be renewed by | +
-| 34             | AH             | Notes                           | Lots of alphanumeric characters! Any other information that needs to be stored against the asset | +
-| 35 onwards     | AI onwards     | User-defined property columns   | You can add user-defined property columns in any order from column AI onwards. Column header must be in the format "//Property name// (//Type//)" where //Property name// is the name of the property and //Type// is the type of the property (either //Date//, //Text// or //Drop down list//). If the property does not exist it will be created and if the option of a Drop down list property does not exist it will also be created. |+
  
-Here is an example spreadsheet you can use (contains no property columns, only the standard mSupply columns): {{ :import_and_export:asset_import_blank_template.xlsx |}}+Here is an example spreadsheet you can use: {{ :import_and_export:region_import_blank_template.xlsx |}}
  
-<WRAP important center round 90%> 
-When entering dates in the spreadsheet, make sure they are counted as text in their cells. Sometimes Excel will autoconvert dates to //date// or //numerical// format and then they will import into mSupply as blank dates. You can make sure that dates will import correctly by using the row preview functionality (see below) - if the dates look correct here then they will import correctly. 
-</WRAP> 
  
 ===== Doing the import ===== ===== Doing the import =====
-Go to the //File > Import > Import assets// menu and you will be asked to select the import file from a file window. After you have selected the file (if it is valid) you will be shown this window:+Choose //File > Import > Import regions// from the menus and you will be asked to select the import file from a file window. After you have selected the file (if it is valid) you will be shown this window:
  
-{{ :import_and_export:screenshot_2021-04-19_at_15.35.02.png?600 |}}+{{ :import_and_export:screenshot_2021-08-11_at_16.03.40.png?400 |}}
  
-mSupply uses the **code** field to determine whether the asset being imported is a duplicate; an asset with the same code as one already in the database is determined to be a duplicate. Any assets with no code are ignored during duplicate checking i.e. an asset with no code can //never// be a duplicate and will always be imported as a new asset. In the //If duplicate codes are detected// section you tell mSupply what to do if it encounters a duplicate asset during the import: +mSupply uses the **Region** field to determine whether the region being imported is a duplicate; a region with the name as one already in the database is determined to be a duplicate. In the //If duplicate is detected// section you tell mSupply what to do if it encounters a duplicate region during the import: 
-  * **Import as new asset:** this option will import the duplicate as a new asset+  * **Import as new region:** this option will import the duplicate as a new region
   * **Skip the duplicate without asking:** the duplicate will not be imported and that row of the spreadsheet will be ignored   * **Skip the duplicate without asking:** the duplicate will not be imported and that row of the spreadsheet will be ignored
-  * **Stop the import:** as soon as a duplicate is encountered, the import will stop and all assets imported so far will be removed so that nothing is imported. +  * **Stop the import:** as soon as a duplicate is encountered, the import will stop and all regions imported so far will be removed so that nothing is imported. 
-  * **Update the existing asset:** the asset that already exists with the code in the database will be updated with the information contained in the spreadsheet row. A new asset will not be created. BE CAREFUL WITH THIS OPTION: if a cell is blank in the spreadsheet then the corresponding value is removed from the asset (if it had a value set for it), not left as it is.+  * **Update existing region:** the region that already exists with the name in the database will be updated with the information contained in the spreadsheet row. A new region will not be created.
  
-The //Field// column of the table shows you all the columns that mSupply has detected in your import file, the //Value// column shows the values it has found in the cells for that row of the spreadsheet. You can move through the rows of the spreadsheet using the **Previous** and **Next** buttons. If you try to go beyond the first or last row of the spreadsheet mSupply will let you know.+The //Value// column shows the values mSupply has found in the cells for that row of the spreadsheet. You can move through the rows of the spreadsheet using the **Previous** and **Next** buttons. If you try to go beyond the first or last row of the spreadsheet mSupply will let you know.
  
 You can carry out the import by clicking on the **Import now** button or cancel it by clicking on the **Cancel** button. You can carry out the import by clicking on the **Import now** button or cancel it by clicking on the **Cancel** button.
  
-When the import has finished you will be shown a message telling you how many assets were imported and how many rows of the spreadsheet were skipped, ignored or failed.+During the import
 +  * if the row has no region name it will be skipped 
 +  * if the row has an empty Geometry field, it will be imported with no geometry 
 +  * if the row has content in the Geometry field that does not match the geoJSON FeatureCollection schema it will be skipped 
 +  * if the parent region does not exist or is empty the region will be imported with no parent
  
-<WRAP info center round 90%> +When the import has finished you will be shown a message telling you how many assets were imported and how many rows of the spreadsheet were skipped.
-All the assets created by the import will have the text "Created by import on //xx/xx/xxxx//" (where //xx/xx/xxxx// is the date of the import) appended to the end of their //Notes// field. +
-</WRAP>+
  
 \\ \\
  • Last modified: 2021/08/10 15:57
  • by Gary Willetts