관찰값 간 플로시트(Obs To Obs FlowSheet)
목적
화면 예시


구성
구성 예시
Add to clinical/dashboard.json for it to appear on the patient dashboard
"Bacteriology Resultseriology Concept Set": {
"translationKey": "DASHBOARD_TITLE_BACTERIOLOGY_RESULTS_KEY",
"type": "obsToObsFlowSheet",
"displayOrder" : 4,
"displayType" : "Full-Page",
"rotateInPrint" : false,
"headingConceptSource" : "Abbreviation",
"dataConceptSource" : "Abbreviation",
"dashboardConfig": {
"numberOfVisits": 1,
"initialCount": 3,
"latestCount": 4,
"pivotOn": "column",
"templateName": "BACTERIOLOGY CONCEPT SET",
"groupByConcept": "Specimen Collection Date",
"type": "DstExtension",
"conceptNames": [
"Specimen Id"
],
"isEditable": true,
"obsDelimiter": "\n"
},
"expandedViewConfig": {
"templateName": "BACTERIOLOGY CONCEPT SET",
"groupByConcept": "Specimen Collection Date"
},
"hideEmptyDisplayControl": false
}주요 필드 표
| 키 | 설명 | 필수 |
|---|---|---|
| translationKey | 로케일 파일에 값이 정의되며 표시 컨트롤의 이름으로 사용되는 키 | 예 |
| type | 섹션(컨트롤) 유형. 이 컨트롤에는 "obsToObsFlowSheet"를 지정 | 예 |
| displayOrder | 대시보드 표시 순서. 정수 사용 | 아니요 |
| displayType | 표시 컨트롤 너비. Full-Page, Half-Page, LAYOUT_25_75, LAYOUT_75_25 | 예 |
| rotateInPrint | 인쇄 시 세로·가로 방향. true 또는 false | 아니요 |
| headerConceptSource | 각 헤더의 참조 용어에 지정된 약어를 헤더로 표시. 없으면 shortname 사용 | 아니요 |
| dataConceptSource | 답변값을 각 헤더 참조 용어의 약어로 표시. 없으면 shortname 사용 | 아니요 |
| numberOfVisits | 표시할 방문 수. 미설정 시 모든 방문 데이터 표시 | 아니요 |
| initialCount | 방문 수 범위에서 처음 표시할 관찰값 수 | 아니요 |
| latestCount | 방문 수 범위에서 최근 표시할 관찰값 수 | 아니요 |
| templateName | 표시할 개념 집합(템플릿 가능)의 이름 | 예 |
| groupByConcept | 값을 그룹화할 템플릿(개념 집합) 구성원 | 예 |
| type (inside dashboardConfig) | 파일 이름(groovy 확장자). DST, ECG READINGS, CHEST X-RAY 등 개별 obsToObsFlowSheet에 월 계산 등의 확장을 구성 | 아니요 |
| conceptNames | 표에 표시할 개념 이름. 기본값은 템플릿의 모든 말단 구성원 | 아니요 |
| pivotOn | 표 방향. 기본값은 행 방향이며 row 또는 column 사용 | 아니요 |
| isEditable | 플로시트의 각 행 항목 편집을 활성화. 활성화하면 연필 아이콘 표시 | 아니요 |
| obsDelimiter | multiSelect 개념의 여러 값 사이 구분자. 미설정 시 대시보드에서 기본값 "," 사용 | 아니요 |
| hideEmptyRecords | true 또는 false. 행 전체에서 비어 있는 열을 숨김. dashboardConfig 또는 expandedViewConfig 안에 구성 | 아니요 |
| hideEmptyDisplayControl | true이면 기록값이 없을 때 표시 컨트롤을 숨김. 기본값 false | 아니요 |
약제 감수성 검사(DST) 컨트롤
Obs To Obs FlowSheet 컨트롤의 예입니다. 다음과 같은 여러 방식으로 구성할 수 있습니다.
- pivotOn: row — 모든 헤더가 열에 배치되고 값은 행을 기준으로 표시됩니다. 기본 동작입니다.

- pivotOn: column — 헤더가 첫 번째 열을 기준으로 배치되고 각 관찰값마다 하나의 열이 생깁니다. 설정으로 선택할 수 있습니다.

구성 예시
Add to clinical/dashboard.json for it to appear on the patient dashboard
"dstResults": {
"translationKey": "DST Results",
"type": "obsToObsFlowSheet",
"displayType": "Full-Page",
"displayOrder": 9,
"rotateInPrint" : true,
"showOnlyInPrint" : true,
"headingConceptSource":"Abbreviation",
"dataConceptSource": "Abbreviation",
"dashboardConfig": {
"groupByConcept": "Specimen Collection Date",
"name": "DstExtension",
"pivotOn": "column",
"templateName": "BACTERIOLOGY CONCEPT SET",
"conceptNames": [
"Bacteriology, Isoniazid 0.2 µg/ml result",
"Bacteriology, Isoniazid 1 µg/ml result",
"Bacteriology, Rifampicin result",
"Bacteriology, Ethambutol result",
"Bacteriology, Pyrazinamide result"
]
}
}주요 필드 표
| Key | Use | Mandatory |
|---|---|---|
| expandedViewConfig | Indicates the configuration for the details page (All Observations Page). | N |
| conceptNames | Specifies the concept names of the concepts that need to be displayed in this section. | N |
| dashboardConfig | Indicates the configuration for the dashboard. | Y |
| drugConcept | Concept names of the drugs that need to be displayed in the pivot table. | Y |
| groupBy | Can be encounters/visits. If grouped by the encounter, then the data is displayed per encounter in the pivot table. If grouped by the visit, then the latest value of the observations in each visit is displayed in the pivot table. | Y |
| isObservation | Specifies whether the given section is an observation control or a disease template control. If this is set to true then the section behaves as an observation control. | Y |
| labConcept | Concept names of the lab tests that need to be displayed in the pivot table. | Y |
| type | The name/id for the control that needs to be picked from the code. | Y |
| numberOfVisits | Specifies the number of visits for which data has to be displayed on the pivot table. | N |
| obsConcept | Concept names of the observations that need to be displayed in the pivot table. | Y |
| observationGraph | Indicates the configuration for the pivot table/flowsheet. | N |
| showDetailsButton | Configuration to display audit information when 'V' sign is clicked. If set to false, the 'V' button will not be displayed. | N |
| showGroupDateTime | Configuration to display grouped encounter date time. If set to false, it is hidden. Default value is true(which means it is treated as true, if nothing specified). Should be separately configured for both dashboard and allDetails page. | N |
| Title | Indicates the title that will be displayed on the dashboard/visit page for the section. | Y |
| displayType | Configuration to display "Half-Page" , "Full-Page","LAYOUT_25_75" - 25% or one-fourth of the page widthor"LAYOUT_75_25" - 75% or three-fourth of the page width. | N |
| showOnlyInPrint | Configure to display only in print view not in display | N |
| displayOrder | Configuration to control the order of sections | N |
| headingConceptSource | Configuration to display the “ReferenceTerm” of the Concept configured as per the Concept Source(Abbreviation) in the display controls for header names. | |
| dataConceptSource | Configuration to display the "ReferenceTerm" of the Concept(Coded) configured as per the Concept Source(Abbreviation) in the display controls for coded answers. | |
| personAttributes | List of person attributes to be displayed. Names of person attributes have to be specified. | N |
| programAttributes | List of program attributes to be displayed. Names of program attributes have to be specified. | N |
| preferredIdentifier | It can be name of either a person attribute or a program attribute. The value of that attribute will be displayed instead of patient identifer. If configured, that attribute will be removed from the other patient data displayed. If both person and program attributes have the same name, program attribute takes precedence. | N |
Groovy 확장
이 컨트롤에는 사용자 정의 Groovy 확장을 구성할 수 있습니다.
Obs To Obs 컨트롤에서 Groovy 확장을 사용할 수 있는 예시는 다음과 같습니다.
- 월 확장
- 최댓값 관찰 표시
월 확장
chronicTreatmentChart에 월 열을 표시하려면 다음 Groovy 확장을 추가합니다.
Groovy 코드 예시: TreatmentRegimenExtension.groovy (https://github.com/Bahmni/endtb-config/blob/master/openmrs/treatmentRegimenExtension/TreatmentRegimenExtension.groovy)
이 파일을 구성의 /openmrs/treatmentRegimenExtension/ 패키지에 복사해야 합니다.
관찰 최댓값
Obs To Obs Flowsheet 컨트롤에 추가할 수 있는 또 다른 Groovy 확장 예시입니다.
사용 사례
Obs To Obs FlowSheet 컨트롤에 최댓값을 표시합니다. 관찰값이 텍스트나 문자열(보통 코드화 개념의 답변)로 기록된다고 가정합니다. 최댓값 판별 순서는 Groovy 파일에 직접 지정하며, 아래 예에서는 내림차순으로 나열합니다. 그러면 컨트롤은 한 개념에 기록된 모든 관찰값 중 가장 높은 값만 표시합니다.
Sample code to specify the highest order
List<String> cultureResultObsValueInDescendingOrder = Arrays.asList("Positive for M. tuberculosis", "Negative for M. tuberculosis", "Contaminated",
"Only positive for other mycobacterium", "Other")Complete sample code
List<String> cultureResultObsValueInDescendingOrder = Arrays.asList("Positive for M. tuberculosis", "Negative for M. tuberculosis", "Contaminated",
"Only positive for other mycobacterium", "Other")
ArrayList<BahmniObservation> cultureResultObs = pivotRow.getColumns().get("Bacteriology, Culture results");
if(cultureResultObs != null && cultureResultObs.size() > 1) {
Collections.sort(cultureResultObs, new obsValueComparator(cultureResultObsValueInDescendingOrder));
pivotRow.getColumns().remove("Bacteriology, Culture results");
pivotRow.addColumn("Bacteriology, Culture results", cultureResultObs.get(0));
}주요 필드 표
| 키 | 설명 |
|---|---|
| cultureResultObsValueInDescendingOrder | 코드화 답변의 완전 지정 이름을 내림차순으로 보관하는 변수 |
| Bacteriology, Culture results | 질문 개념의 완전 지정 이름 |
목차
원문 정보
원문 보기 ↗Bahmni Wiki · CC BY-SA 4.0