BBahmni 한국어 매뉴얼검색
한국어 번역 완료
한국어English

v0.92 또는 v0.93에서 Bahmni 원격진료 기능 설정

기능 소개

Bahmni 원격진료 기능 릴리스는 기존 Bahmni 0.92 버전 시스템에 배포하거나 설치할 수 있는 산출물 모음입니다. 이 산출물을 설치하면 Bahmni를 사용하는 의료진이 화상 원격진료 예약을 잡을 수 있습니다.

기능 목록

  • 화상 원격진료 예약 잡기
    save_teleconsulation.png
  • 환자의 이메일 주소로 예약 확인 및 링크 보내기
    email.png

환자 대시보드에서 원격진료를 시작합니다.

join_teleconsultation.png

데모 영상

https://www.youtube.com/watch?v=cLxmGHshCzI

Bahmni 0.92에서 원격진료 기능 설정하기 — 사전 요구 사항

  • 지원되는 Bahmni 버전은 0.92입니다. 최신 버전으로 업그레이드하는 방법은 ‘CentOS에 Bahmni 설치’를 참고하십시오.
관련 문서: CentOS에 Bahmni 설치

전제 조건

  • 롤백하려면 이전 산출물을 수동으로 다시 배포합니다. 이 기능은 완전한 롤백을 지원합니다.

원격진료 기능 배포 단계

  1. CentOS에 Bahmni 설치’를 따라 Bahmni 0.92 버전을 설치합니다. appointment omod를 다운로드하여 /opt/openmrs/modules/ 디렉터리에 넣습니다. bahmniapps.zip을 다운로드하고 압축을 푼 뒤, 기존 bahmniapps를 교체하도록 /var/www/에 넣습니다.
#Download appoitment omod
yum install https://github.com/Bahmni-Covid19/openmrs-module-appointments/releases/download/Release_v1/appointments-1.2.3.omod

mv appointments-1.2.3.omod /opt/openmrs/modules/
chown bahmni:bahmni /opt/openmrs/modules/appointments-1.2.3.omod
#Download bahmniapps.zip
yum install https://github.com/Bahmni-Covid19/openmrs-module-appointments/releases/download/Release_v1/bahmniapps.zip

unzip bahmniapps.zip -d bahmniapps
mv bahmniapps /var/www/
chown bahmni:bahmni /var/www/bahmniapps

다음 단계: bahmni_config에서 일부 원격진료 설정을 표시하려면 다음 작업을 수동으로 수행해야 합니다.

  1. /var/www/bahmni_config/openmrs/apps/customDisplayControl/js/customControl.js 파일의 patientAppointmentsDashboard 지시문 아래에서 다음 내용을 교체합니다. /var/www/bahmni_config/openmrs/apps/customDisplayControl/views/patientAppointmentsDashboard.html 파일에서는 다음 헤더와 그 내용을 교체합니다:
    $q.all([getUpcomingAppointments(), getPastAppointments()]).then(function (response) {
                $scope.upcomingAppointments = response[0].data;
                 $scope.upcomingAppointmentsHeadings = _.keys($scope.upcomingAppointments[0]);
                $scope.pastAppointments = response[1].data;
                $scope.pastAppointmentsHeadings = _.keys($scope.pastAppointments[0]);
            });
            $scope.goToListView = function () {
                $window.open('/bahmni/appointments/#/home/manage/appointments/list');
            };
    var convertUTCtoLocal = function (start_date_time, end_date_time) {
                var date = Bahmni.Common.Util.DateUtil.formatDateWithoutTime(start_date_time);
                var timeSlot = Bahmni.Common.Util.DateUtil.formatTime(start_date_time) + " - " + Bahmni.Common.Util.DateUtil.formatTime(end_date_time);
                return [date, timeSlot];
            };
            $q.all([getUpcomingAppointments(), getPastAppointments()]).then(function (response) {
                $scope.upcomingAppointments = response[0].data;
                $scope.upcomingAppointmentsUUIDs = [];
                $scope.teleconsultationAppointments = [];
                for (var i=0; i<$scope.upcomingAppointments.length; i++) {
                    $scope.upcomingAppointmentsUUIDs[i] = $scope.upcomingAppointments[i].uuid;
                    $scope.teleconsultationAppointments[i] = $scope.upcomingAppointments[i].DASHBOARD_APPOINTMENTS_TELECONSULTATION;
                    delete $scope.upcomingAppointments[i].uuid;
                    delete $scope.upcomingAppointments[i].DASHBOARD_APPOINTMENTS_TELECONSULTATION;
                    const [date, timeSlot] = convertUTCtoLocal($scope.upcomingAppointments[i].DASHBOARD_APPOINTMENTS_START_DATE_KEY, $scope.upcomingAppointments[i].DASHBOARD_APPOINTMENTS_END_DATE_KEY);
                    delete $scope.upcomingAppointments[i].DASHBOARD_APPOINTMENTS_START_DATE_KEY;
                    delete $scope.upcomingAppointments[i].DASHBOARD_APPOINTMENTS_END_DATE_KEY;
                    $scope.upcomingAppointments[i].DASHBOARD_APPOINTMENTS_DATE_KEY = date;
                    $scope.upcomingAppointments[i].DASHBOARD_APPOINTMENTS_SLOT_KEY = timeSlot;
                }
                $scope.upcomingAppointmentsHeadings = _.keys($scope.upcomingAppointments[0]);
                $scope.pastAppointments = response[1].data;
                $scope.pastAppointmentsHeadings = _.keys($scope.pastAppointments[0]);
            });
            $scope.goToListView = function () {
                $window.open('/bahmni/appointments/#/home/manage/appointments/list');
            };
            $scope.openJitsiMeet = function (appointmentIndex) {
                var jitsiMeetingId = $scope.upcomingAppointmentsUUIDs[appointmentIndex];
                appService.setTeleConsultationVars(jitsiMeetingId, true);
            };
            $scope.showJoinTeleconsultationOption = function (appointmentIndex) {
                return $scope.upcomingAppointments[appointmentIndex].DASHBOARD_APPOINTMENTS_STATUS_KEY == 'Scheduled' &&
                        $scope.teleconsultationAppointments[appointmentIndex];
            }
  2. Join Teleconsultation
    <th>
              Join Teleconsultation
          </th>
  3. ]]>
    <button style="background: #669998; color: white;" ng-if="showJoinTeleconsultationOption($index)" ng-click="openJitsiMeet($index)">
             Join Teleconsultation
     </button>
    html.png
  4. Join Teleconsultation
  5. ]]>

/var/www/bahmni_config/openmrs/apps/registration/app.json 파일을 수정하여 다음 내용을 추가합니다.

  • config/attributes 아래:
    "cluster",
     "email"
    config.png
  • fieldValidations 아래에 추가합니다.

()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,4})$", "errorMessage" : "Should be a valid email address"}, ]]>이메일 시스템 설정 방법

"email" : {"pattern" : "^(?=.{1,40}$)(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,4})$", "errorMessage" : "Should be a valid email address"},
field_validation.png
  1. /opt/openmrs/에 email-notification.properties라는 파일을 만듭니다. 파일에 다음 내용을 넣고 이메일 서버 속성에 맞게 수정합니다.

다음 링크는 개인 Gmail 계정을 이메일 시스템용으로 설정하는 데 도움이 됩니다.

smtp.from.email.address=
smtp.from.name=
smtp.host=
smtp.port=
smtp.ssl=
smtp.username=
smtp.password=

https://support.google.com/a/answer/176600?hl=en#zippy=%2Cuse-the-gmail-smtp-server

3. 원격진료의 이메일 전송 기능이 꺼져 있으면 Check and Save 버튼을 클릭할 때 UI에 다음 경고가 표시됩니다.

Screenshot 2023-02-06 at 10.25.20 AM.png

이메일 전송 기능을 활성화하려면 OpenMRS 전역 속성에서 bahmni.appointment.teleConsultation.sendEmail을 true로 설정합니다.

복구 방법(원격진료 기능 설치 전의 원래 상태로 시스템 복원)

  1. 설치 단계를 진행하기 전에 다음 항목을 백업하십시오: /opt/openmrs/modules/ 폴더의 appointments omod, /var/www/ 폴더 아래의 bahmniapps 디렉터리, /var/www/ 폴더 아래의 bahmni_config 디렉터리.

기능을 되돌리려면 위에서 백업한 appointments omod, bahmniapps 및 bahmni_config 디렉터리를 복원하고 openmrs 서비스를 다시 시작하십시오.

원격진료 서버 구성

원격진료 링크의 서버 URL 패턴을 구성할 수 있습니다.

/Administration => Advance Settings로 이동하여 속성을 편집합니다.

위의 자리표시자 {0}은 원격진료 링크의 고유 ID로 대체됩니다.

문의:

Praveena Dayanand<praveena.dayanand@thoughtworks.com>

Adhavan Kp<adhavan.kp@thoughtworks.com>

Ruchika Bhargava<ruchikab@thoughtworks.com>

Swati Gogia<swatigogia openers id>

원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗