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,omitempty"` Type CodeableConcept `json:"type" bson:"type,omitempty"` System string `json:"system" bson:"system,omitempty"` Value string `json:"value" bson:"value,omitempty"` Period Period `json:"period" bson:"period,omitempty"` Assigner Reference `json:"assigner" bson:"assigner,omitempty"` Coding Coding `json:"coding" bson:"coding,omitempty"` } type CodeableConcept struct { Coding []Coding `json:"coding" bson:"coding,omitempty"` Text string `json:"text" bson:"text,omitempty"` } type Coding struct { System string `json:"system" bson:"system,omitempty"` Version string `json:"version" bson:"version,omitempty"` Code string `json:"code" bson:"code,omitempty"` Display string `json:"display" bson:"display,omitempty"` UserSelected bool `json:"userSelected" bson:"userSelected,omitempty"` } type Period struct { Start string `json:"start,omitempty" bson:"start,omitempty"` End string `json:"end,omitempty" bson:"end,omitempty"` } type Reference struct { Reference string `json:"reference" bson:"reference,omitempty"` Display string `json:"display" bson:"display,omitempty"` } type HumanName struct { Use string `json:"use" bson:"use,omitempty"` Text string `json:"text" bson:"text,omitempty"` Family string `json:"family" bson:"family,omitempty"` Given []string `json:"given" bson:"given,omitempty"` Prefix []string `json:"prefix" bson:"prefix,omitempty"` Suffix []string `json:"suffix" bson:"suffix,omitempty"` Period Period `json:"period" bson:"period,omitempty"` } type ContactPoint struct { System string `bson:"system" json:"system,omitempty"` Value string `bson:"value" json:"value,omitempty"` Use string `bson:"use" json:"use,omitempty"` Rank string `bson:"rank" json:"rank,omitempty"` Period Period `bson:"period" json:"period,omitempty"` } type Address struct { Use string `json:"use" bson:"use,omitempty"` Type string `json:"type" bson:"type,omitempty"` Text string `json:"text" bson:"text,omitempty"` Line []string `json:"line" bson:"line,omitempty"` Village string `json:"village" bson:"village,omitempty"` District string `json:"district" bson:"district,omitempty"` City string `json:"city" bson:"city,omitempty"` State string `json:"state" bson:"state,omitempty"` PostalCode string `json:"postalCode" bson:"postalCode,omitempty"` Country string `json:"country" bson:"country,omitempty"` Period Period `json:"period" bson:"period,omitempty"` Extension []Extension `json:"extension" bson:"extension,omitempty"` } type Extension struct { URL string `json:"url" bson:"url,omitempty"` Extension []ExtensionDetail `json:"extension" bson:"extension,omitempty"` } type ExtensionDetail struct { URL string `json:"url" bson:"url,omitempty"` ValueDisplay string `json:"valueDisplay" bson:"valueDisplay,omitempty"` ValueCode string `json:"valueCode" bson:"valueCode,omitempty"` } 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,omitempty"` Name HumanName `json:"name" bson:"name,omitempty"` Telecom []ContactPoint `json:"telecom" bson:"telecom,omitempty"` Address Address `json:"address" bson:"address,omitempty"` Gender string `json:"gender" bson:"gender,omitempty"` Organization Reference `json:"organization" bson:"organization,omitempty"` Period Period `json:"period" bson:"period,omitempty"` } type Communication struct { Language CodeableConcept `json:"language" bson:"language,omitempty"` } type Link struct { Other Reference `json:"other" bson:"other,omitempty"` Type string `json:"type" bson:"type,omitempty"` } 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,omitempty"` Name []HumanName `json:"name" bson:"name,omitempty"` Telecom []ContactPoint `json:"telecom" bson:"telecom,omitempty"` Address []Address `json:"address" bson:"address,omitempty"` Organization Reference `json:"organization" bson:"organization,omitempty"` Period Period `json:"period" bson:"period,omitempty"` } 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"` } type Coverage struct { Coverage Reference `json:"coverage" bson:"coverage"` Priority int `json:"priority" bson:"priority"` } type Guarantor struct { Party Reference `json:"party" bson:"party"` OnHold bool `json:"onHold" bson:"onHold"` Period Period `json:"period" bson:"period"` } type DiagnosisAccount struct { Sequence int `json:"sequence" bson:"sequence"` Condition DiagnosisCondition `json:"condition" bson:"condition"` DateOfDiagnosis string `json:"dateOfDiagnosis" bson:"dateOfDiagnosis"` Type []CodeableConcept `json:"type" bson:"type"` OnAdmission string `json:"onAdmission" bson:"onAdmission"` PackageCode []CodeableConcept `json:"packageCode" bson:"packageCode"` Device Reference `json:"device" bson:"device"` } type DiagnosisCondition struct { Concept CodeableConcept `json:"concept" bson:"concept"` Reference Reference `json:"reference" bson:"reference"` } type RelatedAccount struct { Relationship CodeableConcept `json:"relationship" bson:"relationship"` Account Reference `json:"account" bson:"account"` } type Balance struct { Aggregate CodeableConcept `json:"aggregate" bson:"aggregate"` Term CodeableConcept `json:"term" bson:"term"` Estimate bool `json:"estimate" bson:"estimate"` Amount Amount `json:"amount" bson:"amount"` } type Amount struct { Value float64 `json:"value" bson:"value"` Currency string `json:"currency" bson:"currency"` } type Onset struct { OnsetDateTime string `json:"onsetDateTime" bson:"onsetDateTime"` OnsetAge string `json:"onsetAge" bson:"onsetAge"` OnsetPeriod Period `json:"onsetPeriod" bson:"onsetPeriod"` OnsetRange Range `json:"onsetRange" bson:"onsetRange"` OnsetString string `json:"onsetString" bson:"onsetString"` } type Abatement struct { AbatementDateTime string `json:"abatementDateTime" bson:"abatementDateTime"` AbatementAge string `json:"abatementAge" bson:"abatementAge"` AbatementPeriod Period `json:"abatementPeriod" bson:"abatementPeriod"` AbatementRange Range `json:"abatementRange" bson:"abatementRange"` AbatementString string `json:"abatementString" bson:"abatementString"` } type Range struct { Low string `json:"low" bson:"low"` High string `json:"high" bson:"high"` } type ConditionParticipant struct { Function CodeableConcept `json:"function" bson:"function"` Actor Reference `json:"actor" bson:"actor"` } type ConditionStage struct { Summary CodeableConcept `json:"summary" bson:"summary"` Assessment []Reference `json:"assessment" bson:"assessment"` Type CodeableConcept `json:"type" bson:"type"` } type ConditionEvidence struct { Concept CodeableConcept `json:"concept" bson:"concept"` Reference Reference `json:"reference" bson:"reference"` } type Stage struct { Summary CodeableConcept `json:"summary" bson:"summary"` Assessment []Reference `json:"assessment" bson:"assessment"` Type CodeableConcept `json:"type" bson:"type"` } type Evidence struct { Concept CodeableConcept `json:"concept" bson:"concept"` Reference Reference `json:"reference" bson:"reference"` } type CoveragePayment struct { Party Reference `json:"party" bson:"party"` Responsibility string `json:"responsibility" bson:"responsibility"` } type CoverageClass struct { Type CodeableConcept `json:"type" bson:"type"` Value CoverageClassValue `json:"value" bson:"value"` Name string `json:"name" bson:"name"` } type CoverageClassValue 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"` Name string `json:"name" bson:"name"` } type CostToBeneficiary struct { Type CodeableConcept `json:"type" bson:"type"` Category CodeableConcept `json:"category" bson:"category"` Network CodeableConcept `json:"network" bson:"network"` Unit CodeableConcept `json:"unit" bson:"unit"` Term CodeableConcept `json:"term" bson:"term"` Value CostToBeneficiaryValue `json:"value" bson:"value"` Exception []CostToBeneficiaryException `json:"exception" bson:"exception"` } type CostToBeneficiaryValue struct { ValueQuantity string `json:"valueQuantity" bson:"valueQuantity"` ValueMoney Money `json:"valueMoney" bson:"valueMoney"` } type CostToBeneficiaryException struct { Type CodeableConcept `json:"type" bson:"type"` Period Period `json:"period" bson:"period"` } type Money struct { Value float64 `json:"value" bson:"value"` Currency string `json:"currency" bson:"currency"` }