Bahmni 보고 개요
소개
Bahmni에서는 여러 방식으로 보고 및 분석을 수행할 수 있습니다. 아래 다이어그램을 참조하십시오. OpenMRS 커뮤니티에서 진행하는 보고/분석 작업도 활용할 수 있습니다. 이 페이지의 사이드바에서 OpenMRS 링크를 확인하십시오.

Bahmni Reports 앱 또는 모듈은 홈 대시보드에서 접근할 수 있습니다. 일반적으로 Admin 사용자에게 보고서 앱 접근 권한이 있습니다. 구성된 보고서 목록이 앱 화면에 나타나며 사용자는 시작일, 종료일 및 출력 형식을 지정하여 보고서를 실행할 수 있습니다.
각 Bahmni 구현에는 자체 구성 모듈이 있습니다. Reports 앱에 필요한 보고서가 모두 표시되도록 구현 담당자가 올바르게 구성해야 합니다. 구성 파일은 구성 모듈의 openmrs/apps/reports 디렉터리에 있습니다.
Bahmni 보고서의 여러 활용 방식
- 표준 보고서는 관리 계층에 유용합니다.
- 사용자 지정 보고서는 백엔드 데이터베이스에서 데이터를 추출하여 여러 이해관계자가 다양한 사실을 분석하게 합니다.
Bahmni 보고 모듈이 지원하는 출력 형식
- HTML
- EXCEL
- Custom EXCEL(미리 정의된 매크로가 있는 Excel)
- CSV
- ODF(OpenOffice 형식)
Bahmni 보고서 유형
기성 및 사용자 지정 보고서에는 한계가 있습니다. 사용자 지정 보고서의 데이터를 추출하려면 구현 담당자가 OpenMRS 데이터 모델과 사용자 지정 SQL을 알아야 합니다. 고객 요청에 따라 개발자가 기성 보고서를 반복해서 만들고 유사한 보고서의 SQL을 복제하면 유지 관리 부담이 커지고 커뮤니티가 어려움을 겪습니다.
이를 해결하기 위해 Bahmni는 관찰, 방문, 프로그램 등 OpenMRS의 여러 엔터티에 대한 일반 보고서를 도입했습니다. 일반 보고서를 사용하면 각 엔터티의 데이터를 추출할 수 있으므로 Bahmni는 엔터티별 보고서를 제공합니다. 관련 필드를 포함하고 다양한 필터를 적용하는 옵션도 제공합니다. 자세한 내용은 관련 문서를 참조하십시오.
이 보고서들은 Bahmni에서 특정 정보 또는 미리 정의된 정보를 가져오는 데 사용할 수 있습니다. 구성 옵션은 제한적입니다. 자세한 내용은 관련 문서를 참조하십시오.
3. 사용자 지정 SQL
Bahmni는 구현 담당자가 시스템에서 데이터를 추출할 SQL을 지정하는 Custom SQL 보고서를 제공합니다. 하지만 데이터 원본의 전체 데이터 모델을 이해해야 하므로 어렵고 번거로울 수 있습니다. Custom SQL Reports는 이 문제를 해결하려고 합니다.
구성
"hospitalActivities": {
"name": "Hospital Activities - Number of Clients Served (New and Total)",
"type": "MRSGeneric",
"config": {
"sqlPath": "/var/www/bahmni_config/openmrs/reports/hmis/number_of_clients.sql"
}
}SQL 파일은 구성의 sqlPath에 따라 config의 적절한 폴더에 두어야 합니다.
Bahmni는 OpenMRS, OpenELIS, Odoo, BahmniMart 데이터 원본을 대상으로 CustomSQL Reports를 지원합니다.
| Type | Description |
|---|---|
| MRSGeneric | This type denotes that the SQL query is executed on OpenMRS |
| ElisGeneric | This type denotes that the SQL query is executed on OpenELIS |
| ERPGeneric | This type denotes that the SQL query is executed on Odoo/OpenERP |
| MartGeneric | This type denotes that the SQL query is executed on BahmniMart |
참고용으로 실제 구현 환경의 사용자 지정 보고서 예시를 확인할 수 있습니다.
4. Jasper Reports(사용 중단)
일부 초기 Bahmni 구현에서 이 기능을 사용합니다. Bahmni가 Jasper Report 모듈에 연결하는 방법을 제공하며 구현 담당자는 Jasper를 설정하고 이를 사용하여 양식과 SQL을 설계해야 합니다. 매우 오래된 방식이므로 새 구현 사이트에 도입하는 것은 권장하지 않습니다.
5. Metabase를 사용하는 Bahmni-Mart(보고 및 분석)
Bahmni-Mart는 Bahmni 데이터베이스에서 Spring Batch로 데이터를 가져와 만든 별도의 분석 데이터베이스이며 분석에 최적화되어 있습니다. 예를 들어 각 양식을 자체 테이블로 변환하고 양식 인스턴스 하나를 한 행으로 만들어 양식 데이터에서 보고서를 쉽게 생성할 수 있습니다. 대규모 보고 및 분석에는 이 방식을 권장합니다. 임시·집약적 보고 쿼리 때문에 Bahmni EMR에 성능 부하가 발생하지 않으며 원하는 BI/보고 도구를 사용하여 보조 데이터베이스에서 시각화를 쉽게 만들 수 있습니다. 자세한 내용은 관련 문서를 참조하십시오.
보고서 버전 관리
구현 사이트의 보고서는 구현별 config 폴더에 있습니다. 이 폴더의 report.json 및 관련 SQL 파일은 일반적으로 텍스트 기반이므로 GitHub 같은 표준 버전 관리 시스템으로 관리할 수 있습니다. 여러 제품 릴리스에 걸쳐 이력과 추적성을 유지하려면 이 파일들을 버전 관리하는 것이 좋습니다. GitHub에서 보고서 SQL을 버전 관리하는 예시를 참조하십시오.
보고서를 구성하는 JSON 파일은 /var/www/bahmni_config/openmrs/apps/reports/reports.json에 있습니다.
보고서 포함
Bahmni에서는 보고서가 내보낸 데이터를 수식이 있는 기존 통합 문서 템플릿에 포함하여 생성된 데이터 기반의 피벗 테이블을 만들 수 있습니다. 통합 문서 템플릿은 .xls 형식이어야 합니다.
Home > Reports 화면에서 보고서를 생성할 수 있습니다. 형식으로 'CUSTOM EXCEL'을 선택하고 필요한 Excel 수식 템플릿을 업로드한 후 'Run Report'를 클릭합니다. 실제 데이터는 'Report' 시트에, 템플릿 수식으로 생성한 데이터는 'Sheet1'에 포함된 보고서가 생성됩니다. 보고서마다 업로드하지 않도록 매크로 파일을 구성하는 방법은 아래를 참조하십시오.
매크로가 포함된 Excel 템플릿을 사용할 수 있습니다. 해당 템플릿의 'Sheet1'에 수식을 추가하고 업로드하여 보고서를 생성합니다. 생성된 Excel 보고서를 열면 템플릿의 매크로가 실제 데이터에 수식을 적용합니다. 보고서를 열 때 'Enable macros'를 선택해야 합니다.
수식 예시: =SUM(Report!G9, Report!G10) - 'Report' 시트에는 수식을 적용하지 않은 원시 데이터가 포함됩니다.
macroTemplate XLS 파일 구성
보고서 생성 시 매번 파일을 업로드하지 않도록 bahmni_config에 macroTemplate XLS 파일을 구성합니다.
구성 절차:
- 매크로 수식이 포함된 XLS(Microsoft 1997-2000) 파일을 bahmni_config에 복사합니다.
- 아래와 같이 report.json에서 bahmni_config의 XLS 파일 경로를 구성합니다. xml
"diabetes":{ "name": "Diabetes", "type": "obsCount", "config": { "ageGroupName": "All Ages", "conceptNames": ["Diabetes, Intake"], "visitTypes": ["OPD","IPD"], "macroTemplatePath" : "/var/www/bahmni_config/openmrs/apps/reports/macroTemplates/Diabetes.xls" } },
Bahmni Wiki · CC BY-SA 4.0