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

릴리스 노트 0.82

보고서는 Home > Reports 화면에서 생성합니다. 지정 기간과 조건을 만족하는 집계 수 또는 세부 정보가 포함된 환자 목록 형태이며 기본 제공 보고서나 사용자 지정 SQL 쿼리로 생성할 수 있습니다.

구성(reports/app.json)

app.json
"config": {
   "paperSize": "A3", //The default paper size is A4. Supported sizes are A3 and A4.
   "supportedFormats": ["pdf"], //List of available formats are html, pdf, excel, csv, custom excel, ods. When not defined, all the available formats will be listed.
}

기본 제공 보고서

Bahmni는 요구 사항에 맞게 구성할 수 있는 사전 정의 보고서 모음을 제공합니다. 아래에는 각 유형의 예시, 구성 설정 및 UI 출력이 있습니다. 별도 언급이 없으면 방문당 한 번 집계하며 유형별로 여러 보고서를 정의할 수 있습니다.

참조 표

  • Bahmni에서는 이름을 지정해 여러 연령 그룹 유형을 설정할 수 있으며 보고서별로 사용할 그룹을 구성할 수 있습니다.

예:

아래 보고서는 연령 그룹별 집계 수를 보여 줍니다.

Obscount.png

이런 보고서를 표시하려면 참조 표 "reporting_age_group"에 연령 그룹 구성을 삽입한 뒤 보고서 구성에서 참조합니다.

table_agegroup.png

구성

"nutritionProgram": {

"name": "Nutrition Program - <5 years children receiving (Vitamin A)", "type": "obsCount", "config": { "ageGroupName": "Nutrition Program Vitamin A", "conceptNames": ["Childhood Illness, Vitamin A Capsules Provided"] }

}

SQL 명령으로 reporting_age_group에 항목을 삽입할 수 있습니다. 아래는 INSERT SQL 명령 예시입니다.

INSERT INTO reporting_age_group (name,report_group_name, min_years, min_days, max_years, max_days) VALUES ('6 - 11 months', 'Nutrition Program Vitamin A',0,180,1,-1);

INSERT INTO reporting_age_group (name,report_group_name, min_years, min_days, max_years, max_days) VALUES ('12 - 59 months', 'Nutrition Program Vitamin A',1,0,5,-1);

  • 일부 보고서에서는 개념의 참조 범위를 설정할 수도 있습니다.

1. 관찰 건수 보고서

다음 세 가지 변형이 있습니다.

참고: 여러 개념 이름을 입력할 때는 모두 같은 데이터 유형이어야 합니다. 데이터 유형을 혼합하면 항상 관찰 집계 보고서가 생성됩니다.

1.1 관찰 건수

불리언 또는 코딩 개념이 아닌 개념에 생성된 관찰 수만 집계할 때 사용합니다.

예시

Obscountform.png

구성

"nutritionProgram": {
"name": "Nutrition Program - <5 years children receiving (Vitamin A)",    "type": "obsCount",    "config": {    "ageGroupName": "Nutrition Program Vitamin A",
"conceptNames": ["Childhood Illness, Vitamin A Capsules Provided"],

"locationTagNames": ["Report Location"],

"countOnlyClosedVisits":"false"    }

}

  • OpenMRS에 "Report location" 위치 태그를 추가하고 구성에 지정합니다. 예: "locationTagNames": ["Report Location"],
Obscount.png

1.2 코드화 관찰 건수

코딩 개념의 관찰 수를 사용자가 선택한 코딩 답변별로 분류하여 집계합니다.

codedObsform.png

구성

"nutritionProgram": {
"name": "Nutrition Program - Nutritional status of registered children"
,
"type":
"obsCount",    "config": {      "ageGroupName": "Nutritional Status For Registered Children",      "conceptNames": ["Nutrition, Nutritional Status"],      "locationTagNames": ["Report Location"]
}

}

  • OpenMRS에 "Report location" 위치 태그를 추가하고 구성에 지정합니다. 예: "locationTagNames": ["Report Location"]
CodedObscount.png

1.3 불리언 개념 건수

(Boolean Observations Count로 이름 변경 예정) 사용자가 선택한 예/아니요(True/False)별로 불리언 관찰 수를 집계할 때 사용합니다.

예시

BooleanObs.png

구성

"nutritionProgram": {
"name": "Nutrition Program - <5 yrs Children receiving (Deworming)",
"type": "obsCount",  "config": {    "ageGroupName": "All Ages",    "conceptNames": ["Childhood Illness, Albendazole Given"]  }

}

BooleabObsCount.png

2. 코딩 관찰별 코딩 관찰(집계)

두 코딩 관찰을 집계하고 서로 교차한 피벗 테이블로 표시합니다.

예시

CodedVsCoded.png

구성

"safeMotherhoodProgram": {
"name": "Safe Motherhood program - Type of delivery",  "type": "CodedObsByCodedObs",  "config": {    "ageGroupName": "All Ages",    "conceptPair": ["Delivery Note, Method of Delivery", "Delivery Note, Fetal Presentation"],    "rowsGroupBy": ["Delivery Note, Method of Delivery"],    "columnsGroupBy": ["Delivery Note, Fetal Presentation"]  }

}

codedObsByCodedObs.png

3. 진단 건수

Bahmni 시스템에 입력된 모든 진단의 건수를 나열합니다.

구성

"nameOfReport": {
"name": "Name of Report", "type": "diagnosisCount", // Mandatory. Value should be exactly diagnosisCount "config": { "dateRangeRequired": false, // Optional. Used to display reports that do not require a date range in a different section. Default true "applyDateRangeFor": "visitStopDate|diagnosisDate", // Optional. Default value = 'visitStopDate'. Valid only when dateRangeRequire=true "visitsToConsider": "open|closed|all", // Optional field. Default value = 'all' "ageGroupName": "age group name defined in reporting_age_group.report_group_name" //Optional "concept": "concept_set_name", // Mandatory. Three level concept set structure, with a root_concept, header_concepts and leaf_concepts "rowsGroupBy": ["gender|agegroup_name|header_concept_name|leaf_concept_name"], // Optional field but when rowsGroupBy is specified, columnsGroupBy should also be specified. Default value is ["header_concept_name", "leaf_concept_name]
"columnsGroupBy": ["gender|agegroup_name|header_concept_name|leaf_concept_name"], //Optional field but when rowsGroupBy is specified, columnsGroupBy should also be specified. Default value is ["agegroup_name"]

"icd10ConceptSource": "ICD10-BD", // Optional field. Default value = 'ICD 10 - WHO'. If any implementation is using a different concept source for diagnosis coding, it can be set here.

"locationTagNames":["Report Location"] // Optional field. If any location tag is provided, only the encounters associated with the locations with those tags are counted. If this parameter is not set, all the encounters would be counted.

}
}

현재 개념 필드를 지정하면 보고서에 ICD10 코드가 포함되지 않습니다. 진단 보고서에 ICD10 설정이 필요한지는 아직 명확하지 않으며 결정 후 모든 보고서가 같은 규칙을 따릅니다.

연령 그룹은 OpenMRS 데이터베이스의 reporting_age_group 테이블에 있어야 합니다.

예시

Diagnosis Summary report
"OralnDentalReport": {          "name": "Dental and Oral Report",          "type": "diagnosisCount",          "config": {             "concept": "Oral diagnosis",             "ageGroupName": "Age Groups",             "rowsGroupBy": ["header_concept_name","leaf_concept_name"],             "columnsGroupBy": ["gender","agegroup_name"]           } }
diagnosis count sample.png

연령 그룹 없는 진단 보고서

"OralnDentalReport1": { "name": "Dental and Oral Report 1", "type": "diagnosisCount", "config": { "locationTagNames":["Report Location"], "icd10ConceptSource":"ICD10-BD", "rowsGroupBy": [ "header_concept_name", "leaf_concept_name" ], "visitTypes":["IPD","OPD"], "columnsGroupBy": [ "gender", "agegroup_name" ] } },

DiagnosiswithoutAgegroup.png

연령 그룹 포함 진단 보고서

"OralnDentalReport2": { "name": "Dental and Oral Report 2", "type": "diagnosisCount", "config": { "locationTagNames":["Report Location"], "icd10ConceptSource":"ICD10-BD", "ageGroupName": "Registration", "rowsGroupBy": [ "header_concept_name", "leaf_concept_name" ], "visitTypes":["IPD","OPD"], "columnsGroupBy": [ "gender", "agegroup_name" ] } },

DiagnosiswithAgegroup.png

4. 검사 건수

모든 검사, 결과와 건수를 나열합니다.

구성

"name": "Malaria Control Programme - Diagnosis and Result [check for Microscopy= 'PBS for Malaria, Filaria parasite', RDT= SUM('Malaria Ags', 'Malaria Abs')]",    "type": "TestCount"

예시

testcount.png

5. 사용자 지정

기본 제공 보고서가 요구 사항을 충족하지 못하면 필요한 형식의 데이터를 수집하는 임시 SQL 파일을 만들 수 있습니다. 아래에 구성과 SQL 파일 예시가 있으며 사용자 지정 보고서도 다른 보고서와 함께 표시됩니다.

구성

"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"    }

}

6. 관찰 템플릿 보고서

지정 기간에 입력된 템플릿의 모든 필드와 값을 보여 주는 보고서입니다.

구성

"vitalsTemplateReport":{
        "name": "Vitals Template Report",
        "type": "obsTemplate",
        "config": {
            "templateName": "Vitals",
            "patientAttributes": ["caste", "education"],
			"locationTagNames": ["Report Location"],
            "applyDateRangeFor": "encounterCreateDate"
        }
    }

name: 보고서 이름

templateName: 보고서를 생성할 관찰 템플릿

patientAttributes: 보고서에서 환자별로 표시할 카스트, 교육 등의 환자 속성

applyDateRangeFor: 날짜 범위 필터 기준으로 encounterCreateDate 또는 encounterDate를 지정합니다. 기본값은 encounterDate입니다.

OpenMRS에 "Report location" 위치 태그를 추가합니다.

구성에 예: "locationTagNames": ["Report Location"]로 위치 태그를 지정합니다.

예시

Vitals_Template_Report.png

7. OPD/IPD 방문 집계 보고서

지정 기간의 신규 및 기존 OPD/IPD 환자 수를 나열합니다.

구성

"ipdOPd": {
"name": "OPD/IPD Visit Count",
"type": "IpdOpdVisitCount"

}

예:

opd-ipd-count.png

8. 숫자 개념 값 보고서

지정한 연령 그룹과 결과값 범위를 기준으로 숫자 개념 관찰 수를 나열합니다.

구성

"HaemoglobinRange": {
"name": "Haemoglobin Range Based Report
",
"type":
"NumericConceptValuesCount",
"config": {            "rangeGroupName": "Haemoglobin",            "ageGroupName": "Haemoglobin",            "conceptNames": ["Haemoglobin"],            "countOncePerPatient": false
}
}

"countOncePerPatient" 기본값은 false여야 합니다. 이 경우 관찰이 기록된 횟수만큼 집계합니다.

한 진료 사건 안에서는 관찰을 한 번만 집계하며, 같은 사건에서 관찰을 여러 번 변경해도 하나로 봅니다.

"countOncePerPatient"가 true이면 지정 날짜 범위에서 환자별 최신 관찰값만 집계합니다.

예:

numeric-concpet-values-report.png

9. 개념 클래스별 관찰 집계 보고서

지정 날짜 범위에서 개념 클래스를 기준으로 관찰 수를 나열합니다.

구성

"radiologyCount": {
"name": "Radiology(X-Ray) Count",
"type": "ObsCountByConceptClass",
"config": {            "conceptClassNames": ["Radiology"]        }
}

예:

obsCountByConceptClass.png

10. 관찰값 집계 보고서

지정한 개념 이름의 각 값별 관찰 수를 나열합니다.

구성

"ObsValueCount": {
"name": "Obs Value Counts for Albumin, MCH, Surgery Date and Posture(blood pressure)",
"type": "ObsValueCount",
"config": {            "conceptNames": ["Albumin","MCH","Date of Surgery","Posture"]        }

}

예:

obsValueCount.png

11. 검사 결과가 있는 환자 보고서

검사 목록과 결과 조건에 따라 검사 결과가 있는 환자와 검사 결과를 나열합니다.

구성

"patientsWithLabTest": {
"name": "Patients with labtest results for HIV ELISA, Albumin and MCH",
"type": "PatientsWithLabtestResults",
"config": {            "conceptNames": ["HIV ELISA (Blood)","Albumin","MCH"]
"testOutcome": ["abnormal","normal"]        }
}
patients_with_labtest_results.png

12. IPD 환자 보고서

IPD 환자 목록과 환자 정보, 확정 진단(여러 개면 쉼표 구분), 구성한 개념의 관찰값(여러 개면 쉼표 구분), 환자 속성 목록, 주소 속성 목록을 생성합니다.

구성

"ipdPatients": {   "name": "IPD Patients Report",   "type": "ipdPatients",   "config": {              "addressAttributes": ["address1", "city_village"],              "patientAttributes": ["caste", "education"],              "conceptNames": ["Height", "Weight"],
"locationTagNames": ["Report Location"],
"filterBy": "Date of Discharge"    }}

참고: addressAttributes는 항상 snake_case여야 합니다. 예: "cityVillage"가 아니라 "city_village".

날짜 범위는 "Date of Admission" 또는 "Date of Discharge"에 적용할 수 있습니다. "filterBy" 매개변수로 선택하며 미설정 시 기본값은 "Date of Admission"입니다.

  • OpenMRS에 "Report location" 위치 태그를 추가하고 구성에 지정합니다. 예: "locationTagNames": ["Report Location"],
IPD_Patients_Report.png

13. 방문 집계 수 보고서

지정 날짜 범위에 발생한 입원·퇴원 건수를 방문 유형별로 생성합니다.

구성

"visitAggregateCount": {    "name": "Visit Aggregate Count Report",    "type": "VisitAggregateCount",    "config": {               "type": "VisitAggregateCountReport",
"locationTagNames": ["Report Location"],
"visitTypes": "'IPD','OPD','EMERGENCY'"    }}
  • OpenMRS에 "Report location" 위치 태그를 추가하고 구성에 지정합니다. 예: "locationTagNames": ["Report Location"],
visit_aggregate_count.png

14. 환자 프로그램 상태 집계 보고서

프로그램의 각 상태에 들어간 환자 수를 생성합니다.

참고: 프로그램에 상태가 없으면 빈 페이지가 열립니다. "programName"은 OpenMRS에 미리 구성된 프로그램이어야 합니다.

구성

"patientProgram": {    "name": "Patient Program State Count Report",    "type": "programStateCount",    "config": {               "programName": "Patient Overall Status"    }}

예: Patient Overall Status 프로그램에 "Attending Clinic", "Transferred OutOf", "Dead" 상태를 추가했습니다. 이 보고서는 각 상태에 진입한 환자 수를 보여 줍니다.

지정 날짜 범위(예: 2015-08-01부터 2015-08-13까지)를 기준으로 합니다.

환자가 현재 다른 상태에 있어도 원래 상태가 날짜 범위 안에 있고 삭제되지 않았다면 해당 상태 건수에 포함합니다.

Screen Shot 2015-08-07 at 4.51.36 pm.png

15. 환자 프로그램 상태 전환 집계 보고서

프로그램 상태 전환을 겪은 환자 수를 생성합니다.

참고: 프로그램에 상태가 없으면 빈 페이지가 열립니다. "programName"은 OpenMRS에 미리 구성된 프로그램이어야 합니다.

구성

"malariaProgram": {    "name":"Malaria Program State Transition Report",    "type":"programStateTransitionReport",    "config":{        "programName":"Malaria Program"  }}

예: Malaria Program에 'First State', 'Second State', 'Third State'를 추가하면 상태 전환 환자 수를 표시합니다.

2015-08-02~2015-08-06 기간의 'First State'→'Second State' 및 'Second State'→'Third State' 전환을 집계합니다.

Screen Shot 2015-08-13 at 11.40.21 am.png

16. 환자 데이터 보고서

이 보고서는 다음 필드로 환자 세부 정보를 생성합니다.

- 환자 ID - 환자 이름 - 나이 - 성별 - 생년월일 - 주소 필드 - 환자 속성 - 등록일

참고: 날짜 범위를 지정하지 않으면 모든 환자 데이터를 반환합니다.

구성

"patientInformation": { "name": "Patient Information", "type": "PatientReport" }

Screen Shot 2015-08-10 at 11.00.49 am.png

17. 프로그램 환자 상태 보고서

다음 필드로 환자 세부 정보를 생성합니다.

- 일련번호 - 환자 식별자 - 환자 이름 - 환자 나이 - 프로그램 등록일 - 환자 상태 - 상태 시작일 - 상태 종료일 - 환자 프로그램 종료일 - 환자 결과

구성

"programPatientStateReport":{    "name": "Program Patient State Report",    "type": "PatientProgramReport",    "config": {        "programName": "Malaria Program" }},

18. 프로그램 등록 기본 제공 보고서

Screen Shot 2016-02-12 at 2.10.01 PM.png

구성

"programEnrollmentTemplateReport": {    "name": "Program Enrollments",  "type": "ProgramEnrollmentReport"}

19. 관찰 기본 제공 보고서

image2015-12-11 14:38:22.png

구성

"obsCannedReport": {    "name": "Obs Canned Report", "type": "obsCannedReport", "config": {      "patientAttributes": ["caste", "education"],  "applyDateRangeFor": "ObsRecording",  "addressAttributes": ["postal_code", "city_village"],  "conceptNames": ["WEIGHT","Pulse", "Systolic"],  "visitIndependentConcept": ["HEIGHT"],   "enrolledProgram" :"HIV Program" ,  "showObsOnlyForProgramDuration": false  }}
  • Patient Attributes: personattributetype.name의 가능한 값. 필수
  • Apply Date Range For: 날짜 유형의 <tablename>.<columnname>. 필수
  • Address Attributes: person_address 열 이름. 필수
  • concept names: 최하위 개념만 지원. 필수
  • visit independent concepts: 방문과 무관하게 최신 관찰 사용. 필수
  • enrolled program: 프로그램 하나만 지원. 선택
  • show obs only for program duration: 지정 프로그램 기간의 관찰만 필터링. 필수

20. 약물 처방 보고서:

지정 날짜 범위에 약물을 처방받은 환자 정보를 표시하며 환자 정보와 약물 정보로 구성됩니다.

구성:

"drugOrderReport":{        "name": "Drug Order report",        "type":"DrugOrder"}

21. 프로그램 관찰 템플릿 보고서

지정 기간에 입력된 템플릿의 모든 필드와 값을 보여 주는 보고서입니다.

구성

"vitalsTemplateReport":{
       "name": "Vitals Template Report",
       "type": "programObsTemplate",
       "config": {
           "templateName": "Vitals",
           "patientAttributes": ["caste", "education"],
           "programAttributes":[ "Doctor","Enrollment","Id","Treatment_Date"],
           "programNames": ["Malaria","Tuberculosis"],
		   "addressAttributes":["city", "state_province"]
	}
}

name: 보고서 이름

templateName: 보고서를 생성할 관찰 템플릿

patientAttributes: 보고서에서 환자별로 표시할 카스트, 교육 등의 환자 속성

programAttributes: 보고서에서 프로그램별로 표시할 의사, 치료일 등의 프로그램 속성

programNames: 관찰을 표시할 프로그램 이름 목록. 미지정 시 모든 프로그램의 관찰을 가져옵니다.

OpenMRS에 "Report location" 위치 태그를 추가합니다.

구성에 예: "locationTagNames": ["Report Location"]로 위치 태그를 지정합니다.

addressAttributes: 표시할 주소 속성 목록. 항상 snake case여야 합니다. 예: "cityVillage"가 아니라 "city_village".

예시

image2016-2-15 12:14:58.png

22. 프로그램별 약물 처방 보고서

지정 날짜 범위에서 활성 프로그램만 고려해 약물 처방과 활성 프로그램의 모든 데이터를 내보냅니다. 표시할 프로그램과 프로그램 속성을 구성할 수 있습니다.

사용 가능한 구성은 아래 코드 조각을 참조하십시오.

예:

image2016-2-24 11:54:58.png

23. 방문 보고서

분석과 개선을 위해 방문 정보를 여러 방식으로 추출할 수 있습니다. 방문 필터와 출력 필드 집합을 구성할 수 있습니다.

구성 옵션과 관계없이 다음 필드는 보고서에 항상 포함됩니다.

  • 환자 식별자
  • 환자 이름(이름 + 성)
  • 나이
  • 생년월일
  • 성별
  • 환자 생성일
  • 방문 유형
  • 시작일
  • 종료일
  • 입원일
  • 퇴원일

사용 가능한 구성은 아래 코드 조각을 참조하십시오.

Sample Config
"nameOfReport":{
    "name": "Report Name",
    "type": "visits",
    "config": {
        "forDataAnalysis": true,
        "patientAttributes": ["caste", "class", "education", "occupation", "primaryContact"],
        "visitAttributes": ["Visit Status", "Admission Status"],
        "patientAddresses": ["address3", "city_village"],
        "applyDateRangeFor": "visitStopDate",
        "visitTypesToFilter": ["PHARMACY VISIT", "OPD"]
    }
}
설명필수기본값
nameOfReport고유 키
name보고서 이름
typevisits
config구성 섹션아니요
forDataAnalysispatient_id와 visit_id 포함아니요false
patientAttributes환자 속성 포함아니요
visitAttributes방문 속성 포함아니요
patientAddresses환자 주소 포함아니요
applyDateRangeFor날짜 범위 필드아니요visitStartDate
visitTypesToFilter방문 유형 필터아니요모든 방문 유형

예:

Screen Shot 2016-06-06 at 5.22.53 PM.png

24. 관찰 보고서

분석과 개선을 위해 관찰 정보를 여러 방식으로 추출할 수 있습니다. 관찰 필터와 출력 필드를 구성할 수 있습니다.

구성 옵션과 관계없이 다음 필드는 보고서에 항상 포함됩니다.

  • 환자 식별자, 환자 이름, 나이, 생년월일, 성별, 위치 이름
  • 개념 이름·관찰값·관찰 일시·상위 개념(encounterPerRow가 false일 때)
  • 프로그램 등록일, 프로그램 종료일, 환자 생성일

사용 가능한 구성은 아래 코드 조각을 참조하십시오.

Sample Config
"nameOfReport":{
    "name": "Report Name",
    "type": "observations",
    "config": {
        "patientAttributes": ["caste", "class", "education", "occupation", "primaryContact"],
        "patientAddresses": ["address3", "city_village"],
        "visitAttributes": ["Visit Status", "Admission Status"],
        "showVisitInfo": true,
        "showProvider": true,
		"programsToFilter": [],
        "conceptNamesToFilter": [],
        "conceptClassesToFilter": [],
        "locationTagsToFilter": ["Login Location"],
        "applyDateRangeFor": "obsDatetime",
        "encounterPerRow": false,
        "forDataAnalysis": true,
        "visitTypesToFilter": ["PHARMACY VISIT", "OPD"]
    }
}
가능한 값설명필수기본값
nameOfReport임의 문자열고유 키
name임의 문자열표시 이름
typegenericObservationReport유형
config구성 섹션아니요
patientAttributes환자 속성환자 속성 포함아니요
patientAddresses주소 필드주소 포함아니요
visitAttributes방문 속성방문 속성 포함아니요
showVisitInfotrue / false방문 정보 포함아니요false
showProvidertrue / false관찰 제공자 포함아니요false
conceptNamesToFilterFULLY_SPECIFIED 개념 이름개념 필터조건부전체
conceptClassesToFilter개념 클래스클래스 필터조건부전체
locationTagsToFilter위치 태그위치 필터아니요전체
applyDateRangeForvisitStopDate / visitStartDate / programDatetime / obsDatetime날짜 필드아니요obsDatetime
encounterPerRowtrue / falseencounter당 한 행아니요false
forDataAnalysistrue / false분석용 DB ID 포함아니요false
programsToFilter프로그램 이름프로그램 필터아니요
visitTypesToFilter방문 유형방문 유형 필터아니요전체

예:

행마다 관찰 하나를 표시하는 보고서 예시입니다.

Screen Shot 2016-05-11 at 5.22.23 PM.png

행마다 encounter 하나를 표시하는 보고서 예시입니다.

Screen Shot 2016-05-11 at 5.23.05 PM.png

모든 기본 필드를 포함하는 보고서 예시입니다.

image2016-6-8 16:28:12.png

25. 일반 프로그램 보고서

분석과 개선을 위해 프로그램 정보를 여러 방식으로 추출할 수 있습니다. 프로그램 필터와 출력 필드를 구성할 수 있습니다.

구성 옵션과 관계없이 다음 필드는 보고서에 항상 포함됩니다.

  • 환자 식별자
  • 환자 이름(이름 + 성)
  • 나이
  • 생년월일
  • 성별
  • 프로그램 이름
  • 등록일
  • 완료일
  • 현재 상태

사용 가능한 구성은 아래 코드 조각을 참조하십시오.

Sample Config
"nameOfReport":{
    "name": "Report Name",
    "type": "genericProgramReport",
    "config": {
        "patientAttributes": ["caste", "class", "education", "occupation", "primaryContact"],
        "patientAddresses": ["address3", "city_village"],
        "programAttributes": ["Visit Status", "Admission Status"],
        "programNamesToFilter": [],
		"showAllStates": true,
        "forDataAnalysis": true
    }
}
가능한 값설명필수기본값
nameOfReport임의 문자열고유 키
name임의 문자열표시 이름
typegenericProgramReport유형genericProgramReport
config구성 섹션아니요
patientAttributes환자 속성환자 속성 포함아니요없음
patientAddresses주소 필드주소 포함아니요없음
programAttributes프로그램 속성프로그램 속성 포함아니요없음
programNamesToFilter프로그램 이름 배열프로그램 필터아니요전체
forDataAnalysistrue / false분석용 DB ID 포함아니요false
showAllStatestrue / false모든 상태 표시아니요false

예:

Screen Shot 2016-05-23 at 6.41.32 PM.png

생성된 보고서를 매크로가 포함된 기존 통합 문서 템플릿에 삽입하기

Bahmni에서는 보고서 데이터를 피벗 테이블용 수식이 포함된 기존 통합 문서 템플릿에 삽입할 수 있습니다. 템플릿은 .xls 형식이어야 합니다.

Home > Reports에서 CUSTOM EXCEL을 선택하고 Excel 수식 템플릿을 업로드한 뒤 Run Report를 누릅니다. 실제 데이터는 Report 시트에, 수식 결과는 Sheet1에 생성됩니다.관련 문서: below

매크로가 포함된 Excel 템플릿을 사용할 수 있습니다. 템플릿의 Sheet1에 수식을 추가하고 업로드합니다.관련 문서: template.xls

템플릿의 매크로가 실제 데이터에 수식을 적용하므로 생성된 보고서를 열 때 Enable macros를 선택해야 합니다.

수식 예시: =SUM(Report!G9, Report!G10) - 'Report' 시트에는 수식을 적용하지 않은 원시 데이터가 포함됩니다.

참고: 다른 템플릿을 사용하면 작동하지 않습니다. 위에 연결된 템플릿만 사용하십시오.

매번 파일을 업로드하지 않도록 bahmni_config에 macroTemplate xls 파일 구성하기

구성 절차:

  1. 매크로 수식이 포함된 xls(Microsoft 1997-2000) 파일을 bahmni_config에 복사합니다.
  2. report.json에 xls 파일 경로를 구성합니다.
    "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"
            }
        },
  3. xml
원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗