Apteki

Marek-M rozbudował moje zapytanie, ja rozbudowałem jego zapytanie i wyszedł całkiem fajny przegląd stanu aptek w OSM:
https://overpass-turbo.eu/s/1gLx
(tu ograniczony do podkarpackiego i lubelskiego, ale pójdzie i dla całej Polski, 3MB danych zwraca OIDP (EDIT: już 4MB :wink: )). Można też, oczywiście, ograniczyć do jednego powiatu.
Przede wszystkim w kwestii powiązania z rejestrem Ministerstwa Zdrowia (CSIOZ):
https://rejestrymedyczne.ezdrowie.gov.pl/registry/ra
(aktualizowany codziennie, zawiera wszystkie apteki wydające leki na receptę, więc powiązanie z nim umożliwia sprawdzenie, czy apteka aktualnie funkcjonuje).

Legenda:
czerwona kropa - apteka nie powiązania z CSIOZ
różowa (magenta) kropa - apteka nie powiązania z CSIOZ, ale posiadająca godziny otwarcia
szara kropa - apteka nie powiązana z CSIOZ, ale mająca wpisane dispensing=no, czyli niby nie realizująca recept. Na ogól do sprawdzenia i poprawy, ale np. w Rowach w pomorskiem takie coś rzeczywiście funkcjonuje. Zwykle jednak, jeśli nic pod tym adresem nie ma w rejestrze, po bliższym przyjrzeniu okazuje się, że jest tam sklep zielarski (shop=herbalist) lub drogeria (shop=chemist) i takie coś należy ustawić zamiast amenity=pharmacy.
czarna kropa - apteka powiązana z CSIOZ
zielona kropa - apteka powiązana z CSIOZ i dodatkowo mająca wpisane godziny otwarcia. Taki ideał :wink:

Dodatkowo wyłapuje następujące obiekty wymagające szczególnej troski:
pomarańczowy placek - apteka z fixme
bladoniebieski placek - niewiadomoco z dodanym tagiem healthcare=pharmacy.

A jak wam się udało połączyć bazę CSIOZ z overpassem? Ja kiedyś chciałem dodać brakujące apteki we Wrocławiu (3 lata temu oszacowałem, że może brakować około stu), ale poddałem się przez bardzo słabą wyszukiwarkę na ich stronie i konieczność ręcznego dłubania.

Bazy nie są połączone - automatem byłoby to trudno wykonać. Zasadniczo apteki z bazy Ministerstwa Zdrowia są geolokalizowane na podstawie jej adresu w bazie i jeżeli jej lokalizacja jest możliwa do potwierdzenia (sporo aptek na szczęście już jest w OSM), to ten ref:csioz jest dodawany do takiej apteki ręcznie. Brak potwierdzenia lokalizacji skutkuje dodaniem fixme.

Jednak gdy apteka już posiada ref:csioz w OSM, to analizując nowe dane w bazie MZ takie apteki będzie później wyłapywać i przekształcać np. w disused:amenity, gdy zostanie ona zdezaktywowana/zamknięta

Również po uzupełnieniu większości aptek, to analizując nowe dane będzie można wyłapać nowopowstałe apteki, których brakuje w OSM.

GUGiK dostarczył dane z położeniem aptek z CSIOZ. Oczywiście zawiera to błędy (w tym apteki wewnętrzne szpitali i podobnych placówek, apteki zamknięte i na pewno jakieś braki - wiem o co najmniej jednej aptece, którą zGUBiLi, ale Voltairowicz ją wyniuchał), ale w tej chwili lecimy powiat za powiatem i dodajemy ref:csioz, lub całe apteki. Taki sobie cykl pracy dla każdego powiatu wyrobiłem w trakcie pracy:

  1. usunąć warstwy danych w JOSM i filtry w arkuszu z rejestrem. Warstwy danych z JOSM usuwać też pomiędzy etapami, bo można za dużo zaznaczyć.
  2. import aptek z GUGiK https://github.com/openstreetmap-polska/ua_2022/tree/main/Roboczy/apteki
  3. usunięcie tymczasowych tagów aaa:* https://overpass-turbo.eu/s/1gV6 (mam skrypt w pythonie, który wyciąga z rejestru dodatkowe informacje, pozwalające w wielu wypadkach pominąć zaglądanie do rejestru, ten etap usuwa te informacje jeśli ich przypadkiem nie skasuję w trakcie)
  4. kontrola aptek, których nie było w GUGiK https://overpass-turbo.eu/s/1gJQ
  5. usunięcie aptek szpitalnych | https://rejestrymedyczne.ezdrowie.gov.pl/registry/ra
  6. usunięcie aptek nieaktywnych | https://docs.google.com/spreadsheets/d/1rPwXbLXEWo9gI90_acdGYiePUPhZuCzI1RIaY6LRXC0/edit?usp=sharing
  7. uzupełnienie tagu dispensing https://overpass-turbo.eu/s/1gJ7
  8. dodanie godzin otwarcia https://overpass-turbo.eu/s/1gHu (to jest najbardziej czasochłonne i niepewne, więc na razie zostawiam na później).

(linki przy punktach 4 i 5 są potrzebne do obu tych punktów, gsheet do generowania zapytań Overpassa trzeba sobie skopiować)

Kombinuję też nad sposobem uzyskania listy ref:csioz, które już są w OSM, żeby ją porównać z CSIOZ i w ten sposób wyłapać na koniec wszystkie apteki, które GUGiK zGUBił.

A jak już będziemy mieć ten ref:csioz dla wszystkich aptek, to przy jego wykorzystaniu, owszem, da się zmontować półautomat do uzupełniania aptek wg CSIOZ.