초기 정리: PIT3000 분석 자료 업로드
- 좌표/SQL/API 분석 문서화 - 재현 스크립트와 예시 응답 추가 - 개인정보/원본 실행파일 제외
This commit is contained in:
88
README.md
Normal file
88
README.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# PIT3000 의약품정보/API·이미지 흐름 Reverse Engineering Notes
|
||||
|
||||
PIT3000/PM2000V6에서 확인한 **의약품 상세정보, 식별 이미지, 약품 이미지, pictogram** 관련 SQL/API 흐름을 정리한 저장소입니다.
|
||||
|
||||
## 핵심 결론
|
||||
|
||||
1. 화면/인쇄에 쓰이는 약품 상세정보는 로컬 DB(`PM_DRUG`, `PM_IMAGE`)와 외부 health.kr URL을 병행합니다.
|
||||
2. `DRUGCODE`에서 `DIK_CODE`, `SUNG_CODE`를 조회합니다.
|
||||
3. `SUNG_CODE`는 **성분코드**입니다. 보험코드가 아닙니다.
|
||||
4. 식별/약품 이미지는 `PM_IMAGE..DrugImg`, `C:\Dik20\Data\Drugimg2005.MDB`, `C:\Dik2004\Data\Drugimg.MDB` 계열에서 확인됩니다.
|
||||
5. health.kr URL은 상세 페이지/확대 이미지 페이지를 여는 보조 경로로 확인됩니다.
|
||||
|
||||
## 확인된 외부 URL
|
||||
|
||||
```text
|
||||
https://health.kr/searchDrug/result_drug_simple.asp?drug_cd={DIK_CODE}
|
||||
https://www.health.kr/drug_info/sb/zoom.asp?drug_code={DIK_CODE}&print_front={PRINT_FRONT}&print_back={PRINT_BACK}
|
||||
https://www.pharm.or.kr/search/zoom.asp?drug_code={DIK_CODE}
|
||||
```
|
||||
|
||||
## 확인된 주요 SQL
|
||||
|
||||
```sql
|
||||
-- DRUGCODE → DIK_CODE / SUNG_CODE
|
||||
SELECT ISNULL(DIK_CODE, '') AS DIK_CODE, SUNG_CODE
|
||||
FROM PM_DRUG..CD_GOODS
|
||||
WHERE DRUGCODE = :drugcode;
|
||||
|
||||
-- 약품 상세정보
|
||||
SELECT
|
||||
A.ETCNAME,
|
||||
A.SPLNAME,
|
||||
C.SUNG_ENM,
|
||||
B.PRINT_TYPE,
|
||||
A.EFFCTNAME,
|
||||
B.CHARACT,
|
||||
B.SAVE_MEDI,
|
||||
B.INDIC_MEDI,
|
||||
B.EFFECT,
|
||||
B.ADR,
|
||||
B.INTERACTION,
|
||||
B.GEN_MEDI
|
||||
FROM PM_DRUG..CD_ETCGOODS AS A
|
||||
INNER JOIN PM_DRUG..CD_MC AS B
|
||||
ON A.DRUGCODE = B.DRUGCODE
|
||||
LEFT JOIN PM_DRUG..CD_SUNG AS C
|
||||
ON A.SUNG_CODE = C.SUNG_CODE
|
||||
WHERE A.DRUGCODE = :drugcode;
|
||||
|
||||
-- SQL Server 이미지 테이블
|
||||
SELECT DIK_CODE, DRUG_IMG, EXPR1
|
||||
FROM PM_IMAGE..DrugImg
|
||||
WHERE DIK_CODE = :dik_code
|
||||
ORDER BY EXPR1 DESC;
|
||||
|
||||
-- Access MDB 계열 이미지
|
||||
SELECT DRUGCODE, FILENAME, FILELENGTH, DRUGIMG, SEQ
|
||||
FROM DRUGIMG
|
||||
WHERE DRUGCODE = :drugcode
|
||||
ORDER BY SEQ;
|
||||
|
||||
-- pictogram
|
||||
SELECT TOP 3 PIC_CODE
|
||||
FROM PM_DRUG..CD_PICTOGRAM_SUB
|
||||
WHERE DIK_CODE = :dik_code
|
||||
ORDER BY SEQ;
|
||||
|
||||
SELECT TOP 1 PIC_IMG
|
||||
FROM PM_DRUG..CD_PICTOGRAM
|
||||
WHERE PIC_CODE = :pic_code
|
||||
AND PIC_LAG = '0'
|
||||
AND IMG_CODE = '1';
|
||||
```
|
||||
|
||||
## 예시 JSON
|
||||
|
||||
`examples/drug-info-response.example.json` 참고.
|
||||
|
||||
## 원본 분석 산출물
|
||||
|
||||
- `data/teoul_drug_image_api_PM_PharmCharge.txt`
|
||||
PM_PharmCharge에서 추출한 문자열/SQL/API URL 히트 요약.
|
||||
|
||||
## 주의
|
||||
|
||||
- 이 저장소는 API 계약/흐름 문서화용입니다. 외부 사이트를 과도하게 호출하지 마세요.
|
||||
- 실제 환자/처방 데이터는 포함하지 않습니다.
|
||||
- 이미지 BLOB은 예시에서는 URL/base64 placeholder로만 둡니다.
|
||||
Reference in New Issue
Block a user