Files
2025-07-01 12:42:28 +07:00

454 lines
18 KiB
Go

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"`
}