File: test_ab_vector.py

package info (click to toggle)
python-pyomop 4.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 532 kB
  • sloc: python: 1,374; sh: 37; makefile: 26
file content (45 lines) | stat: -rw-r--r-- 1,559 bytes parent folder | download
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
import asyncio
import pytest

@staticmethod
def test_create_patient(pyomop_fixture, metadata_fixture, capsys):
    engine = pyomop_fixture.engine
    # create tables
    asyncio.run(pyomop_fixture.init_models(metadata_fixture))
    asyncio.run(create_patient(pyomop_fixture, engine))


async def create_patient(pyomop_fixture,engine):
    from pyomop import Person
    from pyomop import Cohort
    import datetime
    from sqlalchemy.future import select

    # Add a patient
    async with pyomop_fixture.session() as session:
        async with session.begin():
            session.add(Person(
                gender_concept_id=100,
                year_of_birth=2000,
                race_concept_id=200,
                ethnicity_concept_id=300
            ))
        await session.commit()

    # Add couple of cohorts
    async with pyomop_fixture.session() as session:
        async with session.begin():
            session.add(Cohort(cohort_definition_id=2, subject_id=1,
                cohort_end_date=datetime.datetime.now(),
                cohort_start_date=datetime.datetime.now()))
            session.add(Cohort(cohort_definition_id=3, subject_id=1,
                cohort_end_date=datetime.datetime.now(),
                cohort_start_date=datetime.datetime.now()))
        await session.commit()

    # Query the cohort for patient 1
    stmt = select(Cohort).where(Cohort.subject_id == 1).order_by(Cohort._id)
    result = await session.execute(stmt)
    for row in result.scalars():
        print(row)
        assert row.subject_id == 1