diff --git a/docs/TAG-PORTABLE-48.md b/docs/TAG-PORTABLE-48.md
index 2ca91cb..71a131e 100644
--- a/docs/TAG-PORTABLE-48.md
+++ b/docs/TAG-PORTABLE-48.md
@@ -105,3 +105,54 @@ ETC_로그인_사용자ID_사용자명 Return moWrkInfoBiz.UidMst.Item("UidCod"
지어낸 이름 셋이 조용히 앉아 있던 적이 있다.
- 짐작한 컬럼·계산식은 넣지 않는다. 종이에 그럴듯한 값이 찍히면 아무도 의심하지 않는다.
- 값이 아니라 사유를 돌려주는 쪽이 항상 안전하다.
+
+---
+
+## 배치 1 준비 — `OCM_담당의사` 계열 (SQL 확보 완료)
+
+`GetCodInfDT(comNum, adpDtm, 1)` = `EN_JOIN.With_Join` (dtCommonLib.vb:2777-2830):
+
+```sql
+SELECT Cod.*, DepKorNam CodDepCod_Nam,
+ Usr.UidNam CodDtrCod_Nam, Umt.UidNam CodStfCod_Nam
+FROM P_CodInf Cod
+LEFT OUTER JOIN M_UidMst Usr ON Usr.UidCod = CodDtrCod AND Usr.UidDtrYon = 'Y'
+ AND :d BETWEEN Usr.UidStrDte AND Usr.UidEndDte
+LEFT OUTER JOIN M_UidMst Umt ON Umt.UidCod = CodStfDtr AND Umt.UidDtrYon = 'Y'
+ AND :d BETWEEN Umt.UidStrDte AND Umt.UidEndDte
+LEFT OUTER JOIN M_DepMst Dep ON DepCod = CodDepCod AND DepHspCod = Usr.UidHspCod
+ AND DepWrkTyp IN ('D','A') -- SYBS·NYHY 는 ('D','A','B')
+ AND :d BETWEEN DepStrDte AND DepEndDte
+WHERE CodComNum = :n AND CodMtiSeq = '0'
+```
+
+`:d` 는 넘긴 적용일시의 **앞 8자리**(비면 서버 날짜).
+
+호출 갈래(bzDataInterface.vb `OCM_담당의사`):
+
+| 조건 | 넘기는 시각 | UidMst 조회 날짜 |
+| --- | --- | --- |
+| 입원 · `ComPrgStt='ILV'` | `ComLevDtm[0..12]` | `CodEndDtm[0..8]` |
+| 입원 · 그 밖 | 서버 현재일시 | `CodEndDtm[0..8]` |
+| 외래 | `ComAcpDtm[0..12]` | `ComAcpDtm[0..8]` |
+
+세 태그의 차이는 마지막 한 줄뿐이다 —
+`UidNam` / `UidNam(UidCod)` / `UidMblPhn`.
+
+### 옮기기 전에 정해야 할 것 둘
+
+**① 이 조회에는 정렬이 없다.** `CodComNum` + `CodMtiSeq='0'` 으로만 거르고
+`ORDER BY` 가 없는데 호출부는 `Rows(0)` 을 집는다. 한 내원에 진료과 이력이 여럿이면
+오라클이 어느 행을 먼저 주느냐에 따라 담당의가 달라진다.
+레거시의 실제 동작이 비결정적이라는 뜻이라, "그대로 옮긴다"가 성립하지 않는다.
+정렬을 넣으면 레거시와 달라질 수 있고, 안 넣으면 우리도 비결정적이 된다.
+→ 어느 쪽인지 사용자와 정하고 근거를 주석에 남긴다.
+
+**② 두 번 조회한다.** 위 SQL 이 이미 `CodDtrCod_Nam`(담당의 이름)을 돌려주는데
+태그는 그것을 쓰지 않고 `GetUidMst` 로 다른 날짜를 써서 다시 찾는다.
+날짜가 다르므로 두 값이 갈릴 수 있다. 어느 쪽이 맞는지는 레거시 동작을 따라야 한다
+(= 두 번째 조회 결과를 쓴다). 왕복을 줄이려고 첫 결과를 쓰면 값이 달라진다.
+
+또한 이 조회는 `PatientContextStore` 가 이미 읽는 `CodInf` 와 선택 규칙이 다르다
+(그쪽은 적용일시 BETWEEN + 최신순 1행). 같은 표를 두 규칙으로 읽게 되므로
+문맥의 `CodInf` 를 재사용하면 안 된다.