나이 계열 7종·주민번호 마스킹 3종 — 215종 → 225종 (조사 라운드 7 시작)
PAT_나이(bzDataInterface.vb:373 Case Else — 통합 대표행의 AgeMonth 파생 컬럼과 같은 식을 SQL 로: UDF_GETAGE_FROMRESNUM(복호화, 적용일시), dtCommonLib.vb:3725 확인. CGCH 분기·암호화 N 갈래 미이식), PAT_나이_세(:417 — 산정코드 24* 는 UDF_GETAGE(PatBthDay), 그 밖은 AgeCheck), PAT_성별_나이(:359 — "성별/나이". HIMCHAN_BP·BSYD 분기 미이식), PAT_나이_개월수(:430 — 월 경계 -1, 기존 MonthsSince 재사용), 개월·일 4종(:436-508 — 30일 나눗셈, 새 DaysSince 로 분해). AgeCheck(clsCommonLib.vb:665-974)를 ResidentNumber.AgeOf 로 이식 — 세기 접두 규칙(1·2→19, 3·4→20, 5·6→출생2자리<20 이면 20xx 아니면 19xx+월일 0101 강제, 7·8→서버 연도 2자리 비교, 그 외→18xx. REDCROSS· BSYD·BSGH 특례 미이식), 만나이(생일 당일 차감 없음 — 2024-09-25 이후 전 병원 규칙), 1세 이하는 고정 365일. 테스트 5건 — 기대값 하나가 틀려 있었다(출생 2자리 "20"은 <20 이 아니라 1920년으로 강제 — 구현이 맞고 판정을 고침). 개월·일 4종의 기준일은 레거시가 PC 시계(Now)라 서버 오늘로 바꿈(의도적 이탈 — 단말마다 값이 갈리면 안 된다). PAT_주민번호_Blind/SexTyp_Blind/SexTyp_BlindStar(:105-186 Case Else — 앞6 " - " 뒤 XXXXXXX / 성별1+XXXXXX / 성별1+******. SYBS 의 J-계열 서식 전체 노출 분기 미이식). 대조군 교체: PAT_나이가 이식되면서 ⑬·edit-smoke 의 "안 옮긴 태그" 대조군이 깨졌다(의도된 동작) — ETC_수술실간호사로 교체. ㊱ 신설: 나이 UDF 2종이 실값을 돌려준다(접두 없이 동작 확인). - dotnet test 342/342 (AgeOf 5건 추가) · --edit-smoke 실패 0 - --db-patient ①~㊱ 전건 통과 - --db-render P062 md5 8d683835f5d81e7bb41c79071d6bf954 불변 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
abb08d0c6b
commit
8256b79800
@@ -551,7 +551,7 @@ public static class EditSmoke
|
||||
var probes = new[]
|
||||
{
|
||||
("차트", "PAT_차트번호"), ("이름", "PAT_이름"),
|
||||
("나이", "PAT_나이"), ("시각", "ETC_현재일자"),
|
||||
("간호", "ETC_수술실간호사"), ("시각", "ETC_현재일자"),
|
||||
};
|
||||
for (var i = 0; i < probes.Length; i++)
|
||||
{
|
||||
@@ -607,9 +607,10 @@ public static class EditSmoke
|
||||
withPatient);
|
||||
|
||||
// 아직 안 옮긴 환자 태그는 <b>그렇다고 말해야</b> 한다.
|
||||
// 대조군 태그가 이식되면 이 판정이 깨진다 — 그때 다른 미이식 태그로 갈 것(PAT_나이에서 한 번 갈았다).
|
||||
// "DB 접속이 없습니다" 로 뭉개면 환자를 골랐는데도 그 사유가 나와 사람이 접속을 의심한다.
|
||||
Check("환자 태그: 매핑 없는 환자 태그는 안 옮겼다고 말한다",
|
||||
withPatient.Contains("PAT_나이", StringComparison.Ordinal)
|
||||
withPatient.Contains("ETC_수술실간호사", StringComparison.Ordinal)
|
||||
&& withPatient.Contains("아직 옮기지", StringComparison.Ordinal),
|
||||
withPatient);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user