교내 데이터베이스 수업에서 진행한 프로젝트를 기록한 게시물 입니다.
외부 데이터를 활용하여 약물의 성분을 검색하고 해당 성분에 대한 효과를 조사했다. 이 부분은 팀원들이 맡았던 부분으로 조사 과정과 결과를 설명하고자 간략하게 기록한다.
약물에 포함된 구체적인 성분을 알아내기 위해 미국 식품의약국(FDA)가 배정한 국가 약물 코드(NDC)를 조회한다. 이후 FDA api를 이용하여 약물의 성분을 구체적으로 조사할 수 있다.
활용 테이블 : hops 모듈의 prescriptions
< 팀원 코드 첨부 >
import pymysql
import pandas as pd
import requests
# 데이터베이스 접속 정보 설정
connection = pymysql.connect(
host='호스트',
user='유저이름',
password='비밀번호',
db='데이터베이스'
)
try:
with connection.cursor() as cursor:
# sql_mode 설정 변경
sql = "SET sql_mode = '';"
cursor.execute(sql)
# 약물을 그룹화하고 각 약물의 NDC 코드를 조회하는 쿼리
query = """
SELECT
p.drug,
p.ndc
FROM
mimic4_fri_7.hosp_prescriptions p
GROUP BY
p.drug, p.ndc
"""
cursor.execute(query)
result = cursor.fetchall()
df = pd.DataFrame(result, columns=['drug', 'ndc'])
openFDA는 공공 FDA 데이터를 제공하는 API로, openFDA drug NDC Directory를 이용해 NDC 코드가 포함된 약품 정보들을 검색할 수 있다.
위의 단계에서 알아낸 각 약물의 NDC 코드를 이용하여 약물 성분 정보를 검색했다.

Drug API는 웹 브라우저를 통하여 호출할 수 있으며 자세한 내용은 공식 문서를 확인하길 바란다.

자주 쓰이는 10가지 약물에 대한 성분을 조사해본 결과,
INSULIN LISPRO, SODIUM CHLORIDE, POTASSIUM CHLORIDE 등이 있었다.
아래의 4가지 성분들은 영양 성분 자체가 약물로 사용되며 각각의 성분이 특정 질환에 대해 어떤 치료효과와 예방효과를 가지고 있는지 연구했다.
치료 효과
전해질 균형 유지
; 급성 및 만성 류마티스 심장질환, 허혈 심장질환, 폐성 심장병,
뇌혈관 질환 등에 도움됨
예방 효과
효과 없음
; 상기 표시된 질환에서 예방 효과 없음
단, 고혈압성 질환에는 염화 나트륨 사용 제한이 권장됨
치료 효과
저칼륨혈증 예방 및 치료
; 급성 류마티스열, 만성 류마티스 심장질환, 고혈압성 질환,
허혈 심장질환, 뇌혈관 질환 등에 도움됨
예방 효과
혈압 관리
; 고혈압성 질환 예방에 도움됨
심혈관 건강
; 허혈심장질환, 뇌혈관질환 예방에 일정 부분 도움됨
치료 효과
항염증 및 혈압 조절
; 급성 류마티스열, 만성 류마티스심장질환, 고혈압성 질환,
허혈심장질환, 뇌혈관질환 등에서 도움됨
예방 효과
심혈관 건강 유지
; 만성 류마티스심장질환, 고혈압성 질환, 허혈심장질환,
뇌혈관질환 등에서 예방 효과