프로그램 관리
임상 환자 검색에서 Programs 탭 구성
임상 앱 설정 폴더에 있는 extension.json 파일에 다음 설정을 추가합니다.
config/openmrs/apps/clinical/extension.json
"bahmniCLinicalPatientsSearchActicePatientsForPrograms" : {
"id": "bahmni.clinical.patients.search.allPatients",
"extensionPointId": "org.bahmni.patient.search",
"type": "config",
"extensionParams": {
"searchHandler": "emrapi.sqlSearch.activePatientsByProvider",
"display":"Programs",
"forwardUrl" : "#/programs/patient/{{patientUuid}}/consultationContext"
},
"label": "Programs",
"order": 1,
"requiredPrivilege": "app:clinical"
}임상 환자 검색 페이지에 새 "Programs" 탭이 표시됩니다.

대시보드에서 Programs 앱 구성
구현 담당자는 애플리케이션 대시보드에 'programs'용 별도 앱을 구성할 수 있습니다. 프로그램 앱은 환자 대기열에 별도 설정을 사용하는 임상 앱과 같습니다.
확장 설정 이름은 앱 URL에서 가져옵니다. 적용할 규칙은 앱 URL에서 # 뒤의 첫 번째 매개변수를 불러올 확장 설정의 이름으로 사용하는 것입니다.
home/extension.json
"programs": {
"id": "bahmni.programs",
"extensionPointId": "org.bahmni.home.dashboard",
"type": "link",
"label": "Programs",
"url": "../clinical/#/programs/patient/search",
"icon": "fa-tasks",
"order": 2,
"requiredPrivilege": "app:clinical"
}프로그램에는 자체 설정을 둘 수 있습니다.
clinical/extension-PROGRAMS.json
{
"bahmniClinicalPatientsSearchActivePatientsForPrograms": {
"id": "bahmni.clinical.patients.search.activePatients",
"extensionPointId": "org.bahmni.patient.search",
"type": "config",
"extensionParams": {
"searchHandler": "emrapi.sqlSearch.activePatients",
"display": "Programs",
"forwardUrl": "#/programs/patient/{{patientUuid}}/consultationContext"
},
"label": "Active",
"order": 1,
"requiredPrivilege": "app:clinical"
},
"bahmniClinicalPatientsSearchAllPatients": {
"id": "bahmni.clinical.patients.search.allPatients",
"extensionPointId": "org.bahmni.patient.search",
"type": "config",
"extensionParams": {
"display": "All",
"forwardUrl": "#/programs/patient/{{patientUuid}}/dashboard"
},
"label": "All",
"order": 2,
"requiredPrivilege": "app:clinical"
}
}OpenMRS에서 새 프로그램 만들기
아래 GIF와 같이 OpenMRS 앱에서 프로그램을 만듭니다.

프로그램과 진료 유형 연결
프로그램과 진료 유형을 연결하기 위해 Bahmni는 아래와 같이 구성할 수 있는 일반 엔터티 매핑 개념을 사용합니다.
- entity_mapping_type 테이블에 프로그램과 진료 유형 간 매핑을 정의하는 레코드를 추가합니다.sqlentity_mapping_type 항목entity_mapping 테이블에 특정 프로그램과 특정 진료 유형 간 매핑을 생성하는 레코드를 삽입합니다.sqlentity_mapping 항목, , , now()) ]]>entity_mapping_type entry
insert into entity_mapping_type(name, uuid, entity1_type, entity2_type, date_created) values ('program_encountertype', uuid(), 'org.openmrs.Program', 'org.openmrs.EncounterType', now())
entity_mapping entry
insert into entity_mapping(uuid, entity_mapping_type_id, entity1_uuid, entity2_uuid, date_created)
values (uuid(), <id_of_the_record_created_in_step_1>, <uuid_of_program>, <uuid_of_encounter_type>, now())프로그램과 관찰 템플릿 연결
프로그램을 관찰 템플릿(개념)과 연결할 때도 Bahmni는 위와 같은 일반 엔터티 매핑을 사용합니다.
- entity_mapping_type 테이블에 프로그램과 개념 간 매핑을 정의하는 레코드를 추가합니다.sqlentity_mapping_type 항목entity_mapping 테이블에 특정 프로그램과 특정 개념 간 매핑을 생성하는 레코드를 삽입합니다.sqlentity_mapping 항목, , , now()) ]]>entity_mapping_type entry
insert into entity_mapping_type(name, uuid, entity1_type, entity2_type, date_created) values ('program_obstemplate', uuid(), 'org.openmrs.Program', 'org.openmrs.Concept', now())
entity_mapping entry
insert into entity_mapping(uuid, entity_mapping_type_id, entity1_uuid, entity2_uuid, date_created)
values (uuid(), <id_of_the_record_created_in_step_1>, <uuid_of_program>, <uuid_of_concept>, now())프로그램 등록 기간 내 데이터만 표시하도록 대시보드 및 Medication 탭 구성
프로그램 등록 기간에 해당하는 모든 데이터를 대시보드와 Medication 탭에서 보려면 clinical/app.json에 이 설정을 추가합니다.
entity_mapping entry
"config" : {
"program": {
"showDetailsWithinDateRange" : true,
}
}원문 정보
원문 보기 ↗Bahmni Wiki · CC BY-SA 4.0