a b/tests/spec/tables.py
1
import datetime
2
3
from ehrql.codes import ICD10MultiCodeString, OPCS4MultiCodeString, SNOMEDCTCode
4
from ehrql.tables import EventFrame, PatientFrame, Series, table
5
6
7
@table
8
class patient_level_table(PatientFrame):
9
    i1 = Series(int)
10
    i2 = Series(int)
11
    b1 = Series(bool)
12
    b2 = Series(bool)
13
    c1 = Series(SNOMEDCTCode)
14
    m1 = Series(ICD10MultiCodeString)
15
    m2 = Series(OPCS4MultiCodeString)
16
    d1 = Series(datetime.date)
17
    d2 = Series(datetime.date)
18
    s1 = Series(str)
19
    s2 = Series(str)
20
    f1 = Series(float)
21
    f2 = Series(float)
22
23
24
@table
25
class event_level_table(EventFrame):
26
    i1 = Series(int)
27
    i2 = Series(int)
28
    i3 = Series(int)
29
    b1 = Series(bool)
30
    b2 = Series(bool)
31
    c1 = Series(SNOMEDCTCode)
32
    m1 = Series(ICD10MultiCodeString)
33
    m2 = Series(OPCS4MultiCodeString)
34
    d1 = Series(datetime.date)
35
    d2 = Series(datetime.date)
36
    s1 = Series(str)
37
    s2 = Series(str)
38
    f1 = Series(float)
39
    f2 = Series(float)
40
41
42
# Define short aliases for terser tests
43
p = patient_level_table
44
e = event_level_table