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

OpenMRS 데이터베이스 보고

다음과 같은 이유로 OpenMRS 데이터베이스에서 보고서를 만드는 것은 어렵습니다.

  1. 정규화된 트랜잭션 데이터베이스이므로 대부분 많은 조인이 필요합니다. 개념+관찰 및 환자 속성 같은 일부 항목은 키-값 방식으로 작동합니다. 특히 OpenMRS에서는 진단, 주호소, 처분, 치료 유형, 검사실 결과 등 매우 많은 핵심 항목을 관찰로 모델링해야 하므로 관찰/개념이 큰 과제가 됩니다. 관계형 데이터베이스에 저장된 키-값 모델은 보고서 작성에 적합하지 않습니다. 보고서는 일반적으로 특정 차원을 염두에 두고 작성하는데, 정규화된 데이터베이스는 이 용도에도 적합하지 않습니다. OpenMRS의 개념 데이터를 계층적으로 구성하면 특정 개념의 상위 항목을 기준으로 정보를 조회하기가 더 어려워집니다. 예: 감염성 질환으로 진단받은 모든 사람 찾기.

일부 문제를 해결하여 보고서 작성을 쉽게 하려면 다음과 같이 할 수 있습니다.

  1. 관련 테이블을 결합하는 뷰를 정의합니다. 예를 들어 Person, Patient, Patient Attributes를 하나의 뷰로 결합하고 Concept, Obs, Concept_Name을 하나의 뷰로 결합할 수 있습니다. 1의 비정규화된 뷰를 바탕으로 진단, 주호소, 처분, 검사실 결과 등에 대한 도메인별 뷰를 만들 수 있습니다. 1과 2의 뷰를 바탕으로 차원(아래 차원 목록 참조)을 도입하는 뷰를 만들 수 있습니다. 진단을 더 평평한 구조로 구성하고 참조 용어 매핑을 사용하는 방안을 검토합니다.

차원

병원 수준 --> 날짜, 위치

환자 수준 --> 연령, 성별, 부족, 사회경제적 상태

프로그램 수준 -> 프로그램 결과, 프로그램 이름

방문 수준 --> 방문 유형

진료 수준 --> 치료 유형(수술, 치료, 시술), 치료 결과

특정 수준의 뷰는 해당 수준과 그보다 상위 수준의 차원 열을 제공할 수 있어야 합니다. 예를 들어 프로그램 뷰는 각 프로그램 인스턴스에 프로그램 결과와 프로그램 이름뿐 아니라 연령, 성별, 부족, 날짜 및 위치도 제공해야 합니다. 모든 뷰에서 각 행에 적용 가능한 차원이 반복되도록 정의할 수 있습니다.

질문

외부 의뢰 접수 및 외부 의뢰 전송을 방문 속성으로 처리해야 합니까?

OpenMRS에 검사실 부서 정보가 있습니까? 이를 개념 대신 위치로 관리해야 합니까?

참고 자료

http://stratosprovatopoulos.com/web-development/mysql/pivot-table-with-dynamic-columns/

원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗