Skip to content

Latest commit

 

History

History
137 lines (92 loc) · 12.1 KB

CONTRIBUTING.md

File metadata and controls

137 lines (92 loc) · 12.1 KB

Как помочь «Заявлениям и жалобам»

Спасибо, что хотите помочь. Проект делают добровольцы, и любой вклад важен: исправленная фраза в заявлении, сверенный адресат, понятнее написанная подсказка

Вклад можно делать под псевдонимом

English below

Сначала о приватности

Всё, что вы пишете в issues, pull request и обсуждениях, видят все. Поэтому:

  • не пишите ФИО, диагнозы, адреса, телефоны и номера документов, даже свои
  • не прикладывайте настоящие заявления, жалобы, ответы медицинских организаций и ведомств, выписки, их фото и сканы. Даже с закрашенными данными
  • не пересказывайте чужую историю так, что человека можно узнать: город, больница, даты и диагноз вместе уже выдают его
  • не присылайте списки подопечных, пациентов или семей
  • если в сообщение случайно попали личные данные, отредактируйте его или напишите мейнтейнерам через кнопку «Report content», мы скроем

Нужен пример, чтобы показать ошибку? Придумайте его: «Иванова А. А., ул. Примерная, 1» вполне подойдёт

Чего здесь не будет

Инструмент сделан для одной семьи на одном устройстве. Мы не принимаем:

  • общий режим для нескольких клиентов, списки подопечных, карточки семей, метки и фильтры по чужим делам
  • отправку дел, документов и контактов на сервер, синхронизацию через облако, учётные записи
  • интеграции с CRM, мессенджерами, почтой и госсистемами
  • оценку шансов, медицинские и юридические советы

Всё, что вводит семья, остаётся в её браузере. Если вам нужен учёт для организации, это другой инструмент, и делать его в этом репо мы не будем

Кому что можно сделать

  • Юристу в РФ. Прочитать шаблоны документов в data/pack/documents/ и сказать, что в них неверно, лишнее или чего не хватает. Issue «Ошибка в документе» или pull request с меткой review:legal. Нормы и сроки живут в репо pal-norms, правка цитаты нормы делается там
  • Сотруднику НКО или хосписа. Проверить, понятно ли написаны сценарии и подсказки, совпадают ли каналы подачи с тем, как это работает на практике
  • Разработчику. Доступность, печать, работа без интернета, тесты. Задачи с меткой good first issue
  • Всем. Пройти один сценарий вместе с человеком старше 60 и написать, где он остановился или не понял. Это самый ценный вклад

Как поправить пакет шаблонов

Тексты документов, сценарии, адресаты, каналы подачи и вехи «Ребёнку скоро 18» лежат данными в data/. Что где, описано в data/README.md. Правка пакета идёт только через pull request, который смотрит человек

  1. Найдите нужный файл, например data/pack/documents/written-answer.yaml

  2. Внесите правку. Правила текста документа:

    • номер акта, статьи или пункта в текст не пишется. Ссылка на норму только так: {{norm:180n#p-16}}, и у блока обязательно есть fallback, запасная формулировка без нормы
    • срок в документ не пишется, только «в установленный срок». Дату ответа считает экран дела по правилам из pal-norms
    • без латиницы, названия проекта, названий препаратов и доз
  3. Проверьте пакет:

    uv run python -m pipeline.pack_lint

    Он объяснит по-русски, что не так. Ошибки нужно исправить, предупреждения norm_unverified значат, что норма в pal-norms ещё не сверена и в документ пойдёт запасная формулировка

  4. Если правка меняет текст документов, пересоберите фикстуры и эталоны: uv run python -m pipeline.fixtures, потом uv run pytest -q

  5. Откройте pull request и заполните чек-лист. Правки в data/pack/ смотрит юрист, метка review:legal

Свой пакет для своей организации можно проверить так же: uv run python -m pipeline.pack_lint путь/к/pack

Как устроен проект

Шесть репо, каждый собирается в статический сайт для GitHub Pages:

Репо Что внутри
openpalliative.github.io хаб: «Что случилось?», ситуации, «Сейчас», о проекте. Здесь же общий UI и сборщик opsite/
pal-norms нормы, дословные цитаты, сроки ответа, календарь
pal-devices-data кто выдаёт изделия и по какому документу
pal-directory номера и адресаты по регионам
obrashchenie-kit заявления и жалобы со сроками, этот репо
home-care-kit листы для дома и для скорой

Этот репо берёт нормы, сроки и календарь из pal-norms, регионы и ведомства из pal-directory. Снимки лежат в vendor/ и обновляются только через sync-data, руками их не правят

Внутри репо работа делится на зоны, чтобы правки не сталкивались:

  • данные: data/, pipeline/, raw/ и тесты данных
  • страницы: templates/, assets/, content/, lib/, e2e и скриншоты
  • инфраструктура: .github/, README.md, docs/, лицензии и эти файлы
  • общий UI: папка opsite/. Её правят только в хабе

Папка opsite/

opsite/ здесь это копия из хаба. Не меняйте её и не присылайте pull request с изменениями в opsite/, такие правки потеряются при следующей синхронизации. Нужна правка общего UI, присылайте её в хаб openpalliative.github.io. После слияния там:

sh scripts/sync-ui   # забирает копию из ../openpalliative.github.io

Ворота

Перед pull request прогоните:

sh scripts/gate.sh

Это uv sync, pnpm install, actionlint по workflows, pytest, pack_lint, сборка, opsite check (текст, ссылки, сеть, бюджеты), unit-тесты, e2e в headless-браузере и скриншоты. Pull request с красными воротами не сливаем

Правила для данных и текста

  • У каждой нормы есть источник: официальная публикация на publication.pravo.gov.ru. Цитата нормы только дословно, с eoNumber и ссылкой, и только в pal-norms
  • То, что не сверено с источником, помечаем verified: false, и это видно на странице. Номера, коды, сроки и пункты не придумываем и не подставляем «по памяти»
  • Шаблоны и тексты про права идут с плашкой «черновик, нужна проверка юристом в РФ»
  • Без длинных тире (пишем -), эмодзи, восклицательных знаков и капса
  • Без медицинских порогов, доз, названий препаратов и советов по лечению
  • Пишем просто и по-человечески, для человека в стрессе: «вы», короткие фразы, следующий шаг. Документ составляет человек, инструмент только помогает
  • Данные по территориям, которые линтер помечает правилом territory, не добавляем

opsite check, pipeline.pack_lint и uv run python -m opsite lint ловят большую часть этого автоматически

Как прислать правку

  1. Форкните репо и сделайте ветку
  2. Внесите правку в своей зоне и прогоните ворота
  3. Откройте pull request и заполните чек-лист в шаблоне: источник, verified, нет личных данных и настоящих документов
  4. Правки, которые видят семьи (тексты документов, адресаты, каналы, вехи), смотрит человек с меткой review:legal, снимки соседей и номера review:data

Лицензия вклада

Отправляя pull request, вы соглашаетесь, что код распространяется по MIT, а тексты и данные на условиях LICENSE-DATA этого репо

Поведение в проекте: CODE_OF_CONDUCT.md. Уязвимости: SECURITY.md


English

obrashchenie-kit helps families in Russia ask a hospital or an authority for a written answer, track the legal deadline and choose the next step. The interface is in Russian, but you can help without knowing it

  • Privacy first. Issues and pull requests are public. Never post names, diagnoses, addresses, phone numbers, document numbers, or real letters, complaints and replies (not even redacted scans). Use made-up examples
  • Single family, single device. We do not accept multi-client mode, lists of patients or families, server sync, accounts or CRM integrations
  • Template pack. Document texts live in data/pack/ as data. Change them only via pull request and run uv run python -m pipeline.pack_lint. Legal references go through {{norm:...}} placeholders with a fallback, never as literal article numbers. Lawyers in Russia: see the label review:legal
  • Zones. opsite/ (shared UI and site builder) is edited only in the hub repo openpalliative.github.io, then copied with scripts/sync-ui. Snapshots in vendor/ come from pal-norms and pal-directory and are never edited by hand
  • Gate. Run sh scripts/gate.sh before opening a pull request

Code is MIT, texts and data follow LICENSE-DATA. Pseudonymous contributions are welcome