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

릴리스 노트 0.86

목적과 이점

Canned Report와 Custom Report에는 한계가 있습니다. 구현자는 사용자 정의 데이터를 추출하려면 OpenMRS 데이터 모델과 SQL을 알아야 합니다. 고객 요청마다 개발자가 비슷한 보고서의 SQL을 복제해 새 보고서를 만들면서 유지보수 부담과 복잡성이 커집니다.

이를 해결하기 위해 Bahmni는 관찰, 방문, 프로그램 등 OpenMRS의 여러 엔터티에 일반 보고서를 도입했습니다. 구현자는 엔터티별 데이터를 추출하고 관련 필드를 포함하거나 다양한 필터를 적용할 수 있습니다.

일반 보고서 유형

1. 방문 보고서

고객 요구에 맞게 방문 정보를 추출하도록 구성합니다. 필터를 적용하고 출력할 필드 집합을 지정할 수 있습니다.

다음 필드는 기본 출력에 포함됩니다.

  • 환자 식별자
  • 환자 이름(이름 + 성)
  • 나이
  • 생년월일
  • 성별
  • 환자 생성일
  • 방문 유형
  • 시작일
  • 종료일
  • 입원일
  • 퇴원일
  • 신규 환자 방문(환자 생성일과 방문 시작일이 같은 경우)
KeyDescriptionRequiredDefault
nameOfReportUnique key to identify the reportYes
nameReport name to be shown on reportYes
typeType of reportYesIt has to be "visits"
configThe section to configure what is needed in the reportNo
forDataAnalysisFetches the patient_id and visit_id in the reportNoFalse
patientAttributesFetches patient attributes along with the mandatory fieldsNo
visitAttributesFetches visit attributes along with the mandatory fieldsNo
patientAddressesFetches patient address along with the mandatory fieldsNo
applyDateRangeForConfigures the field which we have to apply the date range for (visitStopDate | visitStartDate | dateOfAdmission | dateOfDischarge)NovisitStartDate
visitTypesToFilterFilters the visits by its typeNoAll visit types
excludeColumnsExcludes the columns from output.NoIncludes all columns.
additionalPatientIdentifiersDisplays additional identifiers in the reportNoNo additional patient identifiers
ageGroupNameName of the age group to show in report. Age group configurations can be inserted into the reference table "reporting_age_group"NoNo age group
preferredColumnsOrder of the columns to be displayed in the output reportNeed not mention all the columns in the config. Configured columns will be given precedence and shown first followed by all the other remaining columns in default orderNoDefault order of the columns for the report.sample configuration"preferredColumns": ["Patient Name","Birth Date","Age"]
sortByTo sort the reports output in ascending/descending order based on the configuration.Columns that are not present in the output of the report should not be configured.Default behaviourIf just column is configured, not the sortOrder , then default sortOrder is ascending (asc).Allowed values for "sortOrder"For key "sortOrder", "asc" or "desc" are allowed values. Configured values are case insensitive.NoDefault output for the report.sample configuration"sortBy" : [{"column" : "BirthDate", "sortOrder" : "desc"}]
Screen Shot 2016-06-06 at 5.22.53 PM.png

보고서 예시

2. 관찰 보고서

관찰 정보를 다양한 방식으로 추출하도록 구성합니다. 필터를 적용하고 출력할 필드 집합을 지정할 수 있습니다.

다음 필드는 기본 출력에 포함됩니다.

  • 환자 식별자, 환자 이름, 나이, 생년월일, 성별, 위치 이름
  • 개념 이름·관찰값·관찰 일시·상위 개념(encounterPerRow가 false일 때)
  • 프로그램 등록일, 프로그램 종료일, 환자 생성일
KeyPossible ValuesDescriptionRequiredDefault
nameOfReportAny stringUnique key to identify the reportYes
nameAny StringReport name to be shown on reportYes
typeType of the reportYes"It has to be observations"
configThe section to configure what you need in the reportNo
patientAttributesAny patient attribute typesFetches patient attributes and mandatory fieldsNo
patientAddressesAny patient address fieldsFetches patient address and mandatory fieldsNo
visitAttributesAny visit attribute typesFetches visit attributes and mandatory fieldsNo
showVisitInfotrue / falseFetches visit information and mandatory fields. It fetches visit type, visit start date, visit stop date.NoFalse
showProvidertrue / falseFetches providers of individual observation.NOTE: Report doesn't show provider name if encounterPerRow is true.NoFalse
conceptNamesToFilterAny FULLY_SPECIFIED concept nameFilters observation by any concepts/template/forms. It should be a FULLY_SPECIFIED concept nameYes/NoAll observations within date range if encounterPerRow is falseNo observations if encounterPerRow is true
conceptValuesToFilterAny valueFilters observation by any values like coded, range, text. (“underWeight”, “Normal”, “10..100”, “..100”). Format for numeric ranges :- "10..100": A range from 10 to 100 inclusive- "..100": Maximum value 100 inclusive- "10.." Minimum value of 10 inclusiveYes/NoAll observations within date range if encounterPerRow is falseNo observations if encounterPerRow is true
conceptClassesToFilterAny concept classFilters observation by any concept classes like Drug, LabTest etc..Yes/NoDoesn't filter. Gives all observation of concepts configured of any class.
locationTagsToFilterAny location tagFilters observations by locations.NoAll locations' data.
applyDateRangeForvisitStopDate /visitStartDate /programDate /obsCreatedDate / obsDateConfigures the field which we have to apply the date range for. NoobsDate
encounterPerRowtrue / falseFetches one encounter per row. ConceptName will be column and value will be row. If a concept is captured multiple times in an encounter it will appear comma separated.NoFalse
forDataAnalysistrue / falseFetches database ids like patient_id, concept_id, observation_id etc. for purpose of analysis.NoFalse
programsToFilterany program nameFilters observations by programsNo
visitTypesToFilterany visit typeFilters the visits by its typeNoAll visit types
excludeColumnsany column namesExcludes the columns from output.NoDoesn't exclude any columns.
additionalPatientIdentifiersAny additional patient identifier typeDisplays additional identifiers in the reportNoDoesn't display additional patient identifiers
ignoreEmptyValuestrue / falseIgnores rows with no observation value. This config is not applicable when encounterPerRow is trueNofalse
conceptNameDisplayFormatshortNamePreferred/fullySpecifiedName/fullySpecifiedName (shortName)Displays the format of concept name on the report. shortNamePreferred displays the Concept Short Name if available, else the Fully Specified Name. Note: This option is currently only available for generic observation reports.NofullySpecifiedName(shortName)
ageGroupNameName of age groupAge group to be displayed in the reportNoDoesn't show age group
preferredColumnsList of column namesOrder of the columns to be displayed in the output reportNeed not mention all the columns in the config. Configured columns will be given precedence and shown first followed by all the other remaining columns in default orderNoDefault order of the columns for the report.sample configurationpreferredColumns: ["Patient Name","Birth Date","Age"]
sortByList of objectsTo sort the reports output in ascending/descending order based on the configuration.Columns that are not present in the output of the report should not be configured.Default behaviourIf just column is configured, not the sortOrder , then default sortOrder is ascending (asc).Allowed values for "sortOrder"For key "sortOrder", "asc" or "desc" are allowed values. Configured values are case insensitive.NoDefault output for the report.sample configuration"sortBy" : [{"column" : "BirthDate", "sortOrder" : "desc"}]
Screen Shot 2016-05-11 at 5.22.23 PM.png

행마다 관찰 하나인 보고서

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

행마다 진료 사건 하나인 보고서

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

모든 기본 필드가 포함된 보고서

3. 프로그램 보고서

프로그램 정보를 다양한 방식으로 추출하고 필터와 출력 필드를 구성합니다.

다음 필드는 기본 출력에 포함됩니다.

  • 환자 식별자, 환자 이름, 나이, 생년월일, 성별, 환자 생성일, 프로그램 이름, 등록일, 완료일, 현재 상태
KeyPossible ValuesDescriptionRequiredDefault
nameOfReportAny stringUnique key to identify the reportYes
nameAny StringReport name to be shown on reportYes
type "programs"Type of the reportYes"It has to be programs"
configConfigure what is required in the reportNo
patientAttributesPatient Attribute TypeFetches patient attributes and mandatory fieldsNoNone 
patientAddressesPatient address fieldsFetches patient address and mandatory fieldsNoNone
programAttributesProgram attribute typeFetches program attributes and mandatory fieldsNoNone
programNamesToFilterArray of program namesFilters by programsNoAll programs
forDataAnalysistrue / falseFetches database ids like patient_id, program_id etc. for purpose of analysis.NoFalse
showAllStatestrue / falseShows all the states of the programNoFalse
excludeColumnsAny columnExcludes the columns from output.NoDoesn't exclude any columns.
additionalPatientIdentifiersAny additional patient identifier typeDisplays additional identifiers in the reportNoDoesn't display any additional patient identifier
ageGroupNameAny age group nameName of the age group to show in reportNoDoesn't show age group
preferredColumnsList of column namesOrder of the columns to be displayed in the output reportNeed not mention all the columns in the config. Configured columns will be given precedence and shown first followed by all the other remaining columns in default orderNoDefault order of the columns for the report.sample configurationpreferredColumns: ["Patient Name","Birth Date","Age"]
sortByList of objectsTo sort the reports output in ascending/descending order based on the configuration.Columns that are not present in the output of the report should not be configured.Default behaviourIf just column is configured, not the sortOrder , then default sortOrder is ascending (asc).Allowed values for "sortOrder"For key "sortOrder", "asc" or "desc" are allowed values. Configured values are case insensitive.NoDefault output for the report.sample configuration"sortBy" : [{"column" : "BirthDate", "sortOrder" : "desc"}]
Screen Shot 2016-05-23 at 6.41.32 PM.png

4. 일반 보고서 집계

엔터티 기반 일반 보고서는 관찰 데이터를 Excel로 추출해 매크로를 적용할 수 있습니다. 이 기능은 별도 매크로 대신 구성 자체에 피벗 정보를 지정해 원하는 출력을 만듭니다.

KeyPossible ValuesDescriptionRequiredDefault
nameOfReportAny stringUnique key to identify the reportYes
nameAny StringReport name to be shown on reportYes
type "aggregation"Type of the reportYes"It has to be aggregation"
configIs the section to configure what you need in the reportYes
reportAny existing generic reports (Ex: observations)Is to apply aggregation on that particular report. The config under report option refers to generic report config. If it is observations then config values from observations report will be used here.YesNone 
rowGroupsAny column name in the report on which we are doing aggregationIncludes columns to group for rowsYesNone
columnGroupsAny column name in the report on which we are doing aggregationIncludes columns to group for columnsNoNone
distinctGroupsAny column name in the report on which we are doing aggregationPerforms a distinct count on given column after grouping rows and columnsYesNone
showTotalRowtrue / falseShows the Total row at the bottom of tableNofalse
showTotalColumntrue / falseShow the Total Column as last column of tableNofalse
image2016-6-20 18:28:18.png

예시 구성은 Gender를 rowGroups, Concept Name과 Value를 columnGroups로 지정해 이완기·수축기 값에 따른 남녀 수를 표시합니다. distinctGroups의 Patient Identifier를 기준으로 집계합니다.

image2016-6-20 18:29:9.png

5. 여러 보고서 연결

여러 보고서를 하나로 연결합니다. 연결 보고서는 CSV 형식을 지원하지 않습니다.

KeyPossible ValuesDescriptionRequiredDefault
nameOfReportAny stringUnique key to identify the reportYes
nameAny StringReport name to be shown on the concatenated reportYes
type "concatenated"Type of the reportYes"It has to be concatenated"
configConfig for all the reports that you want in one report file. Please refer to the individual report description above for configuring themYes

예: 방문 보고서와 Obs Canned Report를 연결하면 Excel의 서로 다른 시트에 표시됩니다. PDF, HTML 등에서는 위아래로 이어집니다.

Screen Shot 2016-07-08 at 6.06.34 PM.png

6. 검사 결과 보고서

검사 결과를 다양한 방식으로 추출하고 필터와 출력 필드를 구성합니다.

다음 필드는 기본 출력에 포함됩니다.

  • 환자 식별자, 환자 이름, 나이, 생년월일, 성별, 검사 처방일, 검사명, 결과, 판정, 결과 최소·최대 범위, 외부 의뢰 여부, 파일 업로드 여부
KeyPossible ValuesDescriptionRequiredDefault
nameOfReportAny stringUnique key to identify the reportYes
nameAny stringReport name to be shown on reportYes
typeType of the reportYes"It has to be labOrders"
configConfigure what is required in the reportNo
patientAttributesPatient attribute typesFetches patient attributes and mandatory fieldsNo
patientAddressesPatient address fieldsFetches patient address and mandatory fieldsNo
visitAttributesVisit attribute typeFetches visit attributes and mandatory fieldsNo
showVisitInfotrue / falseFetches visit information and mandatory fields. It fetches visit type, visit start date, visit stop date.NoFalse
showProvidertrue / falseFetches provider of individual lab result.NoFalse
conceptNamesToFilterFULLY_SPECIFIED concept name of a lab testFilters lab results by any test name. The name you specify should be a FULLY_SPECIFIED concept name.NoAll lab results within specified date range
conceptValuesToFilterAny test result value or numeric rangesFetches lab results by any test result value or numeric ranges. Format for numeric ranges:- "10..100": A range from 10 to 100 inclusive- "..100": Maximum value 100 inclusive- "10.." Minimum value of 10 inclusiveNo
forDataAnalysistrue / falseFetches database ids like patient_id, concept_id, observation_id etc.NoFalse
programsToFilterany program nameFilters lab results by programsNo
excludeColumnsany column names in the reportExcludes the columns from outputNoDoesn't exclude any columns.
showOrderDateTimetrue / falseShows order creation date time in the databaseNoFalse
additionalPatientIdentifiersAdditional patient identifier typeDisplays additional identifiers in the reportNoNo additional patient identifier
ageGroupNameAny age group nameName of the age group to show in reportNoNo age group
showReferredOutTeststrue / falseFilters out referred out tests based on the valueNotrue
preferredColumnsList of column namesOrder of the columns to be displayed in the output reportNeed not mention all the columns in the config. Configured columns will be given precedence and shown first followed by all the other remaining columns in default orderNoDefault order of the columns for the report.sample configurationpreferredColumns: ["Patient Name","Birth Date","Age"]
sortByList of objectsTo sort the reports output in ascending/descending order based on the configuration.Columns that are not present in the output of the report should not be configured.Default behaviourIf just column is configured, not the sortOrder , then default sortOrder is ascending (asc).Allowed values for "sortOrder"For key "sortOrder", "asc" or "desc" are allowed values. Configured values are case insensitive.NoDefault output for the report.sample configuration"sortBy" : [{"column" : "BirthDate", "sortOrder" : "desc"}]
Screen Shot 2016-09-07 at 12.35.05 PM.png
원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗