-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpatient.go
127 lines (111 loc) · 2.68 KB
/
patient.go
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// Copyright (c) 2021, Peter Ohler, All rights reserved.
package main
// Patient is a struct used for Marshal and Unmarshal benchmarks.
type Patient struct {
ResourceType string
ID string
Text Text
Identifier []*Identifier
Active bool
Name []*Name
Telecom []*Telecom
Gender string
BirthDate string
XBirthDate X `json:"_birthDate"`
DeceasedBoolean bool
Address []*Address
Contact []*Contact
Communication []*Communication
ManagingOrganization Ref
Meta Meta
}
// Text is a struct used for Marshal and Unmarshal benchmarks.
type Text struct {
Status string
Div string
}
// Name is a struct used for Marshal and Unmarshal benchmarks.
type Name struct {
Given []string
Family string
XFamily X `json:"_family"`
Use string
Period Period
}
// Ref is a struct used for Marshal and Unmarshal benchmarks.
type Ref struct {
Reference string
Display string
}
// Identifier is a struct used for Marshal and Unmarshal benchmarks.
type Identifier struct {
Use string
Type CC
System string
Value string
Period Period
Assigner Ref
}
// CC is a struct used for Marshal and Unmarshal benchmarks.
type CC struct {
Coding []*Tag
Text string
}
// Period is a struct used for Marshal and Unmarshal benchmarks.
type Period struct {
Start string
End string
}
// Meta is a struct used for Marshal and Unmarshal benchmarks.
type Meta struct {
Tag []*Tag
}
// Tag is a struct used for Marshal and Unmarshal benchmarks.
type Tag struct {
System string
Code string
}
// X is a struct used for Marshal and Unmarshal benchmarks.
type X struct {
Extension []Extension
}
// Extension is a struct used for Marshal and Unmarshal benchmarks.
type Extension struct {
URL string
ValueDateTime string
}
// Address is a struct used for Marshal and Unmarshal benchmarks.
type Address struct {
Use string
Type string
Text string
Line []string
City string
District string
State string
PostalCode string
Country string
Period Period
}
// Telecom is a struct used for Marshal and Unmarshal benchmarks.
type Telecom struct {
Use string
System string
Value string
Rank int
Period Period
}
// Contact is a struct used for Marshal and Unmarshal benchmarks.
type Contact struct {
Relationship []*CC
Name Name
Telecom []*Telecom
Address Address
Gender string
Period Period
}
// Communication is a struct used for Marshal and Unmarshal benchmarks.
type Communication struct {
Language CC
Preferred bool
}