Search... (alt + k)

Сборка IG и инструменты редактора

В данном разделе даны инструкции по использованию редактором различных инструментов, в том числе VS Code и FSH ONLINE.

  • Задача редактора – вносить в исходные тексты руководств по реализации FHIR изменения, принятые на встречах сообщества FHIR Ru.
  • Исходные тексты хранятся на GitHub, в проекте организации fhir-ru: https://github.com/fhir-ru, каждое руководство размещено в отдельном репозитории с названием, состоящим из Ru, кода руководства и IG, например RuCoreIG, RuLabIG и т.д.
  • Редактор должен иметь учетную запись на GitHub, у редактора должно быть право вносить изменения в ветку main. Права может выдать Николай Рыжиков.
  • Сообщество поддерживает в каждом руководстве только ветку main, все изменения вносятся непосредственно в неё.

  • Редактор может вносить изменения непосредственно в файлы через web-интерфейс GitHub. Однако, такой подход пригоден лишь для небольших изменений.
  • А.Павлышина: можно найти в репозитории нужный файл и нажать на клавиатуре клавишу с точкой (.), откроется редактор VSCode прямо в браузере. Там можно внести необходимые изменения в один или несколько файлов проекта и закоммитить их на третьей вкладке в левой навигации.
  • Дополнительные рекомендации можно посмотреть здесь

  • инсталлируем VS Code для своей ОС: https://code.visualstudio.com/download
  • устанавливаем расширение FHIR Shorthand и GitHub Codespaces
  • подключаемся к репозиторию GitHub
  • редактируем тексты локально, затем авторизуем изменения (commit) и отправляем в репозиторий (push)
  • Полезные команды VS Code (Mac)
    • Поиск текста в файле ‘Cmd + F’
    • Поиск / замена ‘Cmd + Alt + F’
    • Поиск по тексту в нескольких файлах ‘Сmd + Shift + F’
  • Как отправлять изменения в репозиторий
    • В разделе Source Control ввести message, после чего нажать кнопку "commit and push"
    • Если нажали commit с пустым message, то коммит переходит в ожидание, а на панели редактора открывается редактор сообщения. Надо его ввести и нажать галочку в заголовке редактора. Коммит продолжится.
    • Если коммит завис, что бывает при наличии встречных изменений, можно залить из терминала
      • git add .
      • git commit -m "My commit message"
      • git push origin main
    • Целесообразно открыть репозиторий на github и проверить что изменения пришли - проверить последний commit message

FSH ONLINE - это онлайн инструмент для описания FHIR-ресурсов на DSL-языке FHIR Shorthand.

  • На основе подготовленных описаний инструмент генерирует FHIR-артефакты в стандартной нотации через встроенный инструмент SUSHI.
  • При генерации осуществляется валидация структур данных и частично проверяются терминологии.
  • FSH online удобен, когда у редактора есть сомнения в синтаксисе, а sushi локально не установлен. В нем также есть примеры синтакиса для типовых артефактов.

  • Инсталляция: https://fshschool.org/docs/sushi/installation/
  • Позволяет валидировать синтаксис локально, до заливки в репозиторий

Для полноценной валидации можно использовать стандартный FHIR-валидатор: http://hl7.org/fhir/validation.html#jar. Он представляет из себя скачиваемое CLI-приложение, которое необходимо запускать локально на компьютере пользователя через командную строку.. Он представляет из себя скачиваемое CLI-приложение, которое необходимо запускать локально на компьютере пользователя через командную строку.

  • После отправки изменений в репозиторий сборка рабочей версии руководства начнется автоматически. Сборка занимает несколько минут.
  • Результат сборки (удача, неудача) виден на дэшборде: https://fhir.github.io/auto-ig-builder/
  • Если удача, руководство будет опубликовано на https://build.fhir.org/ig/fhir-ru/RuCoreIG/branches/main/index.html. Лог удачной сборки доступен здесь: https://build.fhir.org/ig/fhir-ru/RuCoreIG/build.log
  • Если неудача, смотри лог ошибок https://build.fhir.org/ig/fhir-ru/RuCoreIG/branches/main/failure/build.log Этот лог доступен также по кнопке из строки дэшборда. Важно! Замечено отставание во времени лога, лежащего по стандартному пути. Поэтому лучше открывать лог по ссылке из дэшборда.
  • При анализе лога ошибок
    • ошибка «не могу найти систему логирования» не существенна, игнорируем.
    • ошибки «невозможно поддержать систему кодирования» связаны с тем, что российские системы кодирования недоступны на tx.fhir.org, игнорируем.

  • В проекте https://github.com/fhir-ru, создать репозиторий с названием, состоящим из Ru, кода руководства и IG, например RuCoreIG, RuLabIG и т.д.
  • Инсталлировать в этом репозитории автосборщик https://github.com/FHIR/auto-ig-builder, следуя его инструкции
Наверх