BackEnd/HIS System 14

[병원 HIS] 제증명 관리 모듈 리팩토링 – 데이터 흐름 및 출력 개선기

[병원 HIS] 제증명 관리 모듈 리팩토링 – 데이터 흐름 및 출력 개선기병원 전산 시스템(HIS)에서 제증명 관리 기능은 환자, 행정, 진료부서 모두에게 중요한 기능입니다. 이번 글에서는 제증명 발급 데이터 조회 로직을 개선하면서 경험했던 코드 리팩토링, 모듈 간 연계 구조 분석, 출력 형식 문제 해결 과정을 공유합니다.1. 시스템 구조 개요제증명 발급 기능은 단일 모듈에서 끝나지 않고 여러 모듈이 연동되어 동작합니다.EMR 모듈 → 발급 요청(reqGetList) 발생AST 모듈 → 제증명 데이터 조회 및 상세 매핑 (RslRef, RslRefImpl)LIS 모듈 → 검사 결과 조회 (getListData)아래 다이어그램은 실제 구조를 단순화한 모습입니다.2. 문제 배경이슈: 제증명 발급 화면에서 일..

BackEnd/HIS System 2025.08.22

[병원 HIS] Repexrt 조건스타일 처리 및 통합결과조회 속도 개선

[병원 HIS] Repexrt 조건스타일 처리 및 통합결과조회 속도 개선병원 정보시스템(HIS)에서 레포트 출력은 필수적인 업무 흐름 중 하나입니다.특히 검사 결과, 통합 결과 조회 등은 실시간으로 출력되어야 하며, 사용자가 버튼 한 번만 눌러도 빠르게 반영되어야 합니다. 그러나 Report 조건스타일이 많아질 경우 데이터셋 처리 속도가 저하되고, 로직이 복잡해지는 문제가 발생합니다. 이번 글에서는 Report 조건스타일 처리 과정과 실제 속도 개선 로직 적용 사례를 정리해 봅니다.1. 문제 상황검사 통합결과 조회 화면에서 출력 버튼을 눌렀을 때,조건스타일이 많아 실행 속도가 지연됨조건식(Expression) 내에서 row마다 조건을 반복 연산 → 성능 저하결과적으로 Repexrt 출력이 늦어져 업무 처..

BackEnd/HIS System 2025.08.21

[병원 HIS] 결핵환자 신고 프로세스 튜닝과 전산 개선

병원 정보시스템(HIS)에서는 감염병 신고가 단순 전산 기능을 넘어, 환자 안전과 법적 보고 의무와 직결됩니다.그중 결핵환자 신고는 특히 중요도가 높은데, 실제 현업에서 운영되는 시스템에는 몇 가지 개선 포인트가 있었습니다.이번 글에서는 제가 진행했던 결핵환자 신고 프로세스 개선 경험과 함께,관련 SQL 쿼리 최적화 및 화면 스크립트 개선 사례를 공유합니다.1. 문제 상황기존 결핵환자 신고 로직에는 다음과 같은 문제들이 있었습니다.신고 팝업은 저장 이후에만 조회 가능 → 의사가 즉시 확인하기 불편데이터 정합성 부족 → 결핵환자가 누락되거나 중복되는 경우 발생신고 제외 사유를 기록할 수 없어, 단순히 99991231 같은 특수 코드 처리에 의존불필요한 팝업 발생 → 의료진의 업무 피로도 증가2. 개선 목표..

BackEnd/HIS System 2025.08.20

[병원 HIS] 병리과 동결절편 검체 블록 생성 오류 추적기

업무 중 병리과에서 동결절편 검체(Block) 생성이 되지 않는 오류가 발생해 SQL 조회 및 로그 확인을 통해 원인을 추적했습니다. 병원정보시스템(LIS)에서 자주 발생할 수 있는 사례이기에, 기록 차원에서 정리해 봅니다.📌 1. 문제 현상 요약병리과에서 동결절편 의뢰 후 블록이 생성되지 않음정상적으로 등록한 수납번호/검체번호를 기준으로도 ljspmcen 테이블에 insert되지 않음ljspmact, ljspmcen 등 병리 관련 테이블 확인 필요🔍 2. 초기 SQL 확인 및 로그 추적✔️ 주요 테이블LIS.ljspmact: 병리 의뢰 데이터LIS.ljspmcen: 병리 검체 생성 데이터 (Block 생성 여부 확인 대상)sql복사편집-- 검체 등록 여부 확인 SELECT * FROM LIS.ljs..

BackEnd/HIS System 2025.08.20

[병원 HIS] 병원 전산에서 ‘감염주의 표시’ SQL 쿼리 설계 – IN 조건 활용

병원 전산 시스템에서는 감염관리 대상 환자를 신속하게 식별해야 합니다.특히 항생제 내성 여부, 검사 결과, 격리 상태를 종합해 감염주의 플래그를 설정하는 로직이 핵심입니다.이번 글에서는 내부 DB 구조나 코드 없이, IN 조건을 활용한 방식을 중심으로 쿼리 설계 아이디어를 공유합니다. 1. IN 조건 활용 배경원래는 EXISTS로 서브쿼리 존재 여부를 판별하려 했지만,[데이터 구조상 JOIN 키 매칭이 복잡하거나 필터링 조건이 다중 컬럼 비교일 경우EXISTS가 원하는 결과를 주지 않는 상황이 발생할 수 있습니다.이 경우, 특정 컬럼 값 집합에 포함 여부를 직접 비교하는 IN 조건이 더 단순하고 직관적일 수 있습니다.2. 구조 개요감염 관리 대상 검사 추출 (CTE)날짜 조건: TRUNC(검사일자) = ..

BackEnd/HIS System 2025.08.19

[병원 HIS] 수술조회 화면의 엑셀 출력 기능 확인

오늘은 병원 HIS(의료정보시스템)의 수술조회 화면을 점검하며, 수술감점자 리스트의 엑셀 출력 기능과 관련된 버튼 이벤트 및 데이터 처리 스크립트를 분석했습니다.이 화면은 수술과 관련된 특정 환자 리스트를 조회하고, 필요한 데이터를 엑셀로 내려받는 기능을 제공합니다.✅ 엑셀 출력 기능 분석수술감점자 대상 리스트를 엑셀로 추출하는 버튼 클릭 시 다음과 같은 자바스크립트 함수가 실행됩니다.function button2_onclick(objBtn, eClickEventInfo) { gdf_exportExcel(dsrd_oppaterfile_excel, "수술위험감점자 대상 리스트", "수술위험감점자 대상 리스트", false, "", "user", false);}사용자 정의 데이터셋(dsrd_oppate..

BackEnd/HIS System 2025.07.24

[병원 HIS] 진료과 인증의사 조회 조건 수정

안녕하세요. 오늘은 병원 전산팀에서 수행한 HIS 시스템의 진료과 인증의사 관련 SQL 쿼리 수정 작업을 기록으로 남겨보려 합니다. 이번 수정은 수탁 접수 시 조회되는 인증의사 리스트가 일부 진료과에서 비정상적으로 출력되는 이슈에 대한 대응이었습니다.🧩 문제 배경수탁검사 접수 이후 인증의사 콤보박스에서 특정 진료과 소속 의사가 보이지 않거나 불필요한 의사가 노출되는 현상이 확인되었습니다.이는 주로 특정 청구 불가능 진료과 코드 또는 과거에 종료된 부서 정보가 쿼리 조건에 포함되어 발생하는 문제였습니다.🔧 주요 수정 내용📌 1. SQL 쿼리 수정 (가명파일: diagTestQuery.xml)기존 쿼리 ID: getILB0111목적: 인증의사 목록에 청구 가능 진료과만 포함되도록 조건 필터 추가주석 참..

BackEnd/HIS System 2025.07.24

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

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

BackEnd/HIS System 2025.07.22

[병원 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