|
|
|
|
@@ -1,11 +1,167 @@
|
|
|
|
|
package patient
|
|
|
|
|
|
|
|
|
|
type Patient struct {
|
|
|
|
|
ID string `bson:"_id"`
|
|
|
|
|
NoRM string `bson:"norm"`
|
|
|
|
|
Name string `bson:"name"`
|
|
|
|
|
Telecom string `bson:"telecom"`
|
|
|
|
|
Gender string `bson:"gender"`
|
|
|
|
|
BirthDate string `bson:"birthDate"`
|
|
|
|
|
Address string `bson:"address"`
|
|
|
|
|
type Coding struct {
|
|
|
|
|
System string `bson:"system,omitempty"`
|
|
|
|
|
Version string `bson:"version,omitempty"`
|
|
|
|
|
Code string `bson:"code,omitempty"`
|
|
|
|
|
Display string `bson:"display,omitempty"`
|
|
|
|
|
UserSelected bool `bson:"userSelected,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Identifier struct {
|
|
|
|
|
Use string `bson:"use,omitempty"`
|
|
|
|
|
Type CodeableConcept `bson:"type,omitempty"`
|
|
|
|
|
System string `bson:"system,omitempty"`
|
|
|
|
|
Value string `bson:"value,omitempty"`
|
|
|
|
|
Period Period `bson:"period,omitempty"`
|
|
|
|
|
Assigner struct{} `bson:"assigner,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type CodeableConcept struct {
|
|
|
|
|
Coding []Coding `bson:"coding,omitempty"`
|
|
|
|
|
Text string `bson:"text,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Period struct {
|
|
|
|
|
Start string `bson:"start,omitempty"`
|
|
|
|
|
End string `bson:"end,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ContactPoint struct {
|
|
|
|
|
System string `bson:"system,omitempty"`
|
|
|
|
|
Value string `bson:"value,omitempty"`
|
|
|
|
|
Use string `bson:"use,omitempty"`
|
|
|
|
|
Rank int `bson:"rank,omitempty"`
|
|
|
|
|
Period Period `bson:"period,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type HumanName struct {
|
|
|
|
|
Use string `bson:"use,omitempty"`
|
|
|
|
|
Text string `bson:"text,omitempty"`
|
|
|
|
|
Family string `bson:"family,omitempty"`
|
|
|
|
|
Given []string `bson:"given,omitempty"`
|
|
|
|
|
Prefix []string `bson:"prefix,omitempty"`
|
|
|
|
|
Suffix []string `bson:"suffix,omitempty"`
|
|
|
|
|
Period Period `bson:"period,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Address struct {
|
|
|
|
|
Use string `bson:"use,omitempty"`
|
|
|
|
|
Type string `bson:"type,omitempty"`
|
|
|
|
|
Text string `bson:"text,omitempty"`
|
|
|
|
|
Line []string `bson:"line,omitempty"`
|
|
|
|
|
City string `bson:"city,omitempty"`
|
|
|
|
|
District string `bson:"district,omitempty"`
|
|
|
|
|
State string `bson:"state,omitempty"`
|
|
|
|
|
PostalCode string `bson:"postalCode,omitempty"`
|
|
|
|
|
Country string `bson:"country,omitempty"`
|
|
|
|
|
Period Period `bson:"period,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Organization struct {
|
|
|
|
|
Reference string `bson:"reference,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Contact struct {
|
|
|
|
|
Relationship []CodeableConcept `bson:"relationship,omitempty"`
|
|
|
|
|
Name []HumanName `bson:"name,omitempty"`
|
|
|
|
|
Telecom []ContactPoint `bson:"telecom,omitempty"`
|
|
|
|
|
Address Address `bson:"address,omitempty"`
|
|
|
|
|
Organization Organization `bson:"organization,omitempty"`
|
|
|
|
|
Gender string `bson:"gender,omitempty"`
|
|
|
|
|
Period Period `bson:"period,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Communication struct {
|
|
|
|
|
Language CodeableConcept `bson:"language,omitempty"`
|
|
|
|
|
Preferred bool `bson:"preferred,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ReqInsertCommunication struct {
|
|
|
|
|
Language Coding `bson:"language,omitempty"`
|
|
|
|
|
Preferred bool `bson:"preferred,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Link struct {
|
|
|
|
|
RelatePerson []RelatePerson `bson:"relatePerson,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RelatePerson struct {
|
|
|
|
|
Identifier []Identifier `bson:"identifier,omitempty"`
|
|
|
|
|
Active bool `bson:"active"`
|
|
|
|
|
Patient string `bson:"patient"`
|
|
|
|
|
Relationship CodeableConcept `bson:"relationship"`
|
|
|
|
|
Name []HumanName `bson:"name,omitempty"`
|
|
|
|
|
Telecom []ContactPoint `bson:"telecom,omitempty"`
|
|
|
|
|
Gender string `bson:"gender,omitempty"`
|
|
|
|
|
BirthDate string `bson:"birthDate,omitempty"`
|
|
|
|
|
Address []Address `bson:"address,omitempty"`
|
|
|
|
|
Photo string `bson:"photo,omitempty"`
|
|
|
|
|
Period Period `bson:"period,omitempty"`
|
|
|
|
|
Communication []Communication `bson:"communication,omitempty"`
|
|
|
|
|
Preferred bool `bson:"preferred"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Deceased struct {
|
|
|
|
|
DeceasedBoolean bool `bson:"deceasedBoolean,omitempty"`
|
|
|
|
|
DeceasedDateTime string `bson:"deceasedDateTime,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type MultipleBirth struct {
|
|
|
|
|
MultipleBirthBoolean bool `bson:"multipleBirthBoolean,omitempty"`
|
|
|
|
|
MultipleBirthInteger int `bson:"multipleBirthInteger,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Patient struct {
|
|
|
|
|
ResourceType string `bson:"resourceType"`
|
|
|
|
|
ID string `bson:"_id"`
|
|
|
|
|
Identifier []Identifier `bson:"identifier,omitempty"`
|
|
|
|
|
Active bool `bson:"active"`
|
|
|
|
|
Name []HumanName `bson:"name,omitempty"`
|
|
|
|
|
Telecom []ContactPoint `bson:"telecom,omitempty"`
|
|
|
|
|
Gender string `bson:"gender,omitempty"`
|
|
|
|
|
BirthPlace string `bson:"birthPlace,omitempty"`
|
|
|
|
|
BirthDate string `bson:"birthDate,omitempty"`
|
|
|
|
|
Address []Address `bson:"address,omitempty"`
|
|
|
|
|
MaritalStatus CodeableConcept `bson:"maritalStatus,omitempty"`
|
|
|
|
|
Job CodeableConcept `bson:"job,omitempty"`
|
|
|
|
|
Religion CodeableConcept `bson:"religion,omitempty"`
|
|
|
|
|
Tribe CodeableConcept `bson:"tribe,omitempty"`
|
|
|
|
|
Link Link `bson:"link,omitempty"`
|
|
|
|
|
Communication []Communication `bson:"communication,omitempty"`
|
|
|
|
|
Disability bool `bson:"disability,omitempty"`
|
|
|
|
|
National string `bson:"national,omitempty"`
|
|
|
|
|
Deceased Deceased `bson:"deceased,omitempty"`
|
|
|
|
|
MultipleBirth MultipleBirth `bson:"multipleBirth,omitempty"`
|
|
|
|
|
CreatedAt string `bson:"createdAt"`
|
|
|
|
|
UpdatedAt string `bson:"updatedAt"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ReqInsertIdentifier struct {
|
|
|
|
|
Use string `bson:"use,omitempty"`
|
|
|
|
|
Type Coding `bson:"type,omitempty"`
|
|
|
|
|
System string `bson:"system,omitempty"`
|
|
|
|
|
Value string `bson:"value,omitempty"`
|
|
|
|
|
Period Period `bson:"period,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ReqInsertPatient struct {
|
|
|
|
|
Identifier []ReqInsertIdentifier `bson:"identifier,omitempty"`
|
|
|
|
|
Active bool `bson:"active"`
|
|
|
|
|
Name []HumanName `bson:"name,omitempty"`
|
|
|
|
|
Telecom []ContactPoint `bson:"telecom,omitempty"`
|
|
|
|
|
Gender string `bson:"gender,omitempty"`
|
|
|
|
|
BirthPlace string `bson:"birthPlace,omitempty"`
|
|
|
|
|
BirthDate string `bson:"birthDate,omitempty"`
|
|
|
|
|
Address []Address `bson:"address,omitempty"`
|
|
|
|
|
MaritalStatus []CodeableConcept `bson:"maritalStatus,omitempty"`
|
|
|
|
|
Job []CodeableConcept `bson:"job,omitempty"`
|
|
|
|
|
Religion []CodeableConcept `bson:"religion,omitempty"`
|
|
|
|
|
Tribe []CodeableConcept `bson:"tribe,omitempty"`
|
|
|
|
|
Link Link `bson:"link,omitempty"`
|
|
|
|
|
Communication []Communication `bson:"communication,omitempty"`
|
|
|
|
|
Disability bool `bson:"disability,omitempty"`
|
|
|
|
|
National string `bson:"national,omitempty"`
|
|
|
|
|
Deceased Deceased `bson:"deceased,omitempty"`
|
|
|
|
|
MultipleBirth MultipleBirth `bson:"multipleBirth,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|