진료과·병동·병실·요양기관명을 옮긴다 — 26종 → 30종
사용자가 서식에서 빈칸으로 확인한 자리들이다(B·C 배치). ## 본문에서 확인한 것 - OCM_병동 / OCM_병실 (bzDataInterface.vb:6718, 6801) 문맥의 CowInf 행에서 <b>코드값 그대로</b>다(CowWadCod·CowRomCod). 마스터로 이름을 찾지 않는다 — 레거시가 코드를 그대로 찍는다. 외래는 CowInf 가 0행이라 자연히 빈 값(레거시도 외래·비낮병동은 ""). - OCM_진료과 (:5437-5495) M_DepMst 를 CodDepCod + 접수일자 BETWEEN 으로 찾는다. 유효기간 일자는 입원·외래 무관하게 <b>접수일자</b>다(:5445). 이름 선택: NH 는 DepOfcNam, 그 밖은 개원일 2022-07-01 이후 + DepOfcNam 존재 시 DepOfcNam, 아니면 DepKorNam. 개원일은 세션에 없어 빈 값 결정(기존과 동일)이라 그 갈래는 DepKorNam 으로 간다. - ETC_요양기관명칭_병원명 (:15792-15860) M_DepMst ⨝ M_HspMst(DepHspCod=HspCod) 에서 HspInsNam.Trim. 진료과 코드로 병원을 찾는 구조다(다부지 구성). 판정 일자가 진료과와 다르다 — ILV 는 퇴원일시·재원 중은 지금·외래는 접수일시. 문맥의 적용일시가 정확히 그 판정이라 AdpDtm 을 그대로 쓴다. 원본 마스터 조회에 ORDER BY 가 없어 담당의 때와 같은 규칙(최신순 1행)으로 고정했다. ## 왕복은 환자당 두 번 추가 진료과·요양기관명을 환자를 붙일 때 한 번씩 읽는다(주민번호·주소·담당의와 같은 정책). 미리보기 창과 Ctrl+P 인쇄(PatientSession.ResolversFor) 둘 다 같은 재료를 받는다. ## 실DB 확인 --db-patient ㉓·㉔ 신규: 진료과 코드 '0506' → 44열·한글명 5자, 요양기관명 6자. 코드가 이름이 되는 것까지 확인해야 태그가 값을 낸다. ## 게이트 - dotnet test 338/338 · --edit-smoke 실패 0(이름 검사 30종) - --db-patient ①~㉔ 전건 통과 - --db-render P062 md5 8d683835f5d81e7bb41c79071d6bf954 불변 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
db969fc6b5
commit
e62e43d176
@@ -2186,6 +2186,25 @@ public static class DbSmoke
|
||||
+ $" 이름 {uidNam.Length}자 (값은 기록하지 않는다)");
|
||||
Check("㉒ 담당의 조회가 예외 없이 돌고 행을 돌려준다", doctor.Count > 0,
|
||||
"0열 — 적용일시 BETWEEN 조건이나 CodDtrCod 를 의심할 것");
|
||||
|
||||
// ㉓ 진료과·요양기관명 — 같은 내원의 CodDepCod 로.
|
||||
// 코드가 이름이 되는 것까지 확인해야 태그가 값을 낸다.
|
||||
if (ownerCtx is { } octx)
|
||||
{
|
||||
var depCod = PatientContext.Value(octx.CodInf, "CodDepCod");
|
||||
var acp = PatientContext.Value(octx.ComInf, "ComAcpDtm");
|
||||
var dep = contexts.Department(depCod, acp);
|
||||
var korNam = PatientContext.Value(dep, "DepKorNam");
|
||||
lines.Add($" 진료과 조회: 코드 '{depCod}' → {dep.Count}열,"
|
||||
+ $" 한글명 {korNam.Length}자");
|
||||
Check("㉓ 진료과 마스터가 이름을 돌려준다", korNam.Trim().Length > 0,
|
||||
$"코드 '{depCod}' 로 M_DepMst 에서 이름을 못 찾았다");
|
||||
|
||||
var hosp = contexts.HospitalName(depCod, octx.AdpDtm);
|
||||
lines.Add($" 요양기관명: {hosp.Length}자");
|
||||
Check("㉔ 요양기관명이 나온다", hosp.Trim().Length > 0,
|
||||
"M_DepMst⨝M_HspMst 조인이 0행 — 유효기간이나 DepHspCod 를 의심할 것");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user