업무 시스템

유럽법인 시퀀싱 업무 시스템(Nanopore LIMS) 구축 및 고객 시스템(COMS) 연계

본사에 동일한 운영 사례가 없던 유럽법인 신규 시퀀싱 업무 시스템(Nanopore LIMS)의 주문·생산·실험·결과 처리 체계를 구축했습니다.

기간
2024.02 — 2024.07
상태
운영 반영
역량
요구사항 구조화 · LIMS 전반 개발
8개전용 테이블
2024.07.09운영 오픈
출발 조건
본사에도 동일한 운영 모델이 없던 유럽법인 신규 Sequencing 서비스
직접 담당한 범위
요구사항·데이터·화면 설계부터 LIMS 주문·생산·실험·결과 처리와 오픈 지원
협업 범위
COMS 주문등록은 타 개발자 담당, LIMS와 주고받는 주문 데이터·상태 통합테스트 수행

CASE STUDY

한눈에 보는 변화

본사에도 같은 운영 사례가 없는 신규 서비스였습니다. Whole Plasmid·16S의 차이와 샘플 조건·부가서비스·재처리 규칙부터 업무 모델로 정리했습니다. Fragment Analysis에서 재사용할 부분을 찾고, 다른 법인에 영향을 주지 않도록 Nanopore 전용 메뉴·데이터·서비스를 분리해 주문부터 결과 제공까지 LIMS 전 과정을 구현했습니다.

본사에 동일한 업무 모델이 없는 상태에서 유럽법인이 최초로 신규 시퀀싱 서비스를 운영해야 했습니다. 향후 서비스 확장과 다양한 샘플 조건을 고려하면서도 재시도와 추가 주문까지 실제 현업 흐름으로 정의해야 했습니다.

직접 담당한 범위

  • 현지 요구사항 분석과 LIMS 데이터·화면 설계
  • LIMS 주문·생산·실험·결과 처리 전반 개발
  • LIMS·COMS 데이터 구조와 주문 흐름 연계, 통합테스트·배포·오픈 지원
프로젝트 변경 전후 비교
구분변경 전변경 후확인된 변화
업무 모델본사·기존 법인에 그대로 적용할 Nanopore 운영 기준 부재현업 질의로 서비스 유형·샘플 조건·부가서비스·재처리 규칙을 구체화유럽법인 신규 서비스의 처리 기준 확립
기능 분리Fragment Analysis를 참고할 수 있으나 업무 규칙과 실험 흐름은 상이공통 골격은 재사용하고 Nanopore 전용 메뉴·서비스 로직 분리기존 법인에 미치는 영향을 줄여 기능 확장
실험 데이터신규 서비스의 샘플·반응·Plate·실험 상태와 이력 저장 방식 미정8개 전용 테이블과 기존 주문·이력 테이블 확장실험 진행과 변경 이력의 추적 기준 확보
업무 처리현지 요구사항이 개별 화면과 기능 단위로 존재주문·접수·Plating·실험·결과·완료를 순서대로 연결2024.07.09 유럽법인 운영 오픈

EVIDENCE CHAIN

문제를 좁힌 과정

  1. 01 · 요구사항 분해

    서비스 유형별 규칙과 예외 조건을 먼저 분리했습니다

    Whole Plasmid와 16S 서비스의 차이, Sample Condition, 부가서비스, 재시도와 추가 주문 조건을 현지 담당자 질의로 구체화했습니다. 같은 주문이라도 샘플과 반응이 어떤 조건에서 분기되는지 업무 단위로 정리했습니다.

    판단신규 서비스의 화면을 설계하려면 서비스 유형·샘플·반응 규칙을 데이터와 상태로 먼저 표현해야 했습니다.

  2. 02 · 기존 서비스 비교

    Fragment Analysis에서 재사용할 부분과 분리할 부분을 찾았습니다

    주문·접수·실험·결과라는 처리 순서는 Fragment Analysis에서 참고할 수 있었지만, 서비스 유형과 실험 배열·재처리 규칙은 달랐습니다. 기존 기능에서 재사용할 부분과 Nanopore가 별도로 가져야 할 부분을 나눴습니다.

    판단기존 코드를 그대로 복제하면 다른 법인과 서비스에도 불필요한 분기가 생기므로 전용 메뉴와 서비스가 필요했습니다.

  3. 03 · 데이터 모델링

    실험 단계에 맞춰 8개 전용 테이블을 설계했습니다

    샘플, 반응, 임시 데이터, Plate, 실험 배열, 반응 상태, 샘플 변경 이력이 각각 언제 생성되고 바뀌는지 분리했습니다. 공통 주문·이력과 연결하되 신규 실험 데이터는 기존 서비스에 영향을 주지 않도록 별도 테이블에 저장했습니다.

    판단상태 변화와 재처리를 추적하려면 주문 한 건에 모든 정보를 넣기보다 샘플·반응·실험·이력을 분리해야 했습니다.

  4. 04 · 책임 연결

    COMS와 LIMS의 담당 범위를 나누고 주문 데이터로 연결했습니다

    LIMS 주문·생산·실험·결과 처리를 직접 개발했고, COMS 주문등록 화면은 타 개발자가 담당했습니다. 두 영역 사이에서는 주문 데이터 구조, 등록 이후 상태 전이, 결과 제공 시점을 함께 맞춰 통합테스트했습니다.

    판단담당 영역은 나뉘어 있었지만 주문 데이터와 상태 변화가 두 시스템 사이에서 끊기지 않는지는 함께 확인해야 했습니다.

  5. 05 · 오픈 검증

    정상 처리와 서비스 분기·재처리 조건을 함께 검증했습니다

    주문등록부터 접수·Plating·Rxn Sheet·Worksheet·결과 URL·메일·주문완료까지 연결해 검증했습니다. 유럽법인 QA 피드백과 추가 개선을 반영한 뒤 2024년 7월 9일 운영 오픈을 확인했습니다.

    판단주문부터 결과 제공까지 실제 업무가 이어져야 신규 시스템의 구현을 완료할 수 있었습니다.

DECISION LOG

검토한 대안과 선택 근거

제외

Fragment Analysis 구조 그대로 복제

주문·실험의 큰 흐름은 비슷해도 서비스 유형·샘플 조건·재처리 규칙이 달라 법인별 분기가 누적될 수 있기 때문입니다.

제외

기존 공통 테이블에 모든 항목 추가

Nanopore 전용 실험 상태와 배열·변경 이력이 다른 서비스의 데이터 구조와 변경 범위까지 넓히기 때문입니다.

보완

완전한 별도 시스템으로 구축

독립성은 높지만 기존 주문·사용자·이력 기능까지 다시 만들어야 하므로 공통 기반은 재사용했습니다.

선택

공통 골격 + Nanopore 전용 영역

기존 주문 흐름과 운영 기반은 활용하면서 신규 서비스의 데이터·화면·로직을 분리해 영향도를 통제할 수 있었습니다.

IMPLEMENTATION

설계와 구현

주문·접수

  • LIMS 주문등록과 Excel 일괄 업로드
  • 주문조회와 접수, 보류·해제·취소 흐름
  • 서비스 유형·Sample Condition·부가서비스 조건 반영

생산·실험

  • 샘플과 반응 생성·상태 관리
  • Plating, Rxn Sheet와 Worksheet 처리
  • Plate·실험 배열·반응 상태를 전용 데이터 구조로 관리

결과·이력

  • 결과 URL 등록과 메일 발송
  • 주문완료와 재시도·추가 주문 조건 처리
  • 샘플 변경과 업무 상태 변화를 이력으로 추적

법인 연계·다국어

  • COMS 주문등록 데이터 구조와 LIMS 처리 방식 연계
  • 영어·프랑스어·이탈리아어 메시지 적용
  • 유럽법인 QA 피드백 반영과 배포·오픈 지원

VERIFICATION

테스트 매트릭스

프로젝트 테스트와 완료 기준
검증 영역검증 방법완료 기준
서비스 유형Whole Plasmid·16S와 Sample Condition·부가서비스 조합 실행유형별 주문·샘플·반응 규칙이 정의한 조건대로 분기
전체 생명주기주문등록→접수→Plating→실험→결과→완료 시나리오 수행단계별 상태와 관련 데이터가 다음 업무 화면에 일관되게 연결
예외·재처리보류·해제·취소·재시도·추가 주문 조건 점검기존 결과와 이력을 보존하며 허용된 상태 전이만 수행
COMS 연계타 개발자가 담당한 주문등록과 LIMS 데이터·상태 흐름 통합테스트두 시스템이 주고받는 필수 데이터 누락 없이 주문과 결과 연결
법인 운영다국어 메시지와 유럽법인 QA 피드백·추가 개선 재검증현지 사용 흐름 확인 후 2024.07.09 운영 오픈

OPERATION

운영 반영과 후속 안정화

확인된 결과
  • 신규 해외 서비스의 LIMS 업무 흐름과 데이터 구조 설계
  • LIMS 주문·생산·실험·결과 처리 범위를 직접 구현
  • 유럽법인 QA와 추가 개선을 거쳐 2024.07.09 운영 오픈

TAKEAWAYS

이 사례에서 드러난 역량

  • 본사 기준이 없는 신규 서비스에서는 서비스 유형·상태·예외·재처리 규칙을 먼저 모델링해야 합니다.
  • 유사 시스템을 비교하면 재사용할 기능과 새 서비스가 따로 가져야 할 업무 규칙을 찾을 수 있습니다.
  • 샘플·반응·Plate·실험·이력을 분리하면 재처리와 상태 변화를 운영 데이터로 추적할 수 있습니다.
  • 시스템별 담당자가 달라도 주문 데이터와 상태 전이는 함께 맞춰야 통합 과정의 누락을 줄일 수 있습니다.
요구사항 구조화LIMS 전반 개발업무 모델링통합테스트

사용 기술

JavaSpringMyBatisMySQLJSPLIMS/COMS