양식 조건/양식 이벤트
목적과 이점
양식 조건을 사용하면 특정 조건이나 양식 입력에 따라 관찰 필드를 활성화/비활성화하거나 표시/숨김 처리하고 값을 변경할 수 있습니다. 특정 정보가 필요할 때만 작성하는 영역의 필드를 비활성화하면 양식을 단순화할 수 있습니다. 구현자는 요구 사항에 따라 간단한 JavaScript 스크립트를 작성하여 양식 조건을 정의해야 합니다.
양식 조건은 다음 항목에 작성할 수 있습니다.
- 양식 초기화/로드 시(양식 이벤트) 양식 로드 조건을 추가하려면 아래 표시된 양식 이벤트 아이콘을 클릭합니다.

b. 편집기 창에 조건을 작성하고 저장합니다.

양식 이벤트 예시
- 이 예시는 양식을 불러올 때 ‘Smoking History’ 값이 설정되지 않았으면 ‘Number of Packs’ 컨트롤을 숨깁니다.
Sample Control Event
function(form) {
if (form.get('Smoking History').getValue() === undefined) {
form.get('Number of Packs').setHidden(true);
} else {
form.get('Number of Packs').setHidden(false);
}
}2. 값 변경 시(컨트롤 이벤트) a. 컨트롤을 표시/숨김, 활성화/비활성화하거나 값을 변경하려면 컨트롤 이벤트를 클릭하고 편집기 창에 조건을 작성한 뒤 저장합니다.

컨트롤 이벤트 예시
Sample Control Event
function(form) {
if (form.get('Smoking History').getValue() === 'No') {
form.get('Number of Packs').setValue(0);
}
}API
특정 컨트롤을 가져오도록 양식 객체에 다음 API가 제공됩니다.
| API | Description |
|---|---|
| get(conceptName) | Get a control object using concept name. |
| get(conceptName, position) | Get a control object using conceptname and position. Position is used only when there are multiple concepts in the same form |
| getById(ControlID) | Get a control object using control ID |
| getPatient() | Get a patient object |
컨트롤 객체에는 다음 API가 제공됩니다.
| API | Description |
|---|---|
| getValue() | Returns value of a particular control |
| setValue(value) | Set a value to a particular control |
| getHidden() | Returns whether the control is hidden or not |
| setHidden(hidden) | Hide/Show a particular control |
| getEnabled() | Returns whether the control is enabled or not |
| setEnabled(enabled) | Enable/Disabled a particular control |
하위 문서
원문 정보
원문 보기 ↗Bahmni Wiki · CC BY-SA 4.0