User:Edvac/Wikis/Lebanon Red Cross Health Facilities Import

From OpenStreetMap Wiki
Jump to navigation Jump to search
Main page Workflow

The Lebanese Red Cross health facilities import is an import of 2,644 health facilities - hospitals and other health centres, pharmacies and laboratories -, covering the whole of Lebanon territory.

Goal

(Write a short background intro here)

Healthsites.io and the Lebanese Red Cross have the goal of importing health facility data into OSM with a dedicated team of mappers, merging them with the existing data, improving their tagging and/or geolocation when needed, and dismissing those that aren't correct, using both aerial imagery and local knowledge for validation.

Schedule

  1. Preparation, discussion - August 2021.
    1. Discussion with Lebanese OSM community: to be started August 2nd 2021.
    2. Imports list review: To start after discussion with Lebanese OSM community. Aprox. Aug 9th 2021.
  2. This data import won't be just a blind import, but a team import, where users will check the validity of the data against aerial imagery and local knowledge, and correct the location and/or tagging of each health facility according to those images and knowledge.
  3. The import process will take several weeks to complete.

Import data

Data description

The original data consists of 2,644 health facilities as nodes, covering all muhafazah (governorates) of Lebanon, divided in 4 csv files containing the following features:

  1. 183 hospitals
  2. 1,050 other health centres
  3. 981 pharmacies
  4. 430 laboratories

The German Red Cross has given permission to import the data into OSM.

(Explain here how the data has been collected by the German Red Cross)

When a node is not yet in OSM, it will be imported, after checking the tags and geolocation are correct. But when a health facility is already in OSM, it will only be imported or partially imported when it adds information to the already existing object. History of the object will be always kept, and no objects will be deleted during the import process, unless for very rare cases.

Background

Data source site: (put here url pointing to the original data)
Data license: (put here a link to the licence or permission)
OSM attribution: (put link to OSM attribution, like for example: https://wiki.openstreetmap.org/wiki/Contributors#United_Nations_Support_Office_in_Somalia_.28UNSOS.29 )
ODbL Compliance verified: yes

OSM Data Files

(correct this:) Here you can download 4 files in zip format.

Import type

The best approach to import this data is manually by a dedicated team, with data split in 4 files, that will correspond to 4 projects in the HOT Tasking Manager. Access will be restricted to the import team. Advantages:

  1. Anyone can check, at any time, the mapping progress of the import.
  2. Team members won't import many nodes in one changeset, so allowing reverts of wrong changesets more difficult.
  3. All tasks will be forcibly validated by a second team member, therefore making errors much more difficult.
  4. It's easy to set up.

We will provide a link for each Tasking Manager project in a table of the import workflow wiki, with info about the total size (number of nodes) and expected time of work for each one.

Data preparation

Data reduction & simplification

Some health facilities original info will not be shared nor imported, as they contain private data not meant for integration into an open database like OSM. Examples are names of managers, directors, their phone numbers, etc.

As for simplification... (Add this when we have checked the data for assessment).

Tagging plans

The original tagging is in accordance to... (add this info)

Some tags of the original dataset aren't relevant (check this when having the data), so we ignore them. Here we list all the original disclosed tags, with their corresponding translation into the OSM tagging schema, plus additional tags for all objects:

Hospitals

GRC key GRC values meaning OSM tag Comments
All objects amenity=hospital
All objects healthcare=hospital
objectid=* We ignore it.
globalid=* We ignore it.
governorate=* Muhafazah (Governorate) where the health facility is located. addr:state=*. Check with local community, as not a single object in Lebanon has this tag yet
distric=* Qadaa (District) where the health facility is located. addr:province=*. Check with local community, as not a single object in Lebanon has this tag yet
cadaster=* Check what this means. To be decided.
type=* Check what this means. To be decided.
name=* Name of the facility. name=*
administration=* Check what this means. To be decided.
landline=* Phone number(s). contact:phone=*
major=* Check what this means. To be decided.
services=* Check what this means. To be decided.
services_1=* Check what this means. To be decided.
services_2=* Check what this means. To be decided.
services_3=* Check what this means. To be decided.
services_4=* Check what this means. To be decided.
services_5=* Check what this means. To be decided.
services_6=* Check what this means. To be decided.
other=* Check what this means. To be decided.
equipment_1=* Check what this means. To be decided.
equipment_2=* Check what this means. To be decided.
other_equipment=* Check what this means. To be decided.
medicines=* Check what this means. To be decided.
medicines_1=* Check what this means. To be decided.
medicines_2=* Check what this means. To be decided.
medicines_3=* Check what this means. To be decided.
medicines_4=* Check what this means. To be decided.
other_medicines=* Check what this means. To be decided.
er=* Check what this means. To be decided.
icu=* Check what this means. To be decided.
ccu=* Check what this means. To be decided.
emergency=* If it has or not emergency service emergency=yes/no
helicopters=* It has helicopters available. To be decided.
icn=* Check what this means. To be decided.
others_type=* Check what this means. To be decided.
comments=* Check what this means. It might go into a note=*.
x=* longitude.
y=* latitude.

Health Centers

GRC key GRC values meaning OSM tag Comments
objectid=* We ignore it.
globalid=* We ignore it.
governorate=* Muhafazah (Governorate) where the health facility is located. addr:state=*. Check with local community, as not a single object in Lebanon has this tag yet
distric=* Qadaa (District). addr:province=*. Check with local community, as not a single object in Lebanon has this tag yet
cadaster=* Check what this means. To be decided.
type=* Check what this means. To be decided. This tag can be key, as it can tell which healthcare=* and/or amenity=* tag values correspond to each health center in the file.
name=* Name of the facility. name=*
administration=* Check what this means. To be decided.
landline=* Phone number(s). contact:phone=*
major=* Check what this means. To be decided.
services=* Check what this means. To be decided.
services_1 (surgery)=* General surgery available? healthcare:speciality=surgery This tag can add to its value, separated by ;, the info of any of the next 5 tags (services_2 to 6)
services_2 (Accidents surgery)=* Accident and emergency medicine? healthcare:speciality=emergency
services_3 (splinting)=* Check what this means. To be decided.
services_4 (Broken Bones)=* Surgery of bones trauma? healthcare:speciality=orthopaedics or healthcare:speciality=trauma
services_5 (Bleedings stop)=* Surgery to stop bleeding? It could be again healthcare:speciality=emergency
services_6 (Birth)=* Obstetrics and gynaecology? healthcare:speciality=gynaecology
other=* Check what this means. To be decided.
equipment=* Check what this means. To be decided.
other_equipment=* Check what this means. To be decided.
equipment_1=* Check what this means. To be decided.
equipment_2=* Check what this means. To be decided.
medicines=* Check what this means. To be decided.
medicines_1=* Check what this means. To be decided.
medicines_2=* Check what this means. To be decided.
medicines_3=* Check what this means. To be decided.
medicines_4=* Check what this means. To be decided.
other_medicines=* Check what this means. To be decided.
bed_nb=* Beds number? beds=*
er=* Check what this means. To be decided.
bed_er=* Check what this means. To be decided.
emergency=* If it has or not emergency service emergency=yes/no
working_days=* Days open to public? Part of opening_hours=*
start_time=* Time starts service? Part of opening_hours=*
end_time=* Time ends service? Part of opening_hours=*
drs_num=* Number of doctors? staff_count:doctors=*
nur_num=* Number of nurses? staff_count:nurses=*
patient_max=* Max number of patients? capacity=* ?
sanitation_num=* Check what this means. To be decided.
sanitation_cond=* Check what this means. To be decided.
water_use=* Check what this means. To be decided.
water_usesource=* Check what this means. To be decided.
water_drink=* Check what this means. To be decided.
water_drinksource=* Check what this means. To be decided.
x=* longitude.
y=* latitude.

Laboratories

GRC key GRC values meaning OSM tag Comments
All objects healthcare=laboratory
objectid=* We ignore it.
globalid=* We ignore it.
governorate=* Muhafazah (Governorate) where the health facility is located. addr:state=*. Check with local community, as not a single object in Lebanon has this tag yet
distric=* Qadaa (District) where the health facility is located. addr:province=*. Check with local community, as not a single object in Lebanon has this tag yet
cadaster=* Check what this means. To be decided.
type=* Check what this means. To be decided.
name=* Name of the facility. name=*
administration=* Check what this means. To be decided.
landline=* Phone number(s). contact:phone=*
blood_bank=* If it has a blood bank. To be decided.
x_ray=* If it has an x-ray facility. To be decided.
working_days=* Days open to public? Part of opening_hours=*
start_time=* Time starts service? Part of opening_hours=*
end_time=* Time ends service? Part of opening_hours=*
comments=* Check what this means. It might go into a note=*.
x=* longitude.
y=* latitude.

Pharmacies

GRC key GRC values meaning OSM tag Comments
All objects amenity=pharmacy
objectid=* We ignore it.
globalid=* We ignore it.
governorate=* Muhafazah (Governorate) where the health facility is located. addr:state=*. Check with local community, as not a single object in Lebanon has this tag yet
distric=* Qadaa (District) where the health facility is located. addr:province=*. Check with local community, as not a single object in Lebanon has this tag yet
cadaster=* Check what this means. To be decided.
company_name=* Check what this means. To be decided.
landline=* Phone number(s). contact:phone=*
employees_num=* Number of employees. We ignore it.
floor_num=* Level (ground floor, 1st floor, etc) where the pharmacy is located? level=*
working_hours=* Number of hours the service is open each working day. Seems to be redundant, because it is closing_time=* - opening_time=* Part of opening_hours=*
working_days=* Days open to public. Part of opening_hours=*
opening_time=* Time the pharmacy opens. Part of opening_hours=*
closing_time=* Time the pharmacy closes. Part of opening_hours=*
verification_status=* This is important to know its meaning. It doesn't seem it will translate into any tag. Could be a fixme=Vérifiez, SVP
availability_=* Check what this means. To be decided.
x=* longitude.
y=* latitude.

All objects

Apart from the specific tags for each health facility, we will add the following tag to each node:

Changeset tags

We will use the following changeset tags:

where:

  • imageryProvider = Maxar, Bing, Maxar;Bing or whatever other list of imagery providers used while importing the data.
  • NUMBEROFPROJECT is the Tasking Manager project number.

Example:

Data transformation

  1. The original files (in csv format) were opened with JOSM + Open Data plugin, and saved in osm format.
  2. We deleted all non-relevant tags and translated the info of the rest to produce the proposed tags.

Data transformation results

You can [(url for data) download here the zip file with all 2,644 resulting nodes].

Data merge workflow

Team approach

This import (data integration) will be done through the HOT Tasking Manager, and the number of team members importing the data is (place here the number).

Team member will be trained to:

  • Edit with JOSM: Select and Draw modes, manage layers, changeset comments, etc.
  • Access and use the Tasking Manager.
  • Use of filters. (we'll see if necessary)
  • Merge layers.
  • Merge a node with another node (M) and merge a node info into a way (Replace Geometry tool (Ctrl+Shift+G).
  • Use the ToDo JOSM plugin.
  • Deal with conflicts, if any arise during the import.

References

Following the imports guidelines, this import will be discussed first in the local Lebanese OSM mailing list, and to get more feedback it will also be shared with the HOT mailing list.

With the inputs from those lists, a thread will be opened in the imports list.

Workflow

We will use the JOSM editor for this import.

Step by step instructions

There are several ways to reach the same results. We have tried to find the simplest one, the less error-prone and the one that assures a higher level of consistency across different import team members. The proposed workflow is as follows:

  1. Choose one task of one of the TM import projects. The user (team member) will be presented with 2 sets of data (the OSM data and the new German Red Cross health facility nodes to be imported) for the task square in two different layers, that we will merge into only one layer.

(To be continued, once an in-depth assessment of the whole dataset is done)

A detailed [(here the url) workflow wiki] can be read here.

Changeset policy

Changesets will be small in size, so no issues expected in this respect.

Revert plan

If something goes wrong, JOSM reverter will be used.

Conflation

Conflation is explained in the import workflow wiki, in the [(one url) (Title of the section)] and [(another url) (Title of another section] sections.

The import workflow will basically keep the tagging and/or location of the existing OSM health facilities, unless the German Red Cross equivalent is has more info to add, or has some other info that needs to be corrected.

QA

Validation of the import will be done by a second team member in the Tasking Manager.

(add here categories)