[일오갓생] 코드보다 복잡했던 임상연구에서의 merge

🤓 DAY 5

진짜 겨울이다 싶더니 다시 날씨가 조금 풀린 것도 같다.

가족들과 같이 <아바타3> 영화를 보고 맛있는 밥도 먹고 들어와서 백준 문제를 풀고,

내일부터 진행되는 강의를 위해 Git 세팅을 다시 한 번 더 보고 강의 내용을 복습해보았다.

Git 관련하여 복습한 내용은 곧 블로그에 올릴 예정이다. 

주말이지만 해이해지지 않는 내 자신 멋져


📚 오늘의 갓생 - Git Branch 복습하다 떠오른 그 시절

내일부터 진행되는 새로운 강의를 위해 Git 세팅을 다시 하면서 지난 수업 자료를 복습해보았다.

브랜치, 병합, Fast-forward, 3-way merge 내용 등을 복습하며 예전 임상시험 때가 또 떠올랐는데 그 때 얘기를 조금 해볼까 한다.

일단 먼저 브랜치와 복습한 부분에 대해서 알아보자면

 

브랜치(branch)는 기존 코드를 그대로 둔 채 새로운 작업을 따로 진행할 수 있게 해주는 작업 공간이고,

병합(merge)은 그렇게 나뉜 작업을 다시 하나로 합치는 과정이다.

이 때 병합 방식이 상황에 따라 달라진다.

 

먼저 Fast-forward mege는 브랜치가 갈라진 적 없이 한 방향으로만 작업이 이어졌을 때 사용하는 방식이다.

main 브랜치가 그대로 있고, 다른 브랜치에서 작업한 커밋들을 main 포인터만 앞으로 당겨서 이어 붙이는 구조라서

히스토리가 깔끔하게 직선으로 이어진다.

반대로 3-way merge는 브랜치가 실제로 갈라졌다가 다시 합쳐질 때 사용하는 방식이다.

두 브랜치의 공통 조상 커밋을 기준으로 양쪽 변경 사항을 비교해서 하나의 병합 커밋을 새로 만든다.

그래서 히스토리에 분기와 합류 흔적이 남는다.

 

 

임상시험에는 Protocol 이라는게 있다.

쉽게 말하면 이 연구를 어떻게 진행할지 전부 정리해둔 설계도 같은 문서다.

어떤 환자를 대상으로 어떤 약을 어떤 일정으로 투여하고, 어떤 검사를 언제 하는지, 중간에 어떤 기준으로 평가할지,

예외 사항과 예외 상황은 어떤 것들이 있는지 등 모든 규칙이 이 문서에 들어있다.

 

Amendment는 이 프로토콜을 연구 도중 수정하는 걸 말한다.

약 용량이 바뀌거나, 검사 항목이 추가되거나, 참여 조건이 달라지는 식이다.

수정된 내용은 바로 적용할 수 없고 먼저 병원 내부의 IRB라는 임상시험 심의위원회에 다시 제출한다.

IRB는 이 변경이 환자에게 안전한지, 윤리적으로 문제가 없는지를 검토하는 곳이다. 승인 없이 변경 내용은 적용할 수 없다.

IRB 승인이 떨어지면 그 때 새 동의서를 만들고 그 동의서를 들고 기존에 등록된 환자들에게 변경된 내용을 다시 설명하고 재동의를 받는다. (이러이러한 내용이 바뀌었습니다. 연구 참여를 계속 하시겠습니까?)

장난입니다.

 

문구 몇 줄 수정 같은 행정적인 변경 내용이면 기존 동의로 계속 가는 경우도 있고,

굳이 재동의를 받을 필요가 없는 수정사항이다 라는 문구를 추가 기재하여 IRB에 제출한다.

마치 Fast-forward 처럼 조용히 지나간다고 볼 수 있다.

 

하지만 약 용량, 검사 일정, 연구가 진행되다보니 이러한 위험이 있다 등의 중요한 내용이 바뀌면

기존 환자 전부에게 새 동의 내용을 설명하고 재동의를 받아야 한다. 마치 3-way merge 같은 순간이 아닐까 생각한다.

 

재동의는........... 대상자가 많아질수록 더욱 힘들어진다.

특히 survivor follow-up 단계에 있는 환자들은 연락이 쉽지 않았던게 생각난다.

이 단계는 암 치료가 끝나고 일정 기간이 지나 현재 연구 관련 치료는 종료되었지만 생존 상태를 장기적으로 추적 관찰하는 단계이다.  이 또한 환자가 연구 치료가 종료되는 시기에 동의를 받고 들어가는 추가 단계이다.

 

여기엔 이미 수년 전에 치료가 끝난 분들도 포함된다.

보통 글로벌 연구는 장기적으로 20~30년을 바라보고 하는 연구가 많고 또 왠만하면 추적 단계에 동의를 하시기 때문에

포함된 환자분들이 꽤 많다고 생각하면 된다. 병원 방문이 뜸해진 분들도 있고 연락처가 바뀌거나 보호자를 통해 연락하는 경우도 많은데, 특히 연락을 주고받은지 너무 오래되신 분들이거나 확인이 너무 어려운 분들 같은 경우에는 국민건강보험 자격 정보 조회를 통해서 생사 확인을 먼저 간접적으로 할 때도 있었다. (사망 시에는 건강보험 자격이 말소되기 때문인데 EMR 기록, 원무 시스템 기록, 건강보험 자격 상태 등을 같이 보고 판단할 때가 꽤 있었다.)

 

연락이 닿으면 연구 내용이 바뀌었다는 설명을 하고 참여 지속 의사를 확인해야 한다.

직접 서명을 받는것이 기본 원칙인데 어떤 경우 직접 서명을 받는게 현실적으로 불가능해서 통화 기록과 설명 내용을 문서로 남기고 재동의 완료 라고 기록해야 했다. 그 과정은 가끔 너무 많은 인원일 경우 행정적으로도 마음적으로도 힘든 때가 많았다.

 

그 땐 그냥 일이 너무 많고 복잡하다고만 느꼈다.

Git 에서 브랜치와 병합 개념을 복습하며 했던 생각은 시스템은 변경을 구조로 관리하지만,

현장에서는 그 구조를 결국 사람이 감당해야하기 때문에 변경이 클수록 그 부담은 그대로 사람 몫이 되었던 것 같다.

 

돌아보니 내가 경험했던 protocol amendment와 재동의 과정은 현실 세계의 merge 가 아니었을까 생각한다..!

이렇게 연결하면서 이해하다보면 이해가 조금 쉬워지기도 하지만 옛날 생각에 마치 그 때 일했던 것처럼 힘들어지기도 한다 🫠


✍🏻 기록

- Git / GitHub 강의 복습

- 백준 문제 풀이 (2558번)

- DACON

- 독서 (작은 땅의 야수들)


🍀 내 얘기

 

시스템은 구조로 관리하고, 변경은 문서로 정리하고,

문제는 프로세스로 해결하는데 결국 그 모든 변화는 다 사람이 받아낸다.

 

난 그 시절에도 어떻게든 해냈으니까

헬스케어AI개발자..? 앞으로도 해낼거다 💪🏻

 

https://youtu.be/LHUAmHYOXFM?si=akyZb_nJIEhe4iUX

아마두 (Feat. 우원재, 김효은, 넉살, Huckleberry P) - 다모임 | [DF LIVE] 염따 딥플로우 팔로알토 사이먼도미닉 더콰이엇