Skip to content

Instantly share code, notes, and snippets.

atronah

Block or report user

Report or block atronah

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@atronah
atronah / eternity.py
Created Jan 10, 2020
Eternity log parser
View eternity.py
import csv
import datetime
import time
from itertools import groupby, chain
from functools import reduce
import click
def make_tree(data, group_indexes):
@atronah
atronah / exb_syncmanager_template.sql
Created Nov 12, 2019
РЕГИЗ.Справочники: Шаблон добавления правила загрузки справочника в SynManager
View exb_syncmanager_template.sql
/*
Скрипт добавления правила загрузки справочника из РЕГИЗ.
Загрузка подразумевается через `SyncManager.exe` в режиме `Справочнике FHIR (API)`
из Сервиса Терминологии РЕГИЗ:
- Web-интерфейс тестового стенда: `http://r78-rc.zdrav.netrika.ru/nsiui`
- RESTful Сервис тестового стенда: `http://r78-rc.zdrav.netrika.ru/nsi/fhir/term`
В скрипте необходимо заменить следующие `placeholder`-ы:
- <oid> - OID справочника
- <refbook_title> - Название справочника
@atronah
atronah / prc_refbook_loader_template.sql
Created Nov 12, 2019
РЕГИЗ.Справочники: Шаблон создания процедуры-обработчика загруженной версии справочника
View prc_refbook_loader_template.sql
/*
Скрипт создания процедуры-обработчика, который будет обновлять DICINFO-копию справочника на основе загруженной из РЕГИЗ новой версии.
Загрузка подразумевается через `SyncManager.exe` в режиме `Справочнике FHIR (API)`
из Сервиса Терминологии РЕГИЗ:
- Web-интерфейс тестового стенда: `http://r78-rc.zdrav.netrika.ru/nsiui`
- RESTful Сервис тестового стенда: `http://r78-rc.zdrav.netrika.ru/nsi/fhir/term`
В скрипте необходимо заменить следующие `placeholder`-ы:
- <refbook_name> - Название справочника латиницей с учетом ограничения именования объектов в СУБД FB
*/
@atronah
atronah / tbl_for_load_template.sql
Created Nov 12, 2019
РЕГИЗ.Справочники: Шаблон создания таблицы загрузки справочнкика
View tbl_for_load_template.sql
/*
Скрипт создания таблицы, в которую будут грузиться все версии справочника.
Загрузка подразумевается через `SyncManager.exe` в режиме `Справочнике FHIR (API)`
из Сервиса Терминологии РЕГИЗ:
- Web-интерфейс тестового стенда: `http://r78-rc.zdrav.netrika.ru/nsiui`
- RESTful Сервис тестового стенда: `http://r78-rc.zdrav.netrika.ru/nsi/fhir/term`
В скрипте необходимо заменить следующие `placeholder`-ы:
- <oid> - OID справочника
- <refbook_title> - Название справочника
@atronah
atronah / exb_create_refbook_template.sql
Last active Nov 12, 2019
РЕГИЗ.Справочники: Шаблон создания DICINFO-копии справочника
View exb_create_refbook_template.sql
/*
Скрипт создания DICINFO-копии, в которой будут значения из последней загруженной и обработанной версии справочника РЕГИЗ.
Данный справочник предполагается использовать в МИС (как справочник параметров ИБ, как классификатор НСИ, как справочник для выболра значений в атрибуте сущности и т.д.).
**Внимание:** В данном скрипте поиск справочника среди имеющихся в МИС осуществляется по `REFDIC.REFCODE = :OID`
(в новых версиях, вероятно, стоит использовать `REFDIC.OID = :OID`)
Загрузка подразумевается через `SyncManager.exe` в режиме `Справочнике FHIR (API)`
из Сервиса Терминологии РЕГИЗ:
@atronah
atronah / check_possibility_of_flights_between_airports.sql
Last active Oct 5, 2019
PostgreSQL query for calculating possibility of flights between airports
View check_possibility_of_flights_between_airports.sql
select
-- `distinct on` statement is required to exclude duplicate lines with return flights
distinct on (least(depart.arport_code, arrival.airport_code)
, greatest(depart.arport_code, arrival.airport_code))
depart.arport_name
, arrival.airport_name
, 6371 -- Earth radius
* acos(-- sin(latitude_a) * sin(latitude_b)
sin(depart.coordinates[0]) * sin(arriv.coordinates[1])
-- cos(latitude_a) * cos(latitude_b)
@atronah
atronah / mysql.func.getDamerauLevenshtein.sql
Last active Sep 11, 2018
MySQL function for calculating Domerau-Levenshtein distance
View mysql.func.getDamerauLevenshtein.sql
CREATE FUNCTION `getDamerauLevenshtein`(s1 VARCHAR(128) CHARSET utf8, s2 VARCHAR(128) CHARSET utf8) RETURNS int(11)
DETERMINISTIC
COMMENT 'Returns Domerau-Levenshtein distance, i.e. minimal number of char operations (cut, paste, replace, transposition) for two string'
BEGIN
DECLARE resultDistance INT(11);
DECLARE currRow INT; -- current row of matrix (0 .. LENGTH(s1))
DECLARE currColumn INT; -- current column of matrix (0 .. LENGTH(s2))
DECLARE s1Length INT; -- first\left\s1 string length
DECLARE s2Length INT; -- second\right\s2 string length
DECLARE replaceDistance INT; -- current distance for replace operation
View keybase.md

Keybase proof

I hereby claim:

  • I am atronah on github.
  • I am atronah (https://keybase.io/atronah) on keybase.
  • I have a public key whose fingerprint is D577 343D 0498 7C9D BD1E 3957 4FBE B649 04E9 F6EE

To claim this, I am signing this object:

You can’t perform that action at this time.