Print

Integracja z usługą GUS Teryt

Wprowadzenie

W wydaniu 230930 systemu AMODIT wprowadzamy możliwość integracji systemu z rejestrem danych terytorialnych Głównego Urzędu Statystycznego – GUS Teryt. Integracja ta umożliwia pobieranie danych dotyczących:

  • województw,
  • powiatów,
  • gmin,
  • miejscowości,
  • ulic.

Dane te mogą być np. wykorzystane do weryfikacji poprawności wprowadzonych danych na formularzach spraw w AMODIT.

Wprowadzenie tej integracji ułatwia projektowanie formularzy we wszystkich tych procesach, gdzie dane adresowe/terytorialne są wykorzystywane. Jednocześnie zdejmuje obowiązek z projektantów procesów tworzenia dedykowanych rozwiązań do przechowywania tego typu informacji, co zazwyczaj wiązało się z następującymi problemami:

  • tworzenie dedykowanych słowników lub rejestrów;
  • przechowywanie znaczących ilości danych, co wpływało na rozmiar bazy i pośrednio na wydajność systemu AMODIT;
  • problemy z utrzymaniem aktualności danych terytorialnych.

Wbudowanie w system AMODIT dedykowanej integracji z GUS Teryt w zasadzie rozwiązuje wszystkie wymienione powyżej problemy:

  • nie trzeba tworzyć żadnych dodatkowych słowników lub rejestrów, gdyż do systemu zostało dodane zewnętrzne, systemowe źródło danych o nazwie „GUS Teryt”, z którego korzysta się w polu typu odnośnik do źródła zewnętrznego;
  • źródło utrzymywane jest na serwerach Astrafox jako dedykowany serwis, z którym łączy się dana instancja systemu AMODIT – innymi słowy, w danej instalacji AMODIT nie jest przechowywana żadna kopia rejestru GUS Teryt. Dane są pobierane na żądanie.
  • za aktualizację danych terytorialnych odpowiada firma Astrafox, gdyż dane te są regularnie synchronizowane z usługami GUS.

Jak to działa?

Od strony użytkownika, obsługującego formularz sprawy w systemie AMODIT, zasadę działania integracji z GUS Teryt podamy na przykładzie wyszukania adresu siedziby firmy Astrafox, czyli ulicy Poloneza w Warszawie.

Załóżmy, że mamy taki fragment formularza, pokazany na poniższym obrazku.

Projektant procesu skonfigurował na formularzu sprawy pole np. o nazwie „Wyszukaj adres” ([1] na poniższym obrazku), które to pole połączone jest ze wspomnianym rejestrem GUS Teryt. Użytkownik wprowadza poszukiwaną frazę w polu, np. „polone”. System zwraca propozycje najbardziej pasujące do poszukiwanej frazy. Jeżeli użytkownik wybierze konkretną propozycję, to odpowiednie dane terytorialne zostaną pobrane.

W naszym przykładzie w celu zweryfikowania poprawności wyszukiwania projektant procesu dorzucił na formularzu dwa pola:

  • [2] pole „Wybrany adres” – zawiera wszystkie parametry techniczne znalezionego adresu.
  • [3] pole „Województwo” – zawiera tylko nazwę województwa dla znalezionego adresu.

Oczywiście w praktycznym zastosowaniu formularz mógłby być bardziej rozbudowany.

Jak to zostało skonfigurowane?

Wspomagając się powyższym przykładem od strony projektowej definicja formularza procesu wygląda następująco:

Najistotniejszym składnikiem jest pole [1] typu odnośnik do źródła zewnętrznego. Pole to musi być połączone z systemowym źródłem zewnętrznym o nazwie „GUS Teryt” [4].

Pozostałe dwa pola to są zwykłe pola tekstowe, a za ich wypełnienie odpowiada w tym przypadku reguła automatyczna o następującej treści:

[Wybrany adres] = [Wyszukaj adres]
[Województwo] = JsonPath( [Wyszukaj adres], "w" )

Należy pamiętać, że dane wybranego adresu zwracane są w formacie JSON i należy użyć funkcji JsonPAth() w celu „dobrania się” do poszczególnych elementów składowych adresu. Zawartość JSON dla powyższego przykładu wygląda następująco:

{"s":"0988833",
"su":"17021",
"c":"ul.",
"u":"Poloneza",
"m":"Warszawa",
"g":"Ursynów",
"p":"Warszawa",
"w":"MAZOWIECKIE"}

gdzie: s, su – identyfikatory pozycji w rejestrze GUS Teryt, c – rodzaj (ulica, aleja itp.), u – nazwa ulicy, m – nazwa miejscowości, g – nazwa gminy, p – nazwa powiatu, w – nazwa województwa.

Czy artykuł był pomocny?
0 na 5 gwiazdek
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we improve this article?
How Can We Improve This Article?