제5장
조직공학의 제작 공정은 스캐폴드 설계, 바이오잉크 조제, 3D 바이오프린팅, 가교, 바이오리액터 배양, 품질 시험 순으로 이어집니다. 각 단계는 서로 다른 장비와 소프트웨어에서 수행되고 결과물은 몇 주 뒤에야 평가되는 경우가 많습니다. 따라서 어느 배치의 구성체(construct)가 어떤 스캐폴드와 어떤 바이오잉크로 만들어졌는지 추적할 수 있는 기록 체계가 필요합니다. WIA-BIO-006 Phase 2는 Phase 1에서 정의한 데이터 봉투(envelope)를 HTTPS와 WebSocket 인터페이스로 노출하여 이 추적 문제를 해결합니다.
API는 네 가지 자원을 중심으로 구성됩니다. 스캐폴드 기록, 바이오잉크 배합, 조직 구성체의 생애주기, 그리고 품질 측정 결과입니다. 여기에 바이오리액터 실시간 텔레메트리가 더해집니다.
| 엔드포인트 | 역할 |
|---|---|
POST /tissue-engineering/v1/scaffolds | 스캐폴드 기록 등록 |
GET /tissue-engineering/v1/scaffolds/{id} | 스캐폴드 기록 조회 |
POST /tissue-engineering/v1/bioinks | 바이오잉크 배합 등록 |
POST /tissue-engineering/v1/constructs | 구성체 생애주기 기록 생성 |
GET /tissue-engineering/v1/constructs/{id}/quality | 최신 품질 시험 결과 조회 |
WS /tissue-engineering/v1/bioreactor/stream | 바이오리액터 텔레메트리 스트림 |
POST /tissue-engineering/v1/qc-results | 품질 측정값 제출 |
모든 엔드포인트는 /.well-known/wia-tissue-engineering 경로의 디스커버리 규약을 따릅니다. 클라이언트는 이 경로로 호스트가 제공하는 기능을 먼저 확인한 뒤 호출하면 됩니다.
스캐폴드는 세포가 부착하고 증식하는 3차원 지지체입니다. 재료, 기공률(porosity), 기공 크기, 치수가 기계적 강도와 세포 수용량을 함께 결정합니다. 표준은 이 설계 변수를 ScaffoldRequest로 받고, 계산된 물성을 ScaffoldResponse로 돌려줍니다.
interface ScaffoldRequest {
tissueType: string;
material: BiomaterialType;
porosity: number; // percentage
poreSize: number; // micrometers
dimensions: {
length: number; // mm
width: number; // mm
height: number; // mm
};
}
interface ScaffoldResponse {
id: string;
volume: number; // mm³
surfaceArea: number; // mm²
cellCapacity: number; // cells
mechanicalProperties: MechanicalProperties;
fabricationMethod: string;
}
요청의 단위가 필드 옆에 명시되어 있다는 점이 중요합니다. 기공 크기는 마이크로미터, 치수는 밀리미터, 부피는 mm³입니다. 서로 다른 연구실이 단위를 혼용해 생기는 오류를 인터페이스 수준에서 막기 위한 장치입니다. 응답의 cellCapacity는 부피와 표면적을 바탕으로 한 파종 계획의 출발점이 됩니다.
저장되는 구성 레코드는 JSON 형식입니다. 아래는 PCL-콜라겐 복합 스캐폴드의 예입니다.
{
"scaffold_id": "SCF-2025-001",
"material": {
"type": "pcl-collagen",
"ratio": "70:30",
"crosslinking": "EDC"
},
"architecture": {
"porosity": 75,
"pore_size": 200,
"interconnectivity": 95
},
"dimensions": {
"length": 10,
"width": 10,
"height": 3,
"unit": "mm"
},
"mechanical": {
"youngs_modulus": 50,
"ultimate_strength": 5,
"unit": "MPa"
}
}
레코드는 재료(합성 고분자 PCL과 천연 단백질 콜라겐의 배합비, EDC 가교), 구조(기공률, 기공 크기, 기공 간 연결성), 치수, 기계적 성질(영률과 극한강도)을 한 묶음으로 담습니다. POST /scaffolds는 이 봉투를 받아 안정적인 scaffoldId를 반환하고, 이후의 특성 분석 보고서는 모두 이 식별자를 참조합니다. 기록을 수정하면 새 버전이 만들어지고 이전 버전은 버전 이력에 보존됩니다. 조회 엔드포인트는 영률과 극한강도에 대한 베이지안 사후분포(Bayesian posterior)를 함께 제공합니다. 하류의 구조 시뮬레이터가 측정 불확실성을 예측 결과에 그대로 전파할 수 있게 하려는 것입니다.
이 표준은 특정 시장 규모나 점유율 수치를 규정하지 않으므로 여기서도 그런 수치는 다루지 않습니다. 구현 관점에서 시장의 요구는 기록의 상호운용성으로 요약됩니다. 스캐폴드 제조사, 바이오잉크 공급사, 바이오프린터와 바이오리액터 장비사, 수탁 시험기관이 각자의 형식으로 데이터를 내보내면 임상용 구성체의 이력을 한곳에서 확인할 수 없습니다. Phase 2의 API는 이 공급망 각 지점이 같은 식별자와 같은 봉투를 공유하도록 하는 공통 접점입니다.
POST /bioinks는 Phase 1에서 정한 매개변수로 바이오잉크 배합을 등록합니다. 임상 용도의 구성체는 반드시 스캐폴드 기록과 바이오잉크 기록을 모두 교차 참조해야 합니다(MUST). POST /constructs가 만드는 생애주기 기록에는 다음 항목이 쌓입니다.
조회 엔드포인트는 구성체 단위의 생존율·성숙도(viability/maturity) 이력을 실시간으로 노출합니다. SDK는 이를 이용해 제작 배치별 드리프트를 그래프로 그릴 수 있습니다.
구성체의 품질은 세포를 스캐폴드에 얼마나 고르게 넣느냐에 크게 좌우됩니다. 표준이 다루는 파종 방식은 다음과 같습니다.
| 방식 | 핵심 절차 | 효율 |
|---|---|---|
| 정적 파종 | 10⁶–10⁷ cells/mL 현탁액을 스캐폴드에 피펫팅, 2–4시간 부착 후 배지 추가 | 20–50% |
| 동적 파종(스피너 플라스크) | 50 rpm으로 4–8시간 회전 후 정적 배양으로 이동 | 40–70% |
| 진공 파종 | 50–100 kPa 진공을 5–10분 적용 후 해제하여 세포를 기공 안으로 유입 | 60–90% |
| 원심 파종 | 100–500 ×g, 5–10분 | 70–95% |
원심 파종의 상대원심력은 반경 r(mm)과 분당 회전수로 계산합니다.
RCF = 1.12 × r × (RPM/1000)²
목표 세포 밀도는 조직 종류, 스캐폴드 기공률, 배양 기간의 함수로 정해지며, 조직별 지침 범위는 아래와 같습니다.
배양 단계의 최적화는 CultureRequest(구성체, 세포 종류, 배양 일수, 바이오리액터 유형)를 받아 CultureResponse를 돌려주는 방식입니다. 응답에는 유량(mL/min), 산소 수준(%), 온도(℃), 전단응력(dyne/cm²), 예측 성숙 기간(일), 0~1 사이의 qualityScore가 들어 있습니다. 관류 유량과 전단응력은 세포 생존과 분화 방향에 직접 영향을 주는 변수이므로, 응답에서 함께 확인하는 편이 안전합니다.
POST /qc-results는 구성체, 스캐폴드, 바이오잉크 중 하나의 기록에 품질 측정값을 붙입니다. 요청에는 Phase 1의 품질 봉투와 함께 현미경 이미지, 기계시험의 응력-변형률 곡선, qPCR 플레이트, 유세포분석 FCS 파일 같은 이진 측정 페이로드가 들어갑니다. 조회 시에는 시험 범주, 합격·불합격 상태, 기간으로 필터링할 수 있어서 품질보증 팀이 규제 제출용 보고서를 바로 뽑을 수 있습니다.
공정 중 문제는 표준 오류 코드로 보고되고, 각 코드에는 권장 조치가 대응됩니다.
| 코드 | 의미 | 조치 |
|---|---|---|
| B001 | 기공률 부족 | 기공 크기 확대 |
| B002 | 세포 생존율 과저 | 파종 프로토콜 점검 |
| B003 | 기계적 파손 | 스캐폴드 보강 |
| B004 | 오염 검출 | 재멸균 |
| B005 | 혈관화 불량 | 성장인자 추가 |
| B006 | 생체적합성 문제 | 재료 변경 |
이 코드는 조직공학의 전형적인 실패 양상을 반영합니다. 기공률이 부족하면 영양 확산과 세포 침투가 막히고, 이는 곧 생존율 저하(B002)와 혈관화 불량(B005)으로 이어집니다. 따라서 하나의 코드만 보지 말고 B001, B002, B005를 함께 읽어 원인을 추적하는 것이 좋습니다.
바이오리액터 텔레메트리 WebSocket은 채널별 온도, 용존산소 장력, pH, 포도당, 젖산, 관류 유량, 전단응력 추정치와 함께 240p로 압축한 카메라 영상을 다중화해 전송합니다. 구독자는 채널과 경보 임계값으로 필터링할 수 있습니다. pH 이탈이나 용존산소 급감 같은 범위 밖 측정값이 나오면 브로커는 안전 루프에 정해진 엄격한 시간 예산 안에 경보급 이벤트를 발행합니다. 재접속 때는 Phase 3의 nonce/skew 프로토콜을 쓰며 스트림마다 단조 증가 카운터를 둡니다. 덕분에 짧은 네트워크 단절이 있어도 감사 추적이 끊기지 않습니다.
표준을 따르는 시스템은 다섯 가지 구성요소를 갖춰야 합니다. 첫째, CAD 연동과 재료 선택을 맡는 스캐폴드 설계기입니다. 둘째, 파라미터를 감시하고 제어하는 바이오리액터 컨트롤러입니다. 셋째, 자동 시험 절차를 수행하는 품질 검증기입니다. 넷째, 툴패스 생성과 세포 취급을 맡는 바이오프린팅 모듈입니다. 다섯째, GMP를 만족하는 기록 관리 시스템입니다.
?after=cursor&limit=N 형태의 커서 기반 페이지네이션을 쓰며 N의 최댓값은 200입니다. 서버는 부하 시 Retry-After 헤더를 보냅니다.스캐폴드 기록의 베이지안 사후분포와 구성체 단위의 생존율·성숙도 이력은 예측 모델이 쓸 수 있는 데이터 기반입니다. CultureResponse의 predictedMaturation과 qualityScore도 지금은 설계 보조 수준이지만, 배치 이력이 쌓이면 배양 조건을 사전에 조정하는 데 쓸 수 있습니다. 혈관화처럼 아직 실패 비중이 큰 영역에서는 텔레메트리와 품질 결과를 연결한 분석이 앞으로 더 중요해질 것입니다.
이 장은 WIA-BIO-006의 Phase 2를 조직공학 공정 순서에 맞춰 살펴보았습니다. 스캐폴드 기록은 단위가 명시된 요청·응답과 JSON 구성 레코드로 표현되고, 바이오잉크와 스캐폴드를 함께 참조하는 구성체 기록이 출력, 가교, 배양, 품질 이력을 한 줄로 이어 줍니다. 세포 파종은 정적, 동적, 진공, 원심 방식의 효율 차이와 조직별 목표 밀도를 기준으로 계획하고, 배양 최적화 API는 유량, 산소, 온도, 전단응력을 권고값으로 돌려줍니다. 품질 결과는 /qc-results로 모이며 B001~B006 코드가 실패 원인을 분류합니다. 바이오리액터 스트림은 pH 이탈과 용존산소 저하를 경보로 전달합니다.
다음 장에서는 이 인터페이스가 신뢰 경계를 넘어 교환될 때 필요한 Phase 3 프로토콜을 다룹니다. 이 장에서 잠시 언급한 nonce/skew 기반 재접속과 단조 카운터가 실제로 어떻게 감사 추적을 유지하는지, 그리고 경보 이벤트가 안전 루프의 시간 예산 안에 도달하도록 하는 교환 절차를 살펴봅니다.