한 달 내내 막던 벽이, 1시간 만에 열렸다

한 달 내내 모든 걸 막던 벽이, 1시간 만에 열렸다.

이 연재를 읽어왔다면 계속 나온 말이 있다. “이건 차트 프로그램에 막혀 있다.” 문진표의 마지막 수동 단계도, 리콜엔진이 멈춰 있던 것도, 전부 이것 때문이었다.

차트 프로그램은 병원 데이터의 심장이다. 환자 정보, 진료 기록, 청구 내역이 다 여기 있다. 문제는 이게 모든 걸 자기 안에 잠가둔다는 거다. 밖에서 읽을 수도, 가져다 쓸 수도 없다. 한 달 동안 만든 시스템들이 죄다 이 벽 앞에서 마지막 한 걸음을 못 갔다.

돌파구는 엉뚱한 데서 왔다. 엑스레이 연동을 하다가 본 게 있었다. 엑스레이 프로그램이 하루에 한 번, 정해진 폴더에 백업을 하더라.

그 순간 생각이 스쳤다. 엑스레이가 백업을 하면, 차트 프로그램도 백업은 하지 않을까?

프로그램은 안 열어줘도, 백업은 어딘가에 파일로 떨군다. 19편의 그 질문이랑 똑같은 발상이다. “어디 저장돼?”

찾아봤다. 차트 프로그램의 백업 장소가 있었다.

그 백업 파일을 AI한테 던졌다. “이거 분석해서 뭐가 들어 있는지 봐줘.”

1시간쯤 뒤에 답이 왔다. 백업 파일의 구조를 풀어서, 안에 어떤 데이터가 어떻게 들어 있는지 정리해줬다. 환자 정보도, 진료 기록도 거기 있었다. 데이터베이스를 뽑아낸 거다.

완전히 뚫은 건 아니다. 정직하게 쓰면, 읽기만 된다. 쓰지는 못한다. 그리고 실시간이 아니라 하루에 한 번, 백업 시점 기준이다.

근데 이게 대부분의 경우 충분했다. 리콜 명단 뽑는 데 실시간이 필요한가? 어제까지의 데이터면 된다. 경영 숫자를 보는 데 실시간이 필요한가? 하루 전 마감 기준이면 된다.

한 달을 막았던 벽인데, 여는 데는 1시간이 걸렸다.

그래서 알았다. 벽이 높았던 게 아니다. 뒷문을 찾는 데 한 달이 걸렸을 뿐이다. 그리고 그 뒷문은, 개발을 모르는 내가 “어디 저장돼?”라고 물어서 열렸다. 정석을 아는 사람이었으면 정문만 두드리다 포기했을지도 모른다.

이 벽이 열리고 나서, 그동안 막혀 있던 것들이 줄줄이 풀리기 시작했다.