forked from douinc/cliniquery
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
166 lines (154 loc) · 6.82 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
from typing import Dict, List
from sqlmodel import Sequence, Session, create_engine, select
from models import Patient, Question
def load_patients(sqlite_name: str = "cliniquery.db") -> Sequence[Patient]:
sqlite_db = sqlite_name
sqlite_url = f"sqlite:///{sqlite_db}"
engine = create_engine(sqlite_url)
session = Session(engine)
query_for_patient = select(Patient)
patients = session.exec(query_for_patient).all()
session.close()
return patients
def add_symptom(data: Dict, sqlite_name: str = "cliniquery.db"):
sqlite_db = sqlite_name
sqlite_url = f"sqlite:///{sqlite_db}"
engine = create_engine(sqlite_url)
session = Session(engine)
new_question = Question(**data)
session.add(new_question)
session.commit()
session.close()
if __name__ == "__main__":
add_symptom(
{
"symptom": "기타 정상임신의 관리, 임신 22주 이상 ~ 34주 미만",
"category": "Medical history",
"subcategory": "Cervical Cancer Screening",
"question": "When was your last Pap test for cervical cancer screening? What were the results?",
"question_korean": "자궁경부암 검사를 마지막으로 언제하셨나요? 결과는 어땠나요?",
"is_relevant": True,
"source": "신촌세브란스",
"labeler": "정윤빈 교수",
}
)
add_symptom(
{
"symptom": "기타 정상임신의 관리, 임신 22주 이상 ~ 34주 미만",
"category": "Medical history",
"subcategory": "Breast Ultrasound",
"question": "Have you ever had a breast ultrasound? When was it done and what were the results?",
"question_korean": "유방 초음파를 촬영하신적이 있으신가요? 촬영 시점과 결과는 어땠나요?",
"is_relevant": True,
"source": "신촌세브란스",
"labeler": "정윤빈 교수",
}
)
add_symptom(
{
"symptom": "기타 정상임신의 관리, 임신 22주 이상 ~ 34주 미만",
"category": "Medical history",
"subcategory": "Menstrual Cycle Regularity",
"question": "Is your menstrual cycle regular?",
"question_korean": "생리주기는 규칙적이신 편이었나요?",
"is_relevant": True,
"source": "신촌세브란스",
"labeler": "정윤빈 교수",
}
)
add_symptom(
{
"symptom": "기타 정상임신의 관리, 임신 22주 이상 ~ 34주 미만",
"category": "Medical history",
"subcategory": "Menstrual Cycle Duration",
"question": "How long does your menstrual period usually last?",
"question_korean": "한번 생리를 할 때 기간은 어느정도인가요?",
"is_relevant": True,
"source": "신촌세브란스",
"labeler": "정윤빈 교수",
}
)
add_symptom(
{
"symptom": "기타 정상임신의 관리, 임신 22주 이상 ~ 34주 미만",
"category": "Medical history",
"subcategory": "Menstrual Flow Quantity",
"question": "How heavy is your menstrual flow? Please describe it as usual, light, or heavy.",
"question_korean": "한번 생리를 할 때 양은 어느정도인가요? 보통, 적은 편, 많은 편과 같이 말씀주시면 됩니다.",
"is_relevant": True,
"source": "신촌세브란스",
"labeler": "정윤빈 교수",
}
)
add_symptom(
{
"symptom": "기타 정상임신의 관리, 임신 22주 이상 ~ 34주 미만",
"category": "Medical history",
"subcategory": "Menstrual Pain",
"question": "Do you have severe menstrual cramps?",
"question_korean": "생리통은 심한 편인가요?",
"is_relevant": True,
"source": "신촌세브란스",
"labeler": "정윤빈 교수",
}
)
add_symptom(
{
"symptom": "기타 정상임신의 관리, 임신 22주 이상 ~ 34주 미만",
"category": "Medical history",
"subcategory": "Pregnancy History",
"question": "Including the current pregnancy, how many times have you been pregnant?",
"question_korean": "출산과 상관 없이 현재 임신 포함 총 임신 수가 어떻게 되나요?",
"is_relevant": True,
"source": "신촌세브란스",
"labeler": "정윤빈 교수",
}
)
add_symptom(
{
"symptom": "기타 정상임신의 관리, 임신 22주 이상 ~ 34주 미만",
"category": "Medical history",
"subcategory": "Delivery History Post 20 Weeks",
"question": "How many deliveries have you had after 20 weeks, regardless of the newborn's survival?",
"question_korean": "신생아의 생존유무와 상관 없이 20주 이후 분만 경험 수가 어떻게 되나요?",
"is_relevant": True,
"source": "신촌세브란스",
"labeler": "정윤빈 교수",
}
)
add_symptom(
{
"symptom": "기타 정상임신의 관리, 임신 22주 이상 ~ 34주 미만",
"category": "Medical history",
"subcategory": "Living Children from Birth",
"question": "How many of your children born alive are still living?",
"question_korean": "출산하여 생존한 자녀의 수가 어떻게 되나요?",
"is_relevant": True,
"source": "신촌세브란스",
"labeler": "정윤빈 교수",
}
)
add_symptom(
{
"symptom": "기타 정상임신의 관리, 임신 22주 이상 ~ 34주 미만",
"category": "Medical history",
"subcategory": "Deceased Children from Birth",
"question": "How many of your children born alive have passed away?",
"question_korean": "출산하여 사망한 자녀의 수가 어떻게 되나요?",
"is_relevant": True,
"source": "신촌세브란스",
"labeler": "정윤빈 교수",
}
)
add_symptom(
{
"symptom": "기타 정상임신의 관리, 임신 22주 이상 ~ 34주 미만",
"category": "Medical history",
"subcategory": "Early Pregnancy Loss or Low Birth Weight",
"question": "How many times have you had a pregnancy loss before 20 weeks or delivered a baby weighing less than 500 grams?",
"question_korean": "임신 20주 이전 또는 신생아 몸무게가 500g 이하 출산의 수가 어떻게 되나요?",
"is_relevant": True,
"source": "신촌세브란스",
"labeler": "정윤빈 교수",
}
)