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

데이터 품질 대시보드 설정

목적

이 기능은 선택한 변수의 데이터 품질을 보장하는 데 도움이 됩니다. 해당 변수에 정의한 규칙을 환자 데이터에 실행하면 데이터가 불완전하거나 잘못된 환자 목록을 얻을 수 있습니다. 모든 데이터 불일치 결과는 Data Quality Dashboard에 목록으로 표시됩니다.

구현 담당자가 규칙을 사용자 지정할 수 있습니다(관련 단계는 추후 업데이트 예정). 규칙이 매우 복잡할 수 있으므로 복잡도에 따라 Java, SQL, Groovy로 작성할 수 있습니다.

이 기능은 OpenMRS Data Integrity 모듈(https://wiki.openmrs.org/display/docs/Data+Integrity+Module)의 영향을 받아 요구사항에 맞게 일부 수정되었습니다.

데이터 품질 대시보드 설정

1. 백그라운드 작업 실행

Data Integrity 작업은 기본적으로 매일 오전 12:00에 실행되도록 예약됩니다. 설정을 변경하려면 OpenMRS Administration > Manage Scheduler로 이동하여 Data Integrity Task 링크 > Schedule을 클릭한 뒤 반복 간격을 변경하세요.

Screen Shot 2016-08-08 at 4.23.08 PM.png

2. Data Integrity 모듈 이름 국제화

각 home/locale_${en,fr, .. }.json 파일에 키 값을 추가합니다.

{
   "MODULE_LABEL_DATA_INTEGRITY_KEY": "Data integrity"
}

3. 열 머리글 국제화

clinical/locale_en.json에서 설정합니다.

Code Snippet
{
    "MODULE_LABEL_ERROR_REPORTS_KEY": "Error Reports",
    "DQ_PRINT_TITLE_DATA_QUALITY_REPORT": "Data Quality Report",
    "DQ_DASHBOARD": "Data Quality Dashboard",
    "DQ_COLUMN_TITLE_TREATMENT_REG_NO": "Treatment Reg No",
    "DQ_COLUMN_TITLE_NAME": "Name",
    "DQ_COLUMN_TITLE_EMR_ID": "EMR ID",
    "DQ_COLUMN_TITLE_NOTES": "Notes",
    "DQ_COLUMN_TITLE_ACTION": "Action",
    "DQ_COLUMN_TITLE_RULE_NAME":"Rule Name",
    "DQ_COLUMN_TITLE_REG_FACILITY":"Treatment facility" 
}

4. 인쇄 버튼 및 HTML 위치 설정

아래 설정을 extension-dataintegrity.json에 추가합니다.

Code Snippet
{
  "bahmni_clinical_patients_search_allpatients_app_clinical": {
    "id": "bahmni.clinical.patients.search.allPatients",
    "extensionPointId": "org.bahmni.patient.search",
    "type": "config",
    "extensionParams": {
      "searchHandler": "endtb.sqlSearch.dataIntegrity",
      "forwardUrl": "#/default/patient/{{patientUuid}}/dashboard?programUuid={{programUuid}}&enrollment={{enrollment}}",
      "translationKey": "MODULE_LABEL_ERROR_REPORTS_KEY",
      "view" : "tabular",
      "showPrint": true,
      "printHtmlLocation": "/bahmni_config/openmrs/apps/dataintegrity/patientListPrint.html",
	  "searchColumns" : ["DQ_COLUMN_TITLE_TREATMENT_REG_NO", "DQ_COLUMN_TITLE_NAME"]	
    },
    "order": 1,
    "requiredPrivilege": "app:clinical"
  }
}

5. 인쇄 버튼 숨기기

DQ Dashboard에서 인쇄 버튼을 숨기려면 해당 값을 설정합니다.

6. 검색 가능한 열 설정

DQ Dashboard에서 검색할 열을 설정하려면 searchColumns 목록에 열 키를 추가합니다. 모든 열에서 검색 기능을 활성화할 수 있습니다.

아래 설정은 Treatment Reg No와 Name of the patient 열의 검색을 활성화합니다.

DQRule 구현

  1. 실행되는 규칙 목록은 OpenMRS 데이터베이스의 dataintegrity_rule 테이블에서 확인할 수 있습니다. EndTB용 DQ Rule은 openmrs-module-bahmniendtb 저장소에 작성되어 있습니다.
관련 문서: openmrs-module-bahmniendtb repository

새 사용자 지정 규칙 작성

  1. 사용자 지정 규칙을 작성하려면 저장소를 복제합니다.

2. 다음 단계에 따라 새 DQ Rule을 추가합니다.

  1. Java로 작성한 규칙은 저장소의 openmrs-modulebahmniendtb/api/src/main/java/org/openmrs/module/bahmniendtb/dataintegrity/rules 폴더에 있습니다. 각 규칙은 RuleDefn<PatientProgram> 인터페이스를 구현하는 Java 클래스로 작성합니다. 규칙 로직은 evaluate 메서드에 작성합니다. 규칙은 아래와 같이 dataintegrity_rule 테이블에 삽입할 수 있습니다.
query to insert rule
INSERT INTO dataintegrity_rule ( rule_name, rule_category, handler_config, handler_classname, uuid ) VALUES ( "Baseline Firstling DST missing", "java", "java", "org.openmrs.module.bahmniendtb.dataintegrity.rules.RuleName", uuid());

로컬 테스트용 최신 DQ Rule 배포

  • openmrs-module-bahmniendtb 디렉터리에서 아래 명령을 실행합니다.
  • OMOD는 openmrs-module-bahmniendtb/omod/target/bahmniendtb-1.4-SNAPSHOT.omod 위치에 생성됩니다. Vagrant Box의 /opt/openmrs/modules 폴더에 있는 기존 OMOD를 위에서 생성한 파일로 교체합니다.
  • OpenMRS 서비스를 다시 시작합니다.

DQ Rule 예시

다음은 DQ Rule의 몇 가지 예입니다.

  • 잘못된 사망일, 잘못된 Observation, 잘못된 Program Enrollment.관련 문서: Invalid Date Of Death
관련 문서: Invalid ObservationsInvalid Program Enrollment
원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗