Maximize Your Potential

BackEnd/HIS System 7

[병원 HIS] 직원 감염노출보고서 전송 오류 — 변수명 하나 때문에 생긴 큰 문제

안녕하세요!이번 글에서는 병원 전산이나 공공기관 연계 업무를 하다 보면 꼭 한 번은 겪는 ‘변수명 오류로 인한 데이터 누락’ 사례를 공유하려고 합니다.특히 법정 보고서나 외부 기관 연계 모듈을 다룰 때는 정말 작은 변수명 하나가 전체 데이터 흐름을 멈출 수 있기 때문에 꼭 참고해두시면 좋겠습니다.문제 상황병원에서는 직원이 감염 위험에 노출되면, 감염노출보고서를 작성해서 감염관리실(줄여서 감염실)로 전송해야 합니다.이 과정은 보건법, 산업안전보건법 등 관련 법령에 따라 필수로 보고가 이루어져야 하는 중요한 단계입니다.그런데 최근에 노출 일자 데이터가 감염실 쪽 DB에 계속 NULL로 찍혀 있는 문제가 발생했습니다.원인은 생각보다 단순했지만, 재조사와 보고서 재등록으로 번거로운 작업이 필요했죠.원인 분석문제..

[병원 HIS] 국가명(국적명) 공통코드 가나다순 정렬 적용하기

[HIS 유지보수] 국가명(국적명) 공통코드 가나다순 정렬 적용하기병원 HIS 개발/유지보수를 하다 보면 자주 들어오는 요청 중 하나가 드롭다운 코드 정렬입니다.특히 국가명(국적명) 같이 선택지가 많은 필드는 가나다순이나 알파벳순으로 깔끔하게 보여줘야 실무자들이 실수를 줄일 수 있습니다.이번 글에서는 국가명 공통코드 정렬 요청이 들어왔을 때 처리 방법을 간단히 공유합니다.✅ 요청 배경기존 화면 : 국가명이 코드 테이블 등록순(dispseq)으로만 나와서 찾기 불편.요청 : 사용자들이 나라를 쉽게 찾을 수 있도록 국가명을 가나다/ABC순으로 정렬해 달라는 요구.적용 화면 : 예) 전염병 신고서, 외국인 환자 등록 등 국적 선택 필드가 있는 모든 화면.✅ 처리 방법 요약1️⃣ 공통 코드 호출 파라미터 수정우..

BackEnd/HIS System 2025.07.16

[병원 HIS] 건강증진센터 진료내역 수정요청 쿼리 정리

건강증진센터 진료내역 수정요청 쿼리 정리이번에는 건강증진센터 진료내역 수정 요청 업무를 진행하면서 기록해 둔 쿼리를 공유합니다. 데이터 흐름을 이해하고 문제를 해결하기 위해 각 테이블별로 어떤 조건과 로직으로 접근했는지 정리해두면 추후 유사 사례 처리 시 도움이 됩니다. 이번 케이스에서는 진료내역 기본 테이블과 실행 내역 테이블, 그리고 상태 테이블까지 세 단계로 나누어 조건을 검증했습니다. 기본 키는 pid, prcdd, CALCSOCORD이며 각 테이블 간 데이터 연계를 통해 누락되거나 불필요한 정보가 남아있지 않은지 꼼꼼히 확인하는 것이 핵심입니다.1️⃣ 기본 진료내역 조회가장 먼저 ast_aeahaacpt 테이블을 기준으로 진료내역을 확인합니다. 이 테이블은 환자별로 등록된 기본 진료내역이 기록되..

BackEnd/HIS System 2025.07.15

[병원 HIS] CVR(이상결과보고) 기본설정 하드코딩 → 함수 호출로 개선하기

[병원 HIS] CVR(이상결과보고) 기본설정 하드코딩 → 함수 호출로 개선하기✅ 작업 배경영상의학과 CVR(이상결과보고) 알림 로직에서기존에는 부서별 전송번호, 기본설정시간, 전송타입이 쿼리 안에 하드코딩 되어 있었습니다.🔍 문제점부서 담당자나 전송 기준이 바뀔 때마다 SQL을 다시 수정하고 배포해야 함관리 포인트가 분산되어 실수 발생 가능성 높음이번 작업에서는 이 부분을 표준 함수 호출로 통일해 하드코딩을 제거했습니다.✅ 개선 핵심: 표준 함수 구조COM.FN_ZB_GETUSERCDNM부서별 전송번호, 기준시간, 전송타입 등을 테이블에서 조회EMR.FN_MM_GETTELNO사용자 휴대폰 번호를 사용자 테이블에서 조회 ✅ 예시Before (하드코딩)sendtelno = '01012345678' unc..

BackEnd/HIS System 2025.07.14

[병원 HIS] 재고관리 출력버튼 추가 개발 기록

[병원 HIS] 재고관리 출력버튼 추가 개발 기록안녕하세요. 이번 포스팅에서는 병원 물류관리 시스템의 항목별 재고관리 화면에 출력 버튼 추가 작업을 진행한 과정을 정리합니다.출력 요청이 들어온 배경부터 적용한 함수 코드 일부까지 간략히 기록했습니다.📌 1. 개발 배경요청: 특정 재고관리 화면에 출력 버튼이 없어 직원단위 출력 참고용으로 추가 요청위치: 식재관리 서비스관련 화면: 항목별 재고관리참고사항: 동일한 출력이 필요한 다른 화면(등급관리/보고서관리)에도 동일한 방식으로 적용 예정📌 2. 주요 작업 내용✅ 1) 출력 버튼 기능 추가화면의 데이터셋을 DOM 구조로 변환 → XML 생성 → 출력 미리보기 전달rpt_setNodeListToDOM 함수로 데이터셋 노드리스트 작성✅ 2) 출력 함수 예시f..

BackEnd/HIS System 2025.07.11

[병원 HIS] 신장실당직 프로그램 Free Text 추가

신장실 당직알림말 수정기능을 추가하는 작업을 했습니다.당직알림을 하드코딩으로 아예 고정 시켜놨는데, 사용자코드를 통해서 사용자가 직접 알림말을 수정하면 그대로 반영되는 방식입니다.처음에는 삽질 을 했지만 데이터셋 바인딩구조를 충분히이해하고 기존에 사용자코드 설정 함수를 잘 설정하니 바로 반영되었습니다.📌 1) 데이터셋 및 바인딩 구조Invisible Objectsds_cond : 조건값 데이터셋 (ex. 당직날짜, 부서, 사용자코드)ds_UC0070, ds_UC0071 : 사용자 코드 조회용Bind Itemitem1 : day_searchCal.value → ds_cond.dutyymitem2 : Static00 (Static) expr → ds_UC0070.cdomitem3 : Static03 (St..

BackEnd/HIS System 2025.07.04

[병원 HIS] 외래채혈 혈액학검체 조회 화면 가접수 및 접수 통합목록추가

병원 정보시스템(HIS)을 유지보수하다 보면 화면, 쿼리, XML Mapper가 하나로 딱 맞물려야 데이터가 제대로 출력됩니다. 이번에는 외래채혈실에서 사용하는 혈액학검체 조회 프로그램을 유지보수하면서 실제로 겪었던 시행착오와 그 과정을 통해 다시 다잡은 핵심 포인트를 기록해 보았습니다.제가 맡았던 화면은 외래채혈실에서 환자별로 혈액학검체 이력을 조회할 수 있는 프로그램입니다. 화면은 XPLATFORM으로 되어 있고, 환자번호와 기간, 그리고 ‘검체구분’을 선택할 수 있는 ComboBox가 Dataset과 연동되어 있습니다. 선택된 옵션은 Oracle 쿼리로 전달되어 spcflag라는 코드값에 따라 전수, 채혈, 가검수 등으로 분기 처리되도록 되어 있었습니다.✅ 구조 요약화면(XPLATFORM)Combo..

BackEnd/HIS System 2025.06.30