finalproject / data_service.py
Jonathan Card
Updated the dataset URL.
2ae3913
raw
history blame
1.07 kB
from contextlib import contextmanager
import pandas as pd
class DataService(object):
@contextmanager
def build(self):
data_service = None
try:
data_service = DefaultDataService()
yield data_service
finally:
if data_service: data_service.close()
def close(self):
raise Exception("Should not use the base class")
def get_patients(self) -> list[str]:
raise Exception("Should not use the base class")
class DefaultDataService(DataService):
def __init__(self):
self._dataset_url = "https://huggingface.co/datasets/iscg34/finalproject/raw/main/patient_encounters1_notes.csv"
self._initialized = False
def initialize(func):
def wrapper(self):
if not self._initialized:
self._df = pd.read_csv(self._dataset_url)
self._initialized = True
return func(self)
return wrapper
def close(self):
#raise Exception("Not implemented")
pass
@initialize
def get_patients(self) -> list[str]:
col = self._df["FIRST"]
u = col.unique()
l = u.tolist()
return l