Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sqlalchemy import create_engine, Table, MetaData, Column, Integer, String, DateTime
- from sqlalchemy.ext.declarative import declarative_base
- import json
- from pprint import pprint
- from uuid import uuid1
- from dateutil import parser as dateparser
- metadata = MetaData()
- # Base = declarative_base()
- engine = create_engine("mysql+pymysql://synuser:password@localhost/synthea",
- isolation_level="READ UNCOMMITTED")
- immunizationsTable = Table('IMMUNIZATIONS', metadata,
- Column("UUID", String(45), primary_key=True),
- Column("DATE", DateTime, nullable=True),
- Column("STATUS", String(32)),
- Column("PATIENT_UUID", String(45)))
- # immunizationsTable.create(engine)
- with open('../data/0a/0a2/0a295b75-2441-45e1-88b9-17605d8a255a.json') as data_file:
- data = json.load(data_file)
- immunizations = [entry for entry in data['entry'] if entry['resource']['resourceType'] == 'Immunization']
- connection = engine.connect()
- trans = connection.begin()
- for immunization in immunizations:
- resource = immunization['resource']
- status = resource['status']
- date = dateparser.parse(resource['date']) # datetime(2010-06-) from `2010-06-13T13:55:41-04:00`
- patient_uuid = resource['patient']['reference']
- connection.execute(
- immunizationsTable.insert().values(UUID=uuid1().urn, DATE=date, STATUS=status, PATIENT_UUID=patient_uuid)
- )
- trans.commit()
- #
- # t.create(engine)
- #
- # class User(Base):
- # __tablename__ = 'users'
- #
- # id = Column(Integer, primary_key=True)
- # name = Column(String,le)
- # fullname = Column(String)
- # password = Column(String)
- #
- # def __repr__(self):
- # return "<User(name='%s', fullname='%s', password='%s')>" % (
- # self.name, self.fullname, self.password)
- #
- #
- # Base.metadata.create_all(engine)
Add Comment
Please, Sign In to add comment