Skip to content

Commit 1b93ec9

Browse files
authored
Merge pull request #390 from pbs-data-solutions/class-types
Add types for native file classes
2 parents 669aa6c + ff4fc57 commit 1b93ec9

File tree

1 file changed

+92
-5
lines changed

1 file changed

+92
-5
lines changed

prelude_parser/_prelude_parser.pyi

Lines changed: 92 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,101 @@
11
from __future__ import annotations
22

3+
from datetime import datetime
34
from pathlib import Path
45

5-
from prelude_parser._prelude_parser import ( # type: ignore[attr-defined]
6-
SiteNative,
7-
SubjectNative,
8-
UserNative,
9-
)
106
from prelude_parser.types import FlatFormInfo
117

8+
class Value:
9+
by: str
10+
by_unique_id: str | None
11+
role: str
12+
when: datetime
13+
14+
class Reason:
15+
by: str
16+
by_unique_id: str | None
17+
role: str
18+
when: datetime
19+
value: str
20+
21+
class Entry:
22+
entry_id: str
23+
value: Value | None
24+
reason: Reason | None
25+
26+
class Field:
27+
name: str
28+
data_type: str | None
29+
error_code: str
30+
when_created: datetime
31+
keep_history: bool
32+
entries: list[Entry] | None
33+
34+
class Category:
35+
name: str
36+
category_type: str
37+
highest_index: int
38+
fields: list[Field] | None
39+
40+
class State:
41+
value: str
42+
signer: str
43+
signer_unique_id: str
44+
45+
class Form:
46+
name: str
47+
last_modified: datetime | None
48+
who_last_modified: str | None
49+
who_last_modified_role: str | None
50+
when_created: int
51+
has_errors: bool
52+
has_warnings: bool
53+
locked: bool
54+
user: str | None
55+
date_time_changed: datetime | None
56+
form_title: str
57+
form_index: int
58+
form_group: str | None
59+
form_state: str
60+
states: list[State] | None
61+
categories: list[Category] | None
62+
63+
class Patient:
64+
patient_id: str
65+
unique_id: str
66+
when_created: datetime
67+
creator: str
68+
site_name: str
69+
site_unique_id: str
70+
last_language: str | None
71+
forms: list[Form] | None
72+
73+
class Site:
74+
name: str
75+
unique_id: str
76+
number_of_patients: int
77+
count_of_randomized_patients: int
78+
when_created: datetime
79+
creator: str
80+
number_of_forms: int
81+
forms: list[Form] | None
82+
83+
class User:
84+
unique_id: str
85+
last_language: str | None
86+
creator: str
87+
number_of_forms: int
88+
forms: list[Form] | None
89+
90+
class SiteNative:
91+
sites: list[Site]
92+
93+
class SubjectNative:
94+
patients: list[Patient]
95+
96+
class UserNative:
97+
users: list[User]
98+
1299
def _parse_flat_file_to_dict(
13100
xml_file: str | Path, *, short_names: bool = False
14101
) -> dict[str, FlatFormInfo]: ...

0 commit comments

Comments
 (0)