인티그레이션(메디스트림)
경력근거: 의료인이 진료에만 집중할 수 있도록, 모든 것을 지원하는 인프라
※ 실제 산출물이 아닌 AI 예측 시안입니다.
인티그레이션은 의료기관의 진료·청구 인프라를 운영하는 회사라, 진료-청구 누락·오류를 짚는 이 도구는 메디스트림에 쌓인 실제 진료·청구 기록이 있어야 점검을 검증합니다.
'의료인이 진료에만 집중할 수 있도록 모든 것을 지원하는 인프라'가 미션. 청구·기록의 누락·오류를 자동 점검하는 게 직접적 운영 가치.
프랜차이즈 수준 인프라를 모든 의료기관에 제공. 청구 누락 한 건이 곧 매출 손실이라 운영 점검이 핵심 KPI.
React·Vue·Node·PostgreSQL 풀스택으로 운영 업무를 자동화하는 직무. 청구 ingest→점검 흐름이 직무와 정렬.
진료·청구 기록에 진료코드·수가 메타를 붙여, 누락 청구·코드 불일치·중복 청구를 근거와 함께 표시하는 1주 포트폴리오입니다. 의료 진단은 하지 않고 운영 점검만 합니다.
인티그레이션 PE. 진료 후 청구가 제대로 됐는지 매번 손으로 대조하던 상황을 끝내고, 그 점검을 자동 도구로 옮기고 싶은 사람입니다.
진료 기록에 청구 항목·진료코드 규칙을 붙이면, 규칙/LLM 이 (a) 진료했는데 청구 안 된 항목, (b) 코드-진료 불일치·중복 청구를 근거와 함께 표시합니다.
진료·청구 기록을 받아 누락 청구·코드 불일치·중복을 근거와 함께 짚어주는 동작하는 운영 점검 도구입니다.
실제 청구·수납 결과 대비 누락/오류 적중률과 오탐 비율을 재고, 검수자 일치도를 보여주는 대시보드입니다.
누락 청구 회수 예상액을 집계하고 정기 점검 리포트를 자동 발송해, 운영팀이 매주 쓰는 단계입니다.
결측·중복·미등록 코드 30종(누락 청구·이중 청구·없는 진료코드 포함)을 넣어도 점검이 멈추지 않는 걸 시연합니다.
진료-청구 기록을 넣으면 누락·오류 항목이 근거·예상 영향액과 함께 몇 초 안에 나오는 걸 시연합니다.
모든 점검 출력이 형식 검증(Zod)을 통과
측정: 자동 parse, 표본: 기록 150건
누락/오류 플래그 30개 중 25개가 내가 만든 정답과 일치합니다. 단, 정답·데이터를 작성자가 만든 합성 기준이라 '성능 검증'이 아니라 '데모 조건 동작'
위 수치는 더미데이터 자가채점이며, 실제 누락·오류 탐지 정확도는 인티그레이션 실제 청구 데이터 + 의료 청구 담당자 검수가 있어야 측정 가능합니다. 이 포트폴리오는 그 검증을 바로 돌릴 수 있는 상태까지 만듭니다.
수치는 합성 데이터 자가채점이라 성능 증명이 아닙니다. 면접에서는 데모 동작과 실검증 준비 상태로 솔직히 설명합니다.
정답을 작성자가 만들었으니 잘 맞는 것이 당연합니다. 누락·이중 청구·미등록 코드·표기 흔들림 같은 헷갈리는 케이스를 더미에 일부러 섞어 쉬운 문제만 푸는 게 아님을 보여줍니다.
의료 청구는 규제 영역이라 단정이 위헙니다. '진단'은 절대 안 하고 운영 점검만 하며, 애매한 코드 불일치는 '검토 필요'로 표시하고 청구 가부는 담당자 판단에 맡깁니다.
실제 도입 시 달라지는 것: 실 진료코드 체계·수가 기준이 더미와 다르고 자주 개정되므로 코드 마스터·규칙을 실데이터·최신 고시로 다시 맞춰야 한다(도입 단계 과제)
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
진료 한 건과 그에 연결된 청구 항목 로그. 누락·오류 점검 엔진이 가장 먼저 보는 표. 결측·중복·미등록 코드를 일부러 섞었다.
| enc_id | patient_ref | procedure_raw | code | claimed | amount_krw |
|---|---|---|---|---|---|
| en_001 | p_01 | 초진 진찰 | AA100 | true | 15,000 |
| en_002 | p_01 | 혈액 검사 | BB210 | false | — |
| en_003 | p_02 | 재진 진찰 | AA200 | true | 9,000 |
| en_004 | p_02 | 혈액검사 | BB210 | true | 22,000 |
| en_005 | p_02 | 혈액검사 | BB210 | true | 22,000 |
아래 Zod 스키마에 맞는 진료-청구 기록 120행 JSON 배열로 생성.
{"type":"object","properties":{"enc_id":{"type":"string"},"patient_ref":{"type":"string"},"procedure_raw":{"type":"string"},"code":{"type":["string","null"]},"claimed":{"type":"boolean"},"amount_krw":{"type":["integer","null"]}},"required":["enc_id","patient_ref","procedure_raw","code","claimed","amount_krw"]}
쉬운 데이터만 만들지 말 것. 하드 케이스 의도적 혼입: (1) 진료했으나 claimed=false+amount_krw=null(누락 청구) 2~3건, (2) 동일 진료 중복 청구(같은 enc 항목 2행) 1쌍, (3) code=null·procedure_raw 빈 문자열 결측 각 1건, (4) procedure_raw 표기 흔들림('혈액 검사' vs '혈액검사') 1쌍, (5) 마스터에 없는 미등록 code('ZZ999') 1건, (6) 경계 금액 0원 1건, (7) 미등록 patient_ref(orphan) 1건. JSON 배열만.{"type":"object","properties":{"enc_id":{"type":"string"},"patient_ref":{"type":"string"},"procedure_raw":{"type":"string"},"code":{"type":["string","null"]},"claimed":{"type":"boolean"},"amount_krw":{"type":["integer","null"]}},"required":["enc_id","patient_ref","procedure_raw","code","claimed","amount_krw"]}| Node.js | 기록 ingest + 청구 점검 규칙 + 모호 케이스 LLM 호출 |
| TypeScript | 점검 결과 UI + Zod 런타임 검증 |
| PostgreSQL | 진료·청구·진료코드 마스터 저장 + 조인 뷰 |
| React | 누락·오류 점검 대시보드 |
✓ pass → 그대로 멈춰도 완성품입니다. 더 키우려면 2주차(누락·오류 탐지가 실제와 맞는지 검증)로 갑니다.
✓ pass → 여기서 멈춰도 완결입니다. 더 키우려면 3주차(회수 예상액 + 정기 자동 리포트)로 갑니다.
진료 단위 청구 점검 출력. 누락/오류 유형 + 근거 + 예상 영향. 진단 단정 없음.
{"type":"object","properties":{"enc_id":{"type":"string"},"issue":{"type":"array","items":{"type":"string","enum":["missing_claim","duplicate_claim","code_mismatch","unmapped_code","zero_amount","none"]},"minItems":1},"est_impact_krw":{"type":["integer","null"]},"evidence":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"quote":{"type":"string"}},"required":["field","quote"]},"minItems":1},"hedge":{"type":["string","null"],"minLength":8}},"required":["enc_id","issue","est_impact_krw","evidence","hedge"]}[
{
"enc_id": "en_002",
"issue": [
"missing_claim"
],
"est_impact_krw": null,
"evidence": [
{
"field": "claimed",
"quote": "false"
}
],
"hedge": "진료 기록은 있으나 청구 안 됨. 청구 가부는 담당자 확인 필요"
},
{
"enc_id": "en_005",
"issue": [
"duplicate_claim"
],
"est_impact_krw": 22000,
"evidence": [
{
"field": "procedure_raw",
"quote": "혈액검사"
}
],
"hedge": "en_004 와 동일 항목 중복 청구 의심"
},
{
"enc_id": "en_008",
"issue": [
"unmapped_code"
],
"est_impact_krw": null,
"evidence": [
{
"field": "code",
"quote": "ZZ999"
}
],
"hedge": "코드 마스터에 없음. 단정 않고 검토 필요"
}
]자동: (1) Zod parse, (2) evidence.field 가 입력 스키마 실제 필드명인지, (3) unmapped_code 시 hedge 존재 + 진단 단정 토큰 검출 시 reject. 수동/judge: 청구 가부 적정성은 청구 담당자 5% 확인(운영 점검만, 진단 아님).