package _struct type StatusHistrory struct { Status string `json:"status" ,bson:"status"` Period Period `json:"period" ,bson:"period"` } type Identifier struct { Use string `json:"use" bson:"use"` Type CodeableConcept `json:"type" bson:"type"` System string `json:"system" bson:"system"` Value string `json:"value" bson:"value"` Period Period `json:"period" bson:"period"` Assigner Reference `json:"assigner" bson:"assigner"` Coding Coding `json:"coding" bson:"coding"` } type CodeableConcept struct { Coding []Coding `json:"coding" bson:"coding"` Text string `json:"text" bson:"text"` } type Coding struct { System string `json:"system" bson:"system"` Version string `json:"version" bson:"version"` Code string `json:"code" bson:"code"` Display string `json:"display" bson:"display"` UserSelected bool `json:"userSelected" bson:"userSelected"` } type Period struct { Start string `json:"start,omitempty" bson:"start"` End string `json:"end,omitempty" bson:"end"` } type Reference struct { Reference string `json:"reference" bson:"reference"` Display string `json:"display" bson:"display"` } type HumanName struct { Use string `json:"use" bson:"use"` Text string `json:"text" bson:"text"` Family string `json:"family" bson:"family"` Given []string `json:"given" bson:"given"` Prefix []string `json:"prefix" bson:"prefix"` Suffix []string `json:"suffix" bson:"suffix"` Period Period `json:"period" bson:"period"` } type ContactPoint struct { System string `bson:"system" json:"system"` Value string `bson:"value" json:"value"` Use string `bson:"use" json:"use"` Rank string `bson:"rank" json:"rank"` Period Period `bson:"period" json:"period"` } type Address struct { Use string `json:"use" bson:"use"` Type string `json:"type" bson:"type"` Text string `json:"text" bson:"text"` Line []string `json:"line" bson:"line"` Village string `json:"village" bson:"village"` District string `json:"district" bson:"district"` City string `json:"city" bson:"city"` State string `json:"state" bson:"state"` PostalCode string `json:"postalCode" bson:"postalCode"` Country string `json:"country" bson:"country"` Period Period `json:"period" bson:"period"` Extension []Extension `json:"extension" bson:"extension"` } type Extension struct { URL string `json:"url" bson:"url"` Extension []ExtensionDetail `json:"extension" bson:"extension"` } type ExtensionDetail struct { URL string `json:"url" bson:"url"` ValueDisplay string `json:"valueDisplay" bson:"valueDisplay"` ValueCode string `json:"valueCode" bson:"valueCode"` } type Photo struct { ContentType string `json:"contentType,omitempty" bson:"contentType,omitempty"` Language string `json:"language,omitempty" bson:"language,omitempty"` Data string `json:"data,omitempty" bson:"data,omitempty"` URL string `json:"url,omitempty" bson:"url,omitempty"` Size int `json:"size,omitempty" bson:"size,omitempty"` Hash int `json:"hash,omitempty" bson:"hash,omitempty"` Title string `json:"title,omitempty" bson:"title,omitempty"` Creation string `json:"creation,omitempty" bson:"creation,omitempty"` Height int `json:"height,omitempty" bson:"height,omitempty"` Width int `json:"width,omitempty" bson:"width,omitempty"` Frames int `json:"frames,omitempty" bson:"frames,omitempty"` Duration int `json:"duration,omitempty" bson:"duration,omitempty"` Pages int `json:"pages,omitempty" bson:"pages,omitempty"` } type Contact struct { Relationship []CodeableConcept `json:"relationship" bson:"relationship"` Name HumanName `json:"name" bson:"name"` Telecom []ContactPoint `json:"telecom" bson:"telecom"` Address Address `json:"address" bson:"address"` Gender string `json:"gender" bson:"gender"` Organization Reference `json:"organization" bson:"organization"` Period Period `json:"period" bson:"period"` } type Communication struct { Language CodeableConcept `json:"language" bson:"language"` } type Link struct { Other Reference `json:"other" bson:"other"` Type string `json:"type" bson:"type"` } type LinkTarget struct { Target Reference `json:"target" bson:"target,omitempty"` Type string `json:"type" bson:"type,omitempty"` } type ExtendedContactDetail struct { Purpose CodeableConcept `json:"purpose" bson:"purpose"` Name []HumanName `json:"name" bson:"name"` Telecom []ContactPoint `json:"telecom" bson:"telecom"` Address []Address `json:"address" bson:"address"` Organization Reference `json:"organization" bson:"organization"` Period Period `json:"period" bson:"period"` } type Reason struct { Use CodeableConcept `json:"use" bson:"use"` Value []Value `json:"value" bson:"value"` Reference Reference `json:"reference" bson:"reference"` } type Reasonencounter struct { Use []CodeableConcept `json:"use" bson:"use"` Value []Value `json:"value" bson:"value"` Reference Reference `json:"reference" bson:"reference"` } type Value struct { Concept CodeableConcept `json:"concept" bson:"concept"` Reference Reference `json:"reference" bson:"reference"` } type Diagnosis struct { Condition []Value `json:"condition" bson:"condition"` Use []CodeableConcept `json:"use" bson:"use"` } type Diagnosisepisode struct { Condition []Value `json:"condition" bson:"condition"` Use CodeableConcept `json:"use" bson:"use"` } type Quantity struct { Value float64 `json:"value" bson:"value"` Comparator string `json:"comparator" bson:"comparator"` Unit string `json:"unit" bson:"unit"` System string `json:"system" bson:"system"` Code string `json:"code" bson:"code"` } type Qualification struct { Identifier []Identifier `json:"identifier" bson:"identifier"` Code CodeableConcept `json:"code" bson:"code"` Period Period `json:"period" bson:"period"` Issuer Reference `json:"issuer" bson:"issuer"` } type Code struct { Code []CodeableConcept `json:"code" bson:"code"` Comment string `json:"comment" bson:"comment"` } type Position struct { Longitude float64 `json:"longitude,omitempty" bson:"longitude,omitempty"` Latitude float64 `json:"latitude,omitempty" bson:"latitude,omitempty"` Altitude float64 `json:"altitude,omitempty" bson:"altitude,omitempty"` } type Availability struct { AvailableTime []AvailabilityAvailableTime `json:"availableTime" bson:"availableTime,omitempty"` NotAvailableTime []AvailabilityNotAvailable `json:"notAvailableTime" bson:"notAvailableTime,omitempty"` } type AvailabilityAvailableTime struct { DaysOfWeek []string `json:"daysOfWeek" bson:"daysOfWeek,omitempty"` AllDay bool `json:"allDay" bson:"allDay,omitempty"` AvailableStartTime string `json:"availableStartTime" bson:"availableStartTime,omitempty"` AvailableEndTime string `json:"availableEndTime" bson:"availableEndTime,omitempty"` } type AvailabilityNotAvailable struct { Description string `json:"description" bson:"description"` // Required During Period `json:"during,omitempty" bson:"during,omitempty"` } type VirtualService struct { ChannelType Coding `json:"channelType" bson:"channelType"` AddressUrl string `json:"addressUrl" bson:"addressUrl"` AddressString string `json:"addressString" bson:"addressString"` AddressContactPoint ContactPoint `json:"addressContactPoint" bson:"addressContactPoint"` AddressExtendedContact ExtendedContactDetail `json:"addressExtendedContact" bson:"addressExtendedContact"` AdditionalInfo []string `json:"additionalInfo" bson:"additionalInfo"` MaxParticipants int `json:"maxParticipants" bson:"maxParticipants"` SessionKey string `json:"sessionKey" bson:"sessionKey"` } type VirtualServiceappoinmet struct { ChannelType Coding `json:"channelType" bson:"channelType"` Address Addressappoint `json:"address" bson:"address"` AdditionalInfo []string `json:"additionalInfo" bson:"additionalInfo"` MaxParticipants int `json:"maxParticipants" bson:"maxParticipants"` SessionKey string `json:"sessionKey" bson:"sessionKey"` } type Addressappoint struct { AddressUrl string `json:"addressUrl" bson:"addressUrl"` AddressString string `json:"addressString" bson:"addressString"` AddressContactPoint ContactPoint `json:"addressContactPoint" bson:"addressContactPoint"` AddressExtendedContactDetail ExtendedContactDetailappoint `json:"addressExtendedContactDetail" bson:"addressExtendedContactDetail"` } type ExtendedContactDetailappoint struct { Purpose CodeableConcept `json:"purpose" bson:"purpose"` Name []HumanName `json:"name" bson:"name"` Telecom []ContactPoint `json:"telecom" bson:"telecom"` Address []Address `json:"address" bson:"address"` Organization Reference `json:"organization" bson:"organization"` Period Period `json:"period" bson:"period"` } type VirtualServiceEncounter struct { ChannelType Coding `json:"channelType" bson:"channelType"` Address AddressEncounter `json:"address" bson:"address"` AdditionalInfo []string `json:"additionalInfo" bson:"additionalInfo"` MaxParticipants int `json:"maxParticipants" bson:"maxParticipants"` SessionKey string `json:"sessionKey" bson:"sessionKey"` } type AddressEncounter struct { AddressUrl string `json:"addressUrl" bson:"addressUrl"` AddressString string `json:"addressString" bson:"addressString"` AddressContactPoint ContactPoint `json:"addressContactPoint" bson:"addressContactPoint"` AddressExtendedContactDetail ExtendedContactDetailEncounter `json:"addressExtendedContactDetail" bson:"addressExtendedContactDetail"` } type ExtendedContactDetailEncounter struct { Purpose CodeableConcept `json:"purpose" bson:"purpose"` Name []HumanName `json:"name" bson:"name"` Telecom []ContactPoint `json:"telecom" bson:"telecom"` Address Address `json:"address" bson:"address"` // Single address, not array Organization Reference `json:"organization" bson:"organization"` Period Period `json:"period" bson:"period"` } type Payload struct { Type CodeableConcept `json:"type,omitempty" bson:"type,omitempty"` Mimetype []string `json:"mimetype,omitempty" bson:"mimetype,omitempty"` } type Note struct { Author Author `json:"author" bson:"author"` Time string `json:"time" bson:"time"` Text string `json:"text" bson:"text"` } type Author struct { AuthorReference Reference `json:"authorReference" bson:"authorReference"` AuthorString string `json:"authorString" bson:"authorString"` } type Concept struct { Concept CodeableConcept `json:"concept" bson:"concept"` Reference Reference `json:"reference" bson:"reference"` } type Participant struct { Type []CodeableConcept `json:"type" bson:"type"` Period Period `json:"period" bson:"period"` Actor Reference `json:"actor" bson:"actor"` Required bool `json:"required" bson:"required"` Status string `json:"status" bson:"status"` } type RecurrenceTemple struct { Timezone CodeableConcept `json:"timezone" bson:"timezone"` RecurrenceType CodeableConcept `json:"recurrenceType" bson:"recurrenceType"` LastOccurrenceDate string `json:"lastOccurrenceDate" bson:"lastOccurrenceDate"` OccurenceCount int `json:"occurenceCount" bson:"occurenceCount"` OccurenceDate []string `json:"occurenceDate" bson:"occurenceDate"` } type WeeklyTemple struct { Monday bool `json:"monday" bson:"monday"` Tuesday bool `json:"tuesday" bson:"tuesday"` Wednesday bool `json:"wednesday" bson:"wednesday"` Thursday bool `json:"thursday" bson:"thursday"` Friday bool `json:"friday" bson:"friday"` Saturday bool `json:"saturday" bson:"saturday"` Sunday bool `json:"sunday" bson:"sunday"` WeekInterval string `json:"weekInterval" bson:"weekInterval"` } type MonthlyTemple struct { DayOfmonth string `json:"dayOfMonth" bson:"dayOfMonth"` NthWeekOfMonth Coding `json:"nthWeekOfMonth" bson:"nthWeekOfMonth"` DayOfWeek Coding `json:"dayOfWeek" bson:"dayOfWeek"` MonthInterval int `json:"monthInterval" bson:"monthInterval"` } type YearlyTemple struct { YearInterval int `json:"yearInterval" bson:"yearInterval"` }