초기 정리: PIT3000 분석 자료 업로드

- 좌표/SQL/API 분석 문서화
- 재현 스크립트와 예시 응답 추가
- 개인정보/원본 실행파일 제외
This commit is contained in:
2026-06-29 00:27:06 +00:00
commit 4bacdb0a1e
7 changed files with 384 additions and 0 deletions

66
docs/api-response.md Normal file
View File

@@ -0,0 +1,66 @@
# API/JSON 응답 설계 예시
PIT 원본은 JSON API라기보다는 SQL + BLOB + health.kr HTML/이미지 URL을 조합합니다. 현대화할 때는 아래처럼 normalization하는 것을 권장합니다.
## Endpoint 예시
```http
GET /api/drugs/{drugcode}
GET /api/drugs/{drugcode}/images
GET /api/drugs/{drugcode}/pictograms
```
## 응답 예시
```json
{
"drugcode": "A000000001",
"dik_code": "123456789",
"sung_code": "1234567TB",
"sung_code_kind": "ingredient_code",
"names": {
"etcname": "샘플정",
"splname": "샘플제약",
"ingredient_name_en": "Sample ingredient"
},
"classification": {
"print_type": "해열진통소염제",
"effctname": "정제",
"character": "흰색 원형 정제"
},
"drug_info": {
"save_medi": "실온 보관",
"indic_medi": "용법용량 예시",
"effect": "효능/효과 예시",
"adr": "주의사항 예시",
"interaction": "상호작용 예시",
"gen_medi": "복약지도 예시"
},
"images": [
{
"source": "PM_IMAGE..DrugImg",
"expr1": "1",
"content_type": "image/jpeg",
"url": "/api/drugs/A000000001/images/1.jpg",
"width_hint": 183,
"height_hint": 100
},
{
"source": "health.kr",
"url": "https://www.health.kr/drug_info/sb/zoom.asp?drug_code=123456789&print_front=&print_back="
}
],
"pictograms": [
{
"pic_code": "P001",
"source": "PM_DRUG..CD_PICTOGRAM",
"url": "/api/drugs/A000000001/pictograms/P001.jpg"
}
],
"external_links": {
"health_kr_simple": "https://health.kr/searchDrug/result_drug_simple.asp?drug_cd=123456789",
"health_kr_zoom": "https://www.health.kr/drug_info/sb/zoom.asp?drug_code=123456789&print_front=&print_back=",
"pharm_or_kr_zoom": "https://www.pharm.or.kr/search/zoom.asp?drug_code=123456789"
}
}
```

46
docs/flow.md Normal file
View File

@@ -0,0 +1,46 @@
# 의약품 상세/이미지 흐름
## 1. 입력
PIT 내부의 약품 단위 key는 상황에 따라 `DRUGCODE`, `DIK_CODE`, `SUNG_CODE`가 함께 등장합니다.
- `DRUGCODE`: PIT/PM 내부 약품 코드
- `DIK_CODE`: health.kr/식별 이미지 계열에서 사용하는 식별 코드
- `SUNG_CODE`: 성분코드
## 2. 기본 해석 흐름
```mermaid
flowchart TD
A[DRUGCODE] --> B[PM_DRUG..CD_GOODS]
B --> C[DIK_CODE]
B --> D[SUNG_CODE 성분코드]
A --> E[PM_DRUG..CD_ETCGOODS + CD_MC]
D --> F[PM_DRUG..CD_SUNG]
C --> G[PM_IMAGE..DrugImg]
C --> H[health.kr result_drug_simple.asp]
C --> I[health.kr zoom.asp]
C --> J[PM_DRUG..CD_PICTOGRAM_SUB/CD_PICTOGRAM]
```
## 3. 이미지 후보 우선순위
1. `PM_IMAGE..DrugImg``DRUG_IMG` BLOB
2. `C:\Dik20\Data\Drugimg2005.MDB` / `C:\Dik2004\Data\Drugimg.MDB`
3. health.kr 확대 이미지 URL
4. pictogram BLOB
## 4. HTML/인쇄 쪽에서 관찰된 임시 파일
```text
\Image\Temp\Sik_{...}.jpg
\Image\Temp\Pito_{...}.jpg
```
PIT는 BLOB을 임시 jpg로 쓰고 다음 형태의 HTML img tag를 구성하는 흔적이 있습니다.
```html
<img src="...jpg" width="183" height="100" border="0">
<img src="...jpg" width="215" height="117" border="0">
<img src="...jpg" width="59" height="100" border="0">
```