영상촬영이력 — 213종 → 214종
OCM_영상촬영이력(bzDataInterface.vb:13968) — 영상의학(XRAY) 접수 완료 오더의 일자·이름(30자 절단). 원문 결합 그대로: 한 줄에 2건, 줄 안은 " / "(공백 5), 줄 사이 CRLF, 각 건은 날짜+공백7+이름. 원문 정렬이 8자 절단 별칭이라 같은 날 안 순서가 임의였다 — 원본 일시(OdrDtm)로 정렬해 고정(상위 순서 동일). - dotnet test 338/338 · --edit-smoke 실패 0 (이름 검사 214종) - --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
f06740ae51
commit
d988a347f4
@@ -670,6 +670,18 @@ public sealed class PatientExtraStore
|
|||||||
+ " 'txtMedHis' AS 병력기타내용))",
|
+ " 'txtMedHis' AS 병력기타내용))",
|
||||||
("m", comNum));
|
("m", comNum));
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 영상 촬영 이력(OCM_영상촬영이력, :13968) — 영상의학(XRAY) 접수 완료 오더의
|
||||||
|
/// 일자·이름(30자 절단, 원문 SUBSTR). 원문 정렬은 8자 절단 별칭이라 같은 날 안 순서가
|
||||||
|
/// 임의였다 — 원본 일시로 정렬해 고정한다(상위 순서는 동일).
|
||||||
|
/// </summary>
|
||||||
|
public IReadOnlyList<IReadOnlyDictionary<string, string>> RadiologyHistory(decimal comNum)
|
||||||
|
=> Rows(
|
||||||
|
"SELECT SUBSTR(OdrDtm, 1, 8) AS OdrDay, SUBSTR(OdrNam, 1, 30) AS OdrNam FROM O_OdrInf"
|
||||||
|
+ " WHERE OdrComNum = :m AND OdrAcpDep = 'XRAY' AND OdrStkStt = 'OE'"
|
||||||
|
+ " ORDER BY OdrDtm DESC",
|
||||||
|
("m", comNum));
|
||||||
|
|
||||||
/// <summary>스칼라 1칸 — 0행이거나 NULL 이면 빈 문자열. 잔여 공백은 걷는다(문맥 행과 같은 규칙)</summary>
|
/// <summary>스칼라 1칸 — 0행이거나 NULL 이면 빈 문자열. 잔여 공백은 걷는다(문맥 행과 같은 규칙)</summary>
|
||||||
private string Scalar(string sql, params (string Name, object Value)[] binds)
|
private string Scalar(string sql, params (string Name, object Value)[] binds)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1506,6 +1506,7 @@ public sealed class PatientTagResolver : ITagValueResolver
|
|||||||
"OCM_외래실진료일", "OCM_외래실진료일_과목별", "OCM_외래실진료일수",
|
"OCM_외래실진료일", "OCM_외래실진료일_과목별", "OCM_외래실진료일수",
|
||||||
"ETC_승인의사", "OCM_수술소독간호사",
|
"ETC_승인의사", "OCM_수술소독간호사",
|
||||||
"OCM_적용진료과", "OCM_적용진료의사", "OCM_전과", "OCM_간호정보조사지_과거력",
|
"OCM_적용진료과", "OCM_적용진료의사", "OCM_전과", "OCM_간호정보조사지_과거력",
|
||||||
|
"OCM_영상촬영이력",
|
||||||
};
|
};
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -2008,6 +2009,34 @@ public sealed class PatientTagResolver : ITagValueResolver
|
|||||||
? new TagValue(true, text.ToString())
|
? new TagValue(true, text.ToString())
|
||||||
: new TagValue(false, "조립할 전과 줄이 없습니다(과명 또는 구간이 비어 있음)");
|
: new TagValue(false, "조립할 전과 줄이 없습니다(과명 또는 구간이 비어 있음)");
|
||||||
}
|
}
|
||||||
|
case "OCM_영상촬영이력":
|
||||||
|
{
|
||||||
|
var comNum = PatientContext.Value(context.ComInf, "ComNum");
|
||||||
|
if (!decimal.TryParse(comNum, out var m))
|
||||||
|
{
|
||||||
|
return new TagValue(false, "이 내원의 내원번호를 읽지 못했습니다");
|
||||||
|
}
|
||||||
|
var shots = store.RadiologyHistory(m);
|
||||||
|
if (shots.Count == 0)
|
||||||
|
{
|
||||||
|
return new TagValue(false, "영상의학(XRAY) 접수 완료 오더가 없습니다");
|
||||||
|
}
|
||||||
|
// 원문 결합(:13990-14012): 한 줄에 2건 — 줄 안은 " / "(공백5),
|
||||||
|
// 줄 사이는 CRLF. 각 건은 "YYYY-MM-DD" + 공백 7 + 오더명(30자).
|
||||||
|
var text = new System.Text.StringBuilder();
|
||||||
|
for (var i = 0; i < shots.Count; i++)
|
||||||
|
{
|
||||||
|
if (i > 0)
|
||||||
|
{
|
||||||
|
text.Append(i % 2 == 1 ? " / " : "\r\n");
|
||||||
|
}
|
||||||
|
var day = PatientContext.Value(shots[i], "OdrDay");
|
||||||
|
text.Append(day.Length >= 8 ? Hyphenate(day[..8]) : day)
|
||||||
|
.Append(" ")
|
||||||
|
.Append(PatientContext.Value(shots[i], "OdrNam"));
|
||||||
|
}
|
||||||
|
return new TagValue(true, text.ToString());
|
||||||
|
}
|
||||||
case "OCM_간호정보조사지_과거력":
|
case "OCM_간호정보조사지_과거력":
|
||||||
{
|
{
|
||||||
var comNum = PatientContext.Value(context.ComInf, "ComNum");
|
var comNum = PatientContext.Value(context.ComInf, "ComNum");
|
||||||
@@ -2249,6 +2278,7 @@ public sealed class PatientTagResolver : ITagValueResolver
|
|||||||
"OCM_외래실진료일", "OCM_외래실진료일_과목별", "OCM_외래실진료일수",
|
"OCM_외래실진료일", "OCM_외래실진료일_과목별", "OCM_외래실진료일수",
|
||||||
"ETC_승인의사", "OCM_수술소독간호사",
|
"ETC_승인의사", "OCM_수술소독간호사",
|
||||||
"OCM_적용진료과", "OCM_적용진료의사", "OCM_전과", "OCM_간호정보조사지_과거력",
|
"OCM_적용진료과", "OCM_적용진료의사", "OCM_전과", "OCM_간호정보조사지_과거력",
|
||||||
|
"OCM_영상촬영이력",
|
||||||
"OCM_입원시간", "OCM_입원일시", "OCM_입원일시_영문", "OCM_입실시간",
|
"OCM_입원시간", "OCM_입원일시", "OCM_입원일시_영문", "OCM_입실시간",
|
||||||
"OCM_의사퇴원예고일시", "OCM_퇴원예정일시", "OCM_퇴원시간", "OCM_퇴원일시",
|
"OCM_의사퇴원예고일시", "OCM_퇴원예정일시", "OCM_퇴원시간", "OCM_퇴원일시",
|
||||||
"OCM_퇴원예고일시", "OCM_재원일수", "OCM_퇴원예고재원일수", "OCM_입원일자_낮병동",
|
"OCM_퇴원예고일시", "OCM_재원일수", "OCM_퇴원예고재원일수", "OCM_입원일자_낮병동",
|
||||||
|
|||||||
Reference in New Issue
Block a user