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

Bahmni Mart 자주 묻는 질문(FAQ)

질문을 입력하십시오

설치 FAQ

Q1. bahmni-mart 개발 환경은 어떻게 설정합니까?

A: 저장소를 복제한 뒤 다음 절차를 따릅니다.

  • /src/main/resources/application-dev.properties와 /bahmni-mart/src/test/resources/application-test.properties에 해당 Vagrant IP와 필요 시 암호를 설정합니다.
  • 사용 중인 IDE에서 로컬 Vagrant 데이터베이스에 연결합니다.관련 문서: Connect
  • MySQL에서 /scripts/dev/testMysql.sql과 sudo mysql -pP@ssw0rd123 -e "GRANT ALL ON test_openmrs.* to'test_user'@'localhost';FLUSH PRIVILEGES;"를 실행합니다.
  • PostgreSQL에서 /scripts/dev/psqlTestSetup.sql과 psql -U test_user test_analytics -c "CREATE SCHEMA bahmni_mart_scdf;"를 실행합니다.
  • 애플리케이션을 실행해 bahmni-mart를 시작합니다.
    image.png

Q2. 로컬에 Mart를 설치하고 Vagrant 또는 다른 환경의 Bahmni에 연결하려면 어떻게 합니까?

A: 현재 Mart는 CentOS 환경에만 설치할 수 있습니다.

위 답변처럼 IDE에서 bahmni-mart를 구성하고 애플리케이션을 실행할 수 있습니다.

Q3. Ansible Playbook으로 Metabase 없이 Mart를 설치하려면 어떻게 합니까?

A: bahmni-mart 인벤토리 파일에서 Metabase 항목을 제거합니다. 경로는 /etc/bahmni-mart-playbook/inventories/bahmni-mart입니다.

Q4. Mart 사전 요구 사항인 PostgreSQL 버전은 무엇입니까?

A: Bahmni >=0.89 및 <0.92에는 PostgreSQL 9.2를 설치합니다.

Bahmni >=0.92에는 PostgreSQL 9.6을 설치합니다.

Q5. 특정 구현에서 기본 Mart 구성을 재정의하려면 어떻게 합니까?

A: 재정의한 bahmni-mart.json을 구현 환경의 `/var/www/bahmni_config/bahmni-mart/`에 놓습니다.

Q6. Mart를 시작하려면 무엇을 참고합니까?

A: Bahmni Mart 설치 및 설정 문서를 참고하십시오.관련 문서: Bahmni Mart Installation Setup

Q7. 분석 표를 보고 Mart를 연결할 권장 DB 도구는 무엇입니까? A: MySQL Workbench 및 DBeaver용 Bahmni-Mart 설정 문서를 참고하십시오.관련 문서: https://msfprojects.atlassian.net/wiki/spaces/BAH/pages/330137766/Bahmni-Mart+Setup+with+MySQLWorkbench+DBeaverMySQL Workbench 및 DBeaver로 Bahmni-Mart 설정

Q8. Mart 작업은 어떻게 구성합니까? A: Bahmni-Mart JSON 파일 문서를 참고하십시오.관련 문서: https://msfprojects.atlassian.net/wiki/spaces/BAH/pages/342097921/Bahmni-Mart+Json+File

Q9. 서버의 mart.json 파일은 어디에 있습니까?

A: /var/www/bahmni_config/bahmni-mart/bahmni-mart.json

일반 FAQ

Q1. MySQL/PostgreSQL 연결 불가 또는 Communication link failure를 해결하려면 어떻게 합니까?

A: MySQL과 PostgreSQL 서버를 다시 시작하고 올바른 암호로 연결하는지 확인합니다.

Q2. Mart 표에서 열을 제외하려면 어떻게 합니까? A: Mart 표를 만들 때 OpenMRS 표에서 원하지 않는 필드를 "columnsToIgnore"에 추가합니다.

Q3. Microbiology 같은 작업이 메모리 부족으로 실패하면 어떻게 합니까? A: Bahmni Mart는 작업 데이터를 읽어 분석 DB로 보내기 전까지 메모리에 보관합니다. 특정 작업의 데이터가 매우 크면 오버플로가 발생할 수 있습니다. 현재 orders를 제외한 모든 작업에는 스트리밍 지원이 없으므로 기능 개선을 요청해야 합니다.

Q4. 필요 없는 작업을 bahmni-mart.json에서 제거해도 됩니까? A: 예. 원하지 않는 작업 구성을 안전하게 삭제하거나 추가할 수 있습니다.

Q5. Mart 실행 중 View가 실패하면 무엇을 확인합니까?

A: 해당 구성이 Mart에 있는지 확인합니다. 예를 들어 구현에 등록 두 번째 페이지가 없으면 관련 View가 실패합니다.

Q6. Mart가 지원하는 데이터베이스는 무엇입니까?

A: PostgreSQL만 지원합니다.

Q7. Custom SQL과 SQL 파일은 언제 사용합니까? A: 여러 작업이 공통 쿼리를 사용한다면 별도 SQL 파일을 만들고 type을 customSql, sourceFilePath를 SQL 파일 경로로 지정합니다.

그렇지 않으면 type에 customSql을 지정하고 readerSql에 실행할 SQL을 작성합니다.

Q8. 증분 로드가 작동하지 않고 항상 전체 로드되는 이유는 무엇입니까? A: 증분 로드는 OpenMRS가 게시한 Atom Feed 이벤트에 의존합니다. 사용 여부를 켜고 끌 수 있으며 이벤트 게시 스케줄러는 OpenMRS 관리자 ‘Manage scheduler’ 페이지에서 구성합니다.

"OpenMRS event publisher task" 스케줄러가 정상 실행되는지 확인하십시오. Q9. 로그 파일은 어디에 있습니까? A: /var/log/bahmni-mart에서 찾습니다. Q10. 실행 중인 Mart를 중지하려면 어떻게 합니까? A: 아직 답변되지 않았습니다.

Q11. 작업 하나가 실패하면 어떻게 됩니까? A: 오류는 bahmni-mart 로그에 기록되지만 Mart는 중지되지 않으며 다른 작업은 계속 실행됩니다.

기술 FAQ

Q1. Bahmni Mart의 값 데이터 유형은 OpenMRS와 비교해 어떻게 달라집니까? A: 아직 답변되지 않았습니다.

Q1: How Does the data type of the values change in Bahmni mart compare to openmrs?

Q2. 불리언 값은 Bahmni Mart 표에 어떻게 저장됩니까?

A: 아직 답변되지 않았습니다.

Q3. Mart의 Form 1과 Form 2 차이는 무엇입니까?

A: Form 1과 Form 2 표 모두 입력된 관찰 항목을 포함합니다.

Form 1 표에는 양식 개념의 OpenMRS obs id를 담는 "id_formName" 열이 있습니다.

Form 2 표에는 양식 이름을 담는 "form_field_path" 열이 있습니다.

Q3. form_field_path와 reference_form_field_path는 무엇입니까? A: add-more/multi-select 개념이나 영역에 별도 표를 만들 때 사용되는 열입니다.

"form_field_path"에는 양식 이름, 컨트롤 ID, add more로 추가된 전체 컨트롤 중 해당 컨트롤 순번이 들어갑니다. 즉 영역에서 관찰까지의 경로입니다.

"reference_form_field_path"에는 양식 안의 영역 경로, 즉 양식 이름에서 영역 컨트롤까지의 경로가 들어갑니다.

Q4. SQL이 올바른데 customSQL 작업이 구문 오류로 실패하는 이유는 무엇입니까? A: columnsToIgnore 구성 때문일 수 있습니다. Mart는 jsqlparser로 쿼리를 분석해 제외할 열을 제거합니다. 최외곽 SELECT가 집계 함수 등으로 복잡하면 분석에 실패할 수 있습니다. 최외곽 SELECT를 단순화하거나 SQL에서 불필요한 열을 직접 제거해 columnsToIgnore가 필요 없게 하십시오.

Q5. FileNotFoundException으로 Mart가 실패하면 어떻게 합니까? A: /var/www/bahmni_config에 bahmni-mart.json이 있는지 확인합니다. 없다면 /etc/bahmni-mart/conf에서 심볼릭 링크를 만듭니다.

java.io.FileNotFoundException: /var/www/bahmni_config/bahmni-mart/bahmni-mart.json

ln -s /etc/bahmni-mart/conf bahmni-mart.

보통 구성을 업데이트하면 심볼릭 링크가 제거됩니다.

Q6. java.sql.SQLException과 DB 연결 실패가 발생하는 이유는 무엇입니까? A: /etc/bahmni-mart-playbook/setup.yml의 OpenMRS 및 analytics DB 암호를 확인합니다. 변경이 필요하면 setup.yml을 수정하고 Mart 설치를 다시 실행합니다.

기능 FAQ

Q1. Bahmni Mart는 특정 날짜 이후의 데이터만 사용할 수 있습니까? A: 예. marker 표를 수정해 특정 날짜부터 데이터를 사용할 수 있습니다.

Q1. Does Bahmni-mart consider data from any specific date ?

Q2. 그룹 작업의 증분 업데이트 구성 등을 변경하려면 어떻게 합니까?

A: 자체 Mart 코드를 관리한다면 해당 그룹 작업 구성에서 수정합니다. 모든 그룹 작업 JSON은 /src/main/resources/groupedJobs에 있습니다.

또는

Mart 코드를 제어할 수 없다면 해당 그룹 작업 JSON 내용을 /var/www/bahmni_config/bahmni-mart/bahmni-mart.json에 복사하고 필요한 부분을 수정합니다.

Q3. 별도 표 구성은 무엇에 사용합니까?

A: AddMoreAndMultiSelect를 true로 설정하면 모든 multi-select 및 add more 개념에 새 표를 만들 수 있습니다.

Q4. multi-select나 add more가 아닌 개념에 별도 표를 만들려면 어떻게 합니까?

A: JSON의 "separateTables": []에 개념을 지정합니다.

Q5. 증분 로드 대신 전체 로드만 실행해야 하는 경우가 있습니까?

A: bahmni-mart.json을 변경했다면 Mart를 한 번 전체 로드한 뒤 진행합니다.

Q6. Mart가 성공했는데 analytics DB에 데이터가 없는 이유는 무엇입니까? A: 기본 증분 로드는 Bahmni/OpenMRS 이벤트를 사용합니다. 이벤트 생성이 늦거나 건너뛰면 데이터가 보이지 않을 수 있습니다. 주기적으로 전체 로드를 권장합니다. analytics DB에서 marker 표를 비우고 모든 표(스키마)를 삭제하면 안전하게 전체 로드할 수 있습니다.

Q7. Mart에 더 이상 Bahmni와 관련 없는 표가 남는 이유는 무엇입니까?

A: 양식 이름 변경 같은 메타데이터 변경 시 Mart가 오래된 표를 자동 삭제하지 못합니다. Bahmni 메타데이터나 bahmni-mart.json 구성을 변경하면 전체 로드를 권장합니다.

Q8. 특정 구현에서 기본 Mart 구성을 재정의하려면 어떻게 합니까?

A: 재정의한 bahmni-mart.json을 구현 구성 경로에 놓습니다.

Q9. 전체 로드와 증분 로드의 차이는 무엇입니까? A: 실행할 때마다 처음부터 데이터를 평탄화하는 것이 전체 로드이고, 이전 실행이 끝난 지점부터 처리하는 것이 증분 로드입니다.

예: 평탄화할 레코드가 100개이면 전체 로드는 매번 0부터 100까지 처리합니다.

증분 로드는 첫 실행이 50까지 끝났다면 두 번째 실행에서 0이 아닌 51부터 처리합니다.

Q10. Mart 표에 양식이 나타나지 않는 경우는 무엇입니까?

A: 다음 경우가 있습니다.

  • 양식에 중복 개념이 있으면 해당 양식 표 생성을 건너뜁니다.
  • 개념 이름이 50자를 넘으면 PostgreSQL이 표 생성을 건너뜁니다.

Q11. 분석 표에서 특수문자는 어떻게 처리됩니까? A: 밑줄(_)로 바뀝니다.

Q12. 전체 로드와 증분 로드를 어떻게 전환하며 무엇이 좋습니까? A: 작업별로 일부 작업만 증분 로드를 지원합니다. 자세한 내용은 Incremental Update 문서를 참고하십시오.관련 문서: 증분 업데이트

analytics DB에서 안내된 절차를 실행하면 Mart를 전체 로드할 수 있습니다.

참고: 이 절차는 서버에서 Mart를 한 번 이상 실행한 뒤에만 사용할 수 있습니다.

보안 FAQ

Q1. 민감한 환자 데이터가 분석 표로 전달되지 않게 하려면 어떻게 합니까?

A: 특정 개념을 columnsToIgnore에 추가하면 해당 개념과 관련 데이터가 표시되지 않습니다.

"columnsToIgnore": [ ]

Q2. PostgreSQL 암호는 어디에서 구성합니까?

A: Mart를 실행하기 전 Playbook에서 구성합니다.

성능 FAQ

Q1. 사용자 정의 쿼리가 성능에 영향을 줍니까? A: 예. Mart 성능은 쿼리 크기와 JOIN 수에 따라 달라집니다.

Q1: Does custom query impact on performance?

Q2. Mart 실행에는 얼마나 걸립니까?

A: 주로 다음 두 요인에 따라 달라집니다.

  • bahmni-mart.json에 구성된 작업 수
  • OpenMRS 표의 데이터 양

Q3. Bahmni Mart는 증분 또는 전체 로드 중 어떤 방식으로 실행하는 것이 좋습니까?

A: 전체 또는 증분 로드는 사용 사례와 관찰 수에 따라 결정합니다.

첫 실행은 전체 로드이고 이후 실행은 증분 로드입니다.

메타데이터가 변경되었다면 전체 로드를 실행하는 것이 좋습니다.

원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗