에봄에이아이
경력근거: PACS 연동, DICOM 라우팅 규칙 설정 및 기관별 맞춤 프로파일 구성
공고의 설치 업무 첫 줄이 'PACS 연동, DICOM 라우팅 규칙 설정 및 기관별 맞춤 프로파일 구성' 이고, 우대사항은 'Python 또는 Shell 스크립트를 활용한 설치 및 점검 자동화 역량' 입니다. 에봄에이아이의 심초음파 AI 는 표준 뷰가 다 들어와야 판독을 내는 제품이라, 기관마다 다른 프로파일과 실제로 들어온 뷰를 견주는 일이 설치 이후 운영의 대부분을 차지합니다. 이 포트폴리오는 여러 줄로 흩어져 오는 메타를 검사 하나로 모아 기관 기준과 견주는 기술을 보여주며, 심장 영상 판독이나 의료기기 인허가 전문성은 주장하지 않습니다. A4C 같은 뷰 이름도 프로파일에 적힌 코드로만 다뤄 봤지, 그 영상을 읽어 본 적은 없습니다.
솔루션 설치 및 구성에 'PACS 연동, DICOM 라우팅 규칙 설정 및 기관별 맞춤 프로파일 구성' 이 적혀 있습니다. 기관마다 필요한 뷰와 시리즈 수가 달라, 그 프로파일대로 검사가 들어오는지 보는 일이 설치 직후 첫 점검입니다.
우대사항이 'Python 또는 Shell 스크립트를 활용한 설치 및 점검 자동화 역량' 과 'PACS, DICOM, HL7 등 의료 IT 표준에 대한 이해 및 실무 연동 경험' 입니다. 반입 점검을 명령 한 줄로 도는 CLI 로 만들면 그 둘이 한 산출물에 같이 놓입니다.
'현장에서 반복되는 이슈를 구조화하여 제품 개선 요구사항으로 개발팀에 전달' 과 '로그 및 모니터링 시스템 기반 이상 징후 조기 탐지 및 재발 방지 대책 수립' 이 업무로 적혀 있습니다. 어느 기관에서 어떤 사유가 되풀이되는지 세어 두면 그 전달이 수치 위에서 돕니다.
PACS 에서 넘어온 검사의 DICOM 메타를 검사 하나로 묶어, 그 기관·장비의 반입 프로파일이 요구하는 뷰가 다 왔는지와 시리즈를 모두 더한 수가 기준을 넘는지 정합니다. 뷰 코드는 검사마다 여러 줄로 흩어져 들어오므로 study 번호로 모아 프로파일의 필수 뷰 목록에서 빼 보고, 남은 뷰 코드를 그대로 결과에 싣습니다. 기관과 장비 짝이 프로파일에 아예 없는 검사는 견줄 기준이 없다는 사유를 따로 붙입니다. 표준출력에는 기관과 날짜 한 줄 아래 사유별 건수가 뜨고, 같은 실행이 병원 전산팀에 넘길 재전송 요청 CSV 를 남깁니다.
병원에 제품을 설치하고 연동을 맡는 에봄에이아이 FDE 엔지니어
판독이 안 나온 검사를 하나씩 열어 보는 이유는 무엇이 모자란지가 검사 단위로 정리된 적이 없기 때문입니다. 뷰 코드와 시리즈 수를 검사로 모아 기관 프로파일과 견주면, 다시 받아야 할 검사 목록이 그날 안에 나옵니다.
검사 메타 추출본과 기관별 반입 프로파일을 넣으면 검사마다 네 사유 중 하나를 정하고, 더한 시리즈 수와 빠진 뷰 코드를 달아 기관·날짜별 요약과 재전송 요청 CSV 를 내는 CLI 가 도는 완결품입니다. 메타는 PACS 조회 결과를 내려받은 표로 두고 영상 자체는 읽지 않습니다.
여러 날 실행을 합쳐 기관·장비별로 사유가 나온 횟수를 세고, 같은 사유가 되풀이되는 기관을 프로파일 손질이나 장비 설정 점검 후보로 냅니다.
재전송 요청을 보낸 검사가 다시 들어왔는지 study 번호로 맞춰 사유가 풀렸는지 확인하고, 프로파일의 필수 태그 목록으로 검사를 넓혀 환자 번호나 촬영일이 빠진 검사도 같은 목록에 올립니다.
FDE 엔지니어가 기관 이름과 날짜로 명령을 걸면 검사마다 사유가 붙고 사유별 건수가 표준출력에 뜨는 장면을 시연합니다.
하루치 검사 60건에 판독을 걸 수 있는지 없는지를 사람 손으로 먼저 적고, 도구가 낸 사유와 맞춰 봅니다. 검사 메타와 프로파일이 합성 기준이라 이 수치로는 판독 성능을 말할 수 없고, 데모가 서는 조건만 가리킵니다.
뷰 코드가 비어 있는 시리즈와 프로파일에 없는 기관, 시리즈가 한 개뿐인 검사가 섞인 입력 30종을 걸어 기관·날짜별 요약이 끝까지 찍히는지, 사유별 건수가 어긋나지 않는지 봅니다.
프로파일의 필수 뷰를 하나 더 넣었을 때 옛 판정이 어떻게 뒤집히는지 회귀로 확인합니다.
위 수치는 제가 만든 검사 메타와 프로파일 위에서 잰 자가채점이라, 제품이 판독을 더 많이 냈는지는 여기서 알 수 없습니다. 그 답은 에봄에이아이가 설치한 기관의 며칠치 실제 검사 흐름을 받아야 나옵니다. 원내 서버에서 하루치 검사 목록을 뽑아 넣는 절차만 병원과 맞추면 되도록, 입력을 기관과 날짜로 끊어 두었습니다.
검사 메타도 프로파일도 제가 만들고 검사 60건의 정답까지 제가 붙였습니다. 일치율은 그 안에서 앞뒤가 맞는다는 확인일 뿐이고, 판독 실패가 줄었는지는 병원에서 넘어온 실제 검사에 대고 재야 나옵니다.
더미가 깨끗하면 묶음기가 늘 맞으므로, 뷰 코드가 비어 있는 시리즈와 프로파일에 없는 기관·장비 짝, 시리즈가 한 자리뿐인 검사를 일부러 섞어 두었습니다.
이 포트폴리오는 흩어져 오는 메타를 검사 하나로 모아 기관 기준과 견주는 기술을 보여주며, 심장 영상 판독이나 의료기기 인허가 전문성은 주장하지 않습니다. 판정은 목록 빼기와 더하기가 정하고 클로드는 재전송 요청 문장만 씁니다.
판독에 모자란다는 판정이 그 검사를 다시 찍어야 한다는 뜻은 아닙니다. 촬영은 다 됐는데 전송에서 일부가 빠진 경우가 흔해, 다시 보낼지 다시 찍을지는 의료진과 병원 전산팀이 정합니다.
실제 검사는 기관 망 안에서만 다룰 수 있어 병원 밖으로 내보낼 수 없습니다. 도입할 때는 이 도구를 원내 서버 안에서 돌리고 결과 파일만 병원 전산팀과 주고받는 구성을 먼저 맞춥니다. 여기 실린 더미는 공개된 DICOM 태그 이름과 표준 뷰 코드만 써서 병원 밖에서도 만들 수 있는 모양으로 두었습니다.
뷰 코드는 장비 제조사마다 다르게 실려 오는 일이 있어, 실제 도입에서는 기관마다 코드 대응표를 먼저 받아 프로파일에 붙입니다.
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
PACS 조회 결과에서 내려받은 검사 메타 추출본입니다. 줄 번호와 검사 번호, 기관, 장비, 뷰 코드, 시리즈 수, 받은 시각을 한 줄에 둡니다. 한 검사가 뷰마다 여러 줄로 흩어져 들어와, 검사 하나로 묶어야 뷰 목록과 더한 시리즈 수가 나옵니다. 장비가 뷰 코드를 안 실어 보낸 줄과 프로파일에 없는 기관·장비 짝을 일부러 섞어 사유가 갈리게 둡니다. 영상 자체는 들어 있지 않고 태그 값만 들어 있습니다.
| series_no | study_uid | institution | modality | view_code | series_count | received_at |
|---|---|---|---|---|---|---|
| DS-001 | 1.2.410.200001.1.4417 | 세종하트병원 | Echo | PLAX | 8 | 2026-09-21T08:12:00 |
| DS-002 | 1.2.410.200001.1.4417 | 세종하트병원 | Echo | PSAX | 7 | 2026-09-21T08:12:00 |
| DS-003 | 1.2.410.200001.1.4417 | 세종하트병원 | Echo | A2C | 6 | 2026-09-21T08:13:00 |
| DS-004 | 1.2.410.200001.1.4429 | 세종하트병원 | Echo | PLAX | 3 | 2026-09-21T09:40:00 |
| DS-005 | 1.2.410.200001.1.4429 | 세종하트병원 | Echo | PSAX | 3 | 2026-09-21T09:40:00 |
아래 JSON Schema 를 그대로 만족하는 검사 메타 줄을 300개 더 만들어 주세요. 기관을 여섯쯤 두고 검사 하나마다 2~7줄이 뷰별로 흩어지게 씁니다. 검사 번호는 '1.2.410.' 으로 시작하는 점 구분 문자열로 쓰고 같은 검사의 줄은 같은 번호를 씁니다. 뷰 코드는 PLAX·PSAX·A4C·A2C·A3C·A5C·SUBCOSTAL 중에서 고르되 스무 줄에 한 번꼴로 비우고, 시리즈 수는 1에서 15 사이로 둡니다. 장비는 Echo 와 ECG 를 섞고 ECG 검사는 뷰 코드를 비웁니다. 판정 결과나 사유는 넣지 마세요.
{"type": "object", "properties": {"series_no": {"type": "string"}, "study_uid": {"type": "string"}, "institution": {"type": "string"}, "modality": {"type": "string", "enum": ["Echo", "ECG"]}, "view_code": {"type": ["string", "null"]}, "series_count": {"type": "integer"}, "received_at": {"type": "string"}}, "required": ["series_no", "study_uid", "institution", "modality", "view_code", "series_count", "received_at"]}{"type": "object", "properties": {"series_no": {"type": "string"}, "study_uid": {"type": "string"}, "institution": {"type": "string"}, "modality": {"type": "string", "enum": ["Echo", "ECG"]}, "view_code": {"type": ["string", "null"]}, "series_count": {"type": "integer"}, "received_at": {"type": "string"}}, "required": ["series_no", "study_uid", "institution", "modality", "view_code", "series_count", "received_at"]}기관과 장비마다 정해 둔 반입 프로파일 표입니다. 프로파일 번호와 기관, 장비, 필수 뷰 목록, 최소 시리즈 수, 필수 태그 목록을 한 줄에 둡니다. 이 표는 설치할 때 의료진과 정해 제품 설정에 올린 것이고 이 도구가 만들지 않습니다. 기관마다 장비 구성과 검사 프로토콜이 달라 필수 뷰 개수와 최소 시리즈 수가 서로 다릅니다.
| profile_no | institution | modality | required_views | min_series | required_tags |
|---|---|---|---|---|---|
| IP-001 | 세종하트병원 | Echo | ["PLAX","PSAX","A4C","A2C"] | 20 | ["PatientID","StudyDate","SeriesDescription"] |
| IP-002 | 한내과의원 | Echo | ["PLAX","PSAX","A4C"] | 12 | ["PatientID","StudyDate","SeriesDescription"] |
| IP-003 | 한내과의원 | ECG | [] | 1 | ["PatientID","AcquisitionDateTime"] |
| IP-004 | 미래검진센터 | Echo | ["PLAX","PSAX","A4C","A2C","A3C"] | 24 | ["PatientID","StudyDate","SeriesDescription"] |
| IP-005 | 미래검진센터 | ECG | [] | 1 | ["PatientID","AcquisitionDateTime"] |
아래 JSON Schema 를 그대로 만족하는 반입 프로파일 줄을 40개 더 만들어 주세요. 기관을 스무 곳쯤 두고 기관마다 Echo 와 ECG 를 한 줄씩 둡니다. Echo 는 필수 뷰 목록을 PLAX·PSAX·A4C·A2C·A3C 중에서 2~5개 고르고 최소 시리즈 수를 8에서 30 사이로 두며, ECG 는 필수 뷰 목록을 비우고 최소 시리즈 수를 1로 둡니다. 필수 태그 목록은 PatientID·StudyDate·SeriesDescription·AcquisitionDateTime 중에서 2~4개 고릅니다. 기관 이름은 병원·의원·검진센터가 섞이게 씁니다. 판정 결과는 넣지 마세요.
{"type": "object", "properties": {"profile_no": {"type": "string"}, "institution": {"type": "string"}, "modality": {"type": "string", "enum": ["Echo", "ECG"]}, "required_views": {"type": "array", "items": {"type": "string"}}, "min_series": {"type": "integer"}, "required_tags": {"type": "array", "items": {"type": "string"}}}, "required": ["profile_no", "institution", "modality", "required_views", "min_series", "required_tags"]}{"type": "object", "properties": {"profile_no": {"type": "string"}, "institution": {"type": "string"}, "modality": {"type": "string", "enum": ["Echo", "ECG"]}, "required_views": {"type": "array", "items": {"type": "string"}}, "min_series": {"type": "integer"}, "required_tags": {"type": "array", "items": {"type": "string"}}}, "required": ["profile_no", "institution", "modality", "required_views", "min_series", "required_tags"]}| Python | 검사별로 뷰와 시리즈를 모아 네 사유로 정하는 규칙 엔진과 CLI 를 맡습니다. |
| Docker | 기관마다 다른 서버에서 같은 이미지로 돌도록 점검 도구를 컨테이너 한 장으로 묶습니다. |
| Linux | 병원 서버에 올려 하루 한 번 도는 예약 실행으로 걸어 두고 실행 기록을 파일로 남깁니다. |
| Shell | 설치 직후 한 번 도는 점검 진입 스크립트를 두어 컨테이너 실행과 결과 파일 위치를 한 줄로 맞춥니다. |
| DICOM | 검사 번호와 뷰 코드, 시리즈 수를 메타 태그에서 읽어 판정 입력 줄로 세웁니다. |
| PACS | 2주차부터 검사 메타를 조회 결과로 받아 오는 경로를 붙여 날마다 도는 점검으로 바꿉니다. |
| HL7 | 3주차에 재전송 요청 결과를 병원 시스템과 주고받을 때 쓰는 메시지 규격으로 맞춥니다. |
✗ fail → 프로파일이 없는 기관이 절반을 넘으면 프로파일 표를 먼저 채웁니다.
✓ pass → 프로파일이 거의 다 있으면 기관별 집계로 넘어갑니다.
✗ fail → 사유가 하루에만 몰려 있으면 프로파일을 손보지 않고 그날 장비 상태로 봅니다.
✓ pass → 3주차 재전송 결과 확인과 태그 검사로 넘어갑니다.
검사 하나가 판독을 걸 수 있는 상태로 들어왔는지 정합니다. 네 사유 중 하나를 싣고 더한 시리즈 수와 빠진 뷰 코드, 대조한 프로파일 번호를 함께 담아 기관별 요약과 재전송 요청 목록이 그대로 읽습니다.
{"type":"object","properties":{"verdict_no":{"type":"string"},"study_uid":{"type":"string"},"institution":{"type":"string"},"modality":{"type":"string"},"profile_no":{"type":["string","null"]},"verdict":{"type":"string","enum":["판독 가능","필요한 뷰가 빠짐","시리즈가 모자람","프로파일이 없는 기관"]},"total_series":{"type":["integer","null"],"description":"그 study_uid 의 dicom_studies.series_count 를 모두 더한 값입니다"},"missing_views":{"type":"array","items":{"type":"string"},"description":"intake_profile.required_views 중 그 study_uid 의 view_code 에 없는 뷰 코드만 남긴 목록입니다. 프로파일이 없는 기관이면 빈 목록입니다"},"evidence":{"type":"array","items":{"type":"object","properties":{"table":{"type":"string","enum":["dicom_studies","intake_profile"]},"field":{"type":"string"},"agg":{"type":["string","null"]},"value":{}},"required":["table","field","value"]}},"summary":{"type":"string"},"hedge":{"type":["string","null"]}},"required":["verdict_no","study_uid","institution","modality","verdict","total_series","missing_views","evidence","summary"]}[
{
"verdict_no": "SV-001",
"study_uid": "1.2.410.200001.1.4417",
"institution": "세종하트병원",
"modality": "Echo",
"profile_no": "IP-001",
"verdict": "필요한 뷰가 빠짐",
"total_series": 21,
"missing_views": [
"A4C"
],
"evidence": [
{
"table": "intake_profile",
"field": "required_views",
"agg": null,
"value": [
"PLAX",
"PSAX",
"A4C",
"A2C"
]
},
{
"table": "dicom_studies",
"field": "view_code",
"agg": "count",
"value": 3
}
],
"summary": "세종하트병원 Echo 는 네 뷰가 있어야 하는데 A4C 가 안 들어와 세 뷰만 넘어왔습니다.",
"hedge": null
},
{
"verdict_no": "SV-002",
"study_uid": "1.2.410.200001.1.4429",
"institution": "세종하트병원",
"modality": "Echo",
"profile_no": "IP-001",
"verdict": "시리즈가 모자람",
"total_series": 9,
"missing_views": [],
"evidence": [
{
"table": "dicom_studies",
"field": "series_count",
"agg": "sum",
"value": 9
},
{
"table": "intake_profile",
"field": "min_series",
"agg": null,
"value": 20
}
],
"summary": "네 뷰가 다 왔지만 시리즈를 모두 더해도 아홉 개라 기관 기준 스무 개에 못 미칩니다.",
"hedge": null
},
{
"verdict_no": "SV-003",
"study_uid": "1.2.410.200001.1.4503",
"institution": "세종하트병원",
"modality": "ECG",
"profile_no": null,
"verdict": "프로파일이 없는 기관",
"total_series": 1,
"missing_views": [],
"evidence": [
{
"table": "dicom_studies",
"field": "institution",
"agg": null,
"value": "세종하트병원"
},
{
"table": "dicom_studies",
"field": "modality",
"agg": null,
"value": "ECG"
},
{
"table": "intake_profile",
"field": "profile_no",
"agg": "count",
"value": 11
}
],
"summary": "세종하트병원 ECG 는 반입 프로파일 열한 줄 어디에도 없어 견줄 기준이 없습니다.",
"hedge": "심전도 장비를 새로 붙인 기관으로 보이므로, 반려가 아니라 프로파일부터 만들어 다시 돌립니다."
},
{
"verdict_no": "SV-004",
"study_uid": "1.2.410.200001.1.4560",
"institution": "세종하트병원",
"modality": "Echo",
"profile_no": "IP-001",
"verdict": "판독 가능",
"total_series": 34,
"missing_views": [],
"evidence": [
{
"table": "dicom_studies",
"field": "series_count",
"agg": "sum",
"value": 34
},
{
"table": "intake_profile",
"field": "min_series",
"agg": null,
"value": 20
},
{
"table": "intake_profile",
"field": "required_views",
"agg": null,
"value": [
"PLAX",
"PSAX",
"A4C",
"A2C"
]
}
],
"summary": "네 뷰가 다 왔고 시리즈를 더하면 서른넷이라 스무 개 기준을 넘습니다.",
"hedge": null
},
{
"verdict_no": "SV-005",
"study_uid": "1.2.410.200002.3.7781",
"institution": "한내과의원",
"modality": "Echo",
"profile_no": "IP-002",
"verdict": "판독 가능",
"total_series": 13,
"missing_views": [],
"evidence": [
{
"table": "dicom_studies",
"field": "series_count",
"agg": "sum",
"value": 13
},
{
"table": "intake_profile",
"field": "min_series",
"agg": null,
"value": 12
},
{
"table": "intake_profile",
"field": "required_views",
"agg": null,
"value": [
"PLAX",
"PSAX",
"A4C"
]
}
],
"summary": "한내과의원 Echo 는 세 뷰가 다 왔고 시리즈 열셋으로 열두 개 기준을 넘습니다.",
"hedge": null
},
{
"verdict_no": "SV-006",
"study_uid": "1.2.410.200002.3.7802",
"institution": "한내과의원",
"modality": "Echo",
"profile_no": "IP-002",
"verdict": "필요한 뷰가 빠짐",
"total_series": 14,
"missing_views": [
"PSAX"
],
"evidence": [
{
"table": "intake_profile",
"field": "required_views",
"agg": null,
"value": [
"PLAX",
"PSAX",
"A4C"
]
},
{
"table": "dicom_studies",
"field": "view_code",
"agg": "count",
"value": 2
}
],
"summary": "시리즈 수는 넉넉하지만 PSAX 가 안 들어와 두 뷰로만 판독을 걸 수 없습니다.",
"hedge": null
},
{
"verdict_no": "SV-007",
"study_uid": "1.2.410.200002.3.7815",
"institution": "한내과의원",
"modality": "Echo",
"profile_no": "IP-002",
"verdict": "필요한 뷰가 빠짐",
"total_series": 18,
"missing_views": [
"PSAX"
],
"evidence": [
{
"table": "dicom_studies",
"field": "view_code",
"agg": null,
"value": null
},
{
"table": "intake_profile",
"field": "required_views",
"agg": null,
"value": [
"PLAX",
"PSAX",
"A4C"
]
},
{
"table": "dicom_studies",
"field": "series_count",
"agg": "sum",
"value": 18
}
],
"summary": "뷰 코드가 안 실린 시리즈가 섞여 PSAX 를 확인할 수 없습니다.",
"hedge": "코드 없이 온 시리즈 여섯 개가 PSAX 일 수 있으므로, 반려 전에 병원 전산팀에 장비 뷰 코드 설정을 확인합니다."
}
][자동 검증 · 코드가 판정합니다] 1. verdict 가 판독 가능·필요한 뷰가 빠짐·시리즈가 모자람·프로파일이 없는 기관 네 값 중 하나인지 확인합니다. 2. verdict_no·study_uid·institution·modality·verdict·total_series·missing_views·evidence·summary 가 모두 채워졌는지 확인합니다. 3. total_series 가 그 study_uid 의 dicom_studies.series_count 를 모두 더한 값과 같은지 다시 계산합니다. 4. total_series 가 0 이상 500 이하인지 범위를 봅니다. 5. missing_views 가 그 기관·modality 의 intake_profile.required_views 에서 그 study_uid 의 view_code 목록을 뺀 결과와 같은지 다시 계산합니다. view_code 가 비어 있는 시리즈는 어느 뷰로도 세지 않습니다. 6. dicom_studies.institution 과 modality 의 짝이 intake_profile 에 없으면 verdict 가 프로파일이 없는 기관인지 확인합니다. 7. missing_views 가 비어 있지 않으면 verdict 가 필요한 뷰가 빠짐인지 확인합니다. 8. total_series 가 min_series 보다 작으면 verdict 가 시리즈가 모자람인지 확인합니다. 9. verdict 가 판독 가능이면 프로파일 짝 찾기와 뷰 차감, 시리즈 합 비교가 모두 통과했는지 되짚습니다. 10. 판정 순서는 프로파일이 없는 기관, 필요한 뷰가 빠짐, 시리즈가 모자람 순으로 먼저 걸리는 갈래를 씁니다. 다만 프로파일이 없는 기관은 견줄 기준이 없어 missing_views 를 빈 목록으로 두고 뷰와 시리즈 검사를 돌리지 않습니다. 11. view_code 가 비어 있는 시리즈가 섞인 검사는 missing_views 가 비어 있지 않을 때 hedge 에 그 시리즈 수를 적었는지 봅니다. 코드 없이 온 시리즈가 빠진 뷰일 수 있어 판정만 두고 넘기면 장비 설정 문제가 반려로 묻힙니다. DS-019 가 그런 시리즈입니다. 12. profile_no 가 있으면 intake_profile 에 실재하는 줄 번호이고 그 줄의 institution·modality 가 판정과 같은지 대조합니다. 13. evidence 의 field 가 dicom_studies·intake_profile 의 컬럼 이름에 있는지 확인합니다. 14. evidence 에 agg 가 없다면 그 value 는 dicom_studies 나 intake_profile 의 어느 행에 실제로 적힌 원문 값이어야 합니다. 15. 병원 전산팀에 나가는 줄이라 summary 가 존댓말로 닫혀 있어야 합니다. [평가 러너 · 2주차] 1. 검사 60건을 사람이 먼저 갈라 놓고 도구 판정과 맞춰 일치율을 냅니다. 2. 사유별 건수를 기관·장비별로 세어 되풀이되는 자리를 추립니다. [수동 검증 · 사람이 봅니다] 1. 뷰 코드 없이 넘어온 시리즈가 어느 뷰인지 병원 전산팀과 확인합니다. 2. 프로파일이 없는 기관·장비 짝의 기준값을 의료진과 정해 프로파일에 올립니다.