models

package
v0.0.0-...-6105247 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 2, 2019 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Date      = "date"
	YearMonth = "year-month"
	Year      = "year"
	Timestamp = "timestamp"
	Time      = "time"
)

Variables

This section is empty.

Functions

func BSONMapToResource

func BSONMapToResource(bsonMap bson.M, asPointer bool) (interface{}, error)

When bson objects from the database get unmarshaled, types that are interface{} just get unmarshaled to map[string]interface{}. This function converts that unmarshaled bson.M map to a specific resource type.

func DisableOperationOutcomeDiagnosticsFileLine

func DisableOperationOutcomeDiagnosticsFileLine()

func GetResourceID

func GetResourceID(resource interface{}) (id string, ok bool)

func MapToResource

func MapToResource(resourceMap interface{}, asPointer bool) (interface{}, error)

When FHIR JSON is unmarshalled, types that are interface{} just get unmarshaled to map[string]interface{}. This function converts that unmarshaled map to a specific resource type.

func NewSliceForResourceName

func NewSliceForResourceName(name string, len int, cap int) interface{}

func NewStructForResourceName

func NewStructForResourceName(name string) interface{}

func PluralizeLowerResourceName

func PluralizeLowerResourceName(name string) string

func SliceForResourceName

func SliceForResourceName(name string, len int, cap int) interface{}

func StructForResourceName

func StructForResourceName(name string) interface{}

Types

type Account

type Account struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier                `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status         string                      `bson:"status,omitempty" json:"status,omitempty"`
	Type           *CodeableConcept            `bson:"type,omitempty" json:"type,omitempty"`
	Name           string                      `bson:"name,omitempty" json:"name,omitempty"`
	Subject        *Reference                  `bson:"subject,omitempty" json:"subject,omitempty"`
	Period         *Period                     `bson:"period,omitempty" json:"period,omitempty"`
	Active         *Period                     `bson:"active,omitempty" json:"active,omitempty"`
	Balance        *Quantity                   `bson:"balance,omitempty" json:"balance,omitempty"`
	Coverage       []AccountCoverageComponent  `bson:"coverage,omitempty" json:"coverage,omitempty"`
	Owner          *Reference                  `bson:"owner,omitempty" json:"owner,omitempty"`
	Description    string                      `bson:"description,omitempty" json:"description,omitempty"`
	Guarantor      []AccountGuarantorComponent `bson:"guarantor,omitempty" json:"guarantor,omitempty"`
}

func (*Account) GetBSON

func (x *Account) GetBSON() (interface{}, error)

func (*Account) MarshalJSON

func (resource *Account) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Account) UnmarshalJSON

func (x *Account) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type AccountCoverageComponent

type AccountCoverageComponent struct {
	BackboneElement `bson:",inline"`
	Coverage        *Reference `bson:"coverage,omitempty" json:"coverage,omitempty"`
	Priority        *uint32    `bson:"priority,omitempty" json:"priority,omitempty"`
}

type AccountGuarantorComponent

type AccountGuarantorComponent struct {
	BackboneElement `bson:",inline"`
	Party           *Reference `bson:"party,omitempty" json:"party,omitempty"`
	OnHold          *bool      `bson:"onHold,omitempty" json:"onHold,omitempty"`
	Period          *Period    `bson:"period,omitempty" json:"period,omitempty"`
}

type ActivityDefinition

type ActivityDefinition struct {
	DomainResource         `bson:",inline"`
	Url                    string                                    `bson:"url,omitempty" json:"url,omitempty"`
	Identifier             []Identifier                              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version                string                                    `bson:"version,omitempty" json:"version,omitempty"`
	Name                   string                                    `bson:"name,omitempty" json:"name,omitempty"`
	Title                  string                                    `bson:"title,omitempty" json:"title,omitempty"`
	Status                 string                                    `bson:"status,omitempty" json:"status,omitempty"`
	Experimental           *bool                                     `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date                   *FHIRDateTime                             `bson:"date,omitempty" json:"date,omitempty"`
	Publisher              string                                    `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Description            string                                    `bson:"description,omitempty" json:"description,omitempty"`
	Purpose                string                                    `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Usage                  string                                    `bson:"usage,omitempty" json:"usage,omitempty"`
	ApprovalDate           *FHIRDateTime                             `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate         *FHIRDateTime                             `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod        *Period                                   `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	UseContext             []UsageContext                            `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction           []CodeableConcept                         `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Topic                  []CodeableConcept                         `bson:"topic,omitempty" json:"topic,omitempty"`
	Contributor            []Contributor                             `bson:"contributor,omitempty" json:"contributor,omitempty"`
	Contact                []ContactDetail                           `bson:"contact,omitempty" json:"contact,omitempty"`
	Copyright              string                                    `bson:"copyright,omitempty" json:"copyright,omitempty"`
	RelatedArtifact        []RelatedArtifact                         `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Library                []Reference                               `bson:"library,omitempty" json:"library,omitempty"`
	Kind                   string                                    `bson:"kind,omitempty" json:"kind,omitempty"`
	Code                   *CodeableConcept                          `bson:"code,omitempty" json:"code,omitempty"`
	TimingTiming           *Timing                                   `bson:"timingTiming,omitempty" json:"timingTiming,omitempty"`
	TimingDateTime         *FHIRDateTime                             `bson:"timingDateTime,omitempty" json:"timingDateTime,omitempty"`
	TimingPeriod           *Period                                   `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	TimingRange            *Range                                    `bson:"timingRange,omitempty" json:"timingRange,omitempty"`
	Location               *Reference                                `bson:"location,omitempty" json:"location,omitempty"`
	Participant            []ActivityDefinitionParticipantComponent  `bson:"participant,omitempty" json:"participant,omitempty"`
	ProductReference       *Reference                                `bson:"productReference,omitempty" json:"productReference,omitempty"`
	ProductCodeableConcept *CodeableConcept                          `bson:"productCodeableConcept,omitempty" json:"productCodeableConcept,omitempty"`
	Quantity               *Quantity                                 `bson:"quantity,omitempty" json:"quantity,omitempty"`
	Dosage                 []Dosage                                  `bson:"dosage,omitempty" json:"dosage,omitempty"`
	BodySite               []CodeableConcept                         `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	Transform              *Reference                                `bson:"transform,omitempty" json:"transform,omitempty"`
	DynamicValue           []ActivityDefinitionDynamicValueComponent `bson:"dynamicValue,omitempty" json:"dynamicValue,omitempty"`
}

func (*ActivityDefinition) GetBSON

func (x *ActivityDefinition) GetBSON() (interface{}, error)

func (*ActivityDefinition) MarshalJSON

func (resource *ActivityDefinition) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ActivityDefinition) UnmarshalJSON

func (x *ActivityDefinition) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ActivityDefinitionDynamicValueComponent

type ActivityDefinitionDynamicValueComponent struct {
	BackboneElement `bson:",inline"`
	Description     string `bson:"description,omitempty" json:"description,omitempty"`
	Path            string `bson:"path,omitempty" json:"path,omitempty"`
	Language        string `bson:"language,omitempty" json:"language,omitempty"`
	Expression      string `bson:"expression,omitempty" json:"expression,omitempty"`
}

type ActivityDefinitionParticipantComponent

type ActivityDefinitionParticipantComponent struct {
	BackboneElement `bson:",inline"`
	Type            string           `bson:"type,omitempty" json:"type,omitempty"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
}

type Address

type Address struct {
	Use        string   `bson:"use,omitempty" json:"use,omitempty"`
	Type       string   `bson:"type,omitempty" json:"type,omitempty"`
	Text       string   `bson:"text,omitempty" json:"text,omitempty"`
	Line       []string `bson:"line,omitempty" json:"line,omitempty"`
	City       string   `bson:"city,omitempty" json:"city,omitempty"`
	District   string   `bson:"district,omitempty" json:"district,omitempty"`
	State      string   `bson:"state,omitempty" json:"state,omitempty"`
	PostalCode string   `bson:"postalCode,omitempty" json:"postalCode,omitempty"`
	Country    string   `bson:"country,omitempty" json:"country,omitempty"`
	Period     *Period  `bson:"period,omitempty" json:"period,omitempty"`
}

type AdverseEvent

type AdverseEvent struct {
	DomainResource        `bson:",inline"`
	Identifier            *Identifier                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Category              string                               `bson:"category,omitempty" json:"category,omitempty"`
	Type                  *CodeableConcept                     `bson:"type,omitempty" json:"type,omitempty"`
	Subject               *Reference                           `bson:"subject,omitempty" json:"subject,omitempty"`
	Date                  *FHIRDateTime                        `bson:"date,omitempty" json:"date,omitempty"`
	Reaction              []Reference                          `bson:"reaction,omitempty" json:"reaction,omitempty"`
	Location              *Reference                           `bson:"location,omitempty" json:"location,omitempty"`
	Seriousness           *CodeableConcept                     `bson:"seriousness,omitempty" json:"seriousness,omitempty"`
	Outcome               *CodeableConcept                     `bson:"outcome,omitempty" json:"outcome,omitempty"`
	Recorder              *Reference                           `bson:"recorder,omitempty" json:"recorder,omitempty"`
	EventParticipant      *Reference                           `bson:"eventParticipant,omitempty" json:"eventParticipant,omitempty"`
	Description           string                               `bson:"description,omitempty" json:"description,omitempty"`
	SuspectEntity         []AdverseEventSuspectEntityComponent `bson:"suspectEntity,omitempty" json:"suspectEntity,omitempty"`
	SubjectMedicalHistory []Reference                          `bson:"subjectMedicalHistory,omitempty" json:"subjectMedicalHistory,omitempty"`
	ReferenceDocument     []Reference                          `bson:"referenceDocument,omitempty" json:"referenceDocument,omitempty"`
	Study                 []Reference                          `bson:"study,omitempty" json:"study,omitempty"`
}

func (*AdverseEvent) GetBSON

func (x *AdverseEvent) GetBSON() (interface{}, error)

func (*AdverseEvent) MarshalJSON

func (resource *AdverseEvent) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*AdverseEvent) UnmarshalJSON

func (x *AdverseEvent) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type AdverseEventSuspectEntityComponent

type AdverseEventSuspectEntityComponent struct {
	BackboneElement             `bson:",inline"`
	Instance                    *Reference       `bson:"instance,omitempty" json:"instance,omitempty"`
	Causality                   string           `bson:"causality,omitempty" json:"causality,omitempty"`
	CausalityAssessment         *CodeableConcept `bson:"causalityAssessment,omitempty" json:"causalityAssessment,omitempty"`
	CausalityProductRelatedness string           `bson:"causalityProductRelatedness,omitempty" json:"causalityProductRelatedness,omitempty"`
	CausalityMethod             *CodeableConcept `bson:"causalityMethod,omitempty" json:"causalityMethod,omitempty"`
	CausalityAuthor             *Reference       `bson:"causalityAuthor,omitempty" json:"causalityAuthor,omitempty"`
	CausalityResult             *CodeableConcept `bson:"causalityResult,omitempty" json:"causalityResult,omitempty"`
}

type Age

type Age struct {
	Quantity `bson:",inline"`
}

type AllergyIntolerance

type AllergyIntolerance struct {
	DomainResource     `bson:",inline"`
	Identifier         []Identifier                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	ClinicalStatus     string                                `bson:"clinicalStatus,omitempty" json:"clinicalStatus,omitempty"`
	VerificationStatus string                                `bson:"verificationStatus,omitempty" json:"verificationStatus,omitempty"`
	Type               string                                `bson:"type,omitempty" json:"type,omitempty"`
	Category           []string                              `bson:"category,omitempty" json:"category,omitempty"`
	Criticality        string                                `bson:"criticality,omitempty" json:"criticality,omitempty"`
	Code               *CodeableConcept                      `bson:"code,omitempty" json:"code,omitempty"`
	Patient            *Reference                            `bson:"patient,omitempty" json:"patient,omitempty"`
	OnsetDateTime      *FHIRDateTime                         `bson:"onsetDateTime,omitempty" json:"onsetDateTime,omitempty"`
	OnsetAge           *Quantity                             `bson:"onsetAge,omitempty" json:"onsetAge,omitempty"`
	OnsetPeriod        *Period                               `bson:"onsetPeriod,omitempty" json:"onsetPeriod,omitempty"`
	OnsetRange         *Range                                `bson:"onsetRange,omitempty" json:"onsetRange,omitempty"`
	OnsetString        string                                `bson:"onsetString,omitempty" json:"onsetString,omitempty"`
	AssertedDate       *FHIRDateTime                         `bson:"assertedDate,omitempty" json:"assertedDate,omitempty"`
	Recorder           *Reference                            `bson:"recorder,omitempty" json:"recorder,omitempty"`
	Asserter           *Reference                            `bson:"asserter,omitempty" json:"asserter,omitempty"`
	LastOccurrence     *FHIRDateTime                         `bson:"lastOccurrence,omitempty" json:"lastOccurrence,omitempty"`
	Note               []Annotation                          `bson:"note,omitempty" json:"note,omitempty"`
	Reaction           []AllergyIntoleranceReactionComponent `bson:"reaction,omitempty" json:"reaction,omitempty"`
}

func (*AllergyIntolerance) GetBSON

func (x *AllergyIntolerance) GetBSON() (interface{}, error)

func (*AllergyIntolerance) MarshalJSON

func (resource *AllergyIntolerance) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*AllergyIntolerance) UnmarshalJSON

func (x *AllergyIntolerance) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type AllergyIntoleranceReactionComponent

type AllergyIntoleranceReactionComponent struct {
	BackboneElement `bson:",inline"`
	Substance       *CodeableConcept  `bson:"substance,omitempty" json:"substance,omitempty"`
	Manifestation   []CodeableConcept `bson:"manifestation,omitempty" json:"manifestation,omitempty"`
	Description     string            `bson:"description,omitempty" json:"description,omitempty"`
	Onset           *FHIRDateTime     `bson:"onset,omitempty" json:"onset,omitempty"`
	Severity        string            `bson:"severity,omitempty" json:"severity,omitempty"`
	ExposureRoute   *CodeableConcept  `bson:"exposureRoute,omitempty" json:"exposureRoute,omitempty"`
	Note            []Annotation      `bson:"note,omitempty" json:"note,omitempty"`
}

type Annotation

type Annotation struct {
	AuthorReference *Reference    `bson:"authorReference,omitempty" json:"authorReference,omitempty"`
	AuthorString    string        `bson:"authorString,omitempty" json:"authorString,omitempty"`
	Time            *FHIRDateTime `bson:"time,omitempty" json:"time,omitempty"`
	Text            string        `bson:"text,omitempty" json:"text,omitempty"`
}

type Appointment

type Appointment struct {
	DomainResource        `bson:",inline"`
	Identifier            []Identifier                      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                string                            `bson:"status,omitempty" json:"status,omitempty"`
	ServiceCategory       *CodeableConcept                  `bson:"serviceCategory,omitempty" json:"serviceCategory,omitempty"`
	ServiceType           []CodeableConcept                 `bson:"serviceType,omitempty" json:"serviceType,omitempty"`
	Specialty             []CodeableConcept                 `bson:"specialty,omitempty" json:"specialty,omitempty"`
	AppointmentType       *CodeableConcept                  `bson:"appointmentType,omitempty" json:"appointmentType,omitempty"`
	Reason                []CodeableConcept                 `bson:"reason,omitempty" json:"reason,omitempty"`
	Indication            []Reference                       `bson:"indication,omitempty" json:"indication,omitempty"`
	Priority              *uint32                           `bson:"priority,omitempty" json:"priority,omitempty"`
	Description           string                            `bson:"description,omitempty" json:"description,omitempty"`
	SupportingInformation []Reference                       `bson:"supportingInformation,omitempty" json:"supportingInformation,omitempty"`
	Start                 *FHIRDateTime                     `bson:"start,omitempty" json:"start,omitempty"`
	End                   *FHIRDateTime                     `bson:"end,omitempty" json:"end,omitempty"`
	MinutesDuration       *uint32                           `bson:"minutesDuration,omitempty" json:"minutesDuration,omitempty"`
	Slot                  []Reference                       `bson:"slot,omitempty" json:"slot,omitempty"`
	Created               *FHIRDateTime                     `bson:"created,omitempty" json:"created,omitempty"`
	Comment               string                            `bson:"comment,omitempty" json:"comment,omitempty"`
	IncomingReferral      []Reference                       `bson:"incomingReferral,omitempty" json:"incomingReferral,omitempty"`
	Participant           []AppointmentParticipantComponent `bson:"participant,omitempty" json:"participant,omitempty"`
	RequestedPeriod       []Period                          `bson:"requestedPeriod,omitempty" json:"requestedPeriod,omitempty"`
}

func (*Appointment) GetBSON

func (x *Appointment) GetBSON() (interface{}, error)

func (*Appointment) MarshalJSON

func (resource *Appointment) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Appointment) UnmarshalJSON

func (x *Appointment) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type AppointmentParticipantComponent

type AppointmentParticipantComponent struct {
	BackboneElement `bson:",inline"`
	Type            []CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Actor           *Reference        `bson:"actor,omitempty" json:"actor,omitempty"`
	Required        string            `bson:"required,omitempty" json:"required,omitempty"`
	Status          string            `bson:"status,omitempty" json:"status,omitempty"`
}

type AppointmentResponse

type AppointmentResponse struct {
	DomainResource    `bson:",inline"`
	Identifier        []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Appointment       *Reference        `bson:"appointment,omitempty" json:"appointment,omitempty"`
	Start             *FHIRDateTime     `bson:"start,omitempty" json:"start,omitempty"`
	End               *FHIRDateTime     `bson:"end,omitempty" json:"end,omitempty"`
	ParticipantType   []CodeableConcept `bson:"participantType,omitempty" json:"participantType,omitempty"`
	Actor             *Reference        `bson:"actor,omitempty" json:"actor,omitempty"`
	ParticipantStatus string            `bson:"participantStatus,omitempty" json:"participantStatus,omitempty"`
	Comment           string            `bson:"comment,omitempty" json:"comment,omitempty"`
}

func (*AppointmentResponse) GetBSON

func (x *AppointmentResponse) GetBSON() (interface{}, error)

func (*AppointmentResponse) MarshalJSON

func (resource *AppointmentResponse) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*AppointmentResponse) UnmarshalJSON

func (x *AppointmentResponse) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type Attachment

type Attachment struct {
	ContentType string        `bson:"contentType,omitempty" json:"contentType,omitempty"`
	Language    string        `bson:"language,omitempty" json:"language,omitempty"`
	Data        string        `bson:"data,omitempty" json:"data,omitempty"`
	Url         string        `bson:"url,omitempty" json:"url,omitempty"`
	Size        *uint32       `bson:"size,omitempty" json:"size,omitempty"`
	Hash        string        `bson:"hash,omitempty" json:"hash,omitempty"`
	Title       string        `bson:"title,omitempty" json:"title,omitempty"`
	Creation    *FHIRDateTime `bson:"creation,omitempty" json:"creation,omitempty"`
}

type AuditEvent

type AuditEvent struct {
	DomainResource `bson:",inline"`
	Type           *Coding                     `bson:"type,omitempty" json:"type,omitempty"`
	Subtype        []Coding                    `bson:"subtype,omitempty" json:"subtype,omitempty"`
	Action         string                      `bson:"action,omitempty" json:"action,omitempty"`
	Recorded       *FHIRDateTime               `bson:"recorded,omitempty" json:"recorded,omitempty"`
	Outcome        string                      `bson:"outcome,omitempty" json:"outcome,omitempty"`
	OutcomeDesc    string                      `bson:"outcomeDesc,omitempty" json:"outcomeDesc,omitempty"`
	PurposeOfEvent []CodeableConcept           `bson:"purposeOfEvent,omitempty" json:"purposeOfEvent,omitempty"`
	Agent          []AuditEventAgentComponent  `bson:"agent,omitempty" json:"agent,omitempty"`
	Source         *AuditEventSourceComponent  `bson:"source,omitempty" json:"source,omitempty"`
	Entity         []AuditEventEntityComponent `bson:"entity,omitempty" json:"entity,omitempty"`
}

func (*AuditEvent) GetBSON

func (x *AuditEvent) GetBSON() (interface{}, error)

func (*AuditEvent) MarshalJSON

func (resource *AuditEvent) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*AuditEvent) UnmarshalJSON

func (x *AuditEvent) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type AuditEventAgentComponent

type AuditEventAgentComponent struct {
	BackboneElement `bson:",inline"`
	Role            []CodeableConcept                `bson:"role,omitempty" json:"role,omitempty"`
	Reference       *Reference                       `bson:"reference,omitempty" json:"reference,omitempty"`
	UserId          *Identifier                      `bson:"userId,omitempty" json:"userId,omitempty"`
	AltId           string                           `bson:"altId,omitempty" json:"altId,omitempty"`
	Name            string                           `bson:"name,omitempty" json:"name,omitempty"`
	Requestor       *bool                            `bson:"requestor,omitempty" json:"requestor,omitempty"`
	Location        *Reference                       `bson:"location,omitempty" json:"location,omitempty"`
	Policy          []string                         `bson:"policy,omitempty" json:"policy,omitempty"`
	Media           *Coding                          `bson:"media,omitempty" json:"media,omitempty"`
	Network         *AuditEventAgentNetworkComponent `bson:"network,omitempty" json:"network,omitempty"`
	PurposeOfUse    []CodeableConcept                `bson:"purposeOfUse,omitempty" json:"purposeOfUse,omitempty"`
}

type AuditEventAgentNetworkComponent

type AuditEventAgentNetworkComponent struct {
	BackboneElement `bson:",inline"`
	Address         string `bson:"address,omitempty" json:"address,omitempty"`
	Type            string `bson:"type,omitempty" json:"type,omitempty"`
}

type AuditEventEntityComponent

type AuditEventEntityComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier                       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Reference       *Reference                        `bson:"reference,omitempty" json:"reference,omitempty"`
	Type            *Coding                           `bson:"type,omitempty" json:"type,omitempty"`
	Role            *Coding                           `bson:"role,omitempty" json:"role,omitempty"`
	Lifecycle       *Coding                           `bson:"lifecycle,omitempty" json:"lifecycle,omitempty"`
	SecurityLabel   []Coding                          `bson:"securityLabel,omitempty" json:"securityLabel,omitempty"`
	Name            string                            `bson:"name,omitempty" json:"name,omitempty"`
	Description     string                            `bson:"description,omitempty" json:"description,omitempty"`
	Query           string                            `bson:"query,omitempty" json:"query,omitempty"`
	Detail          []AuditEventEntityDetailComponent `bson:"detail,omitempty" json:"detail,omitempty"`
}

type AuditEventEntityDetailComponent

type AuditEventEntityDetailComponent struct {
	BackboneElement `bson:",inline"`
	Type            string `bson:"type,omitempty" json:"type,omitempty"`
	Value           string `bson:"value,omitempty" json:"value,omitempty"`
}

type AuditEventSourceComponent

type AuditEventSourceComponent struct {
	BackboneElement `bson:",inline"`
	Site            string      `bson:"site,omitempty" json:"site,omitempty"`
	Identifier      *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type            []Coding    `bson:"type,omitempty" json:"type,omitempty"`
}

type BackboneElement

type BackboneElement struct {
	Element           `bson:",inline"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
}

type Basic

type Basic struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Code           *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Subject        *Reference       `bson:"subject,omitempty" json:"subject,omitempty"`
	Created        *FHIRDateTime    `bson:"created,omitempty" json:"created,omitempty"`
	Author         *Reference       `bson:"author,omitempty" json:"author,omitempty"`
}

func (*Basic) GetBSON

func (x *Basic) GetBSON() (interface{}, error)

func (*Basic) MarshalJSON

func (resource *Basic) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Basic) UnmarshalJSON

func (x *Basic) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type Binary

type Binary struct {
	Resource        `bson:",inline"`
	ContentType     string     `bson:"contentType,omitempty" json:"contentType,omitempty"`
	SecurityContext *Reference `bson:"securityContext,omitempty" json:"securityContext,omitempty"`
	Content         string     `bson:"content,omitempty" json:"content,omitempty"`
}

func (*Binary) GetBSON

func (x *Binary) GetBSON() (interface{}, error)

func (*Binary) MarshalJSON

func (resource *Binary) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Binary) UnmarshalJSON

func (x *Binary) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type BodySite

type BodySite struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active         *bool             `bson:"active,omitempty" json:"active,omitempty"`
	Code           *CodeableConcept  `bson:"code,omitempty" json:"code,omitempty"`
	Qualifier      []CodeableConcept `bson:"qualifier,omitempty" json:"qualifier,omitempty"`
	Description    string            `bson:"description,omitempty" json:"description,omitempty"`
	Image          []Attachment      `bson:"image,omitempty" json:"image,omitempty"`
	Patient        *Reference        `bson:"patient,omitempty" json:"patient,omitempty"`
}

func (*BodySite) GetBSON

func (x *BodySite) GetBSON() (interface{}, error)

func (*BodySite) MarshalJSON

func (resource *BodySite) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*BodySite) UnmarshalJSON

func (x *BodySite) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type Bundle

type Bundle struct {
	Resource   `bson:",inline"`
	Identifier *Identifier            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type       string                 `bson:"type,omitempty" json:"type,omitempty"`
	Total      *uint32                `bson:"total,omitempty" json:"total,omitempty"`
	Link       []BundleLinkComponent  `bson:"link,omitempty" json:"link,omitempty"`
	Entry      []BundleEntryComponent `bson:"entry,omitempty" json:"entry,omitempty"`
	Signature  *Signature             `bson:"signature,omitempty" json:"signature,omitempty"`
}

func (*Bundle) GetBSON

func (x *Bundle) GetBSON() (interface{}, error)

func (*Bundle) MarshalJSON

func (resource *Bundle) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Bundle) UnmarshalJSON

func (x *Bundle) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type BundleEntryComponent

type BundleEntryComponent struct {
	BackboneElement `bson:",inline"`
	Link            []BundleLinkComponent         `bson:"link,omitempty" json:"link,omitempty"`
	FullUrl         string                        `bson:"fullUrl,omitempty" json:"fullUrl,omitempty"`
	Resource        interface{}                   `bson:"resource,omitempty" json:"resource,omitempty"`
	Search          *BundleEntrySearchComponent   `bson:"search,omitempty" json:"search,omitempty"`
	Request         *BundleEntryRequestComponent  `bson:"request,omitempty" json:"request,omitempty"`
	Response        *BundleEntryResponseComponent `bson:"response,omitempty" json:"response,omitempty"`
}

func (*BundleEntryComponent) SetBSON

func (x *BundleEntryComponent) SetBSON(raw bson.Raw) (err error)

Custom SetBSON implementation to properly deserialize embedded resources otherwise represented as interface{} into resource-specific structs as they are retrieved from the database.

func (*BundleEntryComponent) UnmarshalJSON

func (x *BundleEntryComponent) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type BundleEntryRequestComponent

type BundleEntryRequestComponent struct {
	BackboneElement `bson:",inline"`
	Method          string        `bson:"method,omitempty" json:"method,omitempty"`
	Url             string        `bson:"url,omitempty" json:"url,omitempty"`
	IfNoneMatch     string        `bson:"ifNoneMatch,omitempty" json:"ifNoneMatch,omitempty"`
	IfModifiedSince *FHIRDateTime `bson:"ifModifiedSince,omitempty" json:"ifModifiedSince,omitempty"`
	IfMatch         string        `bson:"ifMatch,omitempty" json:"ifMatch,omitempty"`
	IfNoneExist     string        `bson:"ifNoneExist,omitempty" json:"ifNoneExist,omitempty"`
}

func (*BundleEntryRequestComponent) DebugString

func (r *BundleEntryRequestComponent) DebugString() string

type BundleEntryResponseComponent

type BundleEntryResponseComponent struct {
	BackboneElement `bson:",inline"`
	Status          string        `bson:"status,omitempty" json:"status,omitempty"`
	Location        string        `bson:"location,omitempty" json:"location,omitempty"`
	Etag            string        `bson:"etag,omitempty" json:"etag,omitempty"`
	LastModified    *FHIRDateTime `bson:"lastModified,omitempty" json:"lastModified,omitempty"`
	Outcome         interface{}   `bson:"outcome,omitempty" json:"outcome,omitempty"`
}

func (*BundleEntryResponseComponent) DebugString

func (r *BundleEntryResponseComponent) DebugString() string

func (*BundleEntryResponseComponent) SetBSON

func (x *BundleEntryResponseComponent) SetBSON(raw bson.Raw) (err error)

Custom SetBSON implementation to properly deserialize embedded resources otherwise represented as interface{} into resource-specific structs as they are retrieved from the database.

func (*BundleEntryResponseComponent) UnmarshalJSON

func (x *BundleEntryResponseComponent) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type BundleEntrySearchComponent

type BundleEntrySearchComponent struct {
	BackboneElement `bson:",inline"`
	Mode            string   `bson:"mode,omitempty" json:"mode,omitempty"`
	Score           *float64 `bson:"score,omitempty" json:"score,omitempty"`
}

type BundleLinkComponent

type BundleLinkComponent struct {
	BackboneElement `bson:",inline"`
	Relation        string `bson:"relation,omitempty" json:"relation,omitempty"`
	Url             string `bson:"url,omitempty" json:"url,omitempty"`
}

type CapabilityStatement

type CapabilityStatement struct {
	DomainResource      `bson:",inline"`
	Url                 string                                      `bson:"url,omitempty" json:"url,omitempty"`
	Version             string                                      `bson:"version,omitempty" json:"version,omitempty"`
	Name                string                                      `bson:"name,omitempty" json:"name,omitempty"`
	Title               string                                      `bson:"title,omitempty" json:"title,omitempty"`
	Status              string                                      `bson:"status,omitempty" json:"status,omitempty"`
	Experimental        *bool                                       `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date                *FHIRDateTime                               `bson:"date,omitempty" json:"date,omitempty"`
	Publisher           string                                      `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact             []ContactDetail                             `bson:"contact,omitempty" json:"contact,omitempty"`
	Description         string                                      `bson:"description,omitempty" json:"description,omitempty"`
	UseContext          []UsageContext                              `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction        []CodeableConcept                           `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Purpose             string                                      `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Copyright           string                                      `bson:"copyright,omitempty" json:"copyright,omitempty"`
	Kind                string                                      `bson:"kind,omitempty" json:"kind,omitempty"`
	Instantiates        []string                                    `bson:"instantiates,omitempty" json:"instantiates,omitempty"`
	Software            *CapabilityStatementSoftwareComponent       `bson:"software,omitempty" json:"software,omitempty"`
	Implementation      *CapabilityStatementImplementationComponent `bson:"implementation,omitempty" json:"implementation,omitempty"`
	FhirVersion         string                                      `bson:"fhirVersion,omitempty" json:"fhirVersion,omitempty"`
	AcceptUnknown       string                                      `bson:"acceptUnknown,omitempty" json:"acceptUnknown,omitempty"`
	Format              []string                                    `bson:"format,omitempty" json:"format,omitempty"`
	PatchFormat         []string                                    `bson:"patchFormat,omitempty" json:"patchFormat,omitempty"`
	ImplementationGuide []string                                    `bson:"implementationGuide,omitempty" json:"implementationGuide,omitempty"`
	Profile             []Reference                                 `bson:"profile,omitempty" json:"profile,omitempty"`
	Rest                []CapabilityStatementRestComponent          `bson:"rest,omitempty" json:"rest,omitempty"`
	Messaging           []CapabilityStatementMessagingComponent     `bson:"messaging,omitempty" json:"messaging,omitempty"`
	Document            []CapabilityStatementDocumentComponent      `bson:"document,omitempty" json:"document,omitempty"`
}

func (*CapabilityStatement) GetBSON

func (x *CapabilityStatement) GetBSON() (interface{}, error)

func (*CapabilityStatement) MarshalJSON

func (resource *CapabilityStatement) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*CapabilityStatement) UnmarshalJSON

func (x *CapabilityStatement) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type CapabilityStatementDocumentComponent

type CapabilityStatementDocumentComponent struct {
	BackboneElement `bson:",inline"`
	Mode            string     `bson:"mode,omitempty" json:"mode,omitempty"`
	Documentation   string     `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Profile         *Reference `bson:"profile,omitempty" json:"profile,omitempty"`
}

type CapabilityStatementImplementationComponent

type CapabilityStatementImplementationComponent struct {
	BackboneElement `bson:",inline"`
	Description     string `bson:"description,omitempty" json:"description,omitempty"`
	Url             string `bson:"url,omitempty" json:"url,omitempty"`
}

type CapabilityStatementMessagingComponent

type CapabilityStatementMessagingComponent struct {
	BackboneElement  `bson:",inline"`
	Endpoint         []CapabilityStatementMessagingEndpointComponent         `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
	ReliableCache    *uint32                                                 `bson:"reliableCache,omitempty" json:"reliableCache,omitempty"`
	Documentation    string                                                  `bson:"documentation,omitempty" json:"documentation,omitempty"`
	SupportedMessage []CapabilityStatementMessagingSupportedMessageComponent `bson:"supportedMessage,omitempty" json:"supportedMessage,omitempty"`
	Event            []CapabilityStatementMessagingEventComponent            `bson:"event,omitempty" json:"event,omitempty"`
}

type CapabilityStatementMessagingEndpointComponent

type CapabilityStatementMessagingEndpointComponent struct {
	BackboneElement `bson:",inline"`
	Protocol        *Coding `bson:"protocol,omitempty" json:"protocol,omitempty"`
	Address         string  `bson:"address,omitempty" json:"address,omitempty"`
}

type CapabilityStatementMessagingEventComponent

type CapabilityStatementMessagingEventComponent struct {
	BackboneElement `bson:",inline"`
	Code            *Coding    `bson:"code,omitempty" json:"code,omitempty"`
	Category        string     `bson:"category,omitempty" json:"category,omitempty"`
	Mode            string     `bson:"mode,omitempty" json:"mode,omitempty"`
	Focus           string     `bson:"focus,omitempty" json:"focus,omitempty"`
	Request         *Reference `bson:"request,omitempty" json:"request,omitempty"`
	Response        *Reference `bson:"response,omitempty" json:"response,omitempty"`
	Documentation   string     `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

type CapabilityStatementMessagingSupportedMessageComponent

type CapabilityStatementMessagingSupportedMessageComponent struct {
	BackboneElement `bson:",inline"`
	Mode            string     `bson:"mode,omitempty" json:"mode,omitempty"`
	Definition      *Reference `bson:"definition,omitempty" json:"definition,omitempty"`
}

type CapabilityStatementResourceInteractionComponent

type CapabilityStatementResourceInteractionComponent struct {
	BackboneElement `bson:",inline"`
	Code            string `bson:"code,omitempty" json:"code,omitempty"`
	Documentation   string `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

type CapabilityStatementRestComponent

type CapabilityStatementRestComponent struct {
	BackboneElement `bson:",inline"`
	Mode            string                                                `bson:"mode,omitempty" json:"mode,omitempty"`
	Documentation   string                                                `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Security        *CapabilityStatementRestSecurityComponent             `bson:"security,omitempty" json:"security,omitempty"`
	Resource        []CapabilityStatementRestResourceComponent            `bson:"resource,omitempty" json:"resource,omitempty"`
	Interaction     []CapabilityStatementSystemInteractionComponent       `bson:"interaction,omitempty" json:"interaction,omitempty"`
	SearchParam     []CapabilityStatementRestResourceSearchParamComponent `bson:"searchParam,omitempty" json:"searchParam,omitempty"`
	Operation       []CapabilityStatementRestOperationComponent           `bson:"operation,omitempty" json:"operation,omitempty"`
	Compartment     []string                                              `bson:"compartment,omitempty" json:"compartment,omitempty"`
}

type CapabilityStatementRestOperationComponent

type CapabilityStatementRestOperationComponent struct {
	BackboneElement `bson:",inline"`
	Name            string     `bson:"name,omitempty" json:"name,omitempty"`
	Definition      *Reference `bson:"definition,omitempty" json:"definition,omitempty"`
}

type CapabilityStatementRestResourceComponent

type CapabilityStatementRestResourceComponent struct {
	BackboneElement   `bson:",inline"`
	Type              string                                                `bson:"type,omitempty" json:"type,omitempty"`
	Profile           *Reference                                            `bson:"profile,omitempty" json:"profile,omitempty"`
	Documentation     string                                                `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Interaction       []CapabilityStatementResourceInteractionComponent     `bson:"interaction,omitempty" json:"interaction,omitempty"`
	Versioning        string                                                `bson:"versioning,omitempty" json:"versioning,omitempty"`
	ReadHistory       *bool                                                 `bson:"readHistory,omitempty" json:"readHistory,omitempty"`
	UpdateCreate      *bool                                                 `bson:"updateCreate,omitempty" json:"updateCreate,omitempty"`
	ConditionalCreate *bool                                                 `bson:"conditionalCreate,omitempty" json:"conditionalCreate,omitempty"`
	ConditionalRead   string                                                `bson:"conditionalRead,omitempty" json:"conditionalRead,omitempty"`
	ConditionalUpdate *bool                                                 `bson:"conditionalUpdate,omitempty" json:"conditionalUpdate,omitempty"`
	ConditionalDelete string                                                `bson:"conditionalDelete,omitempty" json:"conditionalDelete,omitempty"`
	ReferencePolicy   []string                                              `bson:"referencePolicy,omitempty" json:"referencePolicy,omitempty"`
	SearchInclude     []string                                              `bson:"searchInclude,omitempty" json:"searchInclude,omitempty"`
	SearchRevInclude  []string                                              `bson:"searchRevInclude,omitempty" json:"searchRevInclude,omitempty"`
	SearchParam       []CapabilityStatementRestResourceSearchParamComponent `bson:"searchParam,omitempty" json:"searchParam,omitempty"`
}

type CapabilityStatementRestResourceSearchParamComponent

type CapabilityStatementRestResourceSearchParamComponent struct {
	BackboneElement `bson:",inline"`
	Name            string `bson:"name,omitempty" json:"name,omitempty"`
	Definition      string `bson:"definition,omitempty" json:"definition,omitempty"`
	Type            string `bson:"type,omitempty" json:"type,omitempty"`
	Documentation   string `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

type CapabilityStatementRestSecurityCertificateComponent

type CapabilityStatementRestSecurityCertificateComponent struct {
	BackboneElement `bson:",inline"`
	Type            string `bson:"type,omitempty" json:"type,omitempty"`
	Blob            string `bson:"blob,omitempty" json:"blob,omitempty"`
}

type CapabilityStatementRestSecurityComponent

type CapabilityStatementRestSecurityComponent struct {
	BackboneElement `bson:",inline"`
	Cors            *bool                                                 `bson:"cors,omitempty" json:"cors,omitempty"`
	Service         []CodeableConcept                                     `bson:"service,omitempty" json:"service,omitempty"`
	Description     string                                                `bson:"description,omitempty" json:"description,omitempty"`
	Certificate     []CapabilityStatementRestSecurityCertificateComponent `bson:"certificate,omitempty" json:"certificate,omitempty"`
}

type CapabilityStatementSoftwareComponent

type CapabilityStatementSoftwareComponent struct {
	BackboneElement `bson:",inline"`
	Name            string        `bson:"name,omitempty" json:"name,omitempty"`
	Version         string        `bson:"version,omitempty" json:"version,omitempty"`
	ReleaseDate     *FHIRDateTime `bson:"releaseDate,omitempty" json:"releaseDate,omitempty"`
}

type CapabilityStatementSystemInteractionComponent

type CapabilityStatementSystemInteractionComponent struct {
	BackboneElement `bson:",inline"`
	Code            string `bson:"code,omitempty" json:"code,omitempty"`
	Documentation   string `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

type CarePlan

type CarePlan struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier                `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition     []Reference                 `bson:"definition,omitempty" json:"definition,omitempty"`
	BasedOn        []Reference                 `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Replaces       []Reference                 `bson:"replaces,omitempty" json:"replaces,omitempty"`
	PartOf         []Reference                 `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Status         string                      `bson:"status,omitempty" json:"status,omitempty"`
	Intent         string                      `bson:"intent,omitempty" json:"intent,omitempty"`
	Category       []CodeableConcept           `bson:"category,omitempty" json:"category,omitempty"`
	Title          string                      `bson:"title,omitempty" json:"title,omitempty"`
	Description    string                      `bson:"description,omitempty" json:"description,omitempty"`
	Subject        *Reference                  `bson:"subject,omitempty" json:"subject,omitempty"`
	Context        *Reference                  `bson:"context,omitempty" json:"context,omitempty"`
	Period         *Period                     `bson:"period,omitempty" json:"period,omitempty"`
	Author         []Reference                 `bson:"author,omitempty" json:"author,omitempty"`
	CareTeam       []Reference                 `bson:"careTeam,omitempty" json:"careTeam,omitempty"`
	Addresses      []Reference                 `bson:"addresses,omitempty" json:"addresses,omitempty"`
	SupportingInfo []Reference                 `bson:"supportingInfo,omitempty" json:"supportingInfo,omitempty"`
	Goal           []Reference                 `bson:"goal,omitempty" json:"goal,omitempty"`
	Activity       []CarePlanActivityComponent `bson:"activity,omitempty" json:"activity,omitempty"`
	Note           []Annotation                `bson:"note,omitempty" json:"note,omitempty"`
}

func (*CarePlan) GetBSON

func (x *CarePlan) GetBSON() (interface{}, error)

func (*CarePlan) MarshalJSON

func (resource *CarePlan) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*CarePlan) UnmarshalJSON

func (x *CarePlan) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type CarePlanActivityComponent

type CarePlanActivityComponent struct {
	BackboneElement        `bson:",inline"`
	OutcomeCodeableConcept []CodeableConcept                `bson:"outcomeCodeableConcept,omitempty" json:"outcomeCodeableConcept,omitempty"`
	OutcomeReference       []Reference                      `bson:"outcomeReference,omitempty" json:"outcomeReference,omitempty"`
	Progress               []Annotation                     `bson:"progress,omitempty" json:"progress,omitempty"`
	Reference              *Reference                       `bson:"reference,omitempty" json:"reference,omitempty"`
	Detail                 *CarePlanActivityDetailComponent `bson:"detail,omitempty" json:"detail,omitempty"`
}

type CarePlanActivityDetailComponent

type CarePlanActivityDetailComponent struct {
	BackboneElement        `bson:",inline"`
	Category               *CodeableConcept  `bson:"category,omitempty" json:"category,omitempty"`
	Definition             *Reference        `bson:"definition,omitempty" json:"definition,omitempty"`
	Code                   *CodeableConcept  `bson:"code,omitempty" json:"code,omitempty"`
	ReasonCode             []CodeableConcept `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference        []Reference       `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Goal                   []Reference       `bson:"goal,omitempty" json:"goal,omitempty"`
	Status                 string            `bson:"status,omitempty" json:"status,omitempty"`
	StatusReason           string            `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	Prohibited             *bool             `bson:"prohibited,omitempty" json:"prohibited,omitempty"`
	ScheduledTiming        *Timing           `bson:"scheduledTiming,omitempty" json:"scheduledTiming,omitempty"`
	ScheduledPeriod        *Period           `bson:"scheduledPeriod,omitempty" json:"scheduledPeriod,omitempty"`
	ScheduledString        string            `bson:"scheduledString,omitempty" json:"scheduledString,omitempty"`
	Location               *Reference        `bson:"location,omitempty" json:"location,omitempty"`
	Performer              []Reference       `bson:"performer,omitempty" json:"performer,omitempty"`
	ProductCodeableConcept *CodeableConcept  `bson:"productCodeableConcept,omitempty" json:"productCodeableConcept,omitempty"`
	ProductReference       *Reference        `bson:"productReference,omitempty" json:"productReference,omitempty"`
	DailyAmount            *Quantity         `bson:"dailyAmount,omitempty" json:"dailyAmount,omitempty"`
	Quantity               *Quantity         `bson:"quantity,omitempty" json:"quantity,omitempty"`
	Description            string            `bson:"description,omitempty" json:"description,omitempty"`
}

type CareTeam

type CareTeam struct {
	DomainResource       `bson:",inline"`
	Identifier           []Identifier                   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               string                         `bson:"status,omitempty" json:"status,omitempty"`
	Category             []CodeableConcept              `bson:"category,omitempty" json:"category,omitempty"`
	Name                 string                         `bson:"name,omitempty" json:"name,omitempty"`
	Subject              *Reference                     `bson:"subject,omitempty" json:"subject,omitempty"`
	Context              *Reference                     `bson:"context,omitempty" json:"context,omitempty"`
	Period               *Period                        `bson:"period,omitempty" json:"period,omitempty"`
	Participant          []CareTeamParticipantComponent `bson:"participant,omitempty" json:"participant,omitempty"`
	ReasonCode           []CodeableConcept              `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference      []Reference                    `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	ManagingOrganization []Reference                    `bson:"managingOrganization,omitempty" json:"managingOrganization,omitempty"`
	Note                 []Annotation                   `bson:"note,omitempty" json:"note,omitempty"`
}

func (*CareTeam) GetBSON

func (x *CareTeam) GetBSON() (interface{}, error)

func (*CareTeam) MarshalJSON

func (resource *CareTeam) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*CareTeam) UnmarshalJSON

func (x *CareTeam) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type CareTeamParticipantComponent

type CareTeamParticipantComponent struct {
	BackboneElement `bson:",inline"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Member          *Reference       `bson:"member,omitempty" json:"member,omitempty"`
	OnBehalfOf      *Reference       `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
	Period          *Period          `bson:"period,omitempty" json:"period,omitempty"`
}

type ChargeItem

type ChargeItem struct {
	DomainResource         `bson:",inline"`
	Identifier             *Identifier                      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition             []string                         `bson:"definition,omitempty" json:"definition,omitempty"`
	Status                 string                           `bson:"status,omitempty" json:"status,omitempty"`
	PartOf                 []Reference                      `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Code                   *CodeableConcept                 `bson:"code,omitempty" json:"code,omitempty"`
	Subject                *Reference                       `bson:"subject,omitempty" json:"subject,omitempty"`
	Context                *Reference                       `bson:"context,omitempty" json:"context,omitempty"`
	OccurrenceDateTime     *FHIRDateTime                    `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod       *Period                          `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	OccurrenceTiming       *Timing                          `bson:"occurrenceTiming,omitempty" json:"occurrenceTiming,omitempty"`
	Participant            []ChargeItemParticipantComponent `bson:"participant,omitempty" json:"participant,omitempty"`
	PerformingOrganization *Reference                       `bson:"performingOrganization,omitempty" json:"performingOrganization,omitempty"`
	RequestingOrganization *Reference                       `bson:"requestingOrganization,omitempty" json:"requestingOrganization,omitempty"`
	Quantity               *Quantity                        `bson:"quantity,omitempty" json:"quantity,omitempty"`
	Bodysite               []CodeableConcept                `bson:"bodysite,omitempty" json:"bodysite,omitempty"`
	FactorOverride         *float64                         `bson:"factorOverride,omitempty" json:"factorOverride,omitempty"`
	PriceOverride          *Quantity                        `bson:"priceOverride,omitempty" json:"priceOverride,omitempty"`
	OverrideReason         string                           `bson:"overrideReason,omitempty" json:"overrideReason,omitempty"`
	Enterer                *Reference                       `bson:"enterer,omitempty" json:"enterer,omitempty"`
	EnteredDate            *FHIRDateTime                    `bson:"enteredDate,omitempty" json:"enteredDate,omitempty"`
	Reason                 []CodeableConcept                `bson:"reason,omitempty" json:"reason,omitempty"`
	Service                []Reference                      `bson:"service,omitempty" json:"service,omitempty"`
	Account                []Reference                      `bson:"account,omitempty" json:"account,omitempty"`
	Note                   []Annotation                     `bson:"note,omitempty" json:"note,omitempty"`
	SupportingInformation  []Reference                      `bson:"supportingInformation,omitempty" json:"supportingInformation,omitempty"`
}

func (*ChargeItem) GetBSON

func (x *ChargeItem) GetBSON() (interface{}, error)

func (*ChargeItem) MarshalJSON

func (resource *ChargeItem) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ChargeItem) UnmarshalJSON

func (x *ChargeItem) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ChargeItemParticipantComponent

type ChargeItemParticipantComponent struct {
	BackboneElement `bson:",inline"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Actor           *Reference       `bson:"actor,omitempty" json:"actor,omitempty"`
}

type Claim

type Claim struct {
	DomainResource       `bson:",inline"`
	Identifier           []Identifier                     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               string                           `bson:"status,omitempty" json:"status,omitempty"`
	Type                 *CodeableConcept                 `bson:"type,omitempty" json:"type,omitempty"`
	SubType              []CodeableConcept                `bson:"subType,omitempty" json:"subType,omitempty"`
	Use                  string                           `bson:"use,omitempty" json:"use,omitempty"`
	Patient              *Reference                       `bson:"patient,omitempty" json:"patient,omitempty"`
	BillablePeriod       *Period                          `bson:"billablePeriod,omitempty" json:"billablePeriod,omitempty"`
	Created              *FHIRDateTime                    `bson:"created,omitempty" json:"created,omitempty"`
	Enterer              *Reference                       `bson:"enterer,omitempty" json:"enterer,omitempty"`
	Insurer              *Reference                       `bson:"insurer,omitempty" json:"insurer,omitempty"`
	Provider             *Reference                       `bson:"provider,omitempty" json:"provider,omitempty"`
	Organization         *Reference                       `bson:"organization,omitempty" json:"organization,omitempty"`
	Priority             *CodeableConcept                 `bson:"priority,omitempty" json:"priority,omitempty"`
	FundsReserve         *CodeableConcept                 `bson:"fundsReserve,omitempty" json:"fundsReserve,omitempty"`
	Related              []ClaimRelatedClaimComponent     `bson:"related,omitempty" json:"related,omitempty"`
	Prescription         *Reference                       `bson:"prescription,omitempty" json:"prescription,omitempty"`
	OriginalPrescription *Reference                       `bson:"originalPrescription,omitempty" json:"originalPrescription,omitempty"`
	Payee                *ClaimPayeeComponent             `bson:"payee,omitempty" json:"payee,omitempty"`
	Referral             *Reference                       `bson:"referral,omitempty" json:"referral,omitempty"`
	Facility             *Reference                       `bson:"facility,omitempty" json:"facility,omitempty"`
	CareTeam             []ClaimCareTeamComponent         `bson:"careTeam,omitempty" json:"careTeam,omitempty"`
	Information          []ClaimSpecialConditionComponent `bson:"information,omitempty" json:"information,omitempty"`
	Diagnosis            []ClaimDiagnosisComponent        `bson:"diagnosis,omitempty" json:"diagnosis,omitempty"`
	Procedure            []ClaimProcedureComponent        `bson:"procedure,omitempty" json:"procedure,omitempty"`
	Insurance            []ClaimInsuranceComponent        `bson:"insurance,omitempty" json:"insurance,omitempty"`
	Accident             *ClaimAccidentComponent          `bson:"accident,omitempty" json:"accident,omitempty"`
	EmploymentImpacted   *Period                          `bson:"employmentImpacted,omitempty" json:"employmentImpacted,omitempty"`
	Hospitalization      *Period                          `bson:"hospitalization,omitempty" json:"hospitalization,omitempty"`
	Item                 []ClaimItemComponent             `bson:"item,omitempty" json:"item,omitempty"`
	Total                *Quantity                        `bson:"total,omitempty" json:"total,omitempty"`
}

func (*Claim) GetBSON

func (x *Claim) GetBSON() (interface{}, error)

func (*Claim) MarshalJSON

func (resource *Claim) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Claim) UnmarshalJSON

func (x *Claim) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ClaimAccidentComponent

type ClaimAccidentComponent struct {
	BackboneElement   `bson:",inline"`
	Date              *FHIRDateTime    `bson:"date,omitempty" json:"date,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	LocationAddress   *Address         `bson:"locationAddress,omitempty" json:"locationAddress,omitempty"`
	LocationReference *Reference       `bson:"locationReference,omitempty" json:"locationReference,omitempty"`
}

type ClaimCareTeamComponent

type ClaimCareTeamComponent struct {
	BackboneElement `bson:",inline"`
	Sequence        *uint32          `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Provider        *Reference       `bson:"provider,omitempty" json:"provider,omitempty"`
	Responsible     *bool            `bson:"responsible,omitempty" json:"responsible,omitempty"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Qualification   *CodeableConcept `bson:"qualification,omitempty" json:"qualification,omitempty"`
}

type ClaimDetailComponent

type ClaimDetailComponent struct {
	BackboneElement `bson:",inline"`
	Sequence        *uint32                   `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Revenue         *CodeableConcept          `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category        *CodeableConcept          `bson:"category,omitempty" json:"category,omitempty"`
	Service         *CodeableConcept          `bson:"service,omitempty" json:"service,omitempty"`
	Modifier        []CodeableConcept         `bson:"modifier,omitempty" json:"modifier,omitempty"`
	ProgramCode     []CodeableConcept         `bson:"programCode,omitempty" json:"programCode,omitempty"`
	Quantity        *Quantity                 `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice       *Quantity                 `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor          *float64                  `bson:"factor,omitempty" json:"factor,omitempty"`
	Net             *Quantity                 `bson:"net,omitempty" json:"net,omitempty"`
	Udi             []Reference               `bson:"udi,omitempty" json:"udi,omitempty"`
	SubDetail       []ClaimSubDetailComponent `bson:"subDetail,omitempty" json:"subDetail,omitempty"`
}

type ClaimDiagnosisComponent

type ClaimDiagnosisComponent struct {
	BackboneElement          `bson:",inline"`
	Sequence                 *uint32           `bson:"sequence,omitempty" json:"sequence,omitempty"`
	DiagnosisCodeableConcept *CodeableConcept  `bson:"diagnosisCodeableConcept,omitempty" json:"diagnosisCodeableConcept,omitempty"`
	DiagnosisReference       *Reference        `bson:"diagnosisReference,omitempty" json:"diagnosisReference,omitempty"`
	Type                     []CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	PackageCode              *CodeableConcept  `bson:"packageCode,omitempty" json:"packageCode,omitempty"`
}

type ClaimInsuranceComponent

type ClaimInsuranceComponent struct {
	BackboneElement     `bson:",inline"`
	Sequence            *uint32    `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Focal               *bool      `bson:"focal,omitempty" json:"focal,omitempty"`
	Coverage            *Reference `bson:"coverage,omitempty" json:"coverage,omitempty"`
	BusinessArrangement string     `bson:"businessArrangement,omitempty" json:"businessArrangement,omitempty"`
	PreAuthRef          []string   `bson:"preAuthRef,omitempty" json:"preAuthRef,omitempty"`
	ClaimResponse       *Reference `bson:"claimResponse,omitempty" json:"claimResponse,omitempty"`
}

type ClaimItemComponent

type ClaimItemComponent struct {
	BackboneElement         `bson:",inline"`
	Sequence                *uint32                `bson:"sequence,omitempty" json:"sequence,omitempty"`
	CareTeamLinkId          []uint32               `bson:"careTeamLinkId,omitempty" json:"careTeamLinkId,omitempty"`
	DiagnosisLinkId         []uint32               `bson:"diagnosisLinkId,omitempty" json:"diagnosisLinkId,omitempty"`
	ProcedureLinkId         []uint32               `bson:"procedureLinkId,omitempty" json:"procedureLinkId,omitempty"`
	InformationLinkId       []uint32               `bson:"informationLinkId,omitempty" json:"informationLinkId,omitempty"`
	Revenue                 *CodeableConcept       `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category                *CodeableConcept       `bson:"category,omitempty" json:"category,omitempty"`
	Service                 *CodeableConcept       `bson:"service,omitempty" json:"service,omitempty"`
	Modifier                []CodeableConcept      `bson:"modifier,omitempty" json:"modifier,omitempty"`
	ProgramCode             []CodeableConcept      `bson:"programCode,omitempty" json:"programCode,omitempty"`
	ServicedDate            *FHIRDateTime          `bson:"servicedDate,omitempty" json:"servicedDate,omitempty"`
	ServicedPeriod          *Period                `bson:"servicedPeriod,omitempty" json:"servicedPeriod,omitempty"`
	LocationCodeableConcept *CodeableConcept       `bson:"locationCodeableConcept,omitempty" json:"locationCodeableConcept,omitempty"`
	LocationAddress         *Address               `bson:"locationAddress,omitempty" json:"locationAddress,omitempty"`
	LocationReference       *Reference             `bson:"locationReference,omitempty" json:"locationReference,omitempty"`
	Quantity                *Quantity              `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice               *Quantity              `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor                  *float64               `bson:"factor,omitempty" json:"factor,omitempty"`
	Net                     *Quantity              `bson:"net,omitempty" json:"net,omitempty"`
	Udi                     []Reference            `bson:"udi,omitempty" json:"udi,omitempty"`
	BodySite                *CodeableConcept       `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	SubSite                 []CodeableConcept      `bson:"subSite,omitempty" json:"subSite,omitempty"`
	Encounter               []Reference            `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Detail                  []ClaimDetailComponent `bson:"detail,omitempty" json:"detail,omitempty"`
}

type ClaimPayeeComponent

type ClaimPayeeComponent struct {
	BackboneElement `bson:",inline"`
	Type            *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	ResourceType    *Coding          `bson:"resourceType,omitempty" json:"resourceType,omitempty"`
	Party           *Reference       `bson:"party,omitempty" json:"party,omitempty"`
}

type ClaimProcedureComponent

type ClaimProcedureComponent struct {
	BackboneElement          `bson:",inline"`
	Sequence                 *uint32          `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Date                     *FHIRDateTime    `bson:"date,omitempty" json:"date,omitempty"`
	ProcedureCodeableConcept *CodeableConcept `bson:"procedureCodeableConcept,omitempty" json:"procedureCodeableConcept,omitempty"`
	ProcedureReference       *Reference       `bson:"procedureReference,omitempty" json:"procedureReference,omitempty"`
}

type ClaimRelatedClaimComponent

type ClaimRelatedClaimComponent struct {
	BackboneElement `bson:",inline"`
	Claim           *Reference       `bson:"claim,omitempty" json:"claim,omitempty"`
	Relationship    *CodeableConcept `bson:"relationship,omitempty" json:"relationship,omitempty"`
	Reference       *Identifier      `bson:"reference,omitempty" json:"reference,omitempty"`
}

type ClaimResponse

type ClaimResponse struct {
	DomainResource       `bson:",inline"`
	Identifier           []Identifier                      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               string                            `bson:"status,omitempty" json:"status,omitempty"`
	Patient              *Reference                        `bson:"patient,omitempty" json:"patient,omitempty"`
	Created              *FHIRDateTime                     `bson:"created,omitempty" json:"created,omitempty"`
	Insurer              *Reference                        `bson:"insurer,omitempty" json:"insurer,omitempty"`
	RequestProvider      *Reference                        `bson:"requestProvider,omitempty" json:"requestProvider,omitempty"`
	RequestOrganization  *Reference                        `bson:"requestOrganization,omitempty" json:"requestOrganization,omitempty"`
	Request              *Reference                        `bson:"request,omitempty" json:"request,omitempty"`
	Outcome              *CodeableConcept                  `bson:"outcome,omitempty" json:"outcome,omitempty"`
	Disposition          string                            `bson:"disposition,omitempty" json:"disposition,omitempty"`
	PayeeType            *CodeableConcept                  `bson:"payeeType,omitempty" json:"payeeType,omitempty"`
	Item                 []ClaimResponseItemComponent      `bson:"item,omitempty" json:"item,omitempty"`
	AddItem              []ClaimResponseAddedItemComponent `bson:"addItem,omitempty" json:"addItem,omitempty"`
	Error                []ClaimResponseErrorComponent     `bson:"error,omitempty" json:"error,omitempty"`
	TotalCost            *Quantity                         `bson:"totalCost,omitempty" json:"totalCost,omitempty"`
	UnallocDeductable    *Quantity                         `bson:"unallocDeductable,omitempty" json:"unallocDeductable,omitempty"`
	TotalBenefit         *Quantity                         `bson:"totalBenefit,omitempty" json:"totalBenefit,omitempty"`
	Payment              *ClaimResponsePaymentComponent    `bson:"payment,omitempty" json:"payment,omitempty"`
	Reserved             *Coding                           `bson:"reserved,omitempty" json:"reserved,omitempty"`
	Form                 *CodeableConcept                  `bson:"form,omitempty" json:"form,omitempty"`
	ProcessNote          []ClaimResponseNoteComponent      `bson:"processNote,omitempty" json:"processNote,omitempty"`
	CommunicationRequest []Reference                       `bson:"communicationRequest,omitempty" json:"communicationRequest,omitempty"`
	Insurance            []ClaimResponseInsuranceComponent `bson:"insurance,omitempty" json:"insurance,omitempty"`
}

func (*ClaimResponse) GetBSON

func (x *ClaimResponse) GetBSON() (interface{}, error)

func (*ClaimResponse) MarshalJSON

func (resource *ClaimResponse) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ClaimResponse) UnmarshalJSON

func (x *ClaimResponse) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ClaimResponseAddedItemComponent

type ClaimResponseAddedItemComponent struct {
	BackboneElement `bson:",inline"`
	SequenceLinkId  []uint32                                 `bson:"sequenceLinkId,omitempty" json:"sequenceLinkId,omitempty"`
	Revenue         *CodeableConcept                         `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category        *CodeableConcept                         `bson:"category,omitempty" json:"category,omitempty"`
	Service         *CodeableConcept                         `bson:"service,omitempty" json:"service,omitempty"`
	Modifier        []CodeableConcept                        `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Fee             *Quantity                                `bson:"fee,omitempty" json:"fee,omitempty"`
	NoteNumber      []uint32                                 `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication    []ClaimResponseAdjudicationComponent     `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	Detail          []ClaimResponseAddedItemsDetailComponent `bson:"detail,omitempty" json:"detail,omitempty"`
}

type ClaimResponseAddedItemsDetailComponent

type ClaimResponseAddedItemsDetailComponent struct {
	BackboneElement `bson:",inline"`
	Revenue         *CodeableConcept                     `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category        *CodeableConcept                     `bson:"category,omitempty" json:"category,omitempty"`
	Service         *CodeableConcept                     `bson:"service,omitempty" json:"service,omitempty"`
	Modifier        []CodeableConcept                    `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Fee             *Quantity                            `bson:"fee,omitempty" json:"fee,omitempty"`
	NoteNumber      []uint32                             `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication    []ClaimResponseAdjudicationComponent `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
}

type ClaimResponseAdjudicationComponent

type ClaimResponseAdjudicationComponent struct {
	BackboneElement `bson:",inline"`
	Category        *CodeableConcept `bson:"category,omitempty" json:"category,omitempty"`
	Reason          *CodeableConcept `bson:"reason,omitempty" json:"reason,omitempty"`
	Amount          *Quantity        `bson:"amount,omitempty" json:"amount,omitempty"`
	Value           *float64         `bson:"value,omitempty" json:"value,omitempty"`
}

type ClaimResponseErrorComponent

type ClaimResponseErrorComponent struct {
	BackboneElement         `bson:",inline"`
	SequenceLinkId          *uint32          `bson:"sequenceLinkId,omitempty" json:"sequenceLinkId,omitempty"`
	DetailSequenceLinkId    *uint32          `bson:"detailSequenceLinkId,omitempty" json:"detailSequenceLinkId,omitempty"`
	SubdetailSequenceLinkId *uint32          `bson:"subdetailSequenceLinkId,omitempty" json:"subdetailSequenceLinkId,omitempty"`
	Code                    *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
}

type ClaimResponseInsuranceComponent

type ClaimResponseInsuranceComponent struct {
	BackboneElement     `bson:",inline"`
	Sequence            *uint32    `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Focal               *bool      `bson:"focal,omitempty" json:"focal,omitempty"`
	Coverage            *Reference `bson:"coverage,omitempty" json:"coverage,omitempty"`
	BusinessArrangement string     `bson:"businessArrangement,omitempty" json:"businessArrangement,omitempty"`
	PreAuthRef          []string   `bson:"preAuthRef,omitempty" json:"preAuthRef,omitempty"`
	ClaimResponse       *Reference `bson:"claimResponse,omitempty" json:"claimResponse,omitempty"`
}

type ClaimResponseItemComponent

type ClaimResponseItemComponent struct {
	BackboneElement `bson:",inline"`
	SequenceLinkId  *uint32                              `bson:"sequenceLinkId,omitempty" json:"sequenceLinkId,omitempty"`
	NoteNumber      []uint32                             `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication    []ClaimResponseAdjudicationComponent `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	Detail          []ClaimResponseItemDetailComponent   `bson:"detail,omitempty" json:"detail,omitempty"`
}

type ClaimResponseItemDetailComponent

type ClaimResponseItemDetailComponent struct {
	BackboneElement `bson:",inline"`
	SequenceLinkId  *uint32                              `bson:"sequenceLinkId,omitempty" json:"sequenceLinkId,omitempty"`
	NoteNumber      []uint32                             `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication    []ClaimResponseAdjudicationComponent `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	SubDetail       []ClaimResponseSubDetailComponent    `bson:"subDetail,omitempty" json:"subDetail,omitempty"`
}

type ClaimResponseNoteComponent

type ClaimResponseNoteComponent struct {
	BackboneElement `bson:",inline"`
	Number          *uint32          `bson:"number,omitempty" json:"number,omitempty"`
	Type            *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Text            string           `bson:"text,omitempty" json:"text,omitempty"`
	Language        *CodeableConcept `bson:"language,omitempty" json:"language,omitempty"`
}

type ClaimResponsePaymentComponent

type ClaimResponsePaymentComponent struct {
	BackboneElement  `bson:",inline"`
	Type             *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Adjustment       *Quantity        `bson:"adjustment,omitempty" json:"adjustment,omitempty"`
	AdjustmentReason *CodeableConcept `bson:"adjustmentReason,omitempty" json:"adjustmentReason,omitempty"`
	Date             *FHIRDateTime    `bson:"date,omitempty" json:"date,omitempty"`
	Amount           *Quantity        `bson:"amount,omitempty" json:"amount,omitempty"`
	Identifier       *Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
}

type ClaimResponseSubDetailComponent

type ClaimResponseSubDetailComponent struct {
	BackboneElement `bson:",inline"`
	SequenceLinkId  *uint32                              `bson:"sequenceLinkId,omitempty" json:"sequenceLinkId,omitempty"`
	NoteNumber      []uint32                             `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication    []ClaimResponseAdjudicationComponent `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
}

type ClaimSpecialConditionComponent

type ClaimSpecialConditionComponent struct {
	BackboneElement `bson:",inline"`
	Sequence        *uint32          `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Category        *CodeableConcept `bson:"category,omitempty" json:"category,omitempty"`
	Code            *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	TimingDate      *FHIRDateTime    `bson:"timingDate,omitempty" json:"timingDate,omitempty"`
	TimingPeriod    *Period          `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	ValueString     string           `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueQuantity   *Quantity        `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueAttachment *Attachment      `bson:"valueAttachment,omitempty" json:"valueAttachment,omitempty"`
	ValueReference  *Reference       `bson:"valueReference,omitempty" json:"valueReference,omitempty"`
	Reason          *CodeableConcept `bson:"reason,omitempty" json:"reason,omitempty"`
}

type ClaimSubDetailComponent

type ClaimSubDetailComponent struct {
	BackboneElement `bson:",inline"`
	Sequence        *uint32           `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Revenue         *CodeableConcept  `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category        *CodeableConcept  `bson:"category,omitempty" json:"category,omitempty"`
	Service         *CodeableConcept  `bson:"service,omitempty" json:"service,omitempty"`
	Modifier        []CodeableConcept `bson:"modifier,omitempty" json:"modifier,omitempty"`
	ProgramCode     []CodeableConcept `bson:"programCode,omitempty" json:"programCode,omitempty"`
	Quantity        *Quantity         `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice       *Quantity         `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor          *float64          `bson:"factor,omitempty" json:"factor,omitempty"`
	Net             *Quantity         `bson:"net,omitempty" json:"net,omitempty"`
	Udi             []Reference       `bson:"udi,omitempty" json:"udi,omitempty"`
}

type ClinicalImpression

type ClinicalImpression struct {
	DomainResource           `bson:",inline"`
	Identifier               []Identifier                               `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                   string                                     `bson:"status,omitempty" json:"status,omitempty"`
	Code                     *CodeableConcept                           `bson:"code,omitempty" json:"code,omitempty"`
	Description              string                                     `bson:"description,omitempty" json:"description,omitempty"`
	Subject                  *Reference                                 `bson:"subject,omitempty" json:"subject,omitempty"`
	Context                  *Reference                                 `bson:"context,omitempty" json:"context,omitempty"`
	EffectiveDateTime        *FHIRDateTime                              `bson:"effectiveDateTime,omitempty" json:"effectiveDateTime,omitempty"`
	EffectivePeriod          *Period                                    `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Date                     *FHIRDateTime                              `bson:"date,omitempty" json:"date,omitempty"`
	Assessor                 *Reference                                 `bson:"assessor,omitempty" json:"assessor,omitempty"`
	Previous                 *Reference                                 `bson:"previous,omitempty" json:"previous,omitempty"`
	Problem                  []Reference                                `bson:"problem,omitempty" json:"problem,omitempty"`
	Investigation            []ClinicalImpressionInvestigationComponent `bson:"investigation,omitempty" json:"investigation,omitempty"`
	Protocol                 []string                                   `bson:"protocol,omitempty" json:"protocol,omitempty"`
	Summary                  string                                     `bson:"summary,omitempty" json:"summary,omitempty"`
	Finding                  []ClinicalImpressionFindingComponent       `bson:"finding,omitempty" json:"finding,omitempty"`
	PrognosisCodeableConcept []CodeableConcept                          `bson:"prognosisCodeableConcept,omitempty" json:"prognosisCodeableConcept,omitempty"`
	PrognosisReference       []Reference                                `bson:"prognosisReference,omitempty" json:"prognosisReference,omitempty"`
	Action                   []Reference                                `bson:"action,omitempty" json:"action,omitempty"`
	Note                     []Annotation                               `bson:"note,omitempty" json:"note,omitempty"`
}

func (*ClinicalImpression) GetBSON

func (x *ClinicalImpression) GetBSON() (interface{}, error)

func (*ClinicalImpression) MarshalJSON

func (resource *ClinicalImpression) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ClinicalImpression) UnmarshalJSON

func (x *ClinicalImpression) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ClinicalImpressionFindingComponent

type ClinicalImpressionFindingComponent struct {
	BackboneElement     `bson:",inline"`
	ItemCodeableConcept *CodeableConcept `bson:"itemCodeableConcept,omitempty" json:"itemCodeableConcept,omitempty"`
	ItemReference       *Reference       `bson:"itemReference,omitempty" json:"itemReference,omitempty"`
	Basis               string           `bson:"basis,omitempty" json:"basis,omitempty"`
}

type ClinicalImpressionInvestigationComponent

type ClinicalImpressionInvestigationComponent struct {
	BackboneElement `bson:",inline"`
	Code            *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Item            []Reference      `bson:"item,omitempty" json:"item,omitempty"`
}

type CodeSystem

type CodeSystem struct {
	DomainResource   `bson:",inline"`
	Url              string                                 `bson:"url,omitempty" json:"url,omitempty"`
	Identifier       *Identifier                            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version          string                                 `bson:"version,omitempty" json:"version,omitempty"`
	Name             string                                 `bson:"name,omitempty" json:"name,omitempty"`
	Title            string                                 `bson:"title,omitempty" json:"title,omitempty"`
	Status           string                                 `bson:"status,omitempty" json:"status,omitempty"`
	Experimental     *bool                                  `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date             *FHIRDateTime                          `bson:"date,omitempty" json:"date,omitempty"`
	Publisher        string                                 `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact          []ContactDetail                        `bson:"contact,omitempty" json:"contact,omitempty"`
	Description      string                                 `bson:"description,omitempty" json:"description,omitempty"`
	UseContext       []UsageContext                         `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction     []CodeableConcept                      `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Purpose          string                                 `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Copyright        string                                 `bson:"copyright,omitempty" json:"copyright,omitempty"`
	CaseSensitive    *bool                                  `bson:"caseSensitive,omitempty" json:"caseSensitive,omitempty"`
	ValueSet         string                                 `bson:"valueSet,omitempty" json:"valueSet,omitempty"`
	HierarchyMeaning string                                 `bson:"hierarchyMeaning,omitempty" json:"hierarchyMeaning,omitempty"`
	Compositional    *bool                                  `bson:"compositional,omitempty" json:"compositional,omitempty"`
	VersionNeeded    *bool                                  `bson:"versionNeeded,omitempty" json:"versionNeeded,omitempty"`
	Content          string                                 `bson:"content,omitempty" json:"content,omitempty"`
	Count            *uint32                                `bson:"count,omitempty" json:"count,omitempty"`
	Filter           []CodeSystemFilterComponent            `bson:"filter,omitempty" json:"filter,omitempty"`
	Property         []CodeSystemPropertyComponent          `bson:"property,omitempty" json:"property,omitempty"`
	Concept          []CodeSystemConceptDefinitionComponent `bson:"concept,omitempty" json:"concept,omitempty"`
}

func (*CodeSystem) GetBSON

func (x *CodeSystem) GetBSON() (interface{}, error)

func (*CodeSystem) MarshalJSON

func (resource *CodeSystem) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*CodeSystem) UnmarshalJSON

func (x *CodeSystem) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type CodeSystemConceptDefinitionComponent

type CodeSystemConceptDefinitionComponent struct {
	BackboneElement `bson:",inline"`
	Code            string                                            `bson:"code,omitempty" json:"code,omitempty"`
	Display         string                                            `bson:"display,omitempty" json:"display,omitempty"`
	Definition      string                                            `bson:"definition,omitempty" json:"definition,omitempty"`
	Designation     []CodeSystemConceptDefinitionDesignationComponent `bson:"designation,omitempty" json:"designation,omitempty"`
	Property        []CodeSystemConceptPropertyComponent              `bson:"property,omitempty" json:"property,omitempty"`
	Concept         []CodeSystemConceptDefinitionComponent            `bson:"concept,omitempty" json:"concept,omitempty"`
}

type CodeSystemConceptDefinitionDesignationComponent

type CodeSystemConceptDefinitionDesignationComponent struct {
	BackboneElement `bson:",inline"`
	Language        string  `bson:"language,omitempty" json:"language,omitempty"`
	Use             *Coding `bson:"use,omitempty" json:"use,omitempty"`
	Value           string  `bson:"value,omitempty" json:"value,omitempty"`
}

type CodeSystemConceptPropertyComponent

type CodeSystemConceptPropertyComponent struct {
	BackboneElement `bson:",inline"`
	Code            string        `bson:"code,omitempty" json:"code,omitempty"`
	ValueCode       string        `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
	ValueCoding     *Coding       `bson:"valueCoding,omitempty" json:"valueCoding,omitempty"`
	ValueString     string        `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueInteger    *int32        `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueBoolean    *bool         `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueDateTime   *FHIRDateTime `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
}

type CodeSystemFilterComponent

type CodeSystemFilterComponent struct {
	BackboneElement `bson:",inline"`
	Code            string   `bson:"code,omitempty" json:"code,omitempty"`
	Description     string   `bson:"description,omitempty" json:"description,omitempty"`
	Operator        []string `bson:"operator,omitempty" json:"operator,omitempty"`
	Value           string   `bson:"value,omitempty" json:"value,omitempty"`
}

type CodeSystemPropertyComponent

type CodeSystemPropertyComponent struct {
	BackboneElement `bson:",inline"`
	Code            string `bson:"code,omitempty" json:"code,omitempty"`
	Uri             string `bson:"uri,omitempty" json:"uri,omitempty"`
	Description     string `bson:"description,omitempty" json:"description,omitempty"`
	Type            string `bson:"type,omitempty" json:"type,omitempty"`
}

type CodeableConcept

type CodeableConcept struct {
	Coding []Coding `bson:"coding,omitempty" json:"coding,omitempty"`
	Text   string   `bson:"text,omitempty" json:"text,omitempty"`
}

func (*CodeableConcept) MatchesCode

func (c *CodeableConcept) MatchesCode(system string, code string) bool

type CodeableConcepts

type CodeableConcepts []CodeableConcept

func (CodeableConcepts) AnyMatchesAnyCode

func (slice CodeableConcepts) AnyMatchesAnyCode(codings []Coding) bool

func (CodeableConcepts) AnyMatchesCode

func (slice CodeableConcepts) AnyMatchesCode(system string, code string) bool

type Coding

type Coding struct {
	System       string `bson:"system,omitempty" json:"system,omitempty"`
	Version      string `bson:"version,omitempty" json:"version,omitempty"`
	Code         string `bson:"code,omitempty" json:"code,omitempty"`
	Display      string `bson:"display,omitempty" json:"display,omitempty"`
	UserSelected *bool  `bson:"userSelected,omitempty" json:"userSelected,omitempty"`
}

type Communication

type Communication struct {
	DomainResource  `bson:",inline"`
	Identifier      []Identifier                    `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition      []Reference                     `bson:"definition,omitempty" json:"definition,omitempty"`
	BasedOn         []Reference                     `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	PartOf          []Reference                     `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Status          string                          `bson:"status,omitempty" json:"status,omitempty"`
	NotDone         *bool                           `bson:"notDone,omitempty" json:"notDone,omitempty"`
	NotDoneReason   *CodeableConcept                `bson:"notDoneReason,omitempty" json:"notDoneReason,omitempty"`
	Category        []CodeableConcept               `bson:"category,omitempty" json:"category,omitempty"`
	Medium          []CodeableConcept               `bson:"medium,omitempty" json:"medium,omitempty"`
	Subject         *Reference                      `bson:"subject,omitempty" json:"subject,omitempty"`
	Recipient       []Reference                     `bson:"recipient,omitempty" json:"recipient,omitempty"`
	Topic           []Reference                     `bson:"topic,omitempty" json:"topic,omitempty"`
	Context         *Reference                      `bson:"context,omitempty" json:"context,omitempty"`
	Sent            *FHIRDateTime                   `bson:"sent,omitempty" json:"sent,omitempty"`
	Received        *FHIRDateTime                   `bson:"received,omitempty" json:"received,omitempty"`
	Sender          *Reference                      `bson:"sender,omitempty" json:"sender,omitempty"`
	ReasonCode      []CodeableConcept               `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference []Reference                     `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Payload         []CommunicationPayloadComponent `bson:"payload,omitempty" json:"payload,omitempty"`
	Note            []Annotation                    `bson:"note,omitempty" json:"note,omitempty"`
}

func (*Communication) GetBSON

func (x *Communication) GetBSON() (interface{}, error)

func (*Communication) MarshalJSON

func (resource *Communication) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Communication) UnmarshalJSON

func (x *Communication) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type CommunicationPayloadComponent

type CommunicationPayloadComponent struct {
	BackboneElement   `bson:",inline"`
	ContentString     string      `bson:"contentString,omitempty" json:"contentString,omitempty"`
	ContentAttachment *Attachment `bson:"contentAttachment,omitempty" json:"contentAttachment,omitempty"`
	ContentReference  *Reference  `bson:"contentReference,omitempty" json:"contentReference,omitempty"`
}

type CommunicationRequest

type CommunicationRequest struct {
	DomainResource     `bson:",inline"`
	Identifier         []Identifier                            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	BasedOn            []Reference                             `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Replaces           []Reference                             `bson:"replaces,omitempty" json:"replaces,omitempty"`
	GroupIdentifier    *Identifier                             `bson:"groupIdentifier,omitempty" json:"groupIdentifier,omitempty"`
	Status             string                                  `bson:"status,omitempty" json:"status,omitempty"`
	Category           []CodeableConcept                       `bson:"category,omitempty" json:"category,omitempty"`
	Priority           string                                  `bson:"priority,omitempty" json:"priority,omitempty"`
	Medium             []CodeableConcept                       `bson:"medium,omitempty" json:"medium,omitempty"`
	Subject            *Reference                              `bson:"subject,omitempty" json:"subject,omitempty"`
	Recipient          []Reference                             `bson:"recipient,omitempty" json:"recipient,omitempty"`
	Topic              []Reference                             `bson:"topic,omitempty" json:"topic,omitempty"`
	Context            *Reference                              `bson:"context,omitempty" json:"context,omitempty"`
	Payload            []CommunicationRequestPayloadComponent  `bson:"payload,omitempty" json:"payload,omitempty"`
	OccurrenceDateTime *FHIRDateTime                           `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod   *Period                                 `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	AuthoredOn         *FHIRDateTime                           `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Sender             *Reference                              `bson:"sender,omitempty" json:"sender,omitempty"`
	Requester          *CommunicationRequestRequesterComponent `bson:"requester,omitempty" json:"requester,omitempty"`
	ReasonCode         []CodeableConcept                       `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference    []Reference                             `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Note               []Annotation                            `bson:"note,omitempty" json:"note,omitempty"`
}

func (*CommunicationRequest) GetBSON

func (x *CommunicationRequest) GetBSON() (interface{}, error)

func (*CommunicationRequest) MarshalJSON

func (resource *CommunicationRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*CommunicationRequest) UnmarshalJSON

func (x *CommunicationRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type CommunicationRequestPayloadComponent

type CommunicationRequestPayloadComponent struct {
	BackboneElement   `bson:",inline"`
	ContentString     string      `bson:"contentString,omitempty" json:"contentString,omitempty"`
	ContentAttachment *Attachment `bson:"contentAttachment,omitempty" json:"contentAttachment,omitempty"`
	ContentReference  *Reference  `bson:"contentReference,omitempty" json:"contentReference,omitempty"`
}

type CommunicationRequestRequesterComponent

type CommunicationRequestRequesterComponent struct {
	BackboneElement `bson:",inline"`
	Agent           *Reference `bson:"agent,omitempty" json:"agent,omitempty"`
	OnBehalfOf      *Reference `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

type CompartmentDefinition

type CompartmentDefinition struct {
	DomainResource `bson:",inline"`
	Url            string                                   `bson:"url,omitempty" json:"url,omitempty"`
	Name           string                                   `bson:"name,omitempty" json:"name,omitempty"`
	Title          string                                   `bson:"title,omitempty" json:"title,omitempty"`
	Status         string                                   `bson:"status,omitempty" json:"status,omitempty"`
	Experimental   *bool                                    `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date           *FHIRDateTime                            `bson:"date,omitempty" json:"date,omitempty"`
	Publisher      string                                   `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact        []ContactDetail                          `bson:"contact,omitempty" json:"contact,omitempty"`
	Description    string                                   `bson:"description,omitempty" json:"description,omitempty"`
	Purpose        string                                   `bson:"purpose,omitempty" json:"purpose,omitempty"`
	UseContext     []UsageContext                           `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction   []CodeableConcept                        `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Code           string                                   `bson:"code,omitempty" json:"code,omitempty"`
	Search         *bool                                    `bson:"search,omitempty" json:"search,omitempty"`
	Resource       []CompartmentDefinitionResourceComponent `bson:"resource,omitempty" json:"resource,omitempty"`
}

func (*CompartmentDefinition) GetBSON

func (x *CompartmentDefinition) GetBSON() (interface{}, error)

func (*CompartmentDefinition) MarshalJSON

func (resource *CompartmentDefinition) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*CompartmentDefinition) UnmarshalJSON

func (x *CompartmentDefinition) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type CompartmentDefinitionResourceComponent

type CompartmentDefinitionResourceComponent struct {
	BackboneElement `bson:",inline"`
	Code            string   `bson:"code,omitempty" json:"code,omitempty"`
	Param           []string `bson:"param,omitempty" json:"param,omitempty"`
	Documentation   string   `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

type Composition

type Composition struct {
	DomainResource  `bson:",inline"`
	Identifier      *Identifier                     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status          string                          `bson:"status,omitempty" json:"status,omitempty"`
	Type            *CodeableConcept                `bson:"type,omitempty" json:"type,omitempty"`
	Class           *CodeableConcept                `bson:"class,omitempty" json:"class,omitempty"`
	Subject         *Reference                      `bson:"subject,omitempty" json:"subject,omitempty"`
	Encounter       *Reference                      `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Date            *FHIRDateTime                   `bson:"date,omitempty" json:"date,omitempty"`
	Author          []Reference                     `bson:"author,omitempty" json:"author,omitempty"`
	Title           string                          `bson:"title,omitempty" json:"title,omitempty"`
	Confidentiality string                          `bson:"confidentiality,omitempty" json:"confidentiality,omitempty"`
	Attester        []CompositionAttesterComponent  `bson:"attester,omitempty" json:"attester,omitempty"`
	Custodian       *Reference                      `bson:"custodian,omitempty" json:"custodian,omitempty"`
	RelatesTo       []CompositionRelatesToComponent `bson:"relatesTo,omitempty" json:"relatesTo,omitempty"`
	Event           []CompositionEventComponent     `bson:"event,omitempty" json:"event,omitempty"`
	Section         []CompositionSectionComponent   `bson:"section,omitempty" json:"section,omitempty"`
}

func (*Composition) GetBSON

func (x *Composition) GetBSON() (interface{}, error)

func (*Composition) MarshalJSON

func (resource *Composition) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Composition) UnmarshalJSON

func (x *Composition) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type CompositionAttesterComponent

type CompositionAttesterComponent struct {
	BackboneElement `bson:",inline"`
	Mode            []string      `bson:"mode,omitempty" json:"mode,omitempty"`
	Time            *FHIRDateTime `bson:"time,omitempty" json:"time,omitempty"`
	Party           *Reference    `bson:"party,omitempty" json:"party,omitempty"`
}

type CompositionEventComponent

type CompositionEventComponent struct {
	BackboneElement `bson:",inline"`
	Code            []CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Period          *Period           `bson:"period,omitempty" json:"period,omitempty"`
	Detail          []Reference       `bson:"detail,omitempty" json:"detail,omitempty"`
}

type CompositionRelatesToComponent

type CompositionRelatesToComponent struct {
	BackboneElement  `bson:",inline"`
	Code             string      `bson:"code,omitempty" json:"code,omitempty"`
	TargetIdentifier *Identifier `bson:"targetIdentifier,omitempty" json:"targetIdentifier,omitempty"`
	TargetReference  *Reference  `bson:"targetReference,omitempty" json:"targetReference,omitempty"`
}

type CompositionSectionComponent

type CompositionSectionComponent struct {
	BackboneElement `bson:",inline"`
	Title           string                        `bson:"title,omitempty" json:"title,omitempty"`
	Code            *CodeableConcept              `bson:"code,omitempty" json:"code,omitempty"`
	Text            *Narrative                    `bson:"text,omitempty" json:"text,omitempty"`
	Mode            string                        `bson:"mode,omitempty" json:"mode,omitempty"`
	OrderedBy       *CodeableConcept              `bson:"orderedBy,omitempty" json:"orderedBy,omitempty"`
	Entry           []Reference                   `bson:"entry,omitempty" json:"entry,omitempty"`
	EmptyReason     *CodeableConcept              `bson:"emptyReason,omitempty" json:"emptyReason,omitempty"`
	Section         []CompositionSectionComponent `bson:"section,omitempty" json:"section,omitempty"`
}

type ConceptMap

type ConceptMap struct {
	DomainResource  `bson:",inline"`
	Url             string                     `bson:"url,omitempty" json:"url,omitempty"`
	Identifier      *Identifier                `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version         string                     `bson:"version,omitempty" json:"version,omitempty"`
	Name            string                     `bson:"name,omitempty" json:"name,omitempty"`
	Title           string                     `bson:"title,omitempty" json:"title,omitempty"`
	Status          string                     `bson:"status,omitempty" json:"status,omitempty"`
	Experimental    *bool                      `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date            *FHIRDateTime              `bson:"date,omitempty" json:"date,omitempty"`
	Publisher       string                     `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact         []ContactDetail            `bson:"contact,omitempty" json:"contact,omitempty"`
	Description     string                     `bson:"description,omitempty" json:"description,omitempty"`
	UseContext      []UsageContext             `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction    []CodeableConcept          `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Purpose         string                     `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Copyright       string                     `bson:"copyright,omitempty" json:"copyright,omitempty"`
	SourceUri       string                     `bson:"sourceUri,omitempty" json:"sourceUri,omitempty"`
	SourceReference *Reference                 `bson:"sourceReference,omitempty" json:"sourceReference,omitempty"`
	TargetUri       string                     `bson:"targetUri,omitempty" json:"targetUri,omitempty"`
	TargetReference *Reference                 `bson:"targetReference,omitempty" json:"targetReference,omitempty"`
	Group           []ConceptMapGroupComponent `bson:"group,omitempty" json:"group,omitempty"`
}

func (*ConceptMap) GetBSON

func (x *ConceptMap) GetBSON() (interface{}, error)

func (*ConceptMap) MarshalJSON

func (resource *ConceptMap) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ConceptMap) UnmarshalJSON

func (x *ConceptMap) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ConceptMapGroupComponent

type ConceptMapGroupComponent struct {
	BackboneElement `bson:",inline"`
	Source          string                             `bson:"source,omitempty" json:"source,omitempty"`
	SourceVersion   string                             `bson:"sourceVersion,omitempty" json:"sourceVersion,omitempty"`
	Target          string                             `bson:"target,omitempty" json:"target,omitempty"`
	TargetVersion   string                             `bson:"targetVersion,omitempty" json:"targetVersion,omitempty"`
	Element         []ConceptMapSourceElementComponent `bson:"element,omitempty" json:"element,omitempty"`
	Unmapped        *ConceptMapGroupUnmappedComponent  `bson:"unmapped,omitempty" json:"unmapped,omitempty"`
}

type ConceptMapGroupUnmappedComponent

type ConceptMapGroupUnmappedComponent struct {
	BackboneElement `bson:",inline"`
	Mode            string `bson:"mode,omitempty" json:"mode,omitempty"`
	Code            string `bson:"code,omitempty" json:"code,omitempty"`
	Display         string `bson:"display,omitempty" json:"display,omitempty"`
	Url             string `bson:"url,omitempty" json:"url,omitempty"`
}

type ConceptMapOtherElementComponent

type ConceptMapOtherElementComponent struct {
	BackboneElement `bson:",inline"`
	Property        string `bson:"property,omitempty" json:"property,omitempty"`
	System          string `bson:"system,omitempty" json:"system,omitempty"`
	Code            string `bson:"code,omitempty" json:"code,omitempty"`
	Display         string `bson:"display,omitempty" json:"display,omitempty"`
}

type ConceptMapSourceElementComponent

type ConceptMapSourceElementComponent struct {
	BackboneElement `bson:",inline"`
	Code            string                             `bson:"code,omitempty" json:"code,omitempty"`
	Display         string                             `bson:"display,omitempty" json:"display,omitempty"`
	Target          []ConceptMapTargetElementComponent `bson:"target,omitempty" json:"target,omitempty"`
}

type ConceptMapTargetElementComponent

type ConceptMapTargetElementComponent struct {
	BackboneElement `bson:",inline"`
	Code            string                            `bson:"code,omitempty" json:"code,omitempty"`
	Display         string                            `bson:"display,omitempty" json:"display,omitempty"`
	Equivalence     string                            `bson:"equivalence,omitempty" json:"equivalence,omitempty"`
	Comment         string                            `bson:"comment,omitempty" json:"comment,omitempty"`
	DependsOn       []ConceptMapOtherElementComponent `bson:"dependsOn,omitempty" json:"dependsOn,omitempty"`
	Product         []ConceptMapOtherElementComponent `bson:"product,omitempty" json:"product,omitempty"`
}

type Condition

type Condition struct {
	DomainResource     `bson:",inline"`
	Identifier         []Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	ClinicalStatus     string                       `bson:"clinicalStatus,omitempty" json:"clinicalStatus,omitempty"`
	VerificationStatus string                       `bson:"verificationStatus,omitempty" json:"verificationStatus,omitempty"`
	Category           []CodeableConcept            `bson:"category,omitempty" json:"category,omitempty"`
	Severity           *CodeableConcept             `bson:"severity,omitempty" json:"severity,omitempty"`
	Code               *CodeableConcept             `bson:"code,omitempty" json:"code,omitempty"`
	BodySite           []CodeableConcept            `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	Subject            *Reference                   `bson:"subject,omitempty" json:"subject,omitempty"`
	Context            *Reference                   `bson:"context,omitempty" json:"context,omitempty"`
	OnsetDateTime      *FHIRDateTime                `bson:"onsetDateTime,omitempty" json:"onsetDateTime,omitempty"`
	OnsetAge           *Quantity                    `bson:"onsetAge,omitempty" json:"onsetAge,omitempty"`
	OnsetPeriod        *Period                      `bson:"onsetPeriod,omitempty" json:"onsetPeriod,omitempty"`
	OnsetRange         *Range                       `bson:"onsetRange,omitempty" json:"onsetRange,omitempty"`
	OnsetString        string                       `bson:"onsetString,omitempty" json:"onsetString,omitempty"`
	AbatementDateTime  *FHIRDateTime                `bson:"abatementDateTime,omitempty" json:"abatementDateTime,omitempty"`
	AbatementAge       *Quantity                    `bson:"abatementAge,omitempty" json:"abatementAge,omitempty"`
	AbatementBoolean   *bool                        `bson:"abatementBoolean,omitempty" json:"abatementBoolean,omitempty"`
	AbatementPeriod    *Period                      `bson:"abatementPeriod,omitempty" json:"abatementPeriod,omitempty"`
	AbatementRange     *Range                       `bson:"abatementRange,omitempty" json:"abatementRange,omitempty"`
	AbatementString    string                       `bson:"abatementString,omitempty" json:"abatementString,omitempty"`
	AssertedDate       *FHIRDateTime                `bson:"assertedDate,omitempty" json:"assertedDate,omitempty"`
	Asserter           *Reference                   `bson:"asserter,omitempty" json:"asserter,omitempty"`
	Stage              *ConditionStageComponent     `bson:"stage,omitempty" json:"stage,omitempty"`
	Evidence           []ConditionEvidenceComponent `bson:"evidence,omitempty" json:"evidence,omitempty"`
	Note               []Annotation                 `bson:"note,omitempty" json:"note,omitempty"`
}

func (*Condition) GetBSON

func (x *Condition) GetBSON() (interface{}, error)

func (*Condition) MarshalJSON

func (resource *Condition) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Condition) UnmarshalJSON

func (x *Condition) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ConditionEvidenceComponent

type ConditionEvidenceComponent struct {
	BackboneElement `bson:",inline"`
	Code            []CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Detail          []Reference       `bson:"detail,omitempty" json:"detail,omitempty"`
}

type ConditionStageComponent

type ConditionStageComponent struct {
	BackboneElement `bson:",inline"`
	Summary         *CodeableConcept `bson:"summary,omitempty" json:"summary,omitempty"`
	Assessment      []Reference      `bson:"assessment,omitempty" json:"assessment,omitempty"`
}
type Consent struct {
	DomainResource   `bson:",inline"`
	Identifier       *Identifier              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status           string                   `bson:"status,omitempty" json:"status,omitempty"`
	Category         []CodeableConcept        `bson:"category,omitempty" json:"category,omitempty"`
	Patient          *Reference               `bson:"patient,omitempty" json:"patient,omitempty"`
	Period           *Period                  `bson:"period,omitempty" json:"period,omitempty"`
	DateTime         *FHIRDateTime            `bson:"dateTime,omitempty" json:"dateTime,omitempty"`
	ConsentingParty  []Reference              `bson:"consentingParty,omitempty" json:"consentingParty,omitempty"`
	Actor            []ConsentActorComponent  `bson:"actor,omitempty" json:"actor,omitempty"`
	Action           []CodeableConcept        `bson:"action,omitempty" json:"action,omitempty"`
	Organization     []Reference              `bson:"organization,omitempty" json:"organization,omitempty"`
	SourceAttachment *Attachment              `bson:"sourceAttachment,omitempty" json:"sourceAttachment,omitempty"`
	SourceIdentifier *Identifier              `bson:"sourceIdentifier,omitempty" json:"sourceIdentifier,omitempty"`
	SourceReference  *Reference               `bson:"sourceReference,omitempty" json:"sourceReference,omitempty"`
	Policy           []ConsentPolicyComponent `bson:"policy,omitempty" json:"policy,omitempty"`
	PolicyRule       string                   `bson:"policyRule,omitempty" json:"policyRule,omitempty"`
	SecurityLabel    []Coding                 `bson:"securityLabel,omitempty" json:"securityLabel,omitempty"`
	Purpose          []Coding                 `bson:"purpose,omitempty" json:"purpose,omitempty"`
	DataPeriod       *Period                  `bson:"dataPeriod,omitempty" json:"dataPeriod,omitempty"`
	Data             []ConsentDataComponent   `bson:"data,omitempty" json:"data,omitempty"`
	Except           []ConsentExceptComponent `bson:"except,omitempty" json:"except,omitempty"`
}

func (*Consent) GetBSON

func (x *Consent) GetBSON() (interface{}, error)

func (*Consent) MarshalJSON

func (resource *Consent) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Consent) UnmarshalJSON

func (x *Consent) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ConsentActorComponent

type ConsentActorComponent struct {
	BackboneElement `bson:",inline"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Reference       *Reference       `bson:"reference,omitempty" json:"reference,omitempty"`
}

type ConsentDataComponent

type ConsentDataComponent struct {
	BackboneElement `bson:",inline"`
	Meaning         string     `bson:"meaning,omitempty" json:"meaning,omitempty"`
	Reference       *Reference `bson:"reference,omitempty" json:"reference,omitempty"`
}

type ConsentExceptActorComponent

type ConsentExceptActorComponent struct {
	BackboneElement `bson:",inline"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Reference       *Reference       `bson:"reference,omitempty" json:"reference,omitempty"`
}

type ConsentExceptComponent

type ConsentExceptComponent struct {
	BackboneElement `bson:",inline"`
	Type            string                        `bson:"type,omitempty" json:"type,omitempty"`
	Period          *Period                       `bson:"period,omitempty" json:"period,omitempty"`
	Actor           []ConsentExceptActorComponent `bson:"actor,omitempty" json:"actor,omitempty"`
	Action          []CodeableConcept             `bson:"action,omitempty" json:"action,omitempty"`
	SecurityLabel   []Coding                      `bson:"securityLabel,omitempty" json:"securityLabel,omitempty"`
	Purpose         []Coding                      `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Class           []Coding                      `bson:"class,omitempty" json:"class,omitempty"`
	Code            []Coding                      `bson:"code,omitempty" json:"code,omitempty"`
	DataPeriod      *Period                       `bson:"dataPeriod,omitempty" json:"dataPeriod,omitempty"`
	Data            []ConsentExceptDataComponent  `bson:"data,omitempty" json:"data,omitempty"`
}

type ConsentExceptDataComponent

type ConsentExceptDataComponent struct {
	BackboneElement `bson:",inline"`
	Meaning         string     `bson:"meaning,omitempty" json:"meaning,omitempty"`
	Reference       *Reference `bson:"reference,omitempty" json:"reference,omitempty"`
}

type ConsentPolicyComponent

type ConsentPolicyComponent struct {
	BackboneElement `bson:",inline"`
	Authority       string `bson:"authority,omitempty" json:"authority,omitempty"`
	Uri             string `bson:"uri,omitempty" json:"uri,omitempty"`
}

type ContactDetail

type ContactDetail struct {
	Name    string         `bson:"name,omitempty" json:"name,omitempty"`
	Telecom []ContactPoint `bson:"telecom,omitempty" json:"telecom,omitempty"`
}

type ContactPoint

type ContactPoint struct {
	System string  `bson:"system,omitempty" json:"system,omitempty"`
	Value  string  `bson:"value,omitempty" json:"value,omitempty"`
	Use    string  `bson:"use,omitempty" json:"use,omitempty"`
	Rank   *uint32 `bson:"rank,omitempty" json:"rank,omitempty"`
	Period *Period `bson:"period,omitempty" json:"period,omitempty"`
}

type ContainedResources

type ContainedResources []interface{}

func (*ContainedResources) SetBSON

func (x *ContainedResources) SetBSON(raw bson.Raw) (err error)

Convert contained resources from map[string]interfac{} to specific types. Custom marshalling methods on those types will then hide internal fields like @context and reference__id.

type Contract

type Contract struct {
	DomainResource    `bson:",inline"`
	Identifier        *Identifier                           `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            string                                `bson:"status,omitempty" json:"status,omitempty"`
	Issued            *FHIRDateTime                         `bson:"issued,omitempty" json:"issued,omitempty"`
	Applies           *Period                               `bson:"applies,omitempty" json:"applies,omitempty"`
	Subject           []Reference                           `bson:"subject,omitempty" json:"subject,omitempty"`
	Topic             []Reference                           `bson:"topic,omitempty" json:"topic,omitempty"`
	Authority         []Reference                           `bson:"authority,omitempty" json:"authority,omitempty"`
	Domain            []Reference                           `bson:"domain,omitempty" json:"domain,omitempty"`
	Type              *CodeableConcept                      `bson:"type,omitempty" json:"type,omitempty"`
	SubType           []CodeableConcept                     `bson:"subType,omitempty" json:"subType,omitempty"`
	Action            []CodeableConcept                     `bson:"action,omitempty" json:"action,omitempty"`
	ActionReason      []CodeableConcept                     `bson:"actionReason,omitempty" json:"actionReason,omitempty"`
	DecisionType      *CodeableConcept                      `bson:"decisionType,omitempty" json:"decisionType,omitempty"`
	ContentDerivative *CodeableConcept                      `bson:"contentDerivative,omitempty" json:"contentDerivative,omitempty"`
	SecurityLabel     []Coding                              `bson:"securityLabel,omitempty" json:"securityLabel,omitempty"`
	Agent             []ContractAgentComponent              `bson:"agent,omitempty" json:"agent,omitempty"`
	Signer            []ContractSignatoryComponent          `bson:"signer,omitempty" json:"signer,omitempty"`
	ValuedItem        []ContractValuedItemComponent         `bson:"valuedItem,omitempty" json:"valuedItem,omitempty"`
	Term              []ContractTermComponent               `bson:"term,omitempty" json:"term,omitempty"`
	BindingAttachment *Attachment                           `bson:"bindingAttachment,omitempty" json:"bindingAttachment,omitempty"`
	BindingReference  *Reference                            `bson:"bindingReference,omitempty" json:"bindingReference,omitempty"`
	Friendly          []ContractFriendlyLanguageComponent   `bson:"friendly,omitempty" json:"friendly,omitempty"`
	Legal             []ContractLegalLanguageComponent      `bson:"legal,omitempty" json:"legal,omitempty"`
	Rule              []ContractComputableLanguageComponent `bson:"rule,omitempty" json:"rule,omitempty"`
}

func (*Contract) GetBSON

func (x *Contract) GetBSON() (interface{}, error)

func (*Contract) MarshalJSON

func (resource *Contract) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Contract) UnmarshalJSON

func (x *Contract) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ContractAgentComponent

type ContractAgentComponent struct {
	BackboneElement `bson:",inline"`
	Actor           *Reference        `bson:"actor,omitempty" json:"actor,omitempty"`
	Role            []CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
}

type ContractComputableLanguageComponent

type ContractComputableLanguageComponent struct {
	BackboneElement   `bson:",inline"`
	ContentAttachment *Attachment `bson:"contentAttachment,omitempty" json:"contentAttachment,omitempty"`
	ContentReference  *Reference  `bson:"contentReference,omitempty" json:"contentReference,omitempty"`
}

type ContractFriendlyLanguageComponent

type ContractFriendlyLanguageComponent struct {
	BackboneElement   `bson:",inline"`
	ContentAttachment *Attachment `bson:"contentAttachment,omitempty" json:"contentAttachment,omitempty"`
	ContentReference  *Reference  `bson:"contentReference,omitempty" json:"contentReference,omitempty"`
}

type ContractLegalLanguageComponent

type ContractLegalLanguageComponent struct {
	BackboneElement   `bson:",inline"`
	ContentAttachment *Attachment `bson:"contentAttachment,omitempty" json:"contentAttachment,omitempty"`
	ContentReference  *Reference  `bson:"contentReference,omitempty" json:"contentReference,omitempty"`
}

type ContractSignatoryComponent

type ContractSignatoryComponent struct {
	BackboneElement `bson:",inline"`
	Type            *Coding     `bson:"type,omitempty" json:"type,omitempty"`
	Party           *Reference  `bson:"party,omitempty" json:"party,omitempty"`
	Signature       []Signature `bson:"signature,omitempty" json:"signature,omitempty"`
}

type ContractTermAgentComponent

type ContractTermAgentComponent struct {
	BackboneElement `bson:",inline"`
	Actor           *Reference        `bson:"actor,omitempty" json:"actor,omitempty"`
	Role            []CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
}

type ContractTermComponent

type ContractTermComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier                       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Issued          *FHIRDateTime                     `bson:"issued,omitempty" json:"issued,omitempty"`
	Applies         *Period                           `bson:"applies,omitempty" json:"applies,omitempty"`
	Type            *CodeableConcept                  `bson:"type,omitempty" json:"type,omitempty"`
	SubType         *CodeableConcept                  `bson:"subType,omitempty" json:"subType,omitempty"`
	Topic           []Reference                       `bson:"topic,omitempty" json:"topic,omitempty"`
	Action          []CodeableConcept                 `bson:"action,omitempty" json:"action,omitempty"`
	ActionReason    []CodeableConcept                 `bson:"actionReason,omitempty" json:"actionReason,omitempty"`
	SecurityLabel   []Coding                          `bson:"securityLabel,omitempty" json:"securityLabel,omitempty"`
	Agent           []ContractTermAgentComponent      `bson:"agent,omitempty" json:"agent,omitempty"`
	Text            string                            `bson:"text,omitempty" json:"text,omitempty"`
	ValuedItem      []ContractTermValuedItemComponent `bson:"valuedItem,omitempty" json:"valuedItem,omitempty"`
	Group           []ContractTermComponent           `bson:"group,omitempty" json:"group,omitempty"`
}

type ContractTermValuedItemComponent

type ContractTermValuedItemComponent struct {
	BackboneElement       `bson:",inline"`
	EntityCodeableConcept *CodeableConcept `bson:"entityCodeableConcept,omitempty" json:"entityCodeableConcept,omitempty"`
	EntityReference       *Reference       `bson:"entityReference,omitempty" json:"entityReference,omitempty"`
	Identifier            *Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	EffectiveTime         *FHIRDateTime    `bson:"effectiveTime,omitempty" json:"effectiveTime,omitempty"`
	Quantity              *Quantity        `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice             *Quantity        `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor                *float64         `bson:"factor,omitempty" json:"factor,omitempty"`
	Points                *float64         `bson:"points,omitempty" json:"points,omitempty"`
	Net                   *Quantity        `bson:"net,omitempty" json:"net,omitempty"`
}

type ContractValuedItemComponent

type ContractValuedItemComponent struct {
	BackboneElement       `bson:",inline"`
	EntityCodeableConcept *CodeableConcept `bson:"entityCodeableConcept,omitempty" json:"entityCodeableConcept,omitempty"`
	EntityReference       *Reference       `bson:"entityReference,omitempty" json:"entityReference,omitempty"`
	Identifier            *Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	EffectiveTime         *FHIRDateTime    `bson:"effectiveTime,omitempty" json:"effectiveTime,omitempty"`
	Quantity              *Quantity        `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice             *Quantity        `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor                *float64         `bson:"factor,omitempty" json:"factor,omitempty"`
	Points                *float64         `bson:"points,omitempty" json:"points,omitempty"`
	Net                   *Quantity        `bson:"net,omitempty" json:"net,omitempty"`
}

type Contributor

type Contributor struct {
	Type    string          `bson:"type,omitempty" json:"type,omitempty"`
	Name    string          `bson:"name,omitempty" json:"name,omitempty"`
	Contact []ContactDetail `bson:"contact,omitempty" json:"contact,omitempty"`
}

type Count

type Count struct {
	Quantity `bson:",inline"`
}

type Coverage

type Coverage struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status         string                  `bson:"status,omitempty" json:"status,omitempty"`
	Type           *CodeableConcept        `bson:"type,omitempty" json:"type,omitempty"`
	PolicyHolder   *Reference              `bson:"policyHolder,omitempty" json:"policyHolder,omitempty"`
	Subscriber     *Reference              `bson:"subscriber,omitempty" json:"subscriber,omitempty"`
	SubscriberId   string                  `bson:"subscriberId,omitempty" json:"subscriberId,omitempty"`
	Beneficiary    *Reference              `bson:"beneficiary,omitempty" json:"beneficiary,omitempty"`
	Relationship   *CodeableConcept        `bson:"relationship,omitempty" json:"relationship,omitempty"`
	Period         *Period                 `bson:"period,omitempty" json:"period,omitempty"`
	Payor          []Reference             `bson:"payor,omitempty" json:"payor,omitempty"`
	Grouping       *CoverageGroupComponent `bson:"grouping,omitempty" json:"grouping,omitempty"`
	Dependent      string                  `bson:"dependent,omitempty" json:"dependent,omitempty"`
	Sequence       string                  `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Order          *uint32                 `bson:"order,omitempty" json:"order,omitempty"`
	Network        string                  `bson:"network,omitempty" json:"network,omitempty"`
	Contract       []Reference             `bson:"contract,omitempty" json:"contract,omitempty"`
}

func (*Coverage) GetBSON

func (x *Coverage) GetBSON() (interface{}, error)

func (*Coverage) MarshalJSON

func (resource *Coverage) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Coverage) UnmarshalJSON

func (x *Coverage) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type CoverageGroupComponent

type CoverageGroupComponent struct {
	BackboneElement `bson:",inline"`
	Group           string `bson:"group,omitempty" json:"group,omitempty"`
	GroupDisplay    string `bson:"groupDisplay,omitempty" json:"groupDisplay,omitempty"`
	SubGroup        string `bson:"subGroup,omitempty" json:"subGroup,omitempty"`
	SubGroupDisplay string `bson:"subGroupDisplay,omitempty" json:"subGroupDisplay,omitempty"`
	Plan            string `bson:"plan,omitempty" json:"plan,omitempty"`
	PlanDisplay     string `bson:"planDisplay,omitempty" json:"planDisplay,omitempty"`
	SubPlan         string `bson:"subPlan,omitempty" json:"subPlan,omitempty"`
	SubPlanDisplay  string `bson:"subPlanDisplay,omitempty" json:"subPlanDisplay,omitempty"`
	Class           string `bson:"class,omitempty" json:"class,omitempty"`
	ClassDisplay    string `bson:"classDisplay,omitempty" json:"classDisplay,omitempty"`
	SubClass        string `bson:"subClass,omitempty" json:"subClass,omitempty"`
	SubClassDisplay string `bson:"subClassDisplay,omitempty" json:"subClassDisplay,omitempty"`
}

type DataElement

type DataElement struct {
	DomainResource `bson:",inline"`
	Url            string                        `bson:"url,omitempty" json:"url,omitempty"`
	Identifier     []Identifier                  `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version        string                        `bson:"version,omitempty" json:"version,omitempty"`
	Status         string                        `bson:"status,omitempty" json:"status,omitempty"`
	Experimental   *bool                         `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date           *FHIRDateTime                 `bson:"date,omitempty" json:"date,omitempty"`
	Publisher      string                        `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Name           string                        `bson:"name,omitempty" json:"name,omitempty"`
	Title          string                        `bson:"title,omitempty" json:"title,omitempty"`
	Contact        []ContactDetail               `bson:"contact,omitempty" json:"contact,omitempty"`
	UseContext     []UsageContext                `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction   []CodeableConcept             `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Copyright      string                        `bson:"copyright,omitempty" json:"copyright,omitempty"`
	Stringency     string                        `bson:"stringency,omitempty" json:"stringency,omitempty"`
	Mapping        []DataElementMappingComponent `bson:"mapping,omitempty" json:"mapping,omitempty"`
	Element        []ElementDefinition           `bson:"element,omitempty" json:"element,omitempty"`
}

func (*DataElement) GetBSON

func (x *DataElement) GetBSON() (interface{}, error)

func (*DataElement) MarshalJSON

func (resource *DataElement) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*DataElement) UnmarshalJSON

func (x *DataElement) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type DataElementMappingComponent

type DataElementMappingComponent struct {
	BackboneElement `bson:",inline"`
	Identity        string `bson:"identity,omitempty" json:"identity,omitempty"`
	Uri             string `bson:"uri,omitempty" json:"uri,omitempty"`
	Name            string `bson:"name,omitempty" json:"name,omitempty"`
	Comment         string `bson:"comment,omitempty" json:"comment,omitempty"`
}

type DataRequirement

type DataRequirement struct {
	Type        string                               `bson:"type,omitempty" json:"type,omitempty"`
	Profile     []string                             `bson:"profile,omitempty" json:"profile,omitempty"`
	MustSupport []string                             `bson:"mustSupport,omitempty" json:"mustSupport,omitempty"`
	CodeFilter  []DataRequirementCodeFilterComponent `bson:"codeFilter,omitempty" json:"codeFilter,omitempty"`
	DateFilter  []DataRequirementDateFilterComponent `bson:"dateFilter,omitempty" json:"dateFilter,omitempty"`
}

type DataRequirementCodeFilterComponent

type DataRequirementCodeFilterComponent struct {
	BackboneElement      `bson:",inline"`
	Path                 string            `bson:"path,omitempty" json:"path,omitempty"`
	ValueSetString       string            `bson:"valueSetString,omitempty" json:"valueSetString,omitempty"`
	ValueSetReference    *Reference        `bson:"valueSetReference,omitempty" json:"valueSetReference,omitempty"`
	ValueCode            []string          `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
	ValueCoding          []Coding          `bson:"valueCoding,omitempty" json:"valueCoding,omitempty"`
	ValueCodeableConcept []CodeableConcept `bson:"valueCodeableConcept,omitempty" json:"valueCodeableConcept,omitempty"`
}

type DataRequirementDateFilterComponent

type DataRequirementDateFilterComponent struct {
	BackboneElement `bson:",inline"`
	Path            string        `bson:"path,omitempty" json:"path,omitempty"`
	ValueDateTime   *FHIRDateTime `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValuePeriod     *Period       `bson:"valuePeriod,omitempty" json:"valuePeriod,omitempty"`
	ValueDuration   *Quantity     `bson:"valueDuration,omitempty" json:"valueDuration,omitempty"`
}

type Decimal

type Decimal struct {
	From float64 `bson:"__from,omitempty"   json:"__from,omitempty"`
	To   float64 `bson:"__to,omitempty"     json:"__to,omitempty"`
	Num  float64 `bson:"__num,omitempty"    json:"__num,omitempty"`
	Str  string  `bson:"__strNum,omitempty" json:"__strNum,omitempty"`
}

func NewDecimal

func NewDecimal(str string) (*Decimal, error)

func (Decimal) MarshalJSON

func (f Decimal) MarshalJSON() ([]byte, error)

func (*Decimal) UnmarshalJSON

func (d *Decimal) UnmarshalJSON(data []byte) (err error)

type DetectedIssue

type DetectedIssue struct {
	DomainResource `bson:",inline"`
	Identifier     *Identifier                        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status         string                             `bson:"status,omitempty" json:"status,omitempty"`
	Category       *CodeableConcept                   `bson:"category,omitempty" json:"category,omitempty"`
	Severity       string                             `bson:"severity,omitempty" json:"severity,omitempty"`
	Patient        *Reference                         `bson:"patient,omitempty" json:"patient,omitempty"`
	Date           *FHIRDateTime                      `bson:"date,omitempty" json:"date,omitempty"`
	Author         *Reference                         `bson:"author,omitempty" json:"author,omitempty"`
	Implicated     []Reference                        `bson:"implicated,omitempty" json:"implicated,omitempty"`
	Detail         string                             `bson:"detail,omitempty" json:"detail,omitempty"`
	Reference      string                             `bson:"reference,omitempty" json:"reference,omitempty"`
	Mitigation     []DetectedIssueMitigationComponent `bson:"mitigation,omitempty" json:"mitigation,omitempty"`
}

func (*DetectedIssue) GetBSON

func (x *DetectedIssue) GetBSON() (interface{}, error)

func (*DetectedIssue) MarshalJSON

func (resource *DetectedIssue) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*DetectedIssue) UnmarshalJSON

func (x *DetectedIssue) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type DetectedIssueMitigationComponent

type DetectedIssueMitigationComponent struct {
	BackboneElement `bson:",inline"`
	Action          *CodeableConcept `bson:"action,omitempty" json:"action,omitempty"`
	Date            *FHIRDateTime    `bson:"date,omitempty" json:"date,omitempty"`
	Author          *Reference       `bson:"author,omitempty" json:"author,omitempty"`
}

type Device

type Device struct {
	DomainResource  `bson:",inline"`
	Identifier      []Identifier        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Udi             *DeviceUdiComponent `bson:"udi,omitempty" json:"udi,omitempty"`
	Status          string              `bson:"status,omitempty" json:"status,omitempty"`
	Type            *CodeableConcept    `bson:"type,omitempty" json:"type,omitempty"`
	LotNumber       string              `bson:"lotNumber,omitempty" json:"lotNumber,omitempty"`
	Manufacturer    string              `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
	ManufactureDate *FHIRDateTime       `bson:"manufactureDate,omitempty" json:"manufactureDate,omitempty"`
	ExpirationDate  *FHIRDateTime       `bson:"expirationDate,omitempty" json:"expirationDate,omitempty"`
	Model           string              `bson:"model,omitempty" json:"model,omitempty"`
	Version         string              `bson:"version,omitempty" json:"version,omitempty"`
	Patient         *Reference          `bson:"patient,omitempty" json:"patient,omitempty"`
	Owner           *Reference          `bson:"owner,omitempty" json:"owner,omitempty"`
	Contact         []ContactPoint      `bson:"contact,omitempty" json:"contact,omitempty"`
	Location        *Reference          `bson:"location,omitempty" json:"location,omitempty"`
	Url             string              `bson:"url,omitempty" json:"url,omitempty"`
	Note            []Annotation        `bson:"note,omitempty" json:"note,omitempty"`
	Safety          []CodeableConcept   `bson:"safety,omitempty" json:"safety,omitempty"`
}

func (*Device) GetBSON

func (x *Device) GetBSON() (interface{}, error)

func (*Device) MarshalJSON

func (resource *Device) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Device) UnmarshalJSON

func (x *Device) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type DeviceComponent

type DeviceComponent struct {
	DomainResource          `bson:",inline"`
	Identifier              *Identifier                                       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type                    *CodeableConcept                                  `bson:"type,omitempty" json:"type,omitempty"`
	LastSystemChange        *FHIRDateTime                                     `bson:"lastSystemChange,omitempty" json:"lastSystemChange,omitempty"`
	Source                  *Reference                                        `bson:"source,omitempty" json:"source,omitempty"`
	Parent                  *Reference                                        `bson:"parent,omitempty" json:"parent,omitempty"`
	OperationalStatus       []CodeableConcept                                 `bson:"operationalStatus,omitempty" json:"operationalStatus,omitempty"`
	ParameterGroup          *CodeableConcept                                  `bson:"parameterGroup,omitempty" json:"parameterGroup,omitempty"`
	MeasurementPrinciple    string                                            `bson:"measurementPrinciple,omitempty" json:"measurementPrinciple,omitempty"`
	ProductionSpecification []DeviceComponentProductionSpecificationComponent `bson:"productionSpecification,omitempty" json:"productionSpecification,omitempty"`
	LanguageCode            *CodeableConcept                                  `bson:"languageCode,omitempty" json:"languageCode,omitempty"`
}

func (*DeviceComponent) GetBSON

func (x *DeviceComponent) GetBSON() (interface{}, error)

func (*DeviceComponent) MarshalJSON

func (resource *DeviceComponent) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*DeviceComponent) UnmarshalJSON

func (x *DeviceComponent) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type DeviceComponentProductionSpecificationComponent

type DeviceComponentProductionSpecificationComponent struct {
	BackboneElement `bson:",inline"`
	SpecType        *CodeableConcept `bson:"specType,omitempty" json:"specType,omitempty"`
	ComponentId     *Identifier      `bson:"componentId,omitempty" json:"componentId,omitempty"`
	ProductionSpec  string           `bson:"productionSpec,omitempty" json:"productionSpec,omitempty"`
}

type DeviceMetric

type DeviceMetric struct {
	DomainResource    `bson:",inline"`
	Identifier        *Identifier                        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type              *CodeableConcept                   `bson:"type,omitempty" json:"type,omitempty"`
	Unit              *CodeableConcept                   `bson:"unit,omitempty" json:"unit,omitempty"`
	Source            *Reference                         `bson:"source,omitempty" json:"source,omitempty"`
	Parent            *Reference                         `bson:"parent,omitempty" json:"parent,omitempty"`
	OperationalStatus string                             `bson:"operationalStatus,omitempty" json:"operationalStatus,omitempty"`
	Color             string                             `bson:"color,omitempty" json:"color,omitempty"`
	Category          string                             `bson:"category,omitempty" json:"category,omitempty"`
	MeasurementPeriod *Timing                            `bson:"measurementPeriod,omitempty" json:"measurementPeriod,omitempty"`
	Calibration       []DeviceMetricCalibrationComponent `bson:"calibration,omitempty" json:"calibration,omitempty"`
}

func (*DeviceMetric) GetBSON

func (x *DeviceMetric) GetBSON() (interface{}, error)

func (*DeviceMetric) MarshalJSON

func (resource *DeviceMetric) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*DeviceMetric) UnmarshalJSON

func (x *DeviceMetric) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type DeviceMetricCalibrationComponent

type DeviceMetricCalibrationComponent struct {
	BackboneElement `bson:",inline"`
	Type            string        `bson:"type,omitempty" json:"type,omitempty"`
	State           string        `bson:"state,omitempty" json:"state,omitempty"`
	Time            *FHIRDateTime `bson:"time,omitempty" json:"time,omitempty"`
}

type DeviceRequest

type DeviceRequest struct {
	DomainResource      `bson:",inline"`
	Identifier          []Identifier                     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition          []Reference                      `bson:"definition,omitempty" json:"definition,omitempty"`
	BasedOn             []Reference                      `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	PriorRequest        []Reference                      `bson:"priorRequest,omitempty" json:"priorRequest,omitempty"`
	GroupIdentifier     *Identifier                      `bson:"groupIdentifier,omitempty" json:"groupIdentifier,omitempty"`
	Status              string                           `bson:"status,omitempty" json:"status,omitempty"`
	Intent              *CodeableConcept                 `bson:"intent,omitempty" json:"intent,omitempty"`
	Priority            string                           `bson:"priority,omitempty" json:"priority,omitempty"`
	CodeReference       *Reference                       `bson:"codeReference,omitempty" json:"codeReference,omitempty"`
	CodeCodeableConcept *CodeableConcept                 `bson:"codeCodeableConcept,omitempty" json:"codeCodeableConcept,omitempty"`
	Subject             *Reference                       `bson:"subject,omitempty" json:"subject,omitempty"`
	Context             *Reference                       `bson:"context,omitempty" json:"context,omitempty"`
	OccurrenceDateTime  *FHIRDateTime                    `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod    *Period                          `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	OccurrenceTiming    *Timing                          `bson:"occurrenceTiming,omitempty" json:"occurrenceTiming,omitempty"`
	AuthoredOn          *FHIRDateTime                    `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Requester           *DeviceRequestRequesterComponent `bson:"requester,omitempty" json:"requester,omitempty"`
	PerformerType       *CodeableConcept                 `bson:"performerType,omitempty" json:"performerType,omitempty"`
	Performer           *Reference                       `bson:"performer,omitempty" json:"performer,omitempty"`
	ReasonCode          []CodeableConcept                `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference     []Reference                      `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	SupportingInfo      []Reference                      `bson:"supportingInfo,omitempty" json:"supportingInfo,omitempty"`
	Note                []Annotation                     `bson:"note,omitempty" json:"note,omitempty"`
	RelevantHistory     []Reference                      `bson:"relevantHistory,omitempty" json:"relevantHistory,omitempty"`
}

func (*DeviceRequest) GetBSON

func (x *DeviceRequest) GetBSON() (interface{}, error)

func (*DeviceRequest) MarshalJSON

func (resource *DeviceRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*DeviceRequest) UnmarshalJSON

func (x *DeviceRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type DeviceRequestRequesterComponent

type DeviceRequestRequesterComponent struct {
	BackboneElement `bson:",inline"`
	Agent           *Reference `bson:"agent,omitempty" json:"agent,omitempty"`
	OnBehalfOf      *Reference `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

type DeviceUdiComponent

type DeviceUdiComponent struct {
	BackboneElement  `bson:",inline"`
	DeviceIdentifier string `bson:"deviceIdentifier,omitempty" json:"deviceIdentifier,omitempty"`
	Name             string `bson:"name,omitempty" json:"name,omitempty"`
	Jurisdiction     string `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	CarrierHRF       string `bson:"carrierHRF,omitempty" json:"carrierHRF,omitempty"`
	CarrierAIDC      string `bson:"carrierAIDC,omitempty" json:"carrierAIDC,omitempty"`
	Issuer           string `bson:"issuer,omitempty" json:"issuer,omitempty"`
	EntryType        string `bson:"entryType,omitempty" json:"entryType,omitempty"`
}

type DeviceUseRequest

type DeviceUseRequest struct {
	DomainResource        `bson:",inline"`
	Identifier            []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition            []Reference       `bson:"definition,omitempty" json:"definition,omitempty"`
	BasedOn               []Reference       `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Replaces              []Reference       `bson:"replaces,omitempty" json:"replaces,omitempty"`
	Requisition           *Identifier       `bson:"requisition,omitempty" json:"requisition,omitempty"`
	Status                string            `bson:"status,omitempty" json:"status,omitempty"`
	Stage                 *CodeableConcept  `bson:"stage,omitempty" json:"stage,omitempty"`
	DeviceReference       *Reference        `bson:"deviceReference,omitempty" json:"deviceReference,omitempty"`
	DeviceCodeableConcept *CodeableConcept  `bson:"deviceCodeableConcept,omitempty" json:"deviceCodeableConcept,omitempty"`
	Subject               *Reference        `bson:"subject,omitempty" json:"subject,omitempty"`
	Context               *Reference        `bson:"context,omitempty" json:"context,omitempty"`
	OccurrenceDateTime    *FHIRDateTime     `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod      *Period           `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	OccurrenceTiming      *Timing           `bson:"occurrenceTiming,omitempty" json:"occurrenceTiming,omitempty"`
	Authored              *FHIRDateTime     `bson:"authored,omitempty" json:"authored,omitempty"`
	Requester             *Reference        `bson:"requester,omitempty" json:"requester,omitempty"`
	PerformerType         *CodeableConcept  `bson:"performerType,omitempty" json:"performerType,omitempty"`
	Performer             *Reference        `bson:"performer,omitempty" json:"performer,omitempty"`
	ReasonCode            []CodeableConcept `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference       []Reference       `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	SupportingInfo        []Reference       `bson:"supportingInfo,omitempty" json:"supportingInfo,omitempty"`
	Note                  []Annotation      `bson:"note,omitempty" json:"note,omitempty"`
	RelevantHistory       []Reference       `bson:"relevantHistory,omitempty" json:"relevantHistory,omitempty"`
}

func (*DeviceUseRequest) GetBSON

func (x *DeviceUseRequest) GetBSON() (interface{}, error)

func (*DeviceUseRequest) MarshalJSON

func (resource *DeviceUseRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*DeviceUseRequest) UnmarshalJSON

func (x *DeviceUseRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type DeviceUseStatement

type DeviceUseStatement struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status         string            `bson:"status,omitempty" json:"status,omitempty"`
	Subject        *Reference        `bson:"subject,omitempty" json:"subject,omitempty"`
	WhenUsed       *Period           `bson:"whenUsed,omitempty" json:"whenUsed,omitempty"`
	TimingTiming   *Timing           `bson:"timingTiming,omitempty" json:"timingTiming,omitempty"`
	TimingPeriod   *Period           `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	TimingDateTime *FHIRDateTime     `bson:"timingDateTime,omitempty" json:"timingDateTime,omitempty"`
	RecordedOn     *FHIRDateTime     `bson:"recordedOn,omitempty" json:"recordedOn,omitempty"`
	Source         *Reference        `bson:"source,omitempty" json:"source,omitempty"`
	Device         *Reference        `bson:"device,omitempty" json:"device,omitempty"`
	Indication     []CodeableConcept `bson:"indication,omitempty" json:"indication,omitempty"`
	BodySite       *CodeableConcept  `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	Note           []Annotation      `bson:"note,omitempty" json:"note,omitempty"`
}

func (*DeviceUseStatement) GetBSON

func (x *DeviceUseStatement) GetBSON() (interface{}, error)

func (*DeviceUseStatement) MarshalJSON

func (resource *DeviceUseStatement) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*DeviceUseStatement) UnmarshalJSON

func (x *DeviceUseStatement) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type DiagnosticReport

type DiagnosticReport struct {
	DomainResource    `bson:",inline"`
	Identifier        []Identifier                         `bson:"identifier,omitempty" json:"identifier,omitempty"`
	BasedOn           []Reference                          `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Status            string                               `bson:"status,omitempty" json:"status,omitempty"`
	Category          *CodeableConcept                     `bson:"category,omitempty" json:"category,omitempty"`
	Code              *CodeableConcept                     `bson:"code,omitempty" json:"code,omitempty"`
	Subject           *Reference                           `bson:"subject,omitempty" json:"subject,omitempty"`
	Context           *Reference                           `bson:"context,omitempty" json:"context,omitempty"`
	EffectiveDateTime *FHIRDateTime                        `bson:"effectiveDateTime,omitempty" json:"effectiveDateTime,omitempty"`
	EffectivePeriod   *Period                              `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Issued            *FHIRDateTime                        `bson:"issued,omitempty" json:"issued,omitempty"`
	Performer         []DiagnosticReportPerformerComponent `bson:"performer,omitempty" json:"performer,omitempty"`
	Specimen          []Reference                          `bson:"specimen,omitempty" json:"specimen,omitempty"`
	Result            []Reference                          `bson:"result,omitempty" json:"result,omitempty"`
	ImagingStudy      []Reference                          `bson:"imagingStudy,omitempty" json:"imagingStudy,omitempty"`
	Image             []DiagnosticReportImageComponent     `bson:"image,omitempty" json:"image,omitempty"`
	Conclusion        string                               `bson:"conclusion,omitempty" json:"conclusion,omitempty"`
	CodedDiagnosis    []CodeableConcept                    `bson:"codedDiagnosis,omitempty" json:"codedDiagnosis,omitempty"`
	PresentedForm     []Attachment                         `bson:"presentedForm,omitempty" json:"presentedForm,omitempty"`
}

func (*DiagnosticReport) GetBSON

func (x *DiagnosticReport) GetBSON() (interface{}, error)

func (*DiagnosticReport) MarshalJSON

func (resource *DiagnosticReport) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*DiagnosticReport) UnmarshalJSON

func (x *DiagnosticReport) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type DiagnosticReportImageComponent

type DiagnosticReportImageComponent struct {
	BackboneElement `bson:",inline"`
	Comment         string     `bson:"comment,omitempty" json:"comment,omitempty"`
	Link            *Reference `bson:"link,omitempty" json:"link,omitempty"`
}

type DiagnosticReportPerformerComponent

type DiagnosticReportPerformerComponent struct {
	BackboneElement `bson:",inline"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Actor           *Reference       `bson:"actor,omitempty" json:"actor,omitempty"`
}

type DiagnosticRequest

type DiagnosticRequest struct {
	DomainResource        `bson:",inline"`
	Identifier            []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition            []Reference       `bson:"definition,omitempty" json:"definition,omitempty"`
	BasedOn               []Reference       `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Replaces              []Reference       `bson:"replaces,omitempty" json:"replaces,omitempty"`
	Requisition           *Identifier       `bson:"requisition,omitempty" json:"requisition,omitempty"`
	Status                string            `bson:"status,omitempty" json:"status,omitempty"`
	Intent                string            `bson:"intent,omitempty" json:"intent,omitempty"`
	Priority              string            `bson:"priority,omitempty" json:"priority,omitempty"`
	Code                  *CodeableConcept  `bson:"code,omitempty" json:"code,omitempty"`
	Subject               *Reference        `bson:"subject,omitempty" json:"subject,omitempty"`
	Context               *Reference        `bson:"context,omitempty" json:"context,omitempty"`
	OccurrenceDateTime    *FHIRDateTime     `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod      *Period           `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	OccurrenceTiming      *Timing           `bson:"occurrenceTiming,omitempty" json:"occurrenceTiming,omitempty"`
	AuthoredOn            *FHIRDateTime     `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Requester             *Reference        `bson:"requester,omitempty" json:"requester,omitempty"`
	PerformerType         *CodeableConcept  `bson:"performerType,omitempty" json:"performerType,omitempty"`
	Performer             *Reference        `bson:"performer,omitempty" json:"performer,omitempty"`
	ReasonCode            []CodeableConcept `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference       []Reference       `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	SupportingInformation []Reference       `bson:"supportingInformation,omitempty" json:"supportingInformation,omitempty"`
	Note                  []Annotation      `bson:"note,omitempty" json:"note,omitempty"`
	RelevantHistory       []Reference       `bson:"relevantHistory,omitempty" json:"relevantHistory,omitempty"`
}

func (*DiagnosticRequest) GetBSON

func (x *DiagnosticRequest) GetBSON() (interface{}, error)

func (*DiagnosticRequest) MarshalJSON

func (resource *DiagnosticRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*DiagnosticRequest) UnmarshalJSON

func (x *DiagnosticRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type Distance

type Distance struct {
	Quantity `bson:",inline"`
}

type DocumentManifest

type DocumentManifest struct {
	DomainResource   `bson:",inline"`
	MasterIdentifier *Identifier                        `bson:"masterIdentifier,omitempty" json:"masterIdentifier,omitempty"`
	Identifier       []Identifier                       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status           string                             `bson:"status,omitempty" json:"status,omitempty"`
	Type             *CodeableConcept                   `bson:"type,omitempty" json:"type,omitempty"`
	Subject          *Reference                         `bson:"subject,omitempty" json:"subject,omitempty"`
	Created          *FHIRDateTime                      `bson:"created,omitempty" json:"created,omitempty"`
	Author           []Reference                        `bson:"author,omitempty" json:"author,omitempty"`
	Recipient        []Reference                        `bson:"recipient,omitempty" json:"recipient,omitempty"`
	Source           string                             `bson:"source,omitempty" json:"source,omitempty"`
	Description      string                             `bson:"description,omitempty" json:"description,omitempty"`
	Content          []DocumentManifestContentComponent `bson:"content,omitempty" json:"content,omitempty"`
	Related          []DocumentManifestRelatedComponent `bson:"related,omitempty" json:"related,omitempty"`
}

func (*DocumentManifest) GetBSON

func (x *DocumentManifest) GetBSON() (interface{}, error)

func (*DocumentManifest) MarshalJSON

func (resource *DocumentManifest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*DocumentManifest) UnmarshalJSON

func (x *DocumentManifest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type DocumentManifestContentComponent

type DocumentManifestContentComponent struct {
	BackboneElement `bson:",inline"`
	PAttachment     *Attachment `bson:"pAttachment,omitempty" json:"pAttachment,omitempty"`
	PReference      *Reference  `bson:"pReference,omitempty" json:"pReference,omitempty"`
}

type DocumentManifestRelatedComponent

type DocumentManifestRelatedComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Ref             *Reference  `bson:"ref,omitempty" json:"ref,omitempty"`
}

type DocumentReference

type DocumentReference struct {
	DomainResource   `bson:",inline"`
	MasterIdentifier *Identifier                           `bson:"masterIdentifier,omitempty" json:"masterIdentifier,omitempty"`
	Identifier       []Identifier                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status           string                                `bson:"status,omitempty" json:"status,omitempty"`
	DocStatus        string                                `bson:"docStatus,omitempty" json:"docStatus,omitempty"`
	Type             *CodeableConcept                      `bson:"type,omitempty" json:"type,omitempty"`
	Class            *CodeableConcept                      `bson:"class,omitempty" json:"class,omitempty"`
	Subject          *Reference                            `bson:"subject,omitempty" json:"subject,omitempty"`
	Created          *FHIRDateTime                         `bson:"created,omitempty" json:"created,omitempty"`
	Indexed          *FHIRDateTime                         `bson:"indexed,omitempty" json:"indexed,omitempty"`
	Author           []Reference                           `bson:"author,omitempty" json:"author,omitempty"`
	Authenticator    *Reference                            `bson:"authenticator,omitempty" json:"authenticator,omitempty"`
	Custodian        *Reference                            `bson:"custodian,omitempty" json:"custodian,omitempty"`
	RelatesTo        []DocumentReferenceRelatesToComponent `bson:"relatesTo,omitempty" json:"relatesTo,omitempty"`
	Description      string                                `bson:"description,omitempty" json:"description,omitempty"`
	SecurityLabel    []CodeableConcept                     `bson:"securityLabel,omitempty" json:"securityLabel,omitempty"`
	Content          []DocumentReferenceContentComponent   `bson:"content,omitempty" json:"content,omitempty"`
	Context          *DocumentReferenceContextComponent    `bson:"context,omitempty" json:"context,omitempty"`
}

func (*DocumentReference) GetBSON

func (x *DocumentReference) GetBSON() (interface{}, error)

func (*DocumentReference) MarshalJSON

func (resource *DocumentReference) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*DocumentReference) UnmarshalJSON

func (x *DocumentReference) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type DocumentReferenceContentComponent

type DocumentReferenceContentComponent struct {
	BackboneElement `bson:",inline"`
	Attachment      *Attachment `bson:"attachment,omitempty" json:"attachment,omitempty"`
	Format          *Coding     `bson:"format,omitempty" json:"format,omitempty"`
}

type DocumentReferenceContextComponent

type DocumentReferenceContextComponent struct {
	BackboneElement   `bson:",inline"`
	Encounter         *Reference                                 `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Event             []CodeableConcept                          `bson:"event,omitempty" json:"event,omitempty"`
	Period            *Period                                    `bson:"period,omitempty" json:"period,omitempty"`
	FacilityType      *CodeableConcept                           `bson:"facilityType,omitempty" json:"facilityType,omitempty"`
	PracticeSetting   *CodeableConcept                           `bson:"practiceSetting,omitempty" json:"practiceSetting,omitempty"`
	SourcePatientInfo *Reference                                 `bson:"sourcePatientInfo,omitempty" json:"sourcePatientInfo,omitempty"`
	Related           []DocumentReferenceContextRelatedComponent `bson:"related,omitempty" json:"related,omitempty"`
}

type DocumentReferenceContextRelatedComponent

type DocumentReferenceContextRelatedComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Ref             *Reference  `bson:"ref,omitempty" json:"ref,omitempty"`
}

type DocumentReferenceRelatesToComponent

type DocumentReferenceRelatesToComponent struct {
	BackboneElement `bson:",inline"`
	Code            string     `bson:"code,omitempty" json:"code,omitempty"`
	Target          *Reference `bson:"target,omitempty" json:"target,omitempty"`
}

type DomainResource

type DomainResource struct {
	Resource          `bson:",inline"`
	Text              *Narrative         `bson:"text,omitempty" json:"text,omitempty"`
	Contained         ContainedResources `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
}

type Dosage

type Dosage struct {
	Sequence                 *int32            `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Text                     string            `bson:"text,omitempty" json:"text,omitempty"`
	AdditionalInstruction    []CodeableConcept `bson:"additionalInstruction,omitempty" json:"additionalInstruction,omitempty"`
	PatientInstruction       string            `bson:"patientInstruction,omitempty" json:"patientInstruction,omitempty"`
	Timing                   *Timing           `bson:"timing,omitempty" json:"timing,omitempty"`
	AsNeededBoolean          *bool             `bson:"asNeededBoolean,omitempty" json:"asNeededBoolean,omitempty"`
	AsNeededCodeableConcept  *CodeableConcept  `bson:"asNeededCodeableConcept,omitempty" json:"asNeededCodeableConcept,omitempty"`
	Site                     *CodeableConcept  `bson:"site,omitempty" json:"site,omitempty"`
	Route                    *CodeableConcept  `bson:"route,omitempty" json:"route,omitempty"`
	Method                   *CodeableConcept  `bson:"method,omitempty" json:"method,omitempty"`
	DoseRange                *Range            `bson:"doseRange,omitempty" json:"doseRange,omitempty"`
	DoseSimpleQuantity       *Quantity         `bson:"doseSimpleQuantity,omitempty" json:"doseSimpleQuantity,omitempty"`
	MaxDosePerPeriod         *Ratio            `bson:"maxDosePerPeriod,omitempty" json:"maxDosePerPeriod,omitempty"`
	MaxDosePerAdministration *Quantity         `bson:"maxDosePerAdministration,omitempty" json:"maxDosePerAdministration,omitempty"`
	MaxDosePerLifetime       *Quantity         `bson:"maxDosePerLifetime,omitempty" json:"maxDosePerLifetime,omitempty"`
	RateRatio                *Ratio            `bson:"rateRatio,omitempty" json:"rateRatio,omitempty"`
	RateRange                *Range            `bson:"rateRange,omitempty" json:"rateRange,omitempty"`
	RateSimpleQuantity       *Quantity         `bson:"rateSimpleQuantity,omitempty" json:"rateSimpleQuantity,omitempty"`
}

type DosageInstruction

type DosageInstruction struct {
	Sequence                 *int32            `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Text                     string            `bson:"text,omitempty" json:"text,omitempty"`
	AdditionalInstructions   []CodeableConcept `bson:"additionalInstructions,omitempty" json:"additionalInstructions,omitempty"`
	Timing                   *Timing           `bson:"timing,omitempty" json:"timing,omitempty"`
	AsNeededBoolean          *bool             `bson:"asNeededBoolean,omitempty" json:"asNeededBoolean,omitempty"`
	AsNeededCodeableConcept  *CodeableConcept  `bson:"asNeededCodeableConcept,omitempty" json:"asNeededCodeableConcept,omitempty"`
	Site                     *CodeableConcept  `bson:"site,omitempty" json:"site,omitempty"`
	Route                    *CodeableConcept  `bson:"route,omitempty" json:"route,omitempty"`
	Method                   *CodeableConcept  `bson:"method,omitempty" json:"method,omitempty"`
	DoseRange                *Range            `bson:"doseRange,omitempty" json:"doseRange,omitempty"`
	DoseSimpleQuantity       *Quantity         `bson:"doseSimpleQuantity,omitempty" json:"doseSimpleQuantity,omitempty"`
	MaxDosePerPeriod         *Ratio            `bson:"maxDosePerPeriod,omitempty" json:"maxDosePerPeriod,omitempty"`
	MaxDosePerAdministration *Quantity         `bson:"maxDosePerAdministration,omitempty" json:"maxDosePerAdministration,omitempty"`
	MaxDosePerLifetime       *Quantity         `bson:"maxDosePerLifetime,omitempty" json:"maxDosePerLifetime,omitempty"`
	RateRatio                *Ratio            `bson:"rateRatio,omitempty" json:"rateRatio,omitempty"`
	RateRange                *Range            `bson:"rateRange,omitempty" json:"rateRange,omitempty"`
	RateSimpleQuantity       *Quantity         `bson:"rateSimpleQuantity,omitempty" json:"rateSimpleQuantity,omitempty"`
}

type Duration

type Duration struct {
	Quantity `bson:",inline"`
}

type Element

type Element struct {
	Id        string      `bson:"_id,omitempty" json:"id,omitempty"`
	Extension []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
}

type ElementDefinition

type ElementDefinition struct {
	Path                        string                                 `bson:"path,omitempty" json:"path,omitempty"`
	Representation              []string                               `bson:"representation,omitempty" json:"representation,omitempty"`
	SliceName                   string                                 `bson:"sliceName,omitempty" json:"sliceName,omitempty"`
	Label                       string                                 `bson:"label,omitempty" json:"label,omitempty"`
	Code                        []Coding                               `bson:"code,omitempty" json:"code,omitempty"`
	Slicing                     *ElementDefinitionSlicingComponent     `bson:"slicing,omitempty" json:"slicing,omitempty"`
	Short                       string                                 `bson:"short,omitempty" json:"short,omitempty"`
	Definition                  string                                 `bson:"definition,omitempty" json:"definition,omitempty"`
	Comment                     string                                 `bson:"comment,omitempty" json:"comment,omitempty"`
	Requirements                string                                 `bson:"requirements,omitempty" json:"requirements,omitempty"`
	Alias                       []string                               `bson:"alias,omitempty" json:"alias,omitempty"`
	Min                         *uint32                                `bson:"min,omitempty" json:"min,omitempty"`
	Max                         string                                 `bson:"max,omitempty" json:"max,omitempty"`
	Base                        *ElementDefinitionBaseComponent        `bson:"base,omitempty" json:"base,omitempty"`
	ContentReference            string                                 `bson:"contentReference,omitempty" json:"contentReference,omitempty"`
	Type                        []ElementDefinitionTypeRefComponent    `bson:"type,omitempty" json:"type,omitempty"`
	DefaultValueAddress         *Address                               `bson:"defaultValueAddress,omitempty" json:"defaultValueAddress,omitempty"`
	DefaultValueAnnotation      *Annotation                            `bson:"defaultValueAnnotation,omitempty" json:"defaultValueAnnotation,omitempty"`
	DefaultValueAttachment      *Attachment                            `bson:"defaultValueAttachment,omitempty" json:"defaultValueAttachment,omitempty"`
	DefaultValueBase64Binary    string                                 `bson:"defaultValueBase64Binary,omitempty" json:"defaultValueBase64Binary,omitempty"`
	DefaultValueBoolean         *bool                                  `bson:"defaultValueBoolean,omitempty" json:"defaultValueBoolean,omitempty"`
	DefaultValueCode            string                                 `bson:"defaultValueCode,omitempty" json:"defaultValueCode,omitempty"`
	DefaultValueCodeableConcept *CodeableConcept                       `bson:"defaultValueCodeableConcept,omitempty" json:"defaultValueCodeableConcept,omitempty"`
	DefaultValueCoding          *Coding                                `bson:"defaultValueCoding,omitempty" json:"defaultValueCoding,omitempty"`
	DefaultValueContactPoint    *ContactPoint                          `bson:"defaultValueContactPoint,omitempty" json:"defaultValueContactPoint,omitempty"`
	DefaultValueDate            *FHIRDateTime                          `bson:"defaultValueDate,omitempty" json:"defaultValueDate,omitempty"`
	DefaultValueDateTime        *FHIRDateTime                          `bson:"defaultValueDateTime,omitempty" json:"defaultValueDateTime,omitempty"`
	DefaultValueDecimal         *float64                               `bson:"defaultValueDecimal,omitempty" json:"defaultValueDecimal,omitempty"`
	DefaultValueHumanName       *HumanName                             `bson:"defaultValueHumanName,omitempty" json:"defaultValueHumanName,omitempty"`
	DefaultValueId              string                                 `bson:"defaultValueId,omitempty" json:"defaultValueId,omitempty"`
	DefaultValueIdentifier      *Identifier                            `bson:"defaultValueIdentifier,omitempty" json:"defaultValueIdentifier,omitempty"`
	DefaultValueInstant         *FHIRDateTime                          `bson:"defaultValueInstant,omitempty" json:"defaultValueInstant,omitempty"`
	DefaultValueInteger         *int32                                 `bson:"defaultValueInteger,omitempty" json:"defaultValueInteger,omitempty"`
	DefaultValueMarkdown        string                                 `bson:"defaultValueMarkdown,omitempty" json:"defaultValueMarkdown,omitempty"`
	DefaultValueMeta            *Meta                                  `bson:"defaultValueMeta,omitempty" json:"defaultValueMeta,omitempty"`
	DefaultValueOid             string                                 `bson:"defaultValueOid,omitempty" json:"defaultValueOid,omitempty"`
	DefaultValuePeriod          *Period                                `bson:"defaultValuePeriod,omitempty" json:"defaultValuePeriod,omitempty"`
	DefaultValuePositiveInt     *uint32                                `bson:"defaultValuePositiveInt,omitempty" json:"defaultValuePositiveInt,omitempty"`
	DefaultValueQuantity        *Quantity                              `bson:"defaultValueQuantity,omitempty" json:"defaultValueQuantity,omitempty"`
	DefaultValueRange           *Range                                 `bson:"defaultValueRange,omitempty" json:"defaultValueRange,omitempty"`
	DefaultValueRatio           *Ratio                                 `bson:"defaultValueRatio,omitempty" json:"defaultValueRatio,omitempty"`
	DefaultValueReference       *Reference                             `bson:"defaultValueReference,omitempty" json:"defaultValueReference,omitempty"`
	DefaultValueSampledData     *SampledData                           `bson:"defaultValueSampledData,omitempty" json:"defaultValueSampledData,omitempty"`
	DefaultValueSignature       *Signature                             `bson:"defaultValueSignature,omitempty" json:"defaultValueSignature,omitempty"`
	DefaultValueString          string                                 `bson:"defaultValueString,omitempty" json:"defaultValueString,omitempty"`
	DefaultValueTime            *FHIRDateTime                          `bson:"defaultValueTime,omitempty" json:"defaultValueTime,omitempty"`
	DefaultValueTiming          *Timing                                `bson:"defaultValueTiming,omitempty" json:"defaultValueTiming,omitempty"`
	DefaultValueUnsignedInt     *uint32                                `bson:"defaultValueUnsignedInt,omitempty" json:"defaultValueUnsignedInt,omitempty"`
	DefaultValueUri             string                                 `bson:"defaultValueUri,omitempty" json:"defaultValueUri,omitempty"`
	MeaningWhenMissing          string                                 `bson:"meaningWhenMissing,omitempty" json:"meaningWhenMissing,omitempty"`
	OrderMeaning                string                                 `bson:"orderMeaning,omitempty" json:"orderMeaning,omitempty"`
	FixedAddress                *Address                               `bson:"fixedAddress,omitempty" json:"fixedAddress,omitempty"`
	FixedAnnotation             *Annotation                            `bson:"fixedAnnotation,omitempty" json:"fixedAnnotation,omitempty"`
	FixedAttachment             *Attachment                            `bson:"fixedAttachment,omitempty" json:"fixedAttachment,omitempty"`
	FixedBase64Binary           string                                 `bson:"fixedBase64Binary,omitempty" json:"fixedBase64Binary,omitempty"`
	FixedBoolean                *bool                                  `bson:"fixedBoolean,omitempty" json:"fixedBoolean,omitempty"`
	FixedCode                   string                                 `bson:"fixedCode,omitempty" json:"fixedCode,omitempty"`
	FixedCodeableConcept        *CodeableConcept                       `bson:"fixedCodeableConcept,omitempty" json:"fixedCodeableConcept,omitempty"`
	FixedCoding                 *Coding                                `bson:"fixedCoding,omitempty" json:"fixedCoding,omitempty"`
	FixedContactPoint           *ContactPoint                          `bson:"fixedContactPoint,omitempty" json:"fixedContactPoint,omitempty"`
	FixedDate                   *FHIRDateTime                          `bson:"fixedDate,omitempty" json:"fixedDate,omitempty"`
	FixedDateTime               *FHIRDateTime                          `bson:"fixedDateTime,omitempty" json:"fixedDateTime,omitempty"`
	FixedDecimal                *float64                               `bson:"fixedDecimal,omitempty" json:"fixedDecimal,omitempty"`
	FixedHumanName              *HumanName                             `bson:"fixedHumanName,omitempty" json:"fixedHumanName,omitempty"`
	FixedId                     string                                 `bson:"fixedId,omitempty" json:"fixedId,omitempty"`
	FixedIdentifier             *Identifier                            `bson:"fixedIdentifier,omitempty" json:"fixedIdentifier,omitempty"`
	FixedInstant                *FHIRDateTime                          `bson:"fixedInstant,omitempty" json:"fixedInstant,omitempty"`
	FixedInteger                *int32                                 `bson:"fixedInteger,omitempty" json:"fixedInteger,omitempty"`
	FixedMarkdown               string                                 `bson:"fixedMarkdown,omitempty" json:"fixedMarkdown,omitempty"`
	FixedMeta                   *Meta                                  `bson:"fixedMeta,omitempty" json:"fixedMeta,omitempty"`
	FixedOid                    string                                 `bson:"fixedOid,omitempty" json:"fixedOid,omitempty"`
	FixedPeriod                 *Period                                `bson:"fixedPeriod,omitempty" json:"fixedPeriod,omitempty"`
	FixedPositiveInt            *uint32                                `bson:"fixedPositiveInt,omitempty" json:"fixedPositiveInt,omitempty"`
	FixedQuantity               *Quantity                              `bson:"fixedQuantity,omitempty" json:"fixedQuantity,omitempty"`
	FixedRange                  *Range                                 `bson:"fixedRange,omitempty" json:"fixedRange,omitempty"`
	FixedRatio                  *Ratio                                 `bson:"fixedRatio,omitempty" json:"fixedRatio,omitempty"`
	FixedReference              *Reference                             `bson:"fixedReference,omitempty" json:"fixedReference,omitempty"`
	FixedSampledData            *SampledData                           `bson:"fixedSampledData,omitempty" json:"fixedSampledData,omitempty"`
	FixedSignature              *Signature                             `bson:"fixedSignature,omitempty" json:"fixedSignature,omitempty"`
	FixedString                 string                                 `bson:"fixedString,omitempty" json:"fixedString,omitempty"`
	FixedTime                   *FHIRDateTime                          `bson:"fixedTime,omitempty" json:"fixedTime,omitempty"`
	FixedTiming                 *Timing                                `bson:"fixedTiming,omitempty" json:"fixedTiming,omitempty"`
	FixedUnsignedInt            *uint32                                `bson:"fixedUnsignedInt,omitempty" json:"fixedUnsignedInt,omitempty"`
	FixedUri                    string                                 `bson:"fixedUri,omitempty" json:"fixedUri,omitempty"`
	PatternAddress              *Address                               `bson:"patternAddress,omitempty" json:"patternAddress,omitempty"`
	PatternAnnotation           *Annotation                            `bson:"patternAnnotation,omitempty" json:"patternAnnotation,omitempty"`
	PatternAttachment           *Attachment                            `bson:"patternAttachment,omitempty" json:"patternAttachment,omitempty"`
	PatternBase64Binary         string                                 `bson:"patternBase64Binary,omitempty" json:"patternBase64Binary,omitempty"`
	PatternBoolean              *bool                                  `bson:"patternBoolean,omitempty" json:"patternBoolean,omitempty"`
	PatternCode                 string                                 `bson:"patternCode,omitempty" json:"patternCode,omitempty"`
	PatternCodeableConcept      *CodeableConcept                       `bson:"patternCodeableConcept,omitempty" json:"patternCodeableConcept,omitempty"`
	PatternCoding               *Coding                                `bson:"patternCoding,omitempty" json:"patternCoding,omitempty"`
	PatternContactPoint         *ContactPoint                          `bson:"patternContactPoint,omitempty" json:"patternContactPoint,omitempty"`
	PatternDate                 *FHIRDateTime                          `bson:"patternDate,omitempty" json:"patternDate,omitempty"`
	PatternDateTime             *FHIRDateTime                          `bson:"patternDateTime,omitempty" json:"patternDateTime,omitempty"`
	PatternDecimal              *float64                               `bson:"patternDecimal,omitempty" json:"patternDecimal,omitempty"`
	PatternHumanName            *HumanName                             `bson:"patternHumanName,omitempty" json:"patternHumanName,omitempty"`
	PatternId                   string                                 `bson:"patternId,omitempty" json:"patternId,omitempty"`
	PatternIdentifier           *Identifier                            `bson:"patternIdentifier,omitempty" json:"patternIdentifier,omitempty"`
	PatternInstant              *FHIRDateTime                          `bson:"patternInstant,omitempty" json:"patternInstant,omitempty"`
	PatternInteger              *int32                                 `bson:"patternInteger,omitempty" json:"patternInteger,omitempty"`
	PatternMarkdown             string                                 `bson:"patternMarkdown,omitempty" json:"patternMarkdown,omitempty"`
	PatternMeta                 *Meta                                  `bson:"patternMeta,omitempty" json:"patternMeta,omitempty"`
	PatternOid                  string                                 `bson:"patternOid,omitempty" json:"patternOid,omitempty"`
	PatternPeriod               *Period                                `bson:"patternPeriod,omitempty" json:"patternPeriod,omitempty"`
	PatternPositiveInt          *uint32                                `bson:"patternPositiveInt,omitempty" json:"patternPositiveInt,omitempty"`
	PatternQuantity             *Quantity                              `bson:"patternQuantity,omitempty" json:"patternQuantity,omitempty"`
	PatternRange                *Range                                 `bson:"patternRange,omitempty" json:"patternRange,omitempty"`
	PatternRatio                *Ratio                                 `bson:"patternRatio,omitempty" json:"patternRatio,omitempty"`
	PatternReference            *Reference                             `bson:"patternReference,omitempty" json:"patternReference,omitempty"`
	PatternSampledData          *SampledData                           `bson:"patternSampledData,omitempty" json:"patternSampledData,omitempty"`
	PatternSignature            *Signature                             `bson:"patternSignature,omitempty" json:"patternSignature,omitempty"`
	PatternString               string                                 `bson:"patternString,omitempty" json:"patternString,omitempty"`
	PatternTime                 *FHIRDateTime                          `bson:"patternTime,omitempty" json:"patternTime,omitempty"`
	PatternTiming               *Timing                                `bson:"patternTiming,omitempty" json:"patternTiming,omitempty"`
	PatternUnsignedInt          *uint32                                `bson:"patternUnsignedInt,omitempty" json:"patternUnsignedInt,omitempty"`
	PatternUri                  string                                 `bson:"patternUri,omitempty" json:"patternUri,omitempty"`
	Example                     []ElementDefinitionExampleComponent    `bson:"example,omitempty" json:"example,omitempty"`
	MinValueDate                *FHIRDateTime                          `bson:"minValueDate,omitempty" json:"minValueDate,omitempty"`
	MinValueDateTime            *FHIRDateTime                          `bson:"minValueDateTime,omitempty" json:"minValueDateTime,omitempty"`
	MinValueInstant             *FHIRDateTime                          `bson:"minValueInstant,omitempty" json:"minValueInstant,omitempty"`
	MinValueTime                *FHIRDateTime                          `bson:"minValueTime,omitempty" json:"minValueTime,omitempty"`
	MinValueDecimal             *float64                               `bson:"minValueDecimal,omitempty" json:"minValueDecimal,omitempty"`
	MinValueInteger             *int32                                 `bson:"minValueInteger,omitempty" json:"minValueInteger,omitempty"`
	MinValuePositiveInt         *uint32                                `bson:"minValuePositiveInt,omitempty" json:"minValuePositiveInt,omitempty"`
	MinValueUnsignedInt         *uint32                                `bson:"minValueUnsignedInt,omitempty" json:"minValueUnsignedInt,omitempty"`
	MinValueQuantity            *Quantity                              `bson:"minValueQuantity,omitempty" json:"minValueQuantity,omitempty"`
	MaxValueDate                *FHIRDateTime                          `bson:"maxValueDate,omitempty" json:"maxValueDate,omitempty"`
	MaxValueDateTime            *FHIRDateTime                          `bson:"maxValueDateTime,omitempty" json:"maxValueDateTime,omitempty"`
	MaxValueInstant             *FHIRDateTime                          `bson:"maxValueInstant,omitempty" json:"maxValueInstant,omitempty"`
	MaxValueTime                *FHIRDateTime                          `bson:"maxValueTime,omitempty" json:"maxValueTime,omitempty"`
	MaxValueDecimal             *float64                               `bson:"maxValueDecimal,omitempty" json:"maxValueDecimal,omitempty"`
	MaxValueInteger             *int32                                 `bson:"maxValueInteger,omitempty" json:"maxValueInteger,omitempty"`
	MaxValuePositiveInt         *uint32                                `bson:"maxValuePositiveInt,omitempty" json:"maxValuePositiveInt,omitempty"`
	MaxValueUnsignedInt         *uint32                                `bson:"maxValueUnsignedInt,omitempty" json:"maxValueUnsignedInt,omitempty"`
	MaxValueQuantity            *Quantity                              `bson:"maxValueQuantity,omitempty" json:"maxValueQuantity,omitempty"`
	MaxLength                   *int32                                 `bson:"maxLength,omitempty" json:"maxLength,omitempty"`
	Condition                   []string                               `bson:"condition,omitempty" json:"condition,omitempty"`
	Constraint                  []ElementDefinitionConstraintComponent `bson:"constraint,omitempty" json:"constraint,omitempty"`
	MustSupport                 *bool                                  `bson:"mustSupport,omitempty" json:"mustSupport,omitempty"`
	IsModifier                  *bool                                  `bson:"isModifier,omitempty" json:"isModifier,omitempty"`
	IsSummary                   *bool                                  `bson:"isSummary,omitempty" json:"isSummary,omitempty"`
	Binding                     *ElementDefinitionBindingComponent     `bson:"binding,omitempty" json:"binding,omitempty"`
	Mapping                     []ElementDefinitionMappingComponent    `bson:"mapping,omitempty" json:"mapping,omitempty"`
}

type ElementDefinitionBaseComponent

type ElementDefinitionBaseComponent struct {
	BackboneElement `bson:",inline"`
	Path            string  `bson:"path,omitempty" json:"path,omitempty"`
	Min             *uint32 `bson:"min,omitempty" json:"min,omitempty"`
	Max             string  `bson:"max,omitempty" json:"max,omitempty"`
}

type ElementDefinitionBindingComponent

type ElementDefinitionBindingComponent struct {
	BackboneElement   `bson:",inline"`
	Strength          string     `bson:"strength,omitempty" json:"strength,omitempty"`
	Description       string     `bson:"description,omitempty" json:"description,omitempty"`
	ValueSetUri       string     `bson:"valueSetUri,omitempty" json:"valueSetUri,omitempty"`
	ValueSetReference *Reference `bson:"valueSetReference,omitempty" json:"valueSetReference,omitempty"`
}

type ElementDefinitionConstraintComponent

type ElementDefinitionConstraintComponent struct {
	BackboneElement `bson:",inline"`
	Key             string `bson:"key,omitempty" json:"key,omitempty"`
	Requirements    string `bson:"requirements,omitempty" json:"requirements,omitempty"`
	Severity        string `bson:"severity,omitempty" json:"severity,omitempty"`
	Human           string `bson:"human,omitempty" json:"human,omitempty"`
	Expression      string `bson:"expression,omitempty" json:"expression,omitempty"`
	Xpath           string `bson:"xpath,omitempty" json:"xpath,omitempty"`
	Source          string `bson:"source,omitempty" json:"source,omitempty"`
}

type ElementDefinitionExampleComponent

type ElementDefinitionExampleComponent struct {
	BackboneElement      `bson:",inline"`
	Label                string           `bson:"label,omitempty" json:"label,omitempty"`
	ValueAddress         *Address         `bson:"valueAddress,omitempty" json:"valueAddress,omitempty"`
	ValueAnnotation      *Annotation      `bson:"valueAnnotation,omitempty" json:"valueAnnotation,omitempty"`
	ValueAttachment      *Attachment      `bson:"valueAttachment,omitempty" json:"valueAttachment,omitempty"`
	ValueBase64Binary    string           `bson:"valueBase64Binary,omitempty" json:"valueBase64Binary,omitempty"`
	ValueBoolean         *bool            `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueCode            string           `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
	ValueCodeableConcept *CodeableConcept `bson:"valueCodeableConcept,omitempty" json:"valueCodeableConcept,omitempty"`
	ValueCoding          *Coding          `bson:"valueCoding,omitempty" json:"valueCoding,omitempty"`
	ValueContactPoint    *ContactPoint    `bson:"valueContactPoint,omitempty" json:"valueContactPoint,omitempty"`
	ValueDate            *FHIRDateTime    `bson:"valueDate,omitempty" json:"valueDate,omitempty"`
	ValueDateTime        *FHIRDateTime    `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValueDecimal         *float64         `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
	ValueHumanName       *HumanName       `bson:"valueHumanName,omitempty" json:"valueHumanName,omitempty"`
	ValueId              string           `bson:"valueId,omitempty" json:"valueId,omitempty"`
	ValueIdentifier      *Identifier      `bson:"valueIdentifier,omitempty" json:"valueIdentifier,omitempty"`
	ValueInstant         *FHIRDateTime    `bson:"valueInstant,omitempty" json:"valueInstant,omitempty"`
	ValueInteger         *int32           `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueMarkdown        string           `bson:"valueMarkdown,omitempty" json:"valueMarkdown,omitempty"`
	ValueMeta            *Meta            `bson:"valueMeta,omitempty" json:"valueMeta,omitempty"`
	ValueOid             string           `bson:"valueOid,omitempty" json:"valueOid,omitempty"`
	ValuePeriod          *Period          `bson:"valuePeriod,omitempty" json:"valuePeriod,omitempty"`
	ValuePositiveInt     *uint32          `bson:"valuePositiveInt,omitempty" json:"valuePositiveInt,omitempty"`
	ValueQuantity        *Quantity        `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueRange           *Range           `bson:"valueRange,omitempty" json:"valueRange,omitempty"`
	ValueRatio           *Ratio           `bson:"valueRatio,omitempty" json:"valueRatio,omitempty"`
	ValueReference       *Reference       `bson:"valueReference,omitempty" json:"valueReference,omitempty"`
	ValueSampledData     *SampledData     `bson:"valueSampledData,omitempty" json:"valueSampledData,omitempty"`
	ValueSignature       *Signature       `bson:"valueSignature,omitempty" json:"valueSignature,omitempty"`
	ValueString          string           `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueTime            *FHIRDateTime    `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueTiming          *Timing          `bson:"valueTiming,omitempty" json:"valueTiming,omitempty"`
	ValueUnsignedInt     *uint32          `bson:"valueUnsignedInt,omitempty" json:"valueUnsignedInt,omitempty"`
	ValueUri             string           `bson:"valueUri,omitempty" json:"valueUri,omitempty"`
}

type ElementDefinitionMappingComponent

type ElementDefinitionMappingComponent struct {
	BackboneElement `bson:",inline"`
	Identity        string `bson:"identity,omitempty" json:"identity,omitempty"`
	Language        string `bson:"language,omitempty" json:"language,omitempty"`
	Map             string `bson:"map,omitempty" json:"map,omitempty"`
	Comment         string `bson:"comment,omitempty" json:"comment,omitempty"`
}

type ElementDefinitionSlicingComponent

type ElementDefinitionSlicingComponent struct {
	BackboneElement `bson:",inline"`
	Discriminator   []ElementDefinitionSlicingDiscriminatorComponent `bson:"discriminator,omitempty" json:"discriminator,omitempty"`
	Description     string                                           `bson:"description,omitempty" json:"description,omitempty"`
	Ordered         *bool                                            `bson:"ordered,omitempty" json:"ordered,omitempty"`
	Rules           string                                           `bson:"rules,omitempty" json:"rules,omitempty"`
}

type ElementDefinitionSlicingDiscriminatorComponent

type ElementDefinitionSlicingDiscriminatorComponent struct {
	BackboneElement `bson:",inline"`
	Type            string `bson:"type,omitempty" json:"type,omitempty"`
	Path            string `bson:"path,omitempty" json:"path,omitempty"`
}

type ElementDefinitionTypeRefComponent

type ElementDefinitionTypeRefComponent struct {
	BackboneElement `bson:",inline"`
	Code            string   `bson:"code,omitempty" json:"code,omitempty"`
	Profile         string   `bson:"profile,omitempty" json:"profile,omitempty"`
	TargetProfile   string   `bson:"targetProfile,omitempty" json:"targetProfile,omitempty"`
	Aggregation     []string `bson:"aggregation,omitempty" json:"aggregation,omitempty"`
	Versioning      string   `bson:"versioning,omitempty" json:"versioning,omitempty"`
}

type EligibilityRequest

type EligibilityRequest struct {
	DomainResource      `bson:",inline"`
	Identifier          []Identifier     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status              string           `bson:"status,omitempty" json:"status,omitempty"`
	Priority            *CodeableConcept `bson:"priority,omitempty" json:"priority,omitempty"`
	Patient             *Reference       `bson:"patient,omitempty" json:"patient,omitempty"`
	ServicedDate        *FHIRDateTime    `bson:"servicedDate,omitempty" json:"servicedDate,omitempty"`
	ServicedPeriod      *Period          `bson:"servicedPeriod,omitempty" json:"servicedPeriod,omitempty"`
	Created             *FHIRDateTime    `bson:"created,omitempty" json:"created,omitempty"`
	Enterer             *Reference       `bson:"enterer,omitempty" json:"enterer,omitempty"`
	Provider            *Reference       `bson:"provider,omitempty" json:"provider,omitempty"`
	Organization        *Reference       `bson:"organization,omitempty" json:"organization,omitempty"`
	Insurer             *Reference       `bson:"insurer,omitempty" json:"insurer,omitempty"`
	Facility            *Reference       `bson:"facility,omitempty" json:"facility,omitempty"`
	Coverage            *Reference       `bson:"coverage,omitempty" json:"coverage,omitempty"`
	BusinessArrangement string           `bson:"businessArrangement,omitempty" json:"businessArrangement,omitempty"`
	BenefitCategory     *CodeableConcept `bson:"benefitCategory,omitempty" json:"benefitCategory,omitempty"`
	BenefitSubCategory  *CodeableConcept `bson:"benefitSubCategory,omitempty" json:"benefitSubCategory,omitempty"`
}

func (*EligibilityRequest) GetBSON

func (x *EligibilityRequest) GetBSON() (interface{}, error)

func (*EligibilityRequest) MarshalJSON

func (resource *EligibilityRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*EligibilityRequest) UnmarshalJSON

func (x *EligibilityRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type EligibilityResponse

type EligibilityResponse struct {
	DomainResource      `bson:",inline"`
	Identifier          []Identifier                            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status              string                                  `bson:"status,omitempty" json:"status,omitempty"`
	Created             *FHIRDateTime                           `bson:"created,omitempty" json:"created,omitempty"`
	RequestProvider     *Reference                              `bson:"requestProvider,omitempty" json:"requestProvider,omitempty"`
	RequestOrganization *Reference                              `bson:"requestOrganization,omitempty" json:"requestOrganization,omitempty"`
	Request             *Reference                              `bson:"request,omitempty" json:"request,omitempty"`
	Outcome             *CodeableConcept                        `bson:"outcome,omitempty" json:"outcome,omitempty"`
	Disposition         string                                  `bson:"disposition,omitempty" json:"disposition,omitempty"`
	Insurer             *Reference                              `bson:"insurer,omitempty" json:"insurer,omitempty"`
	Inforce             *bool                                   `bson:"inforce,omitempty" json:"inforce,omitempty"`
	Insurance           []EligibilityResponseInsuranceComponent `bson:"insurance,omitempty" json:"insurance,omitempty"`
	Form                *CodeableConcept                        `bson:"form,omitempty" json:"form,omitempty"`
	Error               []EligibilityResponseErrorsComponent    `bson:"error,omitempty" json:"error,omitempty"`
}

func (*EligibilityResponse) GetBSON

func (x *EligibilityResponse) GetBSON() (interface{}, error)

func (*EligibilityResponse) MarshalJSON

func (resource *EligibilityResponse) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*EligibilityResponse) UnmarshalJSON

func (x *EligibilityResponse) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type EligibilityResponseBenefitComponent

type EligibilityResponseBenefitComponent struct {
	BackboneElement    `bson:",inline"`
	Type               *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	AllowedUnsignedInt *uint32          `bson:"allowedUnsignedInt,omitempty" json:"allowedUnsignedInt,omitempty"`
	AllowedString      string           `bson:"allowedString,omitempty" json:"allowedString,omitempty"`
	AllowedMoney       *Quantity        `bson:"allowedMoney,omitempty" json:"allowedMoney,omitempty"`
	UsedUnsignedInt    *uint32          `bson:"usedUnsignedInt,omitempty" json:"usedUnsignedInt,omitempty"`
	UsedMoney          *Quantity        `bson:"usedMoney,omitempty" json:"usedMoney,omitempty"`
}

type EligibilityResponseBenefitsComponent

type EligibilityResponseBenefitsComponent struct {
	BackboneElement `bson:",inline"`
	Category        *CodeableConcept                      `bson:"category,omitempty" json:"category,omitempty"`
	SubCategory     *CodeableConcept                      `bson:"subCategory,omitempty" json:"subCategory,omitempty"`
	Excluded        *bool                                 `bson:"excluded,omitempty" json:"excluded,omitempty"`
	Name            string                                `bson:"name,omitempty" json:"name,omitempty"`
	Description     string                                `bson:"description,omitempty" json:"description,omitempty"`
	Network         *CodeableConcept                      `bson:"network,omitempty" json:"network,omitempty"`
	Unit            *CodeableConcept                      `bson:"unit,omitempty" json:"unit,omitempty"`
	Term            *CodeableConcept                      `bson:"term,omitempty" json:"term,omitempty"`
	Financial       []EligibilityResponseBenefitComponent `bson:"financial,omitempty" json:"financial,omitempty"`
}

type EligibilityResponseErrorsComponent

type EligibilityResponseErrorsComponent struct {
	BackboneElement `bson:",inline"`
	Code            *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
}

type EligibilityResponseInsuranceComponent

type EligibilityResponseInsuranceComponent struct {
	BackboneElement `bson:",inline"`
	Coverage        *Reference                             `bson:"coverage,omitempty" json:"coverage,omitempty"`
	Contract        *Reference                             `bson:"contract,omitempty" json:"contract,omitempty"`
	BenefitBalance  []EligibilityResponseBenefitsComponent `bson:"benefitBalance,omitempty" json:"benefitBalance,omitempty"`
}

type Encounter

type Encounter struct {
	DomainResource   `bson:",inline"`
	Identifier       []Identifier                       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status           string                             `bson:"status,omitempty" json:"status,omitempty"`
	StatusHistory    []EncounterStatusHistoryComponent  `bson:"statusHistory,omitempty" json:"statusHistory,omitempty"`
	Class            *Coding                            `bson:"class,omitempty" json:"class,omitempty"`
	ClassHistory     []EncounterClassHistoryComponent   `bson:"classHistory,omitempty" json:"classHistory,omitempty"`
	Type             []CodeableConcept                  `bson:"type,omitempty" json:"type,omitempty"`
	Priority         *CodeableConcept                   `bson:"priority,omitempty" json:"priority,omitempty"`
	Subject          *Reference                         `bson:"subject,omitempty" json:"subject,omitempty"`
	EpisodeOfCare    []Reference                        `bson:"episodeOfCare,omitempty" json:"episodeOfCare,omitempty"`
	IncomingReferral []Reference                        `bson:"incomingReferral,omitempty" json:"incomingReferral,omitempty"`
	Participant      []EncounterParticipantComponent    `bson:"participant,omitempty" json:"participant,omitempty"`
	Appointment      *Reference                         `bson:"appointment,omitempty" json:"appointment,omitempty"`
	Period           *Period                            `bson:"period,omitempty" json:"period,omitempty"`
	Length           *Quantity                          `bson:"length,omitempty" json:"length,omitempty"`
	Reason           []CodeableConcept                  `bson:"reason,omitempty" json:"reason,omitempty"`
	Diagnosis        []EncounterDiagnosisComponent      `bson:"diagnosis,omitempty" json:"diagnosis,omitempty"`
	Account          []Reference                        `bson:"account,omitempty" json:"account,omitempty"`
	Hospitalization  *EncounterHospitalizationComponent `bson:"hospitalization,omitempty" json:"hospitalization,omitempty"`
	Location         []EncounterLocationComponent       `bson:"location,omitempty" json:"location,omitempty"`
	ServiceProvider  *Reference                         `bson:"serviceProvider,omitempty" json:"serviceProvider,omitempty"`
	PartOf           *Reference                         `bson:"partOf,omitempty" json:"partOf,omitempty"`
}

func (*Encounter) GetBSON

func (x *Encounter) GetBSON() (interface{}, error)

func (*Encounter) MarshalJSON

func (resource *Encounter) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Encounter) UnmarshalJSON

func (x *Encounter) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type EncounterClassHistoryComponent

type EncounterClassHistoryComponent struct {
	BackboneElement `bson:",inline"`
	Class           *Coding `bson:"class,omitempty" json:"class,omitempty"`
	Period          *Period `bson:"period,omitempty" json:"period,omitempty"`
}

type EncounterDiagnosisComponent

type EncounterDiagnosisComponent struct {
	BackboneElement `bson:",inline"`
	Condition       *Reference       `bson:"condition,omitempty" json:"condition,omitempty"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Rank            *uint32          `bson:"rank,omitempty" json:"rank,omitempty"`
}

type EncounterHospitalizationComponent

type EncounterHospitalizationComponent struct {
	BackboneElement        `bson:",inline"`
	PreAdmissionIdentifier *Identifier       `bson:"preAdmissionIdentifier,omitempty" json:"preAdmissionIdentifier,omitempty"`
	Origin                 *Reference        `bson:"origin,omitempty" json:"origin,omitempty"`
	AdmitSource            *CodeableConcept  `bson:"admitSource,omitempty" json:"admitSource,omitempty"`
	ReAdmission            *CodeableConcept  `bson:"reAdmission,omitempty" json:"reAdmission,omitempty"`
	DietPreference         []CodeableConcept `bson:"dietPreference,omitempty" json:"dietPreference,omitempty"`
	SpecialCourtesy        []CodeableConcept `bson:"specialCourtesy,omitempty" json:"specialCourtesy,omitempty"`
	SpecialArrangement     []CodeableConcept `bson:"specialArrangement,omitempty" json:"specialArrangement,omitempty"`
	Destination            *Reference        `bson:"destination,omitempty" json:"destination,omitempty"`
	DischargeDisposition   *CodeableConcept  `bson:"dischargeDisposition,omitempty" json:"dischargeDisposition,omitempty"`
}

type EncounterLocationComponent

type EncounterLocationComponent struct {
	BackboneElement `bson:",inline"`
	Location        *Reference `bson:"location,omitempty" json:"location,omitempty"`
	Status          string     `bson:"status,omitempty" json:"status,omitempty"`
	Period          *Period    `bson:"period,omitempty" json:"period,omitempty"`
}

type EncounterParticipantComponent

type EncounterParticipantComponent struct {
	BackboneElement `bson:",inline"`
	Type            []CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Period          *Period           `bson:"period,omitempty" json:"period,omitempty"`
	Individual      *Reference        `bson:"individual,omitempty" json:"individual,omitempty"`
}

type EncounterStatusHistoryComponent

type EncounterStatusHistoryComponent struct {
	BackboneElement `bson:",inline"`
	Status          string  `bson:"status,omitempty" json:"status,omitempty"`
	Period          *Period `bson:"period,omitempty" json:"period,omitempty"`
}

type Endpoint

type Endpoint struct {
	DomainResource       `bson:",inline"`
	Identifier           []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               string            `bson:"status,omitempty" json:"status,omitempty"`
	ConnectionType       *Coding           `bson:"connectionType,omitempty" json:"connectionType,omitempty"`
	Name                 string            `bson:"name,omitempty" json:"name,omitempty"`
	ManagingOrganization *Reference        `bson:"managingOrganization,omitempty" json:"managingOrganization,omitempty"`
	Contact              []ContactPoint    `bson:"contact,omitempty" json:"contact,omitempty"`
	Period               *Period           `bson:"period,omitempty" json:"period,omitempty"`
	PayloadType          []CodeableConcept `bson:"payloadType,omitempty" json:"payloadType,omitempty"`
	PayloadMimeType      []string          `bson:"payloadMimeType,omitempty" json:"payloadMimeType,omitempty"`
	Address              string            `bson:"address,omitempty" json:"address,omitempty"`
	Header               []string          `bson:"header,omitempty" json:"header,omitempty"`
}

func (*Endpoint) GetBSON

func (x *Endpoint) GetBSON() (interface{}, error)

func (*Endpoint) MarshalJSON

func (resource *Endpoint) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Endpoint) UnmarshalJSON

func (x *Endpoint) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type EnrollmentRequest

type EnrollmentRequest struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier  `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status         string        `bson:"status,omitempty" json:"status,omitempty"`
	Created        *FHIRDateTime `bson:"created,omitempty" json:"created,omitempty"`
	Insurer        *Reference    `bson:"insurer,omitempty" json:"insurer,omitempty"`
	Provider       *Reference    `bson:"provider,omitempty" json:"provider,omitempty"`
	Organization   *Reference    `bson:"organization,omitempty" json:"organization,omitempty"`
	Subject        *Reference    `bson:"subject,omitempty" json:"subject,omitempty"`
	Coverage       *Reference    `bson:"coverage,omitempty" json:"coverage,omitempty"`
}

func (*EnrollmentRequest) GetBSON

func (x *EnrollmentRequest) GetBSON() (interface{}, error)

func (*EnrollmentRequest) MarshalJSON

func (resource *EnrollmentRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*EnrollmentRequest) UnmarshalJSON

func (x *EnrollmentRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type EnrollmentResponse

type EnrollmentResponse struct {
	DomainResource      `bson:",inline"`
	Identifier          []Identifier     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status              string           `bson:"status,omitempty" json:"status,omitempty"`
	Request             *Reference       `bson:"request,omitempty" json:"request,omitempty"`
	Outcome             *CodeableConcept `bson:"outcome,omitempty" json:"outcome,omitempty"`
	Disposition         string           `bson:"disposition,omitempty" json:"disposition,omitempty"`
	Created             *FHIRDateTime    `bson:"created,omitempty" json:"created,omitempty"`
	Organization        *Reference       `bson:"organization,omitempty" json:"organization,omitempty"`
	RequestProvider     *Reference       `bson:"requestProvider,omitempty" json:"requestProvider,omitempty"`
	RequestOrganization *Reference       `bson:"requestOrganization,omitempty" json:"requestOrganization,omitempty"`
}

func (*EnrollmentResponse) GetBSON

func (x *EnrollmentResponse) GetBSON() (interface{}, error)

func (*EnrollmentResponse) MarshalJSON

func (resource *EnrollmentResponse) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*EnrollmentResponse) UnmarshalJSON

func (x *EnrollmentResponse) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type EpisodeOfCare

type EpisodeOfCare struct {
	DomainResource       `bson:",inline"`
	Identifier           []Identifier                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               string                                `bson:"status,omitempty" json:"status,omitempty"`
	StatusHistory        []EpisodeOfCareStatusHistoryComponent `bson:"statusHistory,omitempty" json:"statusHistory,omitempty"`
	Type                 []CodeableConcept                     `bson:"type,omitempty" json:"type,omitempty"`
	Diagnosis            []EpisodeOfCareDiagnosisComponent     `bson:"diagnosis,omitempty" json:"diagnosis,omitempty"`
	Patient              *Reference                            `bson:"patient,omitempty" json:"patient,omitempty"`
	ManagingOrganization *Reference                            `bson:"managingOrganization,omitempty" json:"managingOrganization,omitempty"`
	Period               *Period                               `bson:"period,omitempty" json:"period,omitempty"`
	ReferralRequest      []Reference                           `bson:"referralRequest,omitempty" json:"referralRequest,omitempty"`
	CareManager          *Reference                            `bson:"careManager,omitempty" json:"careManager,omitempty"`
	Team                 []Reference                           `bson:"team,omitempty" json:"team,omitempty"`
	Account              []Reference                           `bson:"account,omitempty" json:"account,omitempty"`
}

func (*EpisodeOfCare) GetBSON

func (x *EpisodeOfCare) GetBSON() (interface{}, error)

func (*EpisodeOfCare) MarshalJSON

func (resource *EpisodeOfCare) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*EpisodeOfCare) UnmarshalJSON

func (x *EpisodeOfCare) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type EpisodeOfCareDiagnosisComponent

type EpisodeOfCareDiagnosisComponent struct {
	BackboneElement `bson:",inline"`
	Condition       *Reference       `bson:"condition,omitempty" json:"condition,omitempty"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Rank            *uint32          `bson:"rank,omitempty" json:"rank,omitempty"`
}

type EpisodeOfCareStatusHistoryComponent

type EpisodeOfCareStatusHistoryComponent struct {
	BackboneElement `bson:",inline"`
	Status          string  `bson:"status,omitempty" json:"status,omitempty"`
	Period          *Period `bson:"period,omitempty" json:"period,omitempty"`
}

type ExpansionProfile

type ExpansionProfile struct {
	DomainResource         `bson:",inline"`
	Url                    string                                   `bson:"url,omitempty" json:"url,omitempty"`
	Identifier             *Identifier                              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version                string                                   `bson:"version,omitempty" json:"version,omitempty"`
	Name                   string                                   `bson:"name,omitempty" json:"name,omitempty"`
	Status                 string                                   `bson:"status,omitempty" json:"status,omitempty"`
	Experimental           *bool                                    `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date                   *FHIRDateTime                            `bson:"date,omitempty" json:"date,omitempty"`
	Publisher              string                                   `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact                []ContactDetail                          `bson:"contact,omitempty" json:"contact,omitempty"`
	Description            string                                   `bson:"description,omitempty" json:"description,omitempty"`
	UseContext             []UsageContext                           `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction           []CodeableConcept                        `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	FixedVersion           []ExpansionProfileFixedVersionComponent  `bson:"fixedVersion,omitempty" json:"fixedVersion,omitempty"`
	ExcludedSystem         *ExpansionProfileExcludedSystemComponent `bson:"excludedSystem,omitempty" json:"excludedSystem,omitempty"`
	IncludeDesignations    *bool                                    `bson:"includeDesignations,omitempty" json:"includeDesignations,omitempty"`
	Designation            *ExpansionProfileDesignationComponent    `bson:"designation,omitempty" json:"designation,omitempty"`
	IncludeDefinition      *bool                                    `bson:"includeDefinition,omitempty" json:"includeDefinition,omitempty"`
	ActiveOnly             *bool                                    `bson:"activeOnly,omitempty" json:"activeOnly,omitempty"`
	ExcludeNested          *bool                                    `bson:"excludeNested,omitempty" json:"excludeNested,omitempty"`
	ExcludeNotForUI        *bool                                    `bson:"excludeNotForUI,omitempty" json:"excludeNotForUI,omitempty"`
	ExcludePostCoordinated *bool                                    `bson:"excludePostCoordinated,omitempty" json:"excludePostCoordinated,omitempty"`
	DisplayLanguage        string                                   `bson:"displayLanguage,omitempty" json:"displayLanguage,omitempty"`
	LimitedExpansion       *bool                                    `bson:"limitedExpansion,omitempty" json:"limitedExpansion,omitempty"`
}

func (*ExpansionProfile) GetBSON

func (x *ExpansionProfile) GetBSON() (interface{}, error)

func (*ExpansionProfile) MarshalJSON

func (resource *ExpansionProfile) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ExpansionProfile) UnmarshalJSON

func (x *ExpansionProfile) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ExpansionProfileDesignationComponent

type ExpansionProfileDesignationComponent struct {
	BackboneElement `bson:",inline"`
	Include         *ExpansionProfileDesignationIncludeComponent `bson:"include,omitempty" json:"include,omitempty"`
	Exclude         *ExpansionProfileDesignationExcludeComponent `bson:"exclude,omitempty" json:"exclude,omitempty"`
}

type ExpansionProfileDesignationExcludeComponent

type ExpansionProfileDesignationExcludeComponent struct {
	BackboneElement `bson:",inline"`
	Designation     []ExpansionProfileDesignationExcludeDesignationComponent `bson:"designation,omitempty" json:"designation,omitempty"`
}

type ExpansionProfileDesignationExcludeDesignationComponent

type ExpansionProfileDesignationExcludeDesignationComponent struct {
	BackboneElement `bson:",inline"`
	Language        string  `bson:"language,omitempty" json:"language,omitempty"`
	Use             *Coding `bson:"use,omitempty" json:"use,omitempty"`
}

type ExpansionProfileDesignationIncludeComponent

type ExpansionProfileDesignationIncludeComponent struct {
	BackboneElement `bson:",inline"`
	Designation     []ExpansionProfileDesignationIncludeDesignationComponent `bson:"designation,omitempty" json:"designation,omitempty"`
}

type ExpansionProfileDesignationIncludeDesignationComponent

type ExpansionProfileDesignationIncludeDesignationComponent struct {
	BackboneElement `bson:",inline"`
	Language        string  `bson:"language,omitempty" json:"language,omitempty"`
	Use             *Coding `bson:"use,omitempty" json:"use,omitempty"`
}

type ExpansionProfileExcludedSystemComponent

type ExpansionProfileExcludedSystemComponent struct {
	BackboneElement `bson:",inline"`
	System          string `bson:"system,omitempty" json:"system,omitempty"`
	Version         string `bson:"version,omitempty" json:"version,omitempty"`
}

type ExpansionProfileFixedVersionComponent

type ExpansionProfileFixedVersionComponent struct {
	BackboneElement `bson:",inline"`
	System          string `bson:"system,omitempty" json:"system,omitempty"`
	Version         string `bson:"version,omitempty" json:"version,omitempty"`
	Mode            string `bson:"mode,omitempty" json:"mode,omitempty"`
}

type ExplanationOfBenefit

type ExplanationOfBenefit struct {
	DomainResource       `bson:",inline"`
	Identifier           []Identifier                                         `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               string                                               `bson:"status,omitempty" json:"status,omitempty"`
	Type                 *CodeableConcept                                     `bson:"type,omitempty" json:"type,omitempty"`
	SubType              []CodeableConcept                                    `bson:"subType,omitempty" json:"subType,omitempty"`
	Patient              *Reference                                           `bson:"patient,omitempty" json:"patient,omitempty"`
	BillablePeriod       *Period                                              `bson:"billablePeriod,omitempty" json:"billablePeriod,omitempty"`
	Created              *FHIRDateTime                                        `bson:"created,omitempty" json:"created,omitempty"`
	Enterer              *Reference                                           `bson:"enterer,omitempty" json:"enterer,omitempty"`
	Insurer              *Reference                                           `bson:"insurer,omitempty" json:"insurer,omitempty"`
	Provider             *Reference                                           `bson:"provider,omitempty" json:"provider,omitempty"`
	Organization         *Reference                                           `bson:"organization,omitempty" json:"organization,omitempty"`
	Referral             *Reference                                           `bson:"referral,omitempty" json:"referral,omitempty"`
	Facility             *Reference                                           `bson:"facility,omitempty" json:"facility,omitempty"`
	Claim                *Reference                                           `bson:"claim,omitempty" json:"claim,omitempty"`
	ClaimResponse        *Reference                                           `bson:"claimResponse,omitempty" json:"claimResponse,omitempty"`
	Outcome              *CodeableConcept                                     `bson:"outcome,omitempty" json:"outcome,omitempty"`
	Disposition          string                                               `bson:"disposition,omitempty" json:"disposition,omitempty"`
	Related              []ExplanationOfBenefitRelatedClaimComponent          `bson:"related,omitempty" json:"related,omitempty"`
	Prescription         *Reference                                           `bson:"prescription,omitempty" json:"prescription,omitempty"`
	OriginalPrescription *Reference                                           `bson:"originalPrescription,omitempty" json:"originalPrescription,omitempty"`
	Payee                *ExplanationOfBenefitPayeeComponent                  `bson:"payee,omitempty" json:"payee,omitempty"`
	Information          []ExplanationOfBenefitSupportingInformationComponent `bson:"information,omitempty" json:"information,omitempty"`
	CareTeam             []ExplanationOfBenefitCareTeamComponent              `bson:"careTeam,omitempty" json:"careTeam,omitempty"`
	Diagnosis            []ExplanationOfBenefitDiagnosisComponent             `bson:"diagnosis,omitempty" json:"diagnosis,omitempty"`
	Procedure            []ExplanationOfBenefitProcedureComponent             `bson:"procedure,omitempty" json:"procedure,omitempty"`
	Precedence           *uint32                                              `bson:"precedence,omitempty" json:"precedence,omitempty"`
	Insurance            *ExplanationOfBenefitInsuranceComponent              `bson:"insurance,omitempty" json:"insurance,omitempty"`
	Accident             *ExplanationOfBenefitAccidentComponent               `bson:"accident,omitempty" json:"accident,omitempty"`
	EmploymentImpacted   *Period                                              `bson:"employmentImpacted,omitempty" json:"employmentImpacted,omitempty"`
	Hospitalization      *Period                                              `bson:"hospitalization,omitempty" json:"hospitalization,omitempty"`
	Item                 []ExplanationOfBenefitItemComponent                  `bson:"item,omitempty" json:"item,omitempty"`
	AddItem              []ExplanationOfBenefitAddedItemComponent             `bson:"addItem,omitempty" json:"addItem,omitempty"`
	TotalCost            *Quantity                                            `bson:"totalCost,omitempty" json:"totalCost,omitempty"`
	UnallocDeductable    *Quantity                                            `bson:"unallocDeductable,omitempty" json:"unallocDeductable,omitempty"`
	TotalBenefit         *Quantity                                            `bson:"totalBenefit,omitempty" json:"totalBenefit,omitempty"`
	Payment              *ExplanationOfBenefitPaymentComponent                `bson:"payment,omitempty" json:"payment,omitempty"`
	Form                 *CodeableConcept                                     `bson:"form,omitempty" json:"form,omitempty"`
	ProcessNote          []ExplanationOfBenefitNoteComponent                  `bson:"processNote,omitempty" json:"processNote,omitempty"`
	BenefitBalance       []ExplanationOfBenefitBenefitBalanceComponent        `bson:"benefitBalance,omitempty" json:"benefitBalance,omitempty"`
}

func (*ExplanationOfBenefit) GetBSON

func (x *ExplanationOfBenefit) GetBSON() (interface{}, error)

func (*ExplanationOfBenefit) MarshalJSON

func (resource *ExplanationOfBenefit) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ExplanationOfBenefit) UnmarshalJSON

func (x *ExplanationOfBenefit) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ExplanationOfBenefitAccidentComponent

type ExplanationOfBenefitAccidentComponent struct {
	BackboneElement   `bson:",inline"`
	Date              *FHIRDateTime    `bson:"date,omitempty" json:"date,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	LocationAddress   *Address         `bson:"locationAddress,omitempty" json:"locationAddress,omitempty"`
	LocationReference *Reference       `bson:"locationReference,omitempty" json:"locationReference,omitempty"`
}

type ExplanationOfBenefitAddedItemComponent

type ExplanationOfBenefitAddedItemComponent struct {
	BackboneElement `bson:",inline"`
	SequenceLinkId  []uint32                                        `bson:"sequenceLinkId,omitempty" json:"sequenceLinkId,omitempty"`
	Revenue         *CodeableConcept                                `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category        *CodeableConcept                                `bson:"category,omitempty" json:"category,omitempty"`
	Service         *CodeableConcept                                `bson:"service,omitempty" json:"service,omitempty"`
	Modifier        []CodeableConcept                               `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Fee             *Quantity                                       `bson:"fee,omitempty" json:"fee,omitempty"`
	NoteNumber      []uint32                                        `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication    []ExplanationOfBenefitAdjudicationComponent     `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	Detail          []ExplanationOfBenefitAddedItemsDetailComponent `bson:"detail,omitempty" json:"detail,omitempty"`
}

type ExplanationOfBenefitAddedItemsDetailComponent

type ExplanationOfBenefitAddedItemsDetailComponent struct {
	BackboneElement `bson:",inline"`
	Revenue         *CodeableConcept                            `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category        *CodeableConcept                            `bson:"category,omitempty" json:"category,omitempty"`
	Service         *CodeableConcept                            `bson:"service,omitempty" json:"service,omitempty"`
	Modifier        []CodeableConcept                           `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Fee             *Quantity                                   `bson:"fee,omitempty" json:"fee,omitempty"`
	NoteNumber      []uint32                                    `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication    []ExplanationOfBenefitAdjudicationComponent `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
}

type ExplanationOfBenefitAdjudicationComponent

type ExplanationOfBenefitAdjudicationComponent struct {
	BackboneElement `bson:",inline"`
	Category        *CodeableConcept `bson:"category,omitempty" json:"category,omitempty"`
	Reason          *CodeableConcept `bson:"reason,omitempty" json:"reason,omitempty"`
	Amount          *Quantity        `bson:"amount,omitempty" json:"amount,omitempty"`
	Value           *float64         `bson:"value,omitempty" json:"value,omitempty"`
}

type ExplanationOfBenefitBenefitBalanceComponent

type ExplanationOfBenefitBenefitBalanceComponent struct {
	BackboneElement `bson:",inline"`
	Category        *CodeableConcept                       `bson:"category,omitempty" json:"category,omitempty"`
	SubCategory     *CodeableConcept                       `bson:"subCategory,omitempty" json:"subCategory,omitempty"`
	Excluded        *bool                                  `bson:"excluded,omitempty" json:"excluded,omitempty"`
	Name            string                                 `bson:"name,omitempty" json:"name,omitempty"`
	Description     string                                 `bson:"description,omitempty" json:"description,omitempty"`
	Network         *CodeableConcept                       `bson:"network,omitempty" json:"network,omitempty"`
	Unit            *CodeableConcept                       `bson:"unit,omitempty" json:"unit,omitempty"`
	Term            *CodeableConcept                       `bson:"term,omitempty" json:"term,omitempty"`
	Financial       []ExplanationOfBenefitBenefitComponent `bson:"financial,omitempty" json:"financial,omitempty"`
}

type ExplanationOfBenefitBenefitComponent

type ExplanationOfBenefitBenefitComponent struct {
	BackboneElement    `bson:",inline"`
	Type               *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	AllowedUnsignedInt *uint32          `bson:"allowedUnsignedInt,omitempty" json:"allowedUnsignedInt,omitempty"`
	AllowedString      string           `bson:"allowedString,omitempty" json:"allowedString,omitempty"`
	AllowedMoney       *Quantity        `bson:"allowedMoney,omitempty" json:"allowedMoney,omitempty"`
	UsedUnsignedInt    *uint32          `bson:"usedUnsignedInt,omitempty" json:"usedUnsignedInt,omitempty"`
	UsedMoney          *Quantity        `bson:"usedMoney,omitempty" json:"usedMoney,omitempty"`
}

type ExplanationOfBenefitCareTeamComponent

type ExplanationOfBenefitCareTeamComponent struct {
	BackboneElement `bson:",inline"`
	Sequence        *uint32          `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Provider        *Reference       `bson:"provider,omitempty" json:"provider,omitempty"`
	Responsible     *bool            `bson:"responsible,omitempty" json:"responsible,omitempty"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Qualification   *CodeableConcept `bson:"qualification,omitempty" json:"qualification,omitempty"`
}

type ExplanationOfBenefitDetailComponent

type ExplanationOfBenefitDetailComponent struct {
	BackboneElement `bson:",inline"`
	Sequence        *uint32                                     `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Type            *CodeableConcept                            `bson:"type,omitempty" json:"type,omitempty"`
	Revenue         *CodeableConcept                            `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category        *CodeableConcept                            `bson:"category,omitempty" json:"category,omitempty"`
	Service         *CodeableConcept                            `bson:"service,omitempty" json:"service,omitempty"`
	Modifier        []CodeableConcept                           `bson:"modifier,omitempty" json:"modifier,omitempty"`
	ProgramCode     []CodeableConcept                           `bson:"programCode,omitempty" json:"programCode,omitempty"`
	Quantity        *Quantity                                   `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice       *Quantity                                   `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor          *float64                                    `bson:"factor,omitempty" json:"factor,omitempty"`
	Net             *Quantity                                   `bson:"net,omitempty" json:"net,omitempty"`
	Udi             []Reference                                 `bson:"udi,omitempty" json:"udi,omitempty"`
	NoteNumber      []uint32                                    `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication    []ExplanationOfBenefitAdjudicationComponent `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	SubDetail       []ExplanationOfBenefitSubDetailComponent    `bson:"subDetail,omitempty" json:"subDetail,omitempty"`
}

type ExplanationOfBenefitDiagnosisComponent

type ExplanationOfBenefitDiagnosisComponent struct {
	BackboneElement          `bson:",inline"`
	Sequence                 *uint32           `bson:"sequence,omitempty" json:"sequence,omitempty"`
	DiagnosisCodeableConcept *CodeableConcept  `bson:"diagnosisCodeableConcept,omitempty" json:"diagnosisCodeableConcept,omitempty"`
	DiagnosisReference       *Reference        `bson:"diagnosisReference,omitempty" json:"diagnosisReference,omitempty"`
	Type                     []CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	PackageCode              *CodeableConcept  `bson:"packageCode,omitempty" json:"packageCode,omitempty"`
}

type ExplanationOfBenefitInsuranceComponent

type ExplanationOfBenefitInsuranceComponent struct {
	BackboneElement `bson:",inline"`
	Coverage        *Reference `bson:"coverage,omitempty" json:"coverage,omitempty"`
	PreAuthRef      []string   `bson:"preAuthRef,omitempty" json:"preAuthRef,omitempty"`
}

type ExplanationOfBenefitItemComponent

type ExplanationOfBenefitItemComponent struct {
	BackboneElement         `bson:",inline"`
	Sequence                *uint32                                     `bson:"sequence,omitempty" json:"sequence,omitempty"`
	CareTeamLinkId          []uint32                                    `bson:"careTeamLinkId,omitempty" json:"careTeamLinkId,omitempty"`
	DiagnosisLinkId         []uint32                                    `bson:"diagnosisLinkId,omitempty" json:"diagnosisLinkId,omitempty"`
	ProcedureLinkId         []uint32                                    `bson:"procedureLinkId,omitempty" json:"procedureLinkId,omitempty"`
	InformationLinkId       []uint32                                    `bson:"informationLinkId,omitempty" json:"informationLinkId,omitempty"`
	Revenue                 *CodeableConcept                            `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category                *CodeableConcept                            `bson:"category,omitempty" json:"category,omitempty"`
	Service                 *CodeableConcept                            `bson:"service,omitempty" json:"service,omitempty"`
	Modifier                []CodeableConcept                           `bson:"modifier,omitempty" json:"modifier,omitempty"`
	ProgramCode             []CodeableConcept                           `bson:"programCode,omitempty" json:"programCode,omitempty"`
	ServicedDate            *FHIRDateTime                               `bson:"servicedDate,omitempty" json:"servicedDate,omitempty"`
	ServicedPeriod          *Period                                     `bson:"servicedPeriod,omitempty" json:"servicedPeriod,omitempty"`
	LocationCodeableConcept *CodeableConcept                            `bson:"locationCodeableConcept,omitempty" json:"locationCodeableConcept,omitempty"`
	LocationAddress         *Address                                    `bson:"locationAddress,omitempty" json:"locationAddress,omitempty"`
	LocationReference       *Reference                                  `bson:"locationReference,omitempty" json:"locationReference,omitempty"`
	Quantity                *Quantity                                   `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice               *Quantity                                   `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor                  *float64                                    `bson:"factor,omitempty" json:"factor,omitempty"`
	Net                     *Quantity                                   `bson:"net,omitempty" json:"net,omitempty"`
	Udi                     []Reference                                 `bson:"udi,omitempty" json:"udi,omitempty"`
	BodySite                *CodeableConcept                            `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	SubSite                 []CodeableConcept                           `bson:"subSite,omitempty" json:"subSite,omitempty"`
	Encounter               []Reference                                 `bson:"encounter,omitempty" json:"encounter,omitempty"`
	NoteNumber              []uint32                                    `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication            []ExplanationOfBenefitAdjudicationComponent `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	Detail                  []ExplanationOfBenefitDetailComponent       `bson:"detail,omitempty" json:"detail,omitempty"`
}

type ExplanationOfBenefitNoteComponent

type ExplanationOfBenefitNoteComponent struct {
	BackboneElement `bson:",inline"`
	Number          *uint32          `bson:"number,omitempty" json:"number,omitempty"`
	Type            *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Text            string           `bson:"text,omitempty" json:"text,omitempty"`
	Language        *CodeableConcept `bson:"language,omitempty" json:"language,omitempty"`
}

type ExplanationOfBenefitPayeeComponent

type ExplanationOfBenefitPayeeComponent struct {
	BackboneElement `bson:",inline"`
	Type            *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	ResourceType    *CodeableConcept `bson:"resourceType,omitempty" json:"resourceType,omitempty"`
	Party           *Reference       `bson:"party,omitempty" json:"party,omitempty"`
}

type ExplanationOfBenefitPaymentComponent

type ExplanationOfBenefitPaymentComponent struct {
	BackboneElement  `bson:",inline"`
	Type             *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Adjustment       *Quantity        `bson:"adjustment,omitempty" json:"adjustment,omitempty"`
	AdjustmentReason *CodeableConcept `bson:"adjustmentReason,omitempty" json:"adjustmentReason,omitempty"`
	Date             *FHIRDateTime    `bson:"date,omitempty" json:"date,omitempty"`
	Amount           *Quantity        `bson:"amount,omitempty" json:"amount,omitempty"`
	Identifier       *Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
}

type ExplanationOfBenefitProcedureComponent

type ExplanationOfBenefitProcedureComponent struct {
	BackboneElement          `bson:",inline"`
	Sequence                 *uint32          `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Date                     *FHIRDateTime    `bson:"date,omitempty" json:"date,omitempty"`
	ProcedureCodeableConcept *CodeableConcept `bson:"procedureCodeableConcept,omitempty" json:"procedureCodeableConcept,omitempty"`
	ProcedureReference       *Reference       `bson:"procedureReference,omitempty" json:"procedureReference,omitempty"`
}

type ExplanationOfBenefitRelatedClaimComponent

type ExplanationOfBenefitRelatedClaimComponent struct {
	BackboneElement `bson:",inline"`
	Claim           *Reference       `bson:"claim,omitempty" json:"claim,omitempty"`
	Relationship    *CodeableConcept `bson:"relationship,omitempty" json:"relationship,omitempty"`
	Reference       *Identifier      `bson:"reference,omitempty" json:"reference,omitempty"`
}

type ExplanationOfBenefitSubDetailComponent

type ExplanationOfBenefitSubDetailComponent struct {
	BackboneElement `bson:",inline"`
	Sequence        *uint32                                     `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Type            *CodeableConcept                            `bson:"type,omitempty" json:"type,omitempty"`
	Revenue         *CodeableConcept                            `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category        *CodeableConcept                            `bson:"category,omitempty" json:"category,omitempty"`
	Service         *CodeableConcept                            `bson:"service,omitempty" json:"service,omitempty"`
	Modifier        []CodeableConcept                           `bson:"modifier,omitempty" json:"modifier,omitempty"`
	ProgramCode     []CodeableConcept                           `bson:"programCode,omitempty" json:"programCode,omitempty"`
	Quantity        *Quantity                                   `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice       *Quantity                                   `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor          *float64                                    `bson:"factor,omitempty" json:"factor,omitempty"`
	Net             *Quantity                                   `bson:"net,omitempty" json:"net,omitempty"`
	Udi             []Reference                                 `bson:"udi,omitempty" json:"udi,omitempty"`
	NoteNumber      []uint32                                    `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication    []ExplanationOfBenefitAdjudicationComponent `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
}

type ExplanationOfBenefitSupportingInformationComponent

type ExplanationOfBenefitSupportingInformationComponent struct {
	BackboneElement `bson:",inline"`
	Sequence        *uint32          `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Category        *CodeableConcept `bson:"category,omitempty" json:"category,omitempty"`
	Code            *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	TimingDate      *FHIRDateTime    `bson:"timingDate,omitempty" json:"timingDate,omitempty"`
	TimingPeriod    *Period          `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	ValueString     string           `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueQuantity   *Quantity        `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueAttachment *Attachment      `bson:"valueAttachment,omitempty" json:"valueAttachment,omitempty"`
	ValueReference  *Reference       `bson:"valueReference,omitempty" json:"valueReference,omitempty"`
	Reason          *Coding          `bson:"reason,omitempty" json:"reason,omitempty"`
}

type Extension

type Extension struct {
	Url                  string           `bson:"url,omitempty" json:"url,omitempty"`
	ValueAddress         *Address         `bson:"valueAddress,omitempty" json:"valueAddress,omitempty"`
	ValueAnnotation      *Annotation      `bson:"valueAnnotation,omitempty" json:"valueAnnotation,omitempty"`
	ValueAttachment      *Attachment      `bson:"valueAttachment,omitempty" json:"valueAttachment,omitempty"`
	ValueBase64Binary    string           `bson:"valueBase64Binary,omitempty" json:"valueBase64Binary,omitempty"`
	ValueBoolean         *bool            `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueCode            string           `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
	ValueCodeableConcept *CodeableConcept `bson:"valueCodeableConcept,omitempty" json:"valueCodeableConcept,omitempty"`
	ValueCoding          *Coding          `bson:"valueCoding,omitempty" json:"valueCoding,omitempty"`
	ValueContactPoint    *ContactPoint    `bson:"valueContactPoint,omitempty" json:"valueContactPoint,omitempty"`
	ValueDate            *FHIRDateTime    `bson:"valueDate,omitempty" json:"valueDate,omitempty"`
	ValueDateTime        *FHIRDateTime    `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValueDecimal         *float64         `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
	ValueHumanName       *HumanName       `bson:"valueHumanName,omitempty" json:"valueHumanName,omitempty"`
	ValueId              string           `bson:"valueId,omitempty" json:"valueId,omitempty"`
	ValueIdentifier      *Identifier      `bson:"valueIdentifier,omitempty" json:"valueIdentifier,omitempty"`
	ValueInstant         *FHIRDateTime    `bson:"valueInstant,omitempty" json:"valueInstant,omitempty"`
	ValueInteger         *int32           `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueMarkdown        string           `bson:"valueMarkdown,omitempty" json:"valueMarkdown,omitempty"`
	ValueMeta            *Meta            `bson:"valueMeta,omitempty" json:"valueMeta,omitempty"`
	ValueOid             string           `bson:"valueOid,omitempty" json:"valueOid,omitempty"`
	ValuePeriod          *Period          `bson:"valuePeriod,omitempty" json:"valuePeriod,omitempty"`
	ValuePositiveInt     *uint32          `bson:"valuePositiveInt,omitempty" json:"valuePositiveInt,omitempty"`
	ValueQuantity        *Quantity        `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueRange           *Range           `bson:"valueRange,omitempty" json:"valueRange,omitempty"`
	ValueRatio           *Ratio           `bson:"valueRatio,omitempty" json:"valueRatio,omitempty"`
	ValueReference       *Reference       `bson:"valueReference,omitempty" json:"valueReference,omitempty"`
	ValueSampledData     *SampledData     `bson:"valueSampledData,omitempty" json:"valueSampledData,omitempty"`
	ValueSignature       *Signature       `bson:"valueSignature,omitempty" json:"valueSignature,omitempty"`
	ValueString          string           `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueTime            *FHIRDateTime    `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueTiming          *Timing          `bson:"valueTiming,omitempty" json:"valueTiming,omitempty"`
	ValueUnsignedInt     *uint32          `bson:"valueUnsignedInt,omitempty" json:"valueUnsignedInt,omitempty"`
	ValueUri             string           `bson:"valueUri,omitempty" json:"valueUri,omitempty"`
}

func (Extension) GetBSON

func (e Extension) GetBSON() (interface{}, error)

GetBSON translates the FHIR extension syntax to a syntax that is more suitable for storage and sorting in MongoDB.

Extension {
  Url: "http://example.org/fhir/extensions/foo",
  ValueString: "bar",
}

becomes

bson.M {
  "@context": bson.M {
    "foo": contextDefinition {
      ID: "http://example.org/fhir/extensions/foo",
      Type: "string",
    },
  },
  "foo": "bar",
}

func (*Extension) SetBSON

func (e *Extension) SetBSON(raw bson.Raw) error

SetBSON translates the stored extension syntax to the FHIR extension syntax.

bson.M {
  "@context": bson.M {
    "foo": bson.M {
      "@id": "http://example.org/fhir/extensions/foo",
      "@type": "string",
    },
  },
  "foo": "bar",
}

becomes

Extension {
  Url: "http://example.org/fhir/extensions/foo",
  ValueString: "bar",
}

type FHIRDateTime

type FHIRDateTime struct {
	Time      time.Time
	Precision Precision
}

func (FHIRDateTime) GetBSON

func (f FHIRDateTime) GetBSON() (interface{}, error)

func (FHIRDateTime) MarshalJSON

func (f FHIRDateTime) MarshalJSON() ([]byte, error)

func (*FHIRDateTime) SetBSON

func (f *FHIRDateTime) SetBSON(raw bson.Raw) error

func (*FHIRDateTime) UnmarshalJSON

func (f *FHIRDateTime) UnmarshalJSON(data []byte) (err error)

type FamilyMemberHistory

type FamilyMemberHistory struct {
	DomainResource  `bson:",inline"`
	Identifier      []Identifier                            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition      []Reference                             `bson:"definition,omitempty" json:"definition,omitempty"`
	Status          string                                  `bson:"status,omitempty" json:"status,omitempty"`
	NotDone         *bool                                   `bson:"notDone,omitempty" json:"notDone,omitempty"`
	NotDoneReason   *CodeableConcept                        `bson:"notDoneReason,omitempty" json:"notDoneReason,omitempty"`
	Patient         *Reference                              `bson:"patient,omitempty" json:"patient,omitempty"`
	Date            *FHIRDateTime                           `bson:"date,omitempty" json:"date,omitempty"`
	Name            string                                  `bson:"name,omitempty" json:"name,omitempty"`
	Relationship    *CodeableConcept                        `bson:"relationship,omitempty" json:"relationship,omitempty"`
	Gender          string                                  `bson:"gender,omitempty" json:"gender,omitempty"`
	BornPeriod      *Period                                 `bson:"bornPeriod,omitempty" json:"bornPeriod,omitempty"`
	BornDate        *FHIRDateTime                           `bson:"bornDate,omitempty" json:"bornDate,omitempty"`
	BornString      string                                  `bson:"bornString,omitempty" json:"bornString,omitempty"`
	AgeAge          *Quantity                               `bson:"ageAge,omitempty" json:"ageAge,omitempty"`
	AgeRange        *Range                                  `bson:"ageRange,omitempty" json:"ageRange,omitempty"`
	AgeString       string                                  `bson:"ageString,omitempty" json:"ageString,omitempty"`
	EstimatedAge    *bool                                   `bson:"estimatedAge,omitempty" json:"estimatedAge,omitempty"`
	DeceasedBoolean *bool                                   `bson:"deceasedBoolean,omitempty" json:"deceasedBoolean,omitempty"`
	DeceasedAge     *Quantity                               `bson:"deceasedAge,omitempty" json:"deceasedAge,omitempty"`
	DeceasedRange   *Range                                  `bson:"deceasedRange,omitempty" json:"deceasedRange,omitempty"`
	DeceasedDate    *FHIRDateTime                           `bson:"deceasedDate,omitempty" json:"deceasedDate,omitempty"`
	DeceasedString  string                                  `bson:"deceasedString,omitempty" json:"deceasedString,omitempty"`
	ReasonCode      []CodeableConcept                       `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference []Reference                             `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Note            []Annotation                            `bson:"note,omitempty" json:"note,omitempty"`
	Condition       []FamilyMemberHistoryConditionComponent `bson:"condition,omitempty" json:"condition,omitempty"`
}

func (*FamilyMemberHistory) GetBSON

func (x *FamilyMemberHistory) GetBSON() (interface{}, error)

func (*FamilyMemberHistory) MarshalJSON

func (resource *FamilyMemberHistory) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*FamilyMemberHistory) UnmarshalJSON

func (x *FamilyMemberHistory) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type FamilyMemberHistoryConditionComponent

type FamilyMemberHistoryConditionComponent struct {
	BackboneElement `bson:",inline"`
	Code            *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Outcome         *CodeableConcept `bson:"outcome,omitempty" json:"outcome,omitempty"`
	OnsetAge        *Quantity        `bson:"onsetAge,omitempty" json:"onsetAge,omitempty"`
	OnsetRange      *Range           `bson:"onsetRange,omitempty" json:"onsetRange,omitempty"`
	OnsetPeriod     *Period          `bson:"onsetPeriod,omitempty" json:"onsetPeriod,omitempty"`
	OnsetString     string           `bson:"onsetString,omitempty" json:"onsetString,omitempty"`
	Note            []Annotation     `bson:"note,omitempty" json:"note,omitempty"`
}

type Flag

type Flag struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status         string           `bson:"status,omitempty" json:"status,omitempty"`
	Category       *CodeableConcept `bson:"category,omitempty" json:"category,omitempty"`
	Code           *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Subject        *Reference       `bson:"subject,omitempty" json:"subject,omitempty"`
	Period         *Period          `bson:"period,omitempty" json:"period,omitempty"`
	Encounter      *Reference       `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Author         *Reference       `bson:"author,omitempty" json:"author,omitempty"`
}

func (*Flag) GetBSON

func (x *Flag) GetBSON() (interface{}, error)

func (*Flag) MarshalJSON

func (resource *Flag) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Flag) UnmarshalJSON

func (x *Flag) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type Goal

type Goal struct {
	DomainResource       `bson:",inline"`
	Identifier           []Identifier         `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               string               `bson:"status,omitempty" json:"status,omitempty"`
	Category             []CodeableConcept    `bson:"category,omitempty" json:"category,omitempty"`
	Priority             *CodeableConcept     `bson:"priority,omitempty" json:"priority,omitempty"`
	Description          *CodeableConcept     `bson:"description,omitempty" json:"description,omitempty"`
	Subject              *Reference           `bson:"subject,omitempty" json:"subject,omitempty"`
	StartDate            *FHIRDateTime        `bson:"startDate,omitempty" json:"startDate,omitempty"`
	StartCodeableConcept *CodeableConcept     `bson:"startCodeableConcept,omitempty" json:"startCodeableConcept,omitempty"`
	Target               *GoalTargetComponent `bson:"target,omitempty" json:"target,omitempty"`
	StatusDate           *FHIRDateTime        `bson:"statusDate,omitempty" json:"statusDate,omitempty"`
	StatusReason         string               `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	ExpressedBy          *Reference           `bson:"expressedBy,omitempty" json:"expressedBy,omitempty"`
	Addresses            []Reference          `bson:"addresses,omitempty" json:"addresses,omitempty"`
	Note                 []Annotation         `bson:"note,omitempty" json:"note,omitempty"`
	OutcomeCode          []CodeableConcept    `bson:"outcomeCode,omitempty" json:"outcomeCode,omitempty"`
	OutcomeReference     []Reference          `bson:"outcomeReference,omitempty" json:"outcomeReference,omitempty"`
}

func (*Goal) GetBSON

func (x *Goal) GetBSON() (interface{}, error)

func (*Goal) MarshalJSON

func (resource *Goal) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Goal) UnmarshalJSON

func (x *Goal) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type GoalTargetComponent

type GoalTargetComponent struct {
	BackboneElement       `bson:",inline"`
	Measure               *CodeableConcept `bson:"measure,omitempty" json:"measure,omitempty"`
	DetailQuantity        *Quantity        `bson:"detailQuantity,omitempty" json:"detailQuantity,omitempty"`
	DetailRange           *Range           `bson:"detailRange,omitempty" json:"detailRange,omitempty"`
	DetailCodeableConcept *CodeableConcept `bson:"detailCodeableConcept,omitempty" json:"detailCodeableConcept,omitempty"`
	DueDate               *FHIRDateTime    `bson:"dueDate,omitempty" json:"dueDate,omitempty"`
	DueDuration           *Quantity        `bson:"dueDuration,omitempty" json:"dueDuration,omitempty"`
}

type GraphDefinition

type GraphDefinition struct {
	DomainResource `bson:",inline"`
	Url            string                         `bson:"url,omitempty" json:"url,omitempty"`
	Version        string                         `bson:"version,omitempty" json:"version,omitempty"`
	Name           string                         `bson:"name,omitempty" json:"name,omitempty"`
	Status         string                         `bson:"status,omitempty" json:"status,omitempty"`
	Experimental   *bool                          `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date           *FHIRDateTime                  `bson:"date,omitempty" json:"date,omitempty"`
	Publisher      string                         `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact        []ContactDetail                `bson:"contact,omitempty" json:"contact,omitempty"`
	Description    string                         `bson:"description,omitempty" json:"description,omitempty"`
	UseContext     []UsageContext                 `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction   []CodeableConcept              `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Purpose        string                         `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Start          string                         `bson:"start,omitempty" json:"start,omitempty"`
	Profile        string                         `bson:"profile,omitempty" json:"profile,omitempty"`
	Link           []GraphDefinitionLinkComponent `bson:"link,omitempty" json:"link,omitempty"`
}

func (*GraphDefinition) GetBSON

func (x *GraphDefinition) GetBSON() (interface{}, error)

func (*GraphDefinition) MarshalJSON

func (resource *GraphDefinition) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*GraphDefinition) UnmarshalJSON

func (x *GraphDefinition) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type GraphDefinitionLinkComponent

type GraphDefinitionLinkComponent struct {
	BackboneElement `bson:",inline"`
	Path            string                               `bson:"path,omitempty" json:"path,omitempty"`
	SliceName       string                               `bson:"sliceName,omitempty" json:"sliceName,omitempty"`
	Min             *int32                               `bson:"min,omitempty" json:"min,omitempty"`
	Max             string                               `bson:"max,omitempty" json:"max,omitempty"`
	Description     string                               `bson:"description,omitempty" json:"description,omitempty"`
	Target          []GraphDefinitionLinkTargetComponent `bson:"target,omitempty" json:"target,omitempty"`
}

type GraphDefinitionLinkTargetCompartmentComponent

type GraphDefinitionLinkTargetCompartmentComponent struct {
	BackboneElement `bson:",inline"`
	Code            string `bson:"code,omitempty" json:"code,omitempty"`
	Rule            string `bson:"rule,omitempty" json:"rule,omitempty"`
	Expression      string `bson:"expression,omitempty" json:"expression,omitempty"`
	Description     string `bson:"description,omitempty" json:"description,omitempty"`
}

type GraphDefinitionLinkTargetComponent

type GraphDefinitionLinkTargetComponent struct {
	BackboneElement `bson:",inline"`
	Type            string                                          `bson:"type,omitempty" json:"type,omitempty"`
	Profile         string                                          `bson:"profile,omitempty" json:"profile,omitempty"`
	Compartment     []GraphDefinitionLinkTargetCompartmentComponent `bson:"compartment,omitempty" json:"compartment,omitempty"`
	Link            []GraphDefinitionLinkComponent                  `bson:"link,omitempty" json:"link,omitempty"`
}

type Group

type Group struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier                   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active         *bool                          `bson:"active,omitempty" json:"active,omitempty"`
	Type           string                         `bson:"type,omitempty" json:"type,omitempty"`
	Actual         *bool                          `bson:"actual,omitempty" json:"actual,omitempty"`
	Code           *CodeableConcept               `bson:"code,omitempty" json:"code,omitempty"`
	Name           string                         `bson:"name,omitempty" json:"name,omitempty"`
	Quantity       *uint32                        `bson:"quantity,omitempty" json:"quantity,omitempty"`
	Characteristic []GroupCharacteristicComponent `bson:"characteristic,omitempty" json:"characteristic,omitempty"`
	Member         []GroupMemberComponent         `bson:"member,omitempty" json:"member,omitempty"`
}

func (*Group) GetBSON

func (x *Group) GetBSON() (interface{}, error)

func (*Group) MarshalJSON

func (resource *Group) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Group) UnmarshalJSON

func (x *Group) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type GroupCharacteristicComponent

type GroupCharacteristicComponent struct {
	BackboneElement      `bson:",inline"`
	Code                 *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	ValueCodeableConcept *CodeableConcept `bson:"valueCodeableConcept,omitempty" json:"valueCodeableConcept,omitempty"`
	ValueBoolean         *bool            `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueQuantity        *Quantity        `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueRange           *Range           `bson:"valueRange,omitempty" json:"valueRange,omitempty"`
	Exclude              *bool            `bson:"exclude,omitempty" json:"exclude,omitempty"`
	Period               *Period          `bson:"period,omitempty" json:"period,omitempty"`
}

type GroupMemberComponent

type GroupMemberComponent struct {
	BackboneElement `bson:",inline"`
	Entity          *Reference `bson:"entity,omitempty" json:"entity,omitempty"`
	Period          *Period    `bson:"period,omitempty" json:"period,omitempty"`
	Inactive        *bool      `bson:"inactive,omitempty" json:"inactive,omitempty"`
}

type GuidanceResponse

type GuidanceResponse struct {
	DomainResource        `bson:",inline"`
	RequestId             string            `bson:"requestId,omitempty" json:"requestId,omitempty"`
	Identifier            *Identifier       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Module                *Reference        `bson:"module,omitempty" json:"module,omitempty"`
	Status                string            `bson:"status,omitempty" json:"status,omitempty"`
	Subject               *Reference        `bson:"subject,omitempty" json:"subject,omitempty"`
	Context               *Reference        `bson:"context,omitempty" json:"context,omitempty"`
	OccurrenceDateTime    *FHIRDateTime     `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	Performer             *Reference        `bson:"performer,omitempty" json:"performer,omitempty"`
	ReasonCodeableConcept *CodeableConcept  `bson:"reasonCodeableConcept,omitempty" json:"reasonCodeableConcept,omitempty"`
	ReasonReference       *Reference        `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Note                  []Annotation      `bson:"note,omitempty" json:"note,omitempty"`
	EvaluationMessage     []Reference       `bson:"evaluationMessage,omitempty" json:"evaluationMessage,omitempty"`
	OutputParameters      *Reference        `bson:"outputParameters,omitempty" json:"outputParameters,omitempty"`
	Result                *Reference        `bson:"result,omitempty" json:"result,omitempty"`
	DataRequirement       []DataRequirement `bson:"dataRequirement,omitempty" json:"dataRequirement,omitempty"`
}

func (*GuidanceResponse) GetBSON

func (x *GuidanceResponse) GetBSON() (interface{}, error)

func (*GuidanceResponse) MarshalJSON

func (resource *GuidanceResponse) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*GuidanceResponse) UnmarshalJSON

func (x *GuidanceResponse) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type HealthcareService

type HealthcareService struct {
	DomainResource         `bson:",inline"`
	Identifier             []Identifier                              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active                 *bool                                     `bson:"active,omitempty" json:"active,omitempty"`
	ProvidedBy             *Reference                                `bson:"providedBy,omitempty" json:"providedBy,omitempty"`
	Category               *CodeableConcept                          `bson:"category,omitempty" json:"category,omitempty"`
	Type                   []CodeableConcept                         `bson:"type,omitempty" json:"type,omitempty"`
	Specialty              []CodeableConcept                         `bson:"specialty,omitempty" json:"specialty,omitempty"`
	Location               []Reference                               `bson:"location,omitempty" json:"location,omitempty"`
	Name                   string                                    `bson:"name,omitempty" json:"name,omitempty"`
	Comment                string                                    `bson:"comment,omitempty" json:"comment,omitempty"`
	ExtraDetails           string                                    `bson:"extraDetails,omitempty" json:"extraDetails,omitempty"`
	Photo                  *Attachment                               `bson:"photo,omitempty" json:"photo,omitempty"`
	Telecom                []ContactPoint                            `bson:"telecom,omitempty" json:"telecom,omitempty"`
	CoverageArea           []Reference                               `bson:"coverageArea,omitempty" json:"coverageArea,omitempty"`
	ServiceProvisionCode   []CodeableConcept                         `bson:"serviceProvisionCode,omitempty" json:"serviceProvisionCode,omitempty"`
	Eligibility            *CodeableConcept                          `bson:"eligibility,omitempty" json:"eligibility,omitempty"`
	EligibilityNote        string                                    `bson:"eligibilityNote,omitempty" json:"eligibilityNote,omitempty"`
	ProgramName            []string                                  `bson:"programName,omitempty" json:"programName,omitempty"`
	Characteristic         []CodeableConcept                         `bson:"characteristic,omitempty" json:"characteristic,omitempty"`
	ReferralMethod         []CodeableConcept                         `bson:"referralMethod,omitempty" json:"referralMethod,omitempty"`
	AppointmentRequired    *bool                                     `bson:"appointmentRequired,omitempty" json:"appointmentRequired,omitempty"`
	AvailableTime          []HealthcareServiceAvailableTimeComponent `bson:"availableTime,omitempty" json:"availableTime,omitempty"`
	NotAvailable           []HealthcareServiceNotAvailableComponent  `bson:"notAvailable,omitempty" json:"notAvailable,omitempty"`
	AvailabilityExceptions string                                    `bson:"availabilityExceptions,omitempty" json:"availabilityExceptions,omitempty"`
	Endpoint               []Reference                               `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
}

func (*HealthcareService) GetBSON

func (x *HealthcareService) GetBSON() (interface{}, error)

func (*HealthcareService) MarshalJSON

func (resource *HealthcareService) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*HealthcareService) UnmarshalJSON

func (x *HealthcareService) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type HealthcareServiceAvailableTimeComponent

type HealthcareServiceAvailableTimeComponent struct {
	BackboneElement    `bson:",inline"`
	DaysOfWeek         []string      `bson:"daysOfWeek,omitempty" json:"daysOfWeek,omitempty"`
	AllDay             *bool         `bson:"allDay,omitempty" json:"allDay,omitempty"`
	AvailableStartTime *FHIRDateTime `bson:"availableStartTime,omitempty" json:"availableStartTime,omitempty"`
	AvailableEndTime   *FHIRDateTime `bson:"availableEndTime,omitempty" json:"availableEndTime,omitempty"`
}

type HealthcareServiceNotAvailableComponent

type HealthcareServiceNotAvailableComponent struct {
	BackboneElement `bson:",inline"`
	Description     string  `bson:"description,omitempty" json:"description,omitempty"`
	During          *Period `bson:"during,omitempty" json:"during,omitempty"`
}

type HumanName

type HumanName struct {
	Use    string   `bson:"use,omitempty" json:"use,omitempty"`
	Text   string   `bson:"text,omitempty" json:"text,omitempty"`
	Family string   `bson:"family,omitempty" json:"family,omitempty"`
	Given  []string `bson:"given,omitempty" json:"given,omitempty"`
	Prefix []string `bson:"prefix,omitempty" json:"prefix,omitempty"`
	Suffix []string `bson:"suffix,omitempty" json:"suffix,omitempty"`
	Period *Period  `bson:"period,omitempty" json:"period,omitempty"`
}

type Identifier

type Identifier struct {
	Use      string           `bson:"use,omitempty" json:"use,omitempty"`
	Type     *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	System   string           `bson:"system,omitempty" json:"system,omitempty"`
	Value    string           `bson:"value,omitempty" json:"value,omitempty"`
	Period   *Period          `bson:"period,omitempty" json:"period,omitempty"`
	Assigner *Reference       `bson:"assigner,omitempty" json:"assigner,omitempty"`
}

type ImagingManifest

type ImagingManifest struct {
	DomainResource `bson:",inline"`
	Identifier     *Identifier                     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Patient        *Reference                      `bson:"patient,omitempty" json:"patient,omitempty"`
	AuthoringTime  *FHIRDateTime                   `bson:"authoringTime,omitempty" json:"authoringTime,omitempty"`
	Author         *Reference                      `bson:"author,omitempty" json:"author,omitempty"`
	Description    string                          `bson:"description,omitempty" json:"description,omitempty"`
	Study          []ImagingManifestStudyComponent `bson:"study,omitempty" json:"study,omitempty"`
}

func (*ImagingManifest) GetBSON

func (x *ImagingManifest) GetBSON() (interface{}, error)

func (*ImagingManifest) MarshalJSON

func (resource *ImagingManifest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ImagingManifest) UnmarshalJSON

func (x *ImagingManifest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ImagingManifestInstanceComponent

type ImagingManifestInstanceComponent struct {
	BackboneElement `bson:",inline"`
	SopClass        string `bson:"sopClass,omitempty" json:"sopClass,omitempty"`
	Uid             string `bson:"uid,omitempty" json:"uid,omitempty"`
}

type ImagingManifestSeriesComponent

type ImagingManifestSeriesComponent struct {
	BackboneElement `bson:",inline"`
	Uid             string                             `bson:"uid,omitempty" json:"uid,omitempty"`
	Endpoint        []Reference                        `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
	Instance        []ImagingManifestInstanceComponent `bson:"instance,omitempty" json:"instance,omitempty"`
}

type ImagingManifestStudyComponent

type ImagingManifestStudyComponent struct {
	BackboneElement `bson:",inline"`
	Uid             string                           `bson:"uid,omitempty" json:"uid,omitempty"`
	ImagingStudy    *Reference                       `bson:"imagingStudy,omitempty" json:"imagingStudy,omitempty"`
	Endpoint        []Reference                      `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
	Series          []ImagingManifestSeriesComponent `bson:"series,omitempty" json:"series,omitempty"`
}

type ImagingStudy

type ImagingStudy struct {
	DomainResource     `bson:",inline"`
	Uid                string                        `bson:"uid,omitempty" json:"uid,omitempty"`
	Accession          *Identifier                   `bson:"accession,omitempty" json:"accession,omitempty"`
	Identifier         []Identifier                  `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Availability       string                        `bson:"availability,omitempty" json:"availability,omitempty"`
	ModalityList       []Coding                      `bson:"modalityList,omitempty" json:"modalityList,omitempty"`
	Patient            *Reference                    `bson:"patient,omitempty" json:"patient,omitempty"`
	Context            *Reference                    `bson:"context,omitempty" json:"context,omitempty"`
	Started            *FHIRDateTime                 `bson:"started,omitempty" json:"started,omitempty"`
	BasedOn            []Reference                   `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Referrer           *Reference                    `bson:"referrer,omitempty" json:"referrer,omitempty"`
	Interpreter        []Reference                   `bson:"interpreter,omitempty" json:"interpreter,omitempty"`
	Endpoint           []Reference                   `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
	NumberOfSeries     *uint32                       `bson:"numberOfSeries,omitempty" json:"numberOfSeries,omitempty"`
	NumberOfInstances  *uint32                       `bson:"numberOfInstances,omitempty" json:"numberOfInstances,omitempty"`
	ProcedureReference []Reference                   `bson:"procedureReference,omitempty" json:"procedureReference,omitempty"`
	ProcedureCode      []CodeableConcept             `bson:"procedureCode,omitempty" json:"procedureCode,omitempty"`
	Reason             *CodeableConcept              `bson:"reason,omitempty" json:"reason,omitempty"`
	Description        string                        `bson:"description,omitempty" json:"description,omitempty"`
	Series             []ImagingStudySeriesComponent `bson:"series,omitempty" json:"series,omitempty"`
}

func (*ImagingStudy) GetBSON

func (x *ImagingStudy) GetBSON() (interface{}, error)

func (*ImagingStudy) MarshalJSON

func (resource *ImagingStudy) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ImagingStudy) UnmarshalJSON

func (x *ImagingStudy) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ImagingStudySeriesComponent

type ImagingStudySeriesComponent struct {
	BackboneElement   `bson:",inline"`
	Uid               string                                `bson:"uid,omitempty" json:"uid,omitempty"`
	Number            *uint32                               `bson:"number,omitempty" json:"number,omitempty"`
	Modality          *Coding                               `bson:"modality,omitempty" json:"modality,omitempty"`
	Description       string                                `bson:"description,omitempty" json:"description,omitempty"`
	NumberOfInstances *uint32                               `bson:"numberOfInstances,omitempty" json:"numberOfInstances,omitempty"`
	Availability      string                                `bson:"availability,omitempty" json:"availability,omitempty"`
	Endpoint          []Reference                           `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
	BodySite          *Coding                               `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	Laterality        *Coding                               `bson:"laterality,omitempty" json:"laterality,omitempty"`
	Started           *FHIRDateTime                         `bson:"started,omitempty" json:"started,omitempty"`
	Performer         []Reference                           `bson:"performer,omitempty" json:"performer,omitempty"`
	Instance          []ImagingStudySeriesInstanceComponent `bson:"instance,omitempty" json:"instance,omitempty"`
}

type ImagingStudySeriesInstanceComponent

type ImagingStudySeriesInstanceComponent struct {
	BackboneElement `bson:",inline"`
	Uid             string  `bson:"uid,omitempty" json:"uid,omitempty"`
	Number          *uint32 `bson:"number,omitempty" json:"number,omitempty"`
	SopClass        string  `bson:"sopClass,omitempty" json:"sopClass,omitempty"`
	Title           string  `bson:"title,omitempty" json:"title,omitempty"`
}

type Immunization

type Immunization struct {
	DomainResource      `bson:",inline"`
	Identifier          []Identifier                               `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status              string                                     `bson:"status,omitempty" json:"status,omitempty"`
	NotGiven            *bool                                      `bson:"notGiven,omitempty" json:"notGiven,omitempty"`
	VaccineCode         *CodeableConcept                           `bson:"vaccineCode,omitempty" json:"vaccineCode,omitempty"`
	Patient             *Reference                                 `bson:"patient,omitempty" json:"patient,omitempty"`
	Encounter           *Reference                                 `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Date                *FHIRDateTime                              `bson:"date,omitempty" json:"date,omitempty"`
	PrimarySource       *bool                                      `bson:"primarySource,omitempty" json:"primarySource,omitempty"`
	ReportOrigin        *CodeableConcept                           `bson:"reportOrigin,omitempty" json:"reportOrigin,omitempty"`
	Location            *Reference                                 `bson:"location,omitempty" json:"location,omitempty"`
	Manufacturer        *Reference                                 `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
	LotNumber           string                                     `bson:"lotNumber,omitempty" json:"lotNumber,omitempty"`
	ExpirationDate      *FHIRDateTime                              `bson:"expirationDate,omitempty" json:"expirationDate,omitempty"`
	Site                *CodeableConcept                           `bson:"site,omitempty" json:"site,omitempty"`
	Route               *CodeableConcept                           `bson:"route,omitempty" json:"route,omitempty"`
	DoseQuantity        *Quantity                                  `bson:"doseQuantity,omitempty" json:"doseQuantity,omitempty"`
	Practitioner        []ImmunizationPractitionerComponent        `bson:"practitioner,omitempty" json:"practitioner,omitempty"`
	Note                []Annotation                               `bson:"note,omitempty" json:"note,omitempty"`
	Explanation         *ImmunizationExplanationComponent          `bson:"explanation,omitempty" json:"explanation,omitempty"`
	Reaction            []ImmunizationReactionComponent            `bson:"reaction,omitempty" json:"reaction,omitempty"`
	VaccinationProtocol []ImmunizationVaccinationProtocolComponent `bson:"vaccinationProtocol,omitempty" json:"vaccinationProtocol,omitempty"`
}

func (*Immunization) GetBSON

func (x *Immunization) GetBSON() (interface{}, error)

func (*Immunization) MarshalJSON

func (resource *Immunization) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Immunization) UnmarshalJSON

func (x *Immunization) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ImmunizationExplanationComponent

type ImmunizationExplanationComponent struct {
	BackboneElement `bson:",inline"`
	Reason          []CodeableConcept `bson:"reason,omitempty" json:"reason,omitempty"`
	ReasonNotGiven  []CodeableConcept `bson:"reasonNotGiven,omitempty" json:"reasonNotGiven,omitempty"`
}

type ImmunizationPractitionerComponent

type ImmunizationPractitionerComponent struct {
	BackboneElement `bson:",inline"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Actor           *Reference       `bson:"actor,omitempty" json:"actor,omitempty"`
}

type ImmunizationReactionComponent

type ImmunizationReactionComponent struct {
	BackboneElement `bson:",inline"`
	Date            *FHIRDateTime `bson:"date,omitempty" json:"date,omitempty"`
	Detail          *Reference    `bson:"detail,omitempty" json:"detail,omitempty"`
	Reported        *bool         `bson:"reported,omitempty" json:"reported,omitempty"`
}

type ImmunizationRecommendation

type ImmunizationRecommendation struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier                                        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Patient        *Reference                                          `bson:"patient,omitempty" json:"patient,omitempty"`
	Recommendation []ImmunizationRecommendationRecommendationComponent `bson:"recommendation,omitempty" json:"recommendation,omitempty"`
}

func (*ImmunizationRecommendation) GetBSON

func (x *ImmunizationRecommendation) GetBSON() (interface{}, error)

func (*ImmunizationRecommendation) MarshalJSON

func (resource *ImmunizationRecommendation) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ImmunizationRecommendation) UnmarshalJSON

func (x *ImmunizationRecommendation) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ImmunizationRecommendationRecommendationComponent

type ImmunizationRecommendationRecommendationComponent struct {
	BackboneElement              `bson:",inline"`
	Date                         *FHIRDateTime                                                    `bson:"date,omitempty" json:"date,omitempty"`
	VaccineCode                  *CodeableConcept                                                 `bson:"vaccineCode,omitempty" json:"vaccineCode,omitempty"`
	TargetDisease                *CodeableConcept                                                 `bson:"targetDisease,omitempty" json:"targetDisease,omitempty"`
	DoseNumber                   *uint32                                                          `bson:"doseNumber,omitempty" json:"doseNumber,omitempty"`
	ForecastStatus               *CodeableConcept                                                 `bson:"forecastStatus,omitempty" json:"forecastStatus,omitempty"`
	DateCriterion                []ImmunizationRecommendationRecommendationDateCriterionComponent `bson:"dateCriterion,omitempty" json:"dateCriterion,omitempty"`
	Protocol                     *ImmunizationRecommendationRecommendationProtocolComponent       `bson:"protocol,omitempty" json:"protocol,omitempty"`
	SupportingImmunization       []Reference                                                      `bson:"supportingImmunization,omitempty" json:"supportingImmunization,omitempty"`
	SupportingPatientInformation []Reference                                                      `bson:"supportingPatientInformation,omitempty" json:"supportingPatientInformation,omitempty"`
}

type ImmunizationRecommendationRecommendationDateCriterionComponent

type ImmunizationRecommendationRecommendationDateCriterionComponent struct {
	BackboneElement `bson:",inline"`
	Code            *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Value           *FHIRDateTime    `bson:"value,omitempty" json:"value,omitempty"`
}

type ImmunizationRecommendationRecommendationProtocolComponent

type ImmunizationRecommendationRecommendationProtocolComponent struct {
	BackboneElement `bson:",inline"`
	DoseSequence    *uint32    `bson:"doseSequence,omitempty" json:"doseSequence,omitempty"`
	Description     string     `bson:"description,omitempty" json:"description,omitempty"`
	Authority       *Reference `bson:"authority,omitempty" json:"authority,omitempty"`
	Series          string     `bson:"series,omitempty" json:"series,omitempty"`
}

type ImmunizationVaccinationProtocolComponent

type ImmunizationVaccinationProtocolComponent struct {
	BackboneElement  `bson:",inline"`
	DoseSequence     *uint32           `bson:"doseSequence,omitempty" json:"doseSequence,omitempty"`
	Description      string            `bson:"description,omitempty" json:"description,omitempty"`
	Authority        *Reference        `bson:"authority,omitempty" json:"authority,omitempty"`
	Series           string            `bson:"series,omitempty" json:"series,omitempty"`
	SeriesDoses      *uint32           `bson:"seriesDoses,omitempty" json:"seriesDoses,omitempty"`
	TargetDisease    []CodeableConcept `bson:"targetDisease,omitempty" json:"targetDisease,omitempty"`
	DoseStatus       *CodeableConcept  `bson:"doseStatus,omitempty" json:"doseStatus,omitempty"`
	DoseStatusReason *CodeableConcept  `bson:"doseStatusReason,omitempty" json:"doseStatusReason,omitempty"`
}

type ImplementationGuide

type ImplementationGuide struct {
	DomainResource `bson:",inline"`
	Url            string                                   `bson:"url,omitempty" json:"url,omitempty"`
	Version        string                                   `bson:"version,omitempty" json:"version,omitempty"`
	Name           string                                   `bson:"name,omitempty" json:"name,omitempty"`
	Status         string                                   `bson:"status,omitempty" json:"status,omitempty"`
	Experimental   *bool                                    `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date           *FHIRDateTime                            `bson:"date,omitempty" json:"date,omitempty"`
	Publisher      string                                   `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact        []ContactDetail                          `bson:"contact,omitempty" json:"contact,omitempty"`
	Description    string                                   `bson:"description,omitempty" json:"description,omitempty"`
	UseContext     []UsageContext                           `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction   []CodeableConcept                        `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Copyright      string                                   `bson:"copyright,omitempty" json:"copyright,omitempty"`
	FhirVersion    string                                   `bson:"fhirVersion,omitempty" json:"fhirVersion,omitempty"`
	Dependency     []ImplementationGuideDependencyComponent `bson:"dependency,omitempty" json:"dependency,omitempty"`
	Package        []ImplementationGuidePackageComponent    `bson:"package,omitempty" json:"package,omitempty"`
	Global         []ImplementationGuideGlobalComponent     `bson:"global,omitempty" json:"global,omitempty"`
	Binary         []string                                 `bson:"binary,omitempty" json:"binary,omitempty"`
	Page           *ImplementationGuidePageComponent        `bson:"page,omitempty" json:"page,omitempty"`
}

func (*ImplementationGuide) GetBSON

func (x *ImplementationGuide) GetBSON() (interface{}, error)

func (*ImplementationGuide) MarshalJSON

func (resource *ImplementationGuide) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ImplementationGuide) UnmarshalJSON

func (x *ImplementationGuide) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ImplementationGuideDependencyComponent

type ImplementationGuideDependencyComponent struct {
	BackboneElement `bson:",inline"`
	Type            string `bson:"type,omitempty" json:"type,omitempty"`
	Uri             string `bson:"uri,omitempty" json:"uri,omitempty"`
}

type ImplementationGuideGlobalComponent

type ImplementationGuideGlobalComponent struct {
	BackboneElement `bson:",inline"`
	Type            string     `bson:"type,omitempty" json:"type,omitempty"`
	Profile         *Reference `bson:"profile,omitempty" json:"profile,omitempty"`
}

type ImplementationGuidePackageComponent

type ImplementationGuidePackageComponent struct {
	BackboneElement `bson:",inline"`
	Name            string                                        `bson:"name,omitempty" json:"name,omitempty"`
	Description     string                                        `bson:"description,omitempty" json:"description,omitempty"`
	Resource        []ImplementationGuidePackageResourceComponent `bson:"resource,omitempty" json:"resource,omitempty"`
}

type ImplementationGuidePackageResourceComponent

type ImplementationGuidePackageResourceComponent struct {
	BackboneElement `bson:",inline"`
	Example         *bool      `bson:"example,omitempty" json:"example,omitempty"`
	Name            string     `bson:"name,omitempty" json:"name,omitempty"`
	Description     string     `bson:"description,omitempty" json:"description,omitempty"`
	Acronym         string     `bson:"acronym,omitempty" json:"acronym,omitempty"`
	SourceUri       string     `bson:"sourceUri,omitempty" json:"sourceUri,omitempty"`
	SourceReference *Reference `bson:"sourceReference,omitempty" json:"sourceReference,omitempty"`
	ExampleFor      *Reference `bson:"exampleFor,omitempty" json:"exampleFor,omitempty"`
}

type ImplementationGuidePageComponent

type ImplementationGuidePageComponent struct {
	BackboneElement `bson:",inline"`
	Source          string                             `bson:"source,omitempty" json:"source,omitempty"`
	Title           string                             `bson:"title,omitempty" json:"title,omitempty"`
	Kind            string                             `bson:"kind,omitempty" json:"kind,omitempty"`
	Type            []string                           `bson:"type,omitempty" json:"type,omitempty"`
	Package         []string                           `bson:"package,omitempty" json:"package,omitempty"`
	Format          string                             `bson:"format,omitempty" json:"format,omitempty"`
	Page            []ImplementationGuidePageComponent `bson:"page,omitempty" json:"page,omitempty"`
}

type Library

type Library struct {
	DomainResource  `bson:",inline"`
	Url             string                `bson:"url,omitempty" json:"url,omitempty"`
	Identifier      []Identifier          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version         string                `bson:"version,omitempty" json:"version,omitempty"`
	Name            string                `bson:"name,omitempty" json:"name,omitempty"`
	Title           string                `bson:"title,omitempty" json:"title,omitempty"`
	Status          string                `bson:"status,omitempty" json:"status,omitempty"`
	Experimental    *bool                 `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Type            *CodeableConcept      `bson:"type,omitempty" json:"type,omitempty"`
	Date            *FHIRDateTime         `bson:"date,omitempty" json:"date,omitempty"`
	Publisher       string                `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Description     string                `bson:"description,omitempty" json:"description,omitempty"`
	Purpose         string                `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Usage           string                `bson:"usage,omitempty" json:"usage,omitempty"`
	ApprovalDate    *FHIRDateTime         `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate  *FHIRDateTime         `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod *Period               `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	UseContext      []UsageContext        `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction    []CodeableConcept     `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Topic           []CodeableConcept     `bson:"topic,omitempty" json:"topic,omitempty"`
	Contributor     []Contributor         `bson:"contributor,omitempty" json:"contributor,omitempty"`
	Contact         []ContactDetail       `bson:"contact,omitempty" json:"contact,omitempty"`
	Copyright       string                `bson:"copyright,omitempty" json:"copyright,omitempty"`
	RelatedArtifact []RelatedArtifact     `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Parameter       []ParameterDefinition `bson:"parameter,omitempty" json:"parameter,omitempty"`
	DataRequirement []DataRequirement     `bson:"dataRequirement,omitempty" json:"dataRequirement,omitempty"`
	Content         []Attachment          `bson:"content,omitempty" json:"content,omitempty"`
}

func (*Library) GetBSON

func (x *Library) GetBSON() (interface{}, error)

func (*Library) MarshalJSON

func (resource *Library) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Library) UnmarshalJSON

func (x *Library) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type Linkage

type Linkage struct {
	DomainResource `bson:",inline"`
	Active         *bool                  `bson:"active,omitempty" json:"active,omitempty"`
	Author         *Reference             `bson:"author,omitempty" json:"author,omitempty"`
	Item           []LinkageItemComponent `bson:"item,omitempty" json:"item,omitempty"`
}

func (*Linkage) GetBSON

func (x *Linkage) GetBSON() (interface{}, error)

func (*Linkage) MarshalJSON

func (resource *Linkage) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Linkage) UnmarshalJSON

func (x *Linkage) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type LinkageItemComponent

type LinkageItemComponent struct {
	BackboneElement `bson:",inline"`
	Type            string     `bson:"type,omitempty" json:"type,omitempty"`
	Resource        *Reference `bson:"resource,omitempty" json:"resource,omitempty"`
}

type List

type List struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier         `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status         string               `bson:"status,omitempty" json:"status,omitempty"`
	Mode           string               `bson:"mode,omitempty" json:"mode,omitempty"`
	Title          string               `bson:"title,omitempty" json:"title,omitempty"`
	Code           *CodeableConcept     `bson:"code,omitempty" json:"code,omitempty"`
	Subject        *Reference           `bson:"subject,omitempty" json:"subject,omitempty"`
	Encounter      *Reference           `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Date           *FHIRDateTime        `bson:"date,omitempty" json:"date,omitempty"`
	Source         *Reference           `bson:"source,omitempty" json:"source,omitempty"`
	OrderedBy      *CodeableConcept     `bson:"orderedBy,omitempty" json:"orderedBy,omitempty"`
	Note           []Annotation         `bson:"note,omitempty" json:"note,omitempty"`
	Entry          []ListEntryComponent `bson:"entry,omitempty" json:"entry,omitempty"`
	EmptyReason    *CodeableConcept     `bson:"emptyReason,omitempty" json:"emptyReason,omitempty"`
}

func (*List) GetBSON

func (x *List) GetBSON() (interface{}, error)

func (*List) MarshalJSON

func (resource *List) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*List) UnmarshalJSON

func (x *List) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ListEntryComponent

type ListEntryComponent struct {
	BackboneElement `bson:",inline"`
	Flag            *CodeableConcept `bson:"flag,omitempty" json:"flag,omitempty"`
	Deleted         *bool            `bson:"deleted,omitempty" json:"deleted,omitempty"`
	Date            *FHIRDateTime    `bson:"date,omitempty" json:"date,omitempty"`
	Item            *Reference       `bson:"item,omitempty" json:"item,omitempty"`
}

type Location

type Location struct {
	DomainResource       `bson:",inline"`
	Identifier           []Identifier               `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               string                     `bson:"status,omitempty" json:"status,omitempty"`
	OperationalStatus    *Coding                    `bson:"operationalStatus,omitempty" json:"operationalStatus,omitempty"`
	Name                 string                     `bson:"name,omitempty" json:"name,omitempty"`
	Alias                []string                   `bson:"alias,omitempty" json:"alias,omitempty"`
	Description          string                     `bson:"description,omitempty" json:"description,omitempty"`
	Mode                 string                     `bson:"mode,omitempty" json:"mode,omitempty"`
	Type                 *CodeableConcept           `bson:"type,omitempty" json:"type,omitempty"`
	Telecom              []ContactPoint             `bson:"telecom,omitempty" json:"telecom,omitempty"`
	Address              *Address                   `bson:"address,omitempty" json:"address,omitempty"`
	PhysicalType         *CodeableConcept           `bson:"physicalType,omitempty" json:"physicalType,omitempty"`
	Position             *LocationPositionComponent `bson:"position,omitempty" json:"position,omitempty"`
	ManagingOrganization *Reference                 `bson:"managingOrganization,omitempty" json:"managingOrganization,omitempty"`
	PartOf               *Reference                 `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Endpoint             []Reference                `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
}

func (*Location) GetBSON

func (x *Location) GetBSON() (interface{}, error)

func (*Location) MarshalJSON

func (resource *Location) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Location) UnmarshalJSON

func (x *Location) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type LocationPositionComponent

type LocationPositionComponent struct {
	BackboneElement `bson:",inline"`
	Longitude       *float64 `bson:"longitude,omitempty" json:"longitude,omitempty"`
	Latitude        *float64 `bson:"latitude,omitempty" json:"latitude,omitempty"`
	Altitude        *float64 `bson:"altitude,omitempty" json:"altitude,omitempty"`
}

type Measure

type Measure struct {
	DomainResource                  `bson:",inline"`
	Url                             string                             `bson:"url,omitempty" json:"url,omitempty"`
	Identifier                      []Identifier                       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version                         string                             `bson:"version,omitempty" json:"version,omitempty"`
	Name                            string                             `bson:"name,omitempty" json:"name,omitempty"`
	Title                           string                             `bson:"title,omitempty" json:"title,omitempty"`
	Status                          string                             `bson:"status,omitempty" json:"status,omitempty"`
	Experimental                    *bool                              `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date                            *FHIRDateTime                      `bson:"date,omitempty" json:"date,omitempty"`
	Publisher                       string                             `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Description                     string                             `bson:"description,omitempty" json:"description,omitempty"`
	Purpose                         string                             `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Usage                           string                             `bson:"usage,omitempty" json:"usage,omitempty"`
	ApprovalDate                    *FHIRDateTime                      `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate                  *FHIRDateTime                      `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod                 *Period                            `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	UseContext                      []UsageContext                     `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction                    []CodeableConcept                  `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Topic                           []CodeableConcept                  `bson:"topic,omitempty" json:"topic,omitempty"`
	Contributor                     []Contributor                      `bson:"contributor,omitempty" json:"contributor,omitempty"`
	Contact                         []ContactDetail                    `bson:"contact,omitempty" json:"contact,omitempty"`
	Copyright                       string                             `bson:"copyright,omitempty" json:"copyright,omitempty"`
	RelatedArtifact                 []RelatedArtifact                  `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Library                         []Reference                        `bson:"library,omitempty" json:"library,omitempty"`
	Disclaimer                      string                             `bson:"disclaimer,omitempty" json:"disclaimer,omitempty"`
	Scoring                         *CodeableConcept                   `bson:"scoring,omitempty" json:"scoring,omitempty"`
	CompositeScoring                *CodeableConcept                   `bson:"compositeScoring,omitempty" json:"compositeScoring,omitempty"`
	Type                            []CodeableConcept                  `bson:"type,omitempty" json:"type,omitempty"`
	RiskAdjustment                  string                             `bson:"riskAdjustment,omitempty" json:"riskAdjustment,omitempty"`
	RateAggregation                 string                             `bson:"rateAggregation,omitempty" json:"rateAggregation,omitempty"`
	Rationale                       string                             `bson:"rationale,omitempty" json:"rationale,omitempty"`
	ClinicalRecommendationStatement string                             `bson:"clinicalRecommendationStatement,omitempty" json:"clinicalRecommendationStatement,omitempty"`
	ImprovementNotation             string                             `bson:"improvementNotation,omitempty" json:"improvementNotation,omitempty"`
	Definition                      []string                           `bson:"definition,omitempty" json:"definition,omitempty"`
	Guidance                        string                             `bson:"guidance,omitempty" json:"guidance,omitempty"`
	Set                             string                             `bson:"set,omitempty" json:"set,omitempty"`
	Group                           []MeasureGroupComponent            `bson:"group,omitempty" json:"group,omitempty"`
	SupplementalData                []MeasureSupplementalDataComponent `bson:"supplementalData,omitempty" json:"supplementalData,omitempty"`
}

func (*Measure) GetBSON

func (x *Measure) GetBSON() (interface{}, error)

func (*Measure) MarshalJSON

func (resource *Measure) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Measure) UnmarshalJSON

func (x *Measure) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type MeasureGroupComponent

type MeasureGroupComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier                       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Name            string                            `bson:"name,omitempty" json:"name,omitempty"`
	Description     string                            `bson:"description,omitempty" json:"description,omitempty"`
	Population      []MeasureGroupPopulationComponent `bson:"population,omitempty" json:"population,omitempty"`
	Stratifier      []MeasureGroupStratifierComponent `bson:"stratifier,omitempty" json:"stratifier,omitempty"`
}

type MeasureGroupPopulationComponent

type MeasureGroupPopulationComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Code            *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Name            string           `bson:"name,omitempty" json:"name,omitempty"`
	Description     string           `bson:"description,omitempty" json:"description,omitempty"`
	Criteria        string           `bson:"criteria,omitempty" json:"criteria,omitempty"`
}

type MeasureGroupStratifierComponent

type MeasureGroupStratifierComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Criteria        string      `bson:"criteria,omitempty" json:"criteria,omitempty"`
	Path            string      `bson:"path,omitempty" json:"path,omitempty"`
}

type MeasureReport

type MeasureReport struct {
	DomainResource        `bson:",inline"`
	Identifier            *Identifier                   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                string                        `bson:"status,omitempty" json:"status,omitempty"`
	Type                  string                        `bson:"type,omitempty" json:"type,omitempty"`
	Measure               *Reference                    `bson:"measure,omitempty" json:"measure,omitempty"`
	Patient               *Reference                    `bson:"patient,omitempty" json:"patient,omitempty"`
	Date                  *FHIRDateTime                 `bson:"date,omitempty" json:"date,omitempty"`
	ReportingOrganization *Reference                    `bson:"reportingOrganization,omitempty" json:"reportingOrganization,omitempty"`
	Period                *Period                       `bson:"period,omitempty" json:"period,omitempty"`
	Group                 []MeasureReportGroupComponent `bson:"group,omitempty" json:"group,omitempty"`
	EvaluatedResources    *Reference                    `bson:"evaluatedResources,omitempty" json:"evaluatedResources,omitempty"`
}

func (*MeasureReport) GetBSON

func (x *MeasureReport) GetBSON() (interface{}, error)

func (*MeasureReport) MarshalJSON

func (resource *MeasureReport) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*MeasureReport) UnmarshalJSON

func (x *MeasureReport) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type MeasureReportGroupComponent

type MeasureReportGroupComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier                             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Population      []MeasureReportGroupPopulationComponent `bson:"population,omitempty" json:"population,omitempty"`
	MeasureScore    *float64                                `bson:"measureScore,omitempty" json:"measureScore,omitempty"`
	Stratifier      []MeasureReportGroupStratifierComponent `bson:"stratifier,omitempty" json:"stratifier,omitempty"`
}

type MeasureReportGroupPopulationComponent

type MeasureReportGroupPopulationComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Code            *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Count           *int32           `bson:"count,omitempty" json:"count,omitempty"`
	Patients        *Reference       `bson:"patients,omitempty" json:"patients,omitempty"`
}

type MeasureReportGroupStratifierComponent

type MeasureReportGroupStratifierComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier                             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Stratum         []MeasureReportStratifierGroupComponent `bson:"stratum,omitempty" json:"stratum,omitempty"`
}

type MeasureReportStratifierGroupComponent

type MeasureReportStratifierGroupComponent struct {
	BackboneElement `bson:",inline"`
	Value           string                                            `bson:"value,omitempty" json:"value,omitempty"`
	Population      []MeasureReportStratifierGroupPopulationComponent `bson:"population,omitempty" json:"population,omitempty"`
	MeasureScore    *float64                                          `bson:"measureScore,omitempty" json:"measureScore,omitempty"`
}

type MeasureReportStratifierGroupPopulationComponent

type MeasureReportStratifierGroupPopulationComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Code            *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Count           *int32           `bson:"count,omitempty" json:"count,omitempty"`
	Patients        *Reference       `bson:"patients,omitempty" json:"patients,omitempty"`
}

type MeasureSupplementalDataComponent

type MeasureSupplementalDataComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Usage           []CodeableConcept `bson:"usage,omitempty" json:"usage,omitempty"`
	Criteria        string            `bson:"criteria,omitempty" json:"criteria,omitempty"`
	Path            string            `bson:"path,omitempty" json:"path,omitempty"`
}

type Media

type Media struct {
	DomainResource     `bson:",inline"`
	Identifier         []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	BasedOn            []Reference       `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Type               string            `bson:"type,omitempty" json:"type,omitempty"`
	Subtype            *CodeableConcept  `bson:"subtype,omitempty" json:"subtype,omitempty"`
	View               *CodeableConcept  `bson:"view,omitempty" json:"view,omitempty"`
	Subject            *Reference        `bson:"subject,omitempty" json:"subject,omitempty"`
	Context            *Reference        `bson:"context,omitempty" json:"context,omitempty"`
	OccurrenceDateTime *FHIRDateTime     `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod   *Period           `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	Operator           *Reference        `bson:"operator,omitempty" json:"operator,omitempty"`
	ReasonCode         []CodeableConcept `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	BodySite           *CodeableConcept  `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	Device             *Reference        `bson:"device,omitempty" json:"device,omitempty"`
	Height             *uint32           `bson:"height,omitempty" json:"height,omitempty"`
	Width              *uint32           `bson:"width,omitempty" json:"width,omitempty"`
	Frames             *uint32           `bson:"frames,omitempty" json:"frames,omitempty"`
	Duration           *uint32           `bson:"duration,omitempty" json:"duration,omitempty"`
	Content            *Attachment       `bson:"content,omitempty" json:"content,omitempty"`
	Note               []Annotation      `bson:"note,omitempty" json:"note,omitempty"`
}

func (*Media) GetBSON

func (x *Media) GetBSON() (interface{}, error)

func (*Media) MarshalJSON

func (resource *Media) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Media) UnmarshalJSON

func (x *Media) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type Medication

type Medication struct {
	DomainResource   `bson:",inline"`
	Code             *CodeableConcept                `bson:"code,omitempty" json:"code,omitempty"`
	Status           string                          `bson:"status,omitempty" json:"status,omitempty"`
	IsBrand          *bool                           `bson:"isBrand,omitempty" json:"isBrand,omitempty"`
	IsOverTheCounter *bool                           `bson:"isOverTheCounter,omitempty" json:"isOverTheCounter,omitempty"`
	Manufacturer     *Reference                      `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
	Form             *CodeableConcept                `bson:"form,omitempty" json:"form,omitempty"`
	Ingredient       []MedicationIngredientComponent `bson:"ingredient,omitempty" json:"ingredient,omitempty"`
	Package          *MedicationPackageComponent     `bson:"package,omitempty" json:"package,omitempty"`
	Image            []Attachment                    `bson:"image,omitempty" json:"image,omitempty"`
}

func (*Medication) GetBSON

func (x *Medication) GetBSON() (interface{}, error)

func (*Medication) MarshalJSON

func (resource *Medication) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Medication) UnmarshalJSON

func (x *Medication) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type MedicationAdministration

type MedicationAdministration struct {
	DomainResource            `bson:",inline"`
	Identifier                []Identifier                                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition                []Reference                                  `bson:"definition,omitempty" json:"definition,omitempty"`
	PartOf                    []Reference                                  `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Status                    string                                       `bson:"status,omitempty" json:"status,omitempty"`
	Category                  *CodeableConcept                             `bson:"category,omitempty" json:"category,omitempty"`
	MedicationCodeableConcept *CodeableConcept                             `bson:"medicationCodeableConcept,omitempty" json:"medicationCodeableConcept,omitempty"`
	MedicationReference       *Reference                                   `bson:"medicationReference,omitempty" json:"medicationReference,omitempty"`
	Subject                   *Reference                                   `bson:"subject,omitempty" json:"subject,omitempty"`
	Context                   *Reference                                   `bson:"context,omitempty" json:"context,omitempty"`
	SupportingInformation     []Reference                                  `bson:"supportingInformation,omitempty" json:"supportingInformation,omitempty"`
	EffectiveDateTime         *FHIRDateTime                                `bson:"effectiveDateTime,omitempty" json:"effectiveDateTime,omitempty"`
	EffectivePeriod           *Period                                      `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Performer                 []MedicationAdministrationPerformerComponent `bson:"performer,omitempty" json:"performer,omitempty"`
	NotGiven                  *bool                                        `bson:"notGiven,omitempty" json:"notGiven,omitempty"`
	ReasonNotGiven            []CodeableConcept                            `bson:"reasonNotGiven,omitempty" json:"reasonNotGiven,omitempty"`
	ReasonCode                []CodeableConcept                            `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference           []Reference                                  `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Prescription              *Reference                                   `bson:"prescription,omitempty" json:"prescription,omitempty"`
	Device                    []Reference                                  `bson:"device,omitempty" json:"device,omitempty"`
	Note                      []Annotation                                 `bson:"note,omitempty" json:"note,omitempty"`
	Dosage                    *MedicationAdministrationDosageComponent     `bson:"dosage,omitempty" json:"dosage,omitempty"`
	EventHistory              []Reference                                  `bson:"eventHistory,omitempty" json:"eventHistory,omitempty"`
}

func (*MedicationAdministration) GetBSON

func (x *MedicationAdministration) GetBSON() (interface{}, error)

func (*MedicationAdministration) MarshalJSON

func (resource *MedicationAdministration) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*MedicationAdministration) UnmarshalJSON

func (x *MedicationAdministration) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type MedicationAdministrationDosageComponent

type MedicationAdministrationDosageComponent struct {
	BackboneElement    `bson:",inline"`
	Text               string           `bson:"text,omitempty" json:"text,omitempty"`
	Site               *CodeableConcept `bson:"site,omitempty" json:"site,omitempty"`
	Route              *CodeableConcept `bson:"route,omitempty" json:"route,omitempty"`
	Method             *CodeableConcept `bson:"method,omitempty" json:"method,omitempty"`
	Dose               *Quantity        `bson:"dose,omitempty" json:"dose,omitempty"`
	RateRatio          *Ratio           `bson:"rateRatio,omitempty" json:"rateRatio,omitempty"`
	RateSimpleQuantity *Quantity        `bson:"rateSimpleQuantity,omitempty" json:"rateSimpleQuantity,omitempty"`
}

type MedicationAdministrationPerformerComponent

type MedicationAdministrationPerformerComponent struct {
	BackboneElement `bson:",inline"`
	Actor           *Reference `bson:"actor,omitempty" json:"actor,omitempty"`
	OnBehalfOf      *Reference `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

type MedicationDispense

type MedicationDispense struct {
	DomainResource               `bson:",inline"`
	Identifier                   []Identifier                             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	PartOf                       []Reference                              `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Status                       string                                   `bson:"status,omitempty" json:"status,omitempty"`
	Category                     *CodeableConcept                         `bson:"category,omitempty" json:"category,omitempty"`
	MedicationCodeableConcept    *CodeableConcept                         `bson:"medicationCodeableConcept,omitempty" json:"medicationCodeableConcept,omitempty"`
	MedicationReference          *Reference                               `bson:"medicationReference,omitempty" json:"medicationReference,omitempty"`
	Subject                      *Reference                               `bson:"subject,omitempty" json:"subject,omitempty"`
	Context                      *Reference                               `bson:"context,omitempty" json:"context,omitempty"`
	SupportingInformation        []Reference                              `bson:"supportingInformation,omitempty" json:"supportingInformation,omitempty"`
	Performer                    []MedicationDispensePerformerComponent   `bson:"performer,omitempty" json:"performer,omitempty"`
	AuthorizingPrescription      []Reference                              `bson:"authorizingPrescription,omitempty" json:"authorizingPrescription,omitempty"`
	Type                         *CodeableConcept                         `bson:"type,omitempty" json:"type,omitempty"`
	Quantity                     *Quantity                                `bson:"quantity,omitempty" json:"quantity,omitempty"`
	DaysSupply                   *Quantity                                `bson:"daysSupply,omitempty" json:"daysSupply,omitempty"`
	WhenPrepared                 *FHIRDateTime                            `bson:"whenPrepared,omitempty" json:"whenPrepared,omitempty"`
	WhenHandedOver               *FHIRDateTime                            `bson:"whenHandedOver,omitempty" json:"whenHandedOver,omitempty"`
	Destination                  *Reference                               `bson:"destination,omitempty" json:"destination,omitempty"`
	Receiver                     []Reference                              `bson:"receiver,omitempty" json:"receiver,omitempty"`
	Note                         []Annotation                             `bson:"note,omitempty" json:"note,omitempty"`
	DosageInstruction            []Dosage                                 `bson:"dosageInstruction,omitempty" json:"dosageInstruction,omitempty"`
	Substitution                 *MedicationDispenseSubstitutionComponent `bson:"substitution,omitempty" json:"substitution,omitempty"`
	DetectedIssue                []Reference                              `bson:"detectedIssue,omitempty" json:"detectedIssue,omitempty"`
	NotDone                      *bool                                    `bson:"notDone,omitempty" json:"notDone,omitempty"`
	NotDoneReasonCodeableConcept *CodeableConcept                         `bson:"notDoneReasonCodeableConcept,omitempty" json:"notDoneReasonCodeableConcept,omitempty"`
	NotDoneReasonReference       *Reference                               `bson:"notDoneReasonReference,omitempty" json:"notDoneReasonReference,omitempty"`
	EventHistory                 []Reference                              `bson:"eventHistory,omitempty" json:"eventHistory,omitempty"`
}

func (*MedicationDispense) GetBSON

func (x *MedicationDispense) GetBSON() (interface{}, error)

func (*MedicationDispense) MarshalJSON

func (resource *MedicationDispense) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*MedicationDispense) UnmarshalJSON

func (x *MedicationDispense) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type MedicationDispensePerformerComponent

type MedicationDispensePerformerComponent struct {
	BackboneElement `bson:",inline"`
	Actor           *Reference `bson:"actor,omitempty" json:"actor,omitempty"`
	OnBehalfOf      *Reference `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

type MedicationDispenseSubstitutionComponent

type MedicationDispenseSubstitutionComponent struct {
	BackboneElement  `bson:",inline"`
	WasSubstituted   *bool             `bson:"wasSubstituted,omitempty" json:"wasSubstituted,omitempty"`
	Type             *CodeableConcept  `bson:"type,omitempty" json:"type,omitempty"`
	Reason           []CodeableConcept `bson:"reason,omitempty" json:"reason,omitempty"`
	ResponsibleParty []Reference       `bson:"responsibleParty,omitempty" json:"responsibleParty,omitempty"`
}

type MedicationIngredientComponent

type MedicationIngredientComponent struct {
	BackboneElement     `bson:",inline"`
	ItemCodeableConcept *CodeableConcept `bson:"itemCodeableConcept,omitempty" json:"itemCodeableConcept,omitempty"`
	ItemReference       *Reference       `bson:"itemReference,omitempty" json:"itemReference,omitempty"`
	IsActive            *bool            `bson:"isActive,omitempty" json:"isActive,omitempty"`
	Amount              *Ratio           `bson:"amount,omitempty" json:"amount,omitempty"`
}

type MedicationPackageBatchComponent

type MedicationPackageBatchComponent struct {
	BackboneElement `bson:",inline"`
	LotNumber       string        `bson:"lotNumber,omitempty" json:"lotNumber,omitempty"`
	ExpirationDate  *FHIRDateTime `bson:"expirationDate,omitempty" json:"expirationDate,omitempty"`
}

type MedicationPackageComponent

type MedicationPackageComponent struct {
	BackboneElement `bson:",inline"`
	Container       *CodeableConcept                    `bson:"container,omitempty" json:"container,omitempty"`
	Content         []MedicationPackageContentComponent `bson:"content,omitempty" json:"content,omitempty"`
	Batch           []MedicationPackageBatchComponent   `bson:"batch,omitempty" json:"batch,omitempty"`
}

type MedicationPackageContentComponent

type MedicationPackageContentComponent struct {
	BackboneElement     `bson:",inline"`
	ItemCodeableConcept *CodeableConcept `bson:"itemCodeableConcept,omitempty" json:"itemCodeableConcept,omitempty"`
	ItemReference       *Reference       `bson:"itemReference,omitempty" json:"itemReference,omitempty"`
	Amount              *Quantity        `bson:"amount,omitempty" json:"amount,omitempty"`
}

type MedicationRequest

type MedicationRequest struct {
	DomainResource            `bson:",inline"`
	Identifier                []Identifier                               `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition                []Reference                                `bson:"definition,omitempty" json:"definition,omitempty"`
	BasedOn                   []Reference                                `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	GroupIdentifier           *Identifier                                `bson:"groupIdentifier,omitempty" json:"groupIdentifier,omitempty"`
	Status                    string                                     `bson:"status,omitempty" json:"status,omitempty"`
	Intent                    string                                     `bson:"intent,omitempty" json:"intent,omitempty"`
	Category                  *CodeableConcept                           `bson:"category,omitempty" json:"category,omitempty"`
	Priority                  string                                     `bson:"priority,omitempty" json:"priority,omitempty"`
	MedicationCodeableConcept *CodeableConcept                           `bson:"medicationCodeableConcept,omitempty" json:"medicationCodeableConcept,omitempty"`
	MedicationReference       *Reference                                 `bson:"medicationReference,omitempty" json:"medicationReference,omitempty"`
	Subject                   *Reference                                 `bson:"subject,omitempty" json:"subject,omitempty"`
	Context                   *Reference                                 `bson:"context,omitempty" json:"context,omitempty"`
	SupportingInformation     []Reference                                `bson:"supportingInformation,omitempty" json:"supportingInformation,omitempty"`
	AuthoredOn                *FHIRDateTime                              `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Requester                 *MedicationRequestRequesterComponent       `bson:"requester,omitempty" json:"requester,omitempty"`
	Recorder                  *Reference                                 `bson:"recorder,omitempty" json:"recorder,omitempty"`
	ReasonCode                []CodeableConcept                          `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference           []Reference                                `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Note                      []Annotation                               `bson:"note,omitempty" json:"note,omitempty"`
	DosageInstruction         []Dosage                                   `bson:"dosageInstruction,omitempty" json:"dosageInstruction,omitempty"`
	DispenseRequest           *MedicationRequestDispenseRequestComponent `bson:"dispenseRequest,omitempty" json:"dispenseRequest,omitempty"`
	Substitution              *MedicationRequestSubstitutionComponent    `bson:"substitution,omitempty" json:"substitution,omitempty"`
	PriorPrescription         *Reference                                 `bson:"priorPrescription,omitempty" json:"priorPrescription,omitempty"`
	DetectedIssue             []Reference                                `bson:"detectedIssue,omitempty" json:"detectedIssue,omitempty"`
	EventHistory              []Reference                                `bson:"eventHistory,omitempty" json:"eventHistory,omitempty"`
}

func (*MedicationRequest) GetBSON

func (x *MedicationRequest) GetBSON() (interface{}, error)

func (*MedicationRequest) MarshalJSON

func (resource *MedicationRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*MedicationRequest) UnmarshalJSON

func (x *MedicationRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type MedicationRequestDispenseRequestComponent

type MedicationRequestDispenseRequestComponent struct {
	BackboneElement        `bson:",inline"`
	ValidityPeriod         *Period    `bson:"validityPeriod,omitempty" json:"validityPeriod,omitempty"`
	NumberOfRepeatsAllowed *uint32    `bson:"numberOfRepeatsAllowed,omitempty" json:"numberOfRepeatsAllowed,omitempty"`
	Quantity               *Quantity  `bson:"quantity,omitempty" json:"quantity,omitempty"`
	ExpectedSupplyDuration *Quantity  `bson:"expectedSupplyDuration,omitempty" json:"expectedSupplyDuration,omitempty"`
	Performer              *Reference `bson:"performer,omitempty" json:"performer,omitempty"`
}

type MedicationRequestRequesterComponent

type MedicationRequestRequesterComponent struct {
	BackboneElement `bson:",inline"`
	Agent           *Reference `bson:"agent,omitempty" json:"agent,omitempty"`
	OnBehalfOf      *Reference `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

type MedicationRequestSubstitutionComponent

type MedicationRequestSubstitutionComponent struct {
	BackboneElement `bson:",inline"`
	Allowed         *bool            `bson:"allowed,omitempty" json:"allowed,omitempty"`
	Reason          *CodeableConcept `bson:"reason,omitempty" json:"reason,omitempty"`
}

type MedicationStatement

type MedicationStatement struct {
	DomainResource            `bson:",inline"`
	Identifier                []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	BasedOn                   []Reference       `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	PartOf                    []Reference       `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Context                   *Reference        `bson:"context,omitempty" json:"context,omitempty"`
	Status                    string            `bson:"status,omitempty" json:"status,omitempty"`
	Category                  *CodeableConcept  `bson:"category,omitempty" json:"category,omitempty"`
	MedicationCodeableConcept *CodeableConcept  `bson:"medicationCodeableConcept,omitempty" json:"medicationCodeableConcept,omitempty"`
	MedicationReference       *Reference        `bson:"medicationReference,omitempty" json:"medicationReference,omitempty"`
	EffectiveDateTime         *FHIRDateTime     `bson:"effectiveDateTime,omitempty" json:"effectiveDateTime,omitempty"`
	EffectivePeriod           *Period           `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	DateAsserted              *FHIRDateTime     `bson:"dateAsserted,omitempty" json:"dateAsserted,omitempty"`
	InformationSource         *Reference        `bson:"informationSource,omitempty" json:"informationSource,omitempty"`
	Subject                   *Reference        `bson:"subject,omitempty" json:"subject,omitempty"`
	DerivedFrom               []Reference       `bson:"derivedFrom,omitempty" json:"derivedFrom,omitempty"`
	Taken                     string            `bson:"taken,omitempty" json:"taken,omitempty"`
	ReasonNotTaken            []CodeableConcept `bson:"reasonNotTaken,omitempty" json:"reasonNotTaken,omitempty"`
	ReasonCode                []CodeableConcept `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference           []Reference       `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Note                      []Annotation      `bson:"note,omitempty" json:"note,omitempty"`
	Dosage                    []Dosage          `bson:"dosage,omitempty" json:"dosage,omitempty"`
}

func (*MedicationStatement) GetBSON

func (x *MedicationStatement) GetBSON() (interface{}, error)

func (*MedicationStatement) MarshalJSON

func (resource *MedicationStatement) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*MedicationStatement) UnmarshalJSON

func (x *MedicationStatement) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type MessageDefinition

type MessageDefinition struct {
	DomainResource   `bson:",inline"`
	Url              string                                      `bson:"url,omitempty" json:"url,omitempty"`
	Identifier       *Identifier                                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version          string                                      `bson:"version,omitempty" json:"version,omitempty"`
	Name             string                                      `bson:"name,omitempty" json:"name,omitempty"`
	Title            string                                      `bson:"title,omitempty" json:"title,omitempty"`
	Status           string                                      `bson:"status,omitempty" json:"status,omitempty"`
	Experimental     *bool                                       `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date             *FHIRDateTime                               `bson:"date,omitempty" json:"date,omitempty"`
	Publisher        string                                      `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact          []ContactDetail                             `bson:"contact,omitempty" json:"contact,omitempty"`
	Description      string                                      `bson:"description,omitempty" json:"description,omitempty"`
	UseContext       []UsageContext                              `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction     []CodeableConcept                           `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Purpose          string                                      `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Copyright        string                                      `bson:"copyright,omitempty" json:"copyright,omitempty"`
	Base             *Reference                                  `bson:"base,omitempty" json:"base,omitempty"`
	Parent           []Reference                                 `bson:"parent,omitempty" json:"parent,omitempty"`
	Replaces         []Reference                                 `bson:"replaces,omitempty" json:"replaces,omitempty"`
	Event            *Coding                                     `bson:"event,omitempty" json:"event,omitempty"`
	Category         string                                      `bson:"category,omitempty" json:"category,omitempty"`
	Focus            []MessageDefinitionFocusComponent           `bson:"focus,omitempty" json:"focus,omitempty"`
	ResponseRequired *bool                                       `bson:"responseRequired,omitempty" json:"responseRequired,omitempty"`
	AllowedResponse  []MessageDefinitionAllowedResponseComponent `bson:"allowedResponse,omitempty" json:"allowedResponse,omitempty"`
}

func (*MessageDefinition) GetBSON

func (x *MessageDefinition) GetBSON() (interface{}, error)

func (*MessageDefinition) MarshalJSON

func (resource *MessageDefinition) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*MessageDefinition) UnmarshalJSON

func (x *MessageDefinition) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type MessageDefinitionAllowedResponseComponent

type MessageDefinitionAllowedResponseComponent struct {
	BackboneElement `bson:",inline"`
	Message         *Reference `bson:"message,omitempty" json:"message,omitempty"`
	Situation       string     `bson:"situation,omitempty" json:"situation,omitempty"`
}

type MessageDefinitionFocusComponent

type MessageDefinitionFocusComponent struct {
	BackboneElement `bson:",inline"`
	Code            string     `bson:"code,omitempty" json:"code,omitempty"`
	Profile         *Reference `bson:"profile,omitempty" json:"profile,omitempty"`
	Min             *uint32    `bson:"min,omitempty" json:"min,omitempty"`
	Max             string     `bson:"max,omitempty" json:"max,omitempty"`
}

type MessageHeader

type MessageHeader struct {
	DomainResource `bson:",inline"`
	Event          *Coding                                    `bson:"event,omitempty" json:"event,omitempty"`
	Destination    []MessageHeaderMessageDestinationComponent `bson:"destination,omitempty" json:"destination,omitempty"`
	Receiver       *Reference                                 `bson:"receiver,omitempty" json:"receiver,omitempty"`
	Sender         *Reference                                 `bson:"sender,omitempty" json:"sender,omitempty"`
	Timestamp      *FHIRDateTime                              `bson:"timestamp,omitempty" json:"timestamp,omitempty"`
	Enterer        *Reference                                 `bson:"enterer,omitempty" json:"enterer,omitempty"`
	Author         *Reference                                 `bson:"author,omitempty" json:"author,omitempty"`
	Source         *MessageHeaderMessageSourceComponent       `bson:"source,omitempty" json:"source,omitempty"`
	Responsible    *Reference                                 `bson:"responsible,omitempty" json:"responsible,omitempty"`
	Reason         *CodeableConcept                           `bson:"reason,omitempty" json:"reason,omitempty"`
	Response       *MessageHeaderResponseComponent            `bson:"response,omitempty" json:"response,omitempty"`
	Focus          []Reference                                `bson:"focus,omitempty" json:"focus,omitempty"`
}

func (*MessageHeader) GetBSON

func (x *MessageHeader) GetBSON() (interface{}, error)

func (*MessageHeader) MarshalJSON

func (resource *MessageHeader) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*MessageHeader) UnmarshalJSON

func (x *MessageHeader) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type MessageHeaderMessageDestinationComponent

type MessageHeaderMessageDestinationComponent struct {
	BackboneElement `bson:",inline"`
	Name            string     `bson:"name,omitempty" json:"name,omitempty"`
	Target          *Reference `bson:"target,omitempty" json:"target,omitempty"`
	Endpoint        string     `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
}

type MessageHeaderMessageSourceComponent

type MessageHeaderMessageSourceComponent struct {
	BackboneElement `bson:",inline"`
	Name            string        `bson:"name,omitempty" json:"name,omitempty"`
	Software        string        `bson:"software,omitempty" json:"software,omitempty"`
	Version         string        `bson:"version,omitempty" json:"version,omitempty"`
	Contact         *ContactPoint `bson:"contact,omitempty" json:"contact,omitempty"`
	Endpoint        string        `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
}

type MessageHeaderResponseComponent

type MessageHeaderResponseComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      string     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Code            string     `bson:"code,omitempty" json:"code,omitempty"`
	Details         *Reference `bson:"details,omitempty" json:"details,omitempty"`
}

type Meta

type Meta struct {
	Element     `bson:",inline"`
	VersionId   string        `bson:"versionId,omitempty" json:"versionId,omitempty"`
	LastUpdated *FHIRDateTime `bson:"lastUpdated,omitempty" json:"lastUpdated,omitempty"`
	Profile     []string      `bson:"profile,omitempty" json:"profile,omitempty"`
	Security    []Coding      `bson:"security,omitempty" json:"security,omitempty"`
	Tag         []Coding      `bson:"tag,omitempty" json:"tag,omitempty"`
}

func GetResourceMeta

func GetResourceMeta(resource interface{}) (meta *Meta, ok bool)

type Money

type Money struct {
	Quantity `bson:",inline"`
}

type NamingSystem

type NamingSystem struct {
	DomainResource `bson:",inline"`
	Name           string                          `bson:"name,omitempty" json:"name,omitempty"`
	Status         string                          `bson:"status,omitempty" json:"status,omitempty"`
	Kind           string                          `bson:"kind,omitempty" json:"kind,omitempty"`
	Date           *FHIRDateTime                   `bson:"date,omitempty" json:"date,omitempty"`
	Publisher      string                          `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact        []ContactDetail                 `bson:"contact,omitempty" json:"contact,omitempty"`
	Responsible    string                          `bson:"responsible,omitempty" json:"responsible,omitempty"`
	Type           *CodeableConcept                `bson:"type,omitempty" json:"type,omitempty"`
	Description    string                          `bson:"description,omitempty" json:"description,omitempty"`
	UseContext     []UsageContext                  `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction   []CodeableConcept               `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Usage          string                          `bson:"usage,omitempty" json:"usage,omitempty"`
	UniqueId       []NamingSystemUniqueIdComponent `bson:"uniqueId,omitempty" json:"uniqueId,omitempty"`
	ReplacedBy     *Reference                      `bson:"replacedBy,omitempty" json:"replacedBy,omitempty"`
}

func (*NamingSystem) GetBSON

func (x *NamingSystem) GetBSON() (interface{}, error)

func (*NamingSystem) MarshalJSON

func (resource *NamingSystem) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*NamingSystem) UnmarshalJSON

func (x *NamingSystem) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type NamingSystemUniqueIdComponent

type NamingSystemUniqueIdComponent struct {
	BackboneElement `bson:",inline"`
	Type            string  `bson:"type,omitempty" json:"type,omitempty"`
	Value           string  `bson:"value,omitempty" json:"value,omitempty"`
	Preferred       *bool   `bson:"preferred,omitempty" json:"preferred,omitempty"`
	Comment         string  `bson:"comment,omitempty" json:"comment,omitempty"`
	Period          *Period `bson:"period,omitempty" json:"period,omitempty"`
}

type Narrative

type Narrative struct {
	Status string `bson:"status,omitempty" json:"status,omitempty"`
	Div    string `bson:"div,omitempty" json:"div,omitempty"`
}

type NutritionOrder

type NutritionOrder struct {
	DomainResource         `bson:",inline"`
	Identifier             []Identifier                           `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                 string                                 `bson:"status,omitempty" json:"status,omitempty"`
	Patient                *Reference                             `bson:"patient,omitempty" json:"patient,omitempty"`
	Encounter              *Reference                             `bson:"encounter,omitempty" json:"encounter,omitempty"`
	DateTime               *FHIRDateTime                          `bson:"dateTime,omitempty" json:"dateTime,omitempty"`
	Orderer                *Reference                             `bson:"orderer,omitempty" json:"orderer,omitempty"`
	AllergyIntolerance     []Reference                            `bson:"allergyIntolerance,omitempty" json:"allergyIntolerance,omitempty"`
	FoodPreferenceModifier []CodeableConcept                      `bson:"foodPreferenceModifier,omitempty" json:"foodPreferenceModifier,omitempty"`
	ExcludeFoodModifier    []CodeableConcept                      `bson:"excludeFoodModifier,omitempty" json:"excludeFoodModifier,omitempty"`
	OralDiet               *NutritionOrderOralDietComponent       `bson:"oralDiet,omitempty" json:"oralDiet,omitempty"`
	Supplement             []NutritionOrderSupplementComponent    `bson:"supplement,omitempty" json:"supplement,omitempty"`
	EnteralFormula         *NutritionOrderEnteralFormulaComponent `bson:"enteralFormula,omitempty" json:"enteralFormula,omitempty"`
}

func (*NutritionOrder) GetBSON

func (x *NutritionOrder) GetBSON() (interface{}, error)

func (*NutritionOrder) MarshalJSON

func (resource *NutritionOrder) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*NutritionOrder) UnmarshalJSON

func (x *NutritionOrder) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type NutritionOrderEnteralFormulaAdministrationComponent

type NutritionOrderEnteralFormulaAdministrationComponent struct {
	BackboneElement    `bson:",inline"`
	Schedule           *Timing   `bson:"schedule,omitempty" json:"schedule,omitempty"`
	Quantity           *Quantity `bson:"quantity,omitempty" json:"quantity,omitempty"`
	RateSimpleQuantity *Quantity `bson:"rateSimpleQuantity,omitempty" json:"rateSimpleQuantity,omitempty"`
	RateRatio          *Ratio    `bson:"rateRatio,omitempty" json:"rateRatio,omitempty"`
}

type NutritionOrderEnteralFormulaComponent

type NutritionOrderEnteralFormulaComponent struct {
	BackboneElement           `bson:",inline"`
	BaseFormulaType           *CodeableConcept                                      `bson:"baseFormulaType,omitempty" json:"baseFormulaType,omitempty"`
	BaseFormulaProductName    string                                                `bson:"baseFormulaProductName,omitempty" json:"baseFormulaProductName,omitempty"`
	AdditiveType              *CodeableConcept                                      `bson:"additiveType,omitempty" json:"additiveType,omitempty"`
	AdditiveProductName       string                                                `bson:"additiveProductName,omitempty" json:"additiveProductName,omitempty"`
	CaloricDensity            *Quantity                                             `bson:"caloricDensity,omitempty" json:"caloricDensity,omitempty"`
	RouteofAdministration     *CodeableConcept                                      `bson:"routeofAdministration,omitempty" json:"routeofAdministration,omitempty"`
	Administration            []NutritionOrderEnteralFormulaAdministrationComponent `bson:"administration,omitempty" json:"administration,omitempty"`
	MaxVolumeToDeliver        *Quantity                                             `bson:"maxVolumeToDeliver,omitempty" json:"maxVolumeToDeliver,omitempty"`
	AdministrationInstruction string                                                `bson:"administrationInstruction,omitempty" json:"administrationInstruction,omitempty"`
}

type NutritionOrderOralDietComponent

type NutritionOrderOralDietComponent struct {
	BackboneElement      `bson:",inline"`
	Type                 []CodeableConcept                         `bson:"type,omitempty" json:"type,omitempty"`
	Schedule             []Timing                                  `bson:"schedule,omitempty" json:"schedule,omitempty"`
	Nutrient             []NutritionOrderOralDietNutrientComponent `bson:"nutrient,omitempty" json:"nutrient,omitempty"`
	Texture              []NutritionOrderOralDietTextureComponent  `bson:"texture,omitempty" json:"texture,omitempty"`
	FluidConsistencyType []CodeableConcept                         `bson:"fluidConsistencyType,omitempty" json:"fluidConsistencyType,omitempty"`
	Instruction          string                                    `bson:"instruction,omitempty" json:"instruction,omitempty"`
}

type NutritionOrderOralDietNutrientComponent

type NutritionOrderOralDietNutrientComponent struct {
	BackboneElement `bson:",inline"`
	Modifier        *CodeableConcept `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Amount          *Quantity        `bson:"amount,omitempty" json:"amount,omitempty"`
}

type NutritionOrderOralDietTextureComponent

type NutritionOrderOralDietTextureComponent struct {
	BackboneElement `bson:",inline"`
	Modifier        *CodeableConcept `bson:"modifier,omitempty" json:"modifier,omitempty"`
	FoodType        *CodeableConcept `bson:"foodType,omitempty" json:"foodType,omitempty"`
}

type NutritionOrderSupplementComponent

type NutritionOrderSupplementComponent struct {
	BackboneElement `bson:",inline"`
	Type            *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	ProductName     string           `bson:"productName,omitempty" json:"productName,omitempty"`
	Schedule        []Timing         `bson:"schedule,omitempty" json:"schedule,omitempty"`
	Quantity        *Quantity        `bson:"quantity,omitempty" json:"quantity,omitempty"`
	Instruction     string           `bson:"instruction,omitempty" json:"instruction,omitempty"`
}

type NutritionRequest

type NutritionRequest struct {
	DomainResource         `bson:",inline"`
	Identifier             []Identifier                             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                 string                                   `bson:"status,omitempty" json:"status,omitempty"`
	Patient                *Reference                               `bson:"patient,omitempty" json:"patient,omitempty"`
	Encounter              *Reference                               `bson:"encounter,omitempty" json:"encounter,omitempty"`
	DateTime               *FHIRDateTime                            `bson:"dateTime,omitempty" json:"dateTime,omitempty"`
	Orderer                *Reference                               `bson:"orderer,omitempty" json:"orderer,omitempty"`
	AllergyIntolerance     []Reference                              `bson:"allergyIntolerance,omitempty" json:"allergyIntolerance,omitempty"`
	FoodPreferenceModifier []CodeableConcept                        `bson:"foodPreferenceModifier,omitempty" json:"foodPreferenceModifier,omitempty"`
	ExcludeFoodModifier    []CodeableConcept                        `bson:"excludeFoodModifier,omitempty" json:"excludeFoodModifier,omitempty"`
	OralDiet               *NutritionRequestOralDietComponent       `bson:"oralDiet,omitempty" json:"oralDiet,omitempty"`
	Supplement             []NutritionRequestSupplementComponent    `bson:"supplement,omitempty" json:"supplement,omitempty"`
	EnteralFormula         *NutritionRequestEnteralFormulaComponent `bson:"enteralFormula,omitempty" json:"enteralFormula,omitempty"`
}

func (*NutritionRequest) GetBSON

func (x *NutritionRequest) GetBSON() (interface{}, error)

func (*NutritionRequest) MarshalJSON

func (resource *NutritionRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*NutritionRequest) UnmarshalJSON

func (x *NutritionRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type NutritionRequestEnteralFormulaAdministrationComponent

type NutritionRequestEnteralFormulaAdministrationComponent struct {
	BackboneElement    `bson:",inline"`
	Schedule           *Timing   `bson:"schedule,omitempty" json:"schedule,omitempty"`
	Quantity           *Quantity `bson:"quantity,omitempty" json:"quantity,omitempty"`
	RateSimpleQuantity *Quantity `bson:"rateSimpleQuantity,omitempty" json:"rateSimpleQuantity,omitempty"`
	RateRatio          *Ratio    `bson:"rateRatio,omitempty" json:"rateRatio,omitempty"`
}

type NutritionRequestEnteralFormulaComponent

type NutritionRequestEnteralFormulaComponent struct {
	BackboneElement           `bson:",inline"`
	BaseFormulaType           *CodeableConcept                                        `bson:"baseFormulaType,omitempty" json:"baseFormulaType,omitempty"`
	BaseFormulaProductName    string                                                  `bson:"baseFormulaProductName,omitempty" json:"baseFormulaProductName,omitempty"`
	AdditiveType              *CodeableConcept                                        `bson:"additiveType,omitempty" json:"additiveType,omitempty"`
	AdditiveProductName       string                                                  `bson:"additiveProductName,omitempty" json:"additiveProductName,omitempty"`
	CaloricDensity            *Quantity                                               `bson:"caloricDensity,omitempty" json:"caloricDensity,omitempty"`
	RouteofAdministration     *CodeableConcept                                        `bson:"routeofAdministration,omitempty" json:"routeofAdministration,omitempty"`
	Administration            []NutritionRequestEnteralFormulaAdministrationComponent `bson:"administration,omitempty" json:"administration,omitempty"`
	MaxVolumeToDeliver        *Quantity                                               `bson:"maxVolumeToDeliver,omitempty" json:"maxVolumeToDeliver,omitempty"`
	AdministrationInstruction string                                                  `bson:"administrationInstruction,omitempty" json:"administrationInstruction,omitempty"`
}

type NutritionRequestOralDietComponent

type NutritionRequestOralDietComponent struct {
	BackboneElement      `bson:",inline"`
	Type                 []CodeableConcept                           `bson:"type,omitempty" json:"type,omitempty"`
	Schedule             []Timing                                    `bson:"schedule,omitempty" json:"schedule,omitempty"`
	Nutrient             []NutritionRequestOralDietNutrientComponent `bson:"nutrient,omitempty" json:"nutrient,omitempty"`
	Texture              []NutritionRequestOralDietTextureComponent  `bson:"texture,omitempty" json:"texture,omitempty"`
	FluidConsistencyType []CodeableConcept                           `bson:"fluidConsistencyType,omitempty" json:"fluidConsistencyType,omitempty"`
	Instruction          string                                      `bson:"instruction,omitempty" json:"instruction,omitempty"`
}

type NutritionRequestOralDietNutrientComponent

type NutritionRequestOralDietNutrientComponent struct {
	BackboneElement `bson:",inline"`
	Modifier        *CodeableConcept `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Amount          *Quantity        `bson:"amount,omitempty" json:"amount,omitempty"`
}

type NutritionRequestOralDietTextureComponent

type NutritionRequestOralDietTextureComponent struct {
	BackboneElement `bson:",inline"`
	Modifier        *CodeableConcept `bson:"modifier,omitempty" json:"modifier,omitempty"`
	FoodType        *CodeableConcept `bson:"foodType,omitempty" json:"foodType,omitempty"`
}

type NutritionRequestSupplementComponent

type NutritionRequestSupplementComponent struct {
	BackboneElement `bson:",inline"`
	Type            *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	ProductName     string           `bson:"productName,omitempty" json:"productName,omitempty"`
	Schedule        []Timing         `bson:"schedule,omitempty" json:"schedule,omitempty"`
	Quantity        *Quantity        `bson:"quantity,omitempty" json:"quantity,omitempty"`
	Instruction     string           `bson:"instruction,omitempty" json:"instruction,omitempty"`
}

type Observation

type Observation struct {
	DomainResource       `bson:",inline"`
	Identifier           []Identifier                         `bson:"identifier,omitempty" json:"identifier,omitempty"`
	BasedOn              []Reference                          `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Status               string                               `bson:"status,omitempty" json:"status,omitempty"`
	Category             []CodeableConcept                    `bson:"category,omitempty" json:"category,omitempty"`
	Code                 *CodeableConcept                     `bson:"code,omitempty" json:"code,omitempty"`
	Subject              *Reference                           `bson:"subject,omitempty" json:"subject,omitempty"`
	Context              *Reference                           `bson:"context,omitempty" json:"context,omitempty"`
	EffectiveDateTime    *FHIRDateTime                        `bson:"effectiveDateTime,omitempty" json:"effectiveDateTime,omitempty"`
	EffectivePeriod      *Period                              `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Issued               *FHIRDateTime                        `bson:"issued,omitempty" json:"issued,omitempty"`
	Performer            []Reference                          `bson:"performer,omitempty" json:"performer,omitempty"`
	ValueQuantity        *Quantity                            `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueCodeableConcept *CodeableConcept                     `bson:"valueCodeableConcept,omitempty" json:"valueCodeableConcept,omitempty"`
	ValueString          string                               `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueBoolean         *bool                                `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueRange           *Range                               `bson:"valueRange,omitempty" json:"valueRange,omitempty"`
	ValueRatio           *Ratio                               `bson:"valueRatio,omitempty" json:"valueRatio,omitempty"`
	ValueSampledData     *SampledData                         `bson:"valueSampledData,omitempty" json:"valueSampledData,omitempty"`
	ValueAttachment      *Attachment                          `bson:"valueAttachment,omitempty" json:"valueAttachment,omitempty"`
	ValueTime            *FHIRDateTime                        `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueDateTime        *FHIRDateTime                        `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValuePeriod          *Period                              `bson:"valuePeriod,omitempty" json:"valuePeriod,omitempty"`
	DataAbsentReason     *CodeableConcept                     `bson:"dataAbsentReason,omitempty" json:"dataAbsentReason,omitempty"`
	Interpretation       *CodeableConcept                     `bson:"interpretation,omitempty" json:"interpretation,omitempty"`
	Comment              string                               `bson:"comment,omitempty" json:"comment,omitempty"`
	BodySite             *CodeableConcept                     `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	Method               *CodeableConcept                     `bson:"method,omitempty" json:"method,omitempty"`
	Specimen             *Reference                           `bson:"specimen,omitempty" json:"specimen,omitempty"`
	Device               *Reference                           `bson:"device,omitempty" json:"device,omitempty"`
	ReferenceRange       []ObservationReferenceRangeComponent `bson:"referenceRange,omitempty" json:"referenceRange,omitempty"`
	Related              []ObservationRelatedComponent        `bson:"related,omitempty" json:"related,omitempty"`
	Component            []ObservationComponentComponent      `bson:"component,omitempty" json:"component,omitempty"`
}

func (*Observation) GetBSON

func (x *Observation) GetBSON() (interface{}, error)

func (*Observation) MarshalJSON

func (resource *Observation) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Observation) UnmarshalJSON

func (x *Observation) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ObservationComponentComponent

type ObservationComponentComponent struct {
	BackboneElement      `bson:",inline"`
	Code                 *CodeableConcept                     `bson:"code,omitempty" json:"code,omitempty"`
	ValueQuantity        *Quantity                            `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueCodeableConcept *CodeableConcept                     `bson:"valueCodeableConcept,omitempty" json:"valueCodeableConcept,omitempty"`
	ValueString          string                               `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueRange           *Range                               `bson:"valueRange,omitempty" json:"valueRange,omitempty"`
	ValueRatio           *Ratio                               `bson:"valueRatio,omitempty" json:"valueRatio,omitempty"`
	ValueSampledData     *SampledData                         `bson:"valueSampledData,omitempty" json:"valueSampledData,omitempty"`
	ValueAttachment      *Attachment                          `bson:"valueAttachment,omitempty" json:"valueAttachment,omitempty"`
	ValueTime            *FHIRDateTime                        `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueDateTime        *FHIRDateTime                        `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValuePeriod          *Period                              `bson:"valuePeriod,omitempty" json:"valuePeriod,omitempty"`
	DataAbsentReason     *CodeableConcept                     `bson:"dataAbsentReason,omitempty" json:"dataAbsentReason,omitempty"`
	Interpretation       *CodeableConcept                     `bson:"interpretation,omitempty" json:"interpretation,omitempty"`
	ReferenceRange       []ObservationReferenceRangeComponent `bson:"referenceRange,omitempty" json:"referenceRange,omitempty"`
}

type ObservationReferenceRangeComponent

type ObservationReferenceRangeComponent struct {
	BackboneElement `bson:",inline"`
	Low             *Quantity         `bson:"low,omitempty" json:"low,omitempty"`
	High            *Quantity         `bson:"high,omitempty" json:"high,omitempty"`
	Type            *CodeableConcept  `bson:"type,omitempty" json:"type,omitempty"`
	AppliesTo       []CodeableConcept `bson:"appliesTo,omitempty" json:"appliesTo,omitempty"`
	Age             *Range            `bson:"age,omitempty" json:"age,omitempty"`
	Text            string            `bson:"text,omitempty" json:"text,omitempty"`
}

type ObservationRelatedComponent

type ObservationRelatedComponent struct {
	BackboneElement `bson:",inline"`
	Type            string     `bson:"type,omitempty" json:"type,omitempty"`
	Target          *Reference `bson:"target,omitempty" json:"target,omitempty"`
}

type OperationDefinition

type OperationDefinition struct {
	DomainResource `bson:",inline"`
	Url            string                                  `bson:"url,omitempty" json:"url,omitempty"`
	Version        string                                  `bson:"version,omitempty" json:"version,omitempty"`
	Name           string                                  `bson:"name,omitempty" json:"name,omitempty"`
	Status         string                                  `bson:"status,omitempty" json:"status,omitempty"`
	Kind           string                                  `bson:"kind,omitempty" json:"kind,omitempty"`
	Experimental   *bool                                   `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date           *FHIRDateTime                           `bson:"date,omitempty" json:"date,omitempty"`
	Publisher      string                                  `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact        []ContactDetail                         `bson:"contact,omitempty" json:"contact,omitempty"`
	Description    string                                  `bson:"description,omitempty" json:"description,omitempty"`
	UseContext     []UsageContext                          `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction   []CodeableConcept                       `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Purpose        string                                  `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Idempotent     *bool                                   `bson:"idempotent,omitempty" json:"idempotent,omitempty"`
	Code           string                                  `bson:"code,omitempty" json:"code,omitempty"`
	Comment        string                                  `bson:"comment,omitempty" json:"comment,omitempty"`
	Base           *Reference                              `bson:"base,omitempty" json:"base,omitempty"`
	Resource       []string                                `bson:"resource,omitempty" json:"resource,omitempty"`
	System         *bool                                   `bson:"system,omitempty" json:"system,omitempty"`
	Type           *bool                                   `bson:"type,omitempty" json:"type,omitempty"`
	Instance       *bool                                   `bson:"instance,omitempty" json:"instance,omitempty"`
	Parameter      []OperationDefinitionParameterComponent `bson:"parameter,omitempty" json:"parameter,omitempty"`
	Overload       []OperationDefinitionOverloadComponent  `bson:"overload,omitempty" json:"overload,omitempty"`
}

func (*OperationDefinition) GetBSON

func (x *OperationDefinition) GetBSON() (interface{}, error)

func (*OperationDefinition) MarshalJSON

func (resource *OperationDefinition) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*OperationDefinition) UnmarshalJSON

func (x *OperationDefinition) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type OperationDefinitionOverloadComponent

type OperationDefinitionOverloadComponent struct {
	BackboneElement `bson:",inline"`
	ParameterName   []string `bson:"parameterName,omitempty" json:"parameterName,omitempty"`
	Comment         string   `bson:"comment,omitempty" json:"comment,omitempty"`
}

type OperationDefinitionParameterBindingComponent

type OperationDefinitionParameterBindingComponent struct {
	BackboneElement   `bson:",inline"`
	Strength          string     `bson:"strength,omitempty" json:"strength,omitempty"`
	ValueSetUri       string     `bson:"valueSetUri,omitempty" json:"valueSetUri,omitempty"`
	ValueSetReference *Reference `bson:"valueSetReference,omitempty" json:"valueSetReference,omitempty"`
}

type OperationDefinitionParameterComponent

type OperationDefinitionParameterComponent struct {
	BackboneElement `bson:",inline"`
	Name            string                                        `bson:"name,omitempty" json:"name,omitempty"`
	Use             string                                        `bson:"use,omitempty" json:"use,omitempty"`
	Min             *int32                                        `bson:"min,omitempty" json:"min,omitempty"`
	Max             string                                        `bson:"max,omitempty" json:"max,omitempty"`
	Documentation   string                                        `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Type            string                                        `bson:"type,omitempty" json:"type,omitempty"`
	SearchType      string                                        `bson:"searchType,omitempty" json:"searchType,omitempty"`
	Profile         *Reference                                    `bson:"profile,omitempty" json:"profile,omitempty"`
	Binding         *OperationDefinitionParameterBindingComponent `bson:"binding,omitempty" json:"binding,omitempty"`
	Part            []OperationDefinitionParameterComponent       `bson:"part,omitempty" json:"part,omitempty"`
}

type OperationOutcome

type OperationOutcome struct {
	DomainResource `bson:",inline"`
	Issue          []OperationOutcomeIssueComponent `bson:"issue,omitempty" json:"issue,omitempty"`
}

func CreateOpOutcome

func CreateOpOutcome(severity, code, detailsCode, detailsDisplay string) *OperationOutcome

func NewOperationOutcome

func NewOperationOutcome(severity, code, diagnostics string) *OperationOutcome

NewOperationOutcome creates a pointer to an OperationOutcome and sets the severity, code and diagnostics for the first issue.

func (*OperationOutcome) Error

func (o *OperationOutcome) Error() string

func (*OperationOutcome) GetBSON

func (x *OperationOutcome) GetBSON() (interface{}, error)

func (*OperationOutcome) MarshalJSON

func (resource *OperationOutcome) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*OperationOutcome) UnmarshalJSON

func (x *OperationOutcome) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type OperationOutcomeIssueComponent

type OperationOutcomeIssueComponent struct {
	BackboneElement `bson:",inline"`
	Severity        string           `bson:"severity,omitempty" json:"severity,omitempty"`
	Code            string           `bson:"code,omitempty" json:"code,omitempty"`
	Details         *CodeableConcept `bson:"details,omitempty" json:"details,omitempty"`
	Diagnostics     string           `bson:"diagnostics,omitempty" json:"diagnostics,omitempty"`
	Location        []string         `bson:"location,omitempty" json:"location,omitempty"`
	Expression      []string         `bson:"expression,omitempty" json:"expression,omitempty"`
}

type Organization

type Organization struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier                   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active         *bool                          `bson:"active,omitempty" json:"active,omitempty"`
	Type           []CodeableConcept              `bson:"type,omitempty" json:"type,omitempty"`
	Name           string                         `bson:"name,omitempty" json:"name,omitempty"`
	Alias          []string                       `bson:"alias,omitempty" json:"alias,omitempty"`
	Telecom        []ContactPoint                 `bson:"telecom,omitempty" json:"telecom,omitempty"`
	Address        []Address                      `bson:"address,omitempty" json:"address,omitempty"`
	PartOf         *Reference                     `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Contact        []OrganizationContactComponent `bson:"contact,omitempty" json:"contact,omitempty"`
	Endpoint       []Reference                    `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
}

func (*Organization) GetBSON

func (x *Organization) GetBSON() (interface{}, error)

func (*Organization) MarshalJSON

func (resource *Organization) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Organization) UnmarshalJSON

func (x *Organization) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type OrganizationContactComponent

type OrganizationContactComponent struct {
	BackboneElement `bson:",inline"`
	Purpose         *CodeableConcept `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Name            *HumanName       `bson:"name,omitempty" json:"name,omitempty"`
	Telecom         []ContactPoint   `bson:"telecom,omitempty" json:"telecom,omitempty"`
	Address         *Address         `bson:"address,omitempty" json:"address,omitempty"`
}

type ParameterDefinition

type ParameterDefinition struct {
	Name          string     `bson:"name,omitempty" json:"name,omitempty"`
	Use           string     `bson:"use,omitempty" json:"use,omitempty"`
	Min           *int32     `bson:"min,omitempty" json:"min,omitempty"`
	Max           string     `bson:"max,omitempty" json:"max,omitempty"`
	Documentation string     `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Type          string     `bson:"type,omitempty" json:"type,omitempty"`
	Profile       *Reference `bson:"profile,omitempty" json:"profile,omitempty"`
}

type Parameters

type Parameters struct {
	Resource  `bson:",inline"`
	Parameter []ParametersParameterComponent `bson:"parameter,omitempty" json:"parameter,omitempty"`
}

func (*Parameters) GetBSON

func (x *Parameters) GetBSON() (interface{}, error)

func (*Parameters) MarshalJSON

func (resource *Parameters) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Parameters) UnmarshalJSON

func (x *Parameters) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ParametersParameterComponent

type ParametersParameterComponent struct {
	BackboneElement      `bson:",inline"`
	Name                 string                         `bson:"name,omitempty" json:"name,omitempty"`
	ValueAddress         *Address                       `bson:"valueAddress,omitempty" json:"valueAddress,omitempty"`
	ValueAnnotation      *Annotation                    `bson:"valueAnnotation,omitempty" json:"valueAnnotation,omitempty"`
	ValueAttachment      *Attachment                    `bson:"valueAttachment,omitempty" json:"valueAttachment,omitempty"`
	ValueBase64Binary    string                         `bson:"valueBase64Binary,omitempty" json:"valueBase64Binary,omitempty"`
	ValueBoolean         *bool                          `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueCode            string                         `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
	ValueCodeableConcept *CodeableConcept               `bson:"valueCodeableConcept,omitempty" json:"valueCodeableConcept,omitempty"`
	ValueCoding          *Coding                        `bson:"valueCoding,omitempty" json:"valueCoding,omitempty"`
	ValueContactPoint    *ContactPoint                  `bson:"valueContactPoint,omitempty" json:"valueContactPoint,omitempty"`
	ValueDate            *FHIRDateTime                  `bson:"valueDate,omitempty" json:"valueDate,omitempty"`
	ValueDateTime        *FHIRDateTime                  `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValueDecimal         *float64                       `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
	ValueHumanName       *HumanName                     `bson:"valueHumanName,omitempty" json:"valueHumanName,omitempty"`
	ValueId              string                         `bson:"valueId,omitempty" json:"valueId,omitempty"`
	ValueIdentifier      *Identifier                    `bson:"valueIdentifier,omitempty" json:"valueIdentifier,omitempty"`
	ValueInstant         *FHIRDateTime                  `bson:"valueInstant,omitempty" json:"valueInstant,omitempty"`
	ValueInteger         *int32                         `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueMarkdown        string                         `bson:"valueMarkdown,omitempty" json:"valueMarkdown,omitempty"`
	ValueMeta            *Meta                          `bson:"valueMeta,omitempty" json:"valueMeta,omitempty"`
	ValueOid             string                         `bson:"valueOid,omitempty" json:"valueOid,omitempty"`
	ValuePeriod          *Period                        `bson:"valuePeriod,omitempty" json:"valuePeriod,omitempty"`
	ValuePositiveInt     *uint32                        `bson:"valuePositiveInt,omitempty" json:"valuePositiveInt,omitempty"`
	ValueQuantity        *Quantity                      `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueRange           *Range                         `bson:"valueRange,omitempty" json:"valueRange,omitempty"`
	ValueRatio           *Ratio                         `bson:"valueRatio,omitempty" json:"valueRatio,omitempty"`
	ValueReference       *Reference                     `bson:"valueReference,omitempty" json:"valueReference,omitempty"`
	ValueSampledData     *SampledData                   `bson:"valueSampledData,omitempty" json:"valueSampledData,omitempty"`
	ValueSignature       *Signature                     `bson:"valueSignature,omitempty" json:"valueSignature,omitempty"`
	ValueString          string                         `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueTime            *FHIRDateTime                  `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueTiming          *Timing                        `bson:"valueTiming,omitempty" json:"valueTiming,omitempty"`
	ValueUnsignedInt     *uint32                        `bson:"valueUnsignedInt,omitempty" json:"valueUnsignedInt,omitempty"`
	ValueUri             string                         `bson:"valueUri,omitempty" json:"valueUri,omitempty"`
	Resource             interface{}                    `bson:"resource,omitempty" json:"resource,omitempty"`
	Part                 []ParametersParameterComponent `bson:"part,omitempty" json:"part,omitempty"`
}

func (*ParametersParameterComponent) SetBSON

func (x *ParametersParameterComponent) SetBSON(raw bson.Raw) (err error)

Custom SetBSON implementation to properly deserialize embedded resources otherwise represented as interface{} into resource-specific structs as they are retrieved from the database.

func (*ParametersParameterComponent) UnmarshalJSON

func (x *ParametersParameterComponent) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type Patient

type Patient struct {
	ID                   string `json:"id,omitempty"`
	DomainResource       `bson:",inline"`
	Identifier           []Identifier                    `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active               *bool                           `bson:"active,omitempty" json:"active,omitempty"`
	Name                 []HumanName                     `bson:"name,omitempty" json:"name,omitempty"`
	Telecom              []ContactPoint                  `bson:"telecom,omitempty" json:"telecom,omitempty"`
	Gender               string                          `bson:"gender,omitempty" json:"gender,omitempty"`
	BirthDate            *FHIRDateTime                   `bson:"birthDate,omitempty" json:"birthDate,omitempty"`
	DeceasedBoolean      *bool                           `bson:"deceasedBoolean,omitempty" json:"deceasedBoolean,omitempty"`
	DeceasedDateTime     *FHIRDateTime                   `bson:"deceasedDateTime,omitempty" json:"deceasedDateTime,omitempty"`
	Address              []Address                       `bson:"address,omitempty" json:"address,omitempty"`
	MaritalStatus        *CodeableConcept                `bson:"maritalStatus,omitempty" json:"maritalStatus,omitempty"`
	MultipleBirthBoolean *bool                           `bson:"multipleBirthBoolean,omitempty" json:"multipleBirthBoolean,omitempty"`
	MultipleBirthInteger *int32                          `bson:"multipleBirthInteger,omitempty" json:"multipleBirthInteger,omitempty"`
	Photo                []Attachment                    `bson:"photo,omitempty" json:"photo,omitempty"`
	Contact              []PatientContactComponent       `bson:"contact,omitempty" json:"contact,omitempty"`
	Animal               *PatientAnimalComponent         `bson:"animal,omitempty" json:"animal,omitempty"`
	Communication        []PatientCommunicationComponent `bson:"communication,omitempty" json:"communication,omitempty"`
	GeneralPractitioner  []Reference                     `bson:"generalPractitioner,omitempty" json:"generalPractitioner,omitempty"`
	ManagingOrganization *Reference                      `bson:"managingOrganization,omitempty" json:"managingOrganization,omitempty"`
	Link                 []PatientLinkComponent          `bson:"link,omitempty" json:"link,omitempty"`
}

func (*Patient) GetBSON

func (x *Patient) GetBSON() (interface{}, error)

func (*Patient) MarshalJSON

func (resource *Patient) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Patient) UnmarshalJSON

func (x *Patient) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type PatientAnimalComponent

type PatientAnimalComponent struct {
	BackboneElement `bson:",inline"`
	Species         *CodeableConcept `bson:"species,omitempty" json:"species,omitempty"`
	Breed           *CodeableConcept `bson:"breed,omitempty" json:"breed,omitempty"`
	GenderStatus    *CodeableConcept `bson:"genderStatus,omitempty" json:"genderStatus,omitempty"`
}

type PatientCommunicationComponent

type PatientCommunicationComponent struct {
	BackboneElement `bson:",inline"`
	Language        *CodeableConcept `bson:"language,omitempty" json:"language,omitempty"`
	Preferred       *bool            `bson:"preferred,omitempty" json:"preferred,omitempty"`
}

type PatientContactComponent

type PatientContactComponent struct {
	BackboneElement `bson:",inline"`
	Relationship    []CodeableConcept `bson:"relationship,omitempty" json:"relationship,omitempty"`
	Name            *HumanName        `bson:"name,omitempty" json:"name,omitempty"`
	Telecom         []ContactPoint    `bson:"telecom,omitempty" json:"telecom,omitempty"`
	Address         *Address          `bson:"address,omitempty" json:"address,omitempty"`
	Gender          string            `bson:"gender,omitempty" json:"gender,omitempty"`
	Organization    *Reference        `bson:"organization,omitempty" json:"organization,omitempty"`
	Period          *Period           `bson:"period,omitempty" json:"period,omitempty"`
}

type PatientLinkComponent

type PatientLinkComponent struct {
	BackboneElement `bson:",inline"`
	Other           *Reference `bson:"other,omitempty" json:"other,omitempty"`
	Type            string     `bson:"type,omitempty" json:"type,omitempty"`
}

type PaymentNotice

type PaymentNotice struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status         string           `bson:"status,omitempty" json:"status,omitempty"`
	Request        *Reference       `bson:"request,omitempty" json:"request,omitempty"`
	Response       *Reference       `bson:"response,omitempty" json:"response,omitempty"`
	StatusDate     *FHIRDateTime    `bson:"statusDate,omitempty" json:"statusDate,omitempty"`
	Created        *FHIRDateTime    `bson:"created,omitempty" json:"created,omitempty"`
	Target         *Reference       `bson:"target,omitempty" json:"target,omitempty"`
	Provider       *Reference       `bson:"provider,omitempty" json:"provider,omitempty"`
	Organization   *Reference       `bson:"organization,omitempty" json:"organization,omitempty"`
	PaymentStatus  *CodeableConcept `bson:"paymentStatus,omitempty" json:"paymentStatus,omitempty"`
}

func (*PaymentNotice) GetBSON

func (x *PaymentNotice) GetBSON() (interface{}, error)

func (*PaymentNotice) MarshalJSON

func (resource *PaymentNotice) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*PaymentNotice) UnmarshalJSON

func (x *PaymentNotice) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type PaymentReconciliation

type PaymentReconciliation struct {
	DomainResource      `bson:",inline"`
	Identifier          []Identifier                            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status              string                                  `bson:"status,omitempty" json:"status,omitempty"`
	Period              *Period                                 `bson:"period,omitempty" json:"period,omitempty"`
	Created             *FHIRDateTime                           `bson:"created,omitempty" json:"created,omitempty"`
	Organization        *Reference                              `bson:"organization,omitempty" json:"organization,omitempty"`
	Request             *Reference                              `bson:"request,omitempty" json:"request,omitempty"`
	Outcome             *CodeableConcept                        `bson:"outcome,omitempty" json:"outcome,omitempty"`
	Disposition         string                                  `bson:"disposition,omitempty" json:"disposition,omitempty"`
	RequestProvider     *Reference                              `bson:"requestProvider,omitempty" json:"requestProvider,omitempty"`
	RequestOrganization *Reference                              `bson:"requestOrganization,omitempty" json:"requestOrganization,omitempty"`
	Detail              []PaymentReconciliationDetailsComponent `bson:"detail,omitempty" json:"detail,omitempty"`
	Form                *CodeableConcept                        `bson:"form,omitempty" json:"form,omitempty"`
	Total               *Quantity                               `bson:"total,omitempty" json:"total,omitempty"`
	ProcessNote         []PaymentReconciliationNotesComponent   `bson:"processNote,omitempty" json:"processNote,omitempty"`
}

func (*PaymentReconciliation) GetBSON

func (x *PaymentReconciliation) GetBSON() (interface{}, error)

func (*PaymentReconciliation) MarshalJSON

func (resource *PaymentReconciliation) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*PaymentReconciliation) UnmarshalJSON

func (x *PaymentReconciliation) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type PaymentReconciliationDetailsComponent

type PaymentReconciliationDetailsComponent struct {
	BackboneElement `bson:",inline"`
	Type            *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Request         *Reference       `bson:"request,omitempty" json:"request,omitempty"`
	Response        *Reference       `bson:"response,omitempty" json:"response,omitempty"`
	Submitter       *Reference       `bson:"submitter,omitempty" json:"submitter,omitempty"`
	Payee           *Reference       `bson:"payee,omitempty" json:"payee,omitempty"`
	Date            *FHIRDateTime    `bson:"date,omitempty" json:"date,omitempty"`
	Amount          *Quantity        `bson:"amount,omitempty" json:"amount,omitempty"`
}

type PaymentReconciliationNotesComponent

type PaymentReconciliationNotesComponent struct {
	BackboneElement `bson:",inline"`
	Type            *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Text            string           `bson:"text,omitempty" json:"text,omitempty"`
}

type Period

type Period struct {
	Start *FHIRDateTime `bson:"start,omitempty" json:"start,omitempty"`
	End   *FHIRDateTime `bson:"end,omitempty" json:"end,omitempty"`
}

type Person

type Person struct {
	DomainResource       `bson:",inline"`
	Identifier           []Identifier          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Name                 []HumanName           `bson:"name,omitempty" json:"name,omitempty"`
	Telecom              []ContactPoint        `bson:"telecom,omitempty" json:"telecom,omitempty"`
	Gender               string                `bson:"gender,omitempty" json:"gender,omitempty"`
	BirthDate            *FHIRDateTime         `bson:"birthDate,omitempty" json:"birthDate,omitempty"`
	Address              []Address             `bson:"address,omitempty" json:"address,omitempty"`
	Photo                *Attachment           `bson:"photo,omitempty" json:"photo,omitempty"`
	ManagingOrganization *Reference            `bson:"managingOrganization,omitempty" json:"managingOrganization,omitempty"`
	Active               *bool                 `bson:"active,omitempty" json:"active,omitempty"`
	Link                 []PersonLinkComponent `bson:"link,omitempty" json:"link,omitempty"`
}

func (*Person) GetBSON

func (x *Person) GetBSON() (interface{}, error)

func (*Person) MarshalJSON

func (resource *Person) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Person) UnmarshalJSON

func (x *Person) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type PersonLinkComponent

type PersonLinkComponent struct {
	BackboneElement `bson:",inline"`
	Target          *Reference `bson:"target,omitempty" json:"target,omitempty"`
	Assurance       string     `bson:"assurance,omitempty" json:"assurance,omitempty"`
}

type PlanDefinition

type PlanDefinition struct {
	DomainResource  `bson:",inline"`
	Url             string                          `bson:"url,omitempty" json:"url,omitempty"`
	Identifier      []Identifier                    `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version         string                          `bson:"version,omitempty" json:"version,omitempty"`
	Name            string                          `bson:"name,omitempty" json:"name,omitempty"`
	Title           string                          `bson:"title,omitempty" json:"title,omitempty"`
	Type            *CodeableConcept                `bson:"type,omitempty" json:"type,omitempty"`
	Status          string                          `bson:"status,omitempty" json:"status,omitempty"`
	Experimental    *bool                           `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date            *FHIRDateTime                   `bson:"date,omitempty" json:"date,omitempty"`
	Publisher       string                          `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Description     string                          `bson:"description,omitempty" json:"description,omitempty"`
	Purpose         string                          `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Usage           string                          `bson:"usage,omitempty" json:"usage,omitempty"`
	ApprovalDate    *FHIRDateTime                   `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate  *FHIRDateTime                   `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod *Period                         `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	UseContext      []UsageContext                  `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction    []CodeableConcept               `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Topic           []CodeableConcept               `bson:"topic,omitempty" json:"topic,omitempty"`
	Contributor     []Contributor                   `bson:"contributor,omitempty" json:"contributor,omitempty"`
	Contact         []ContactDetail                 `bson:"contact,omitempty" json:"contact,omitempty"`
	Copyright       string                          `bson:"copyright,omitempty" json:"copyright,omitempty"`
	RelatedArtifact []RelatedArtifact               `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Library         []Reference                     `bson:"library,omitempty" json:"library,omitempty"`
	Goal            []PlanDefinitionGoalComponent   `bson:"goal,omitempty" json:"goal,omitempty"`
	Action          []PlanDefinitionActionComponent `bson:"action,omitempty" json:"action,omitempty"`
}

func (*PlanDefinition) GetBSON

func (x *PlanDefinition) GetBSON() (interface{}, error)

func (*PlanDefinition) MarshalJSON

func (resource *PlanDefinition) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*PlanDefinition) UnmarshalJSON

func (x *PlanDefinition) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type PlanDefinitionActionComponent

type PlanDefinitionActionComponent struct {
	BackboneElement     `bson:",inline"`
	Label               string                                       `bson:"label,omitempty" json:"label,omitempty"`
	Title               string                                       `bson:"title,omitempty" json:"title,omitempty"`
	Description         string                                       `bson:"description,omitempty" json:"description,omitempty"`
	TextEquivalent      string                                       `bson:"textEquivalent,omitempty" json:"textEquivalent,omitempty"`
	Code                []CodeableConcept                            `bson:"code,omitempty" json:"code,omitempty"`
	Reason              []CodeableConcept                            `bson:"reason,omitempty" json:"reason,omitempty"`
	Documentation       []RelatedArtifact                            `bson:"documentation,omitempty" json:"documentation,omitempty"`
	GoalId              []string                                     `bson:"goalId,omitempty" json:"goalId,omitempty"`
	TriggerDefinition   []TriggerDefinition                          `bson:"triggerDefinition,omitempty" json:"triggerDefinition,omitempty"`
	Condition           []PlanDefinitionActionConditionComponent     `bson:"condition,omitempty" json:"condition,omitempty"`
	Input               []DataRequirement                            `bson:"input,omitempty" json:"input,omitempty"`
	Output              []DataRequirement                            `bson:"output,omitempty" json:"output,omitempty"`
	RelatedAction       []PlanDefinitionActionRelatedActionComponent `bson:"relatedAction,omitempty" json:"relatedAction,omitempty"`
	TimingDateTime      *FHIRDateTime                                `bson:"timingDateTime,omitempty" json:"timingDateTime,omitempty"`
	TimingPeriod        *Period                                      `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	TimingDuration      *Quantity                                    `bson:"timingDuration,omitempty" json:"timingDuration,omitempty"`
	TimingRange         *Range                                       `bson:"timingRange,omitempty" json:"timingRange,omitempty"`
	TimingTiming        *Timing                                      `bson:"timingTiming,omitempty" json:"timingTiming,omitempty"`
	Participant         []PlanDefinitionActionParticipantComponent   `bson:"participant,omitempty" json:"participant,omitempty"`
	Type                *Coding                                      `bson:"type,omitempty" json:"type,omitempty"`
	GroupingBehavior    string                                       `bson:"groupingBehavior,omitempty" json:"groupingBehavior,omitempty"`
	SelectionBehavior   string                                       `bson:"selectionBehavior,omitempty" json:"selectionBehavior,omitempty"`
	RequiredBehavior    string                                       `bson:"requiredBehavior,omitempty" json:"requiredBehavior,omitempty"`
	PrecheckBehavior    string                                       `bson:"precheckBehavior,omitempty" json:"precheckBehavior,omitempty"`
	CardinalityBehavior string                                       `bson:"cardinalityBehavior,omitempty" json:"cardinalityBehavior,omitempty"`
	Definition          *Reference                                   `bson:"definition,omitempty" json:"definition,omitempty"`
	Transform           *Reference                                   `bson:"transform,omitempty" json:"transform,omitempty"`
	DynamicValue        []PlanDefinitionActionDynamicValueComponent  `bson:"dynamicValue,omitempty" json:"dynamicValue,omitempty"`
	Action              []PlanDefinitionActionComponent              `bson:"action,omitempty" json:"action,omitempty"`
}

type PlanDefinitionActionConditionComponent

type PlanDefinitionActionConditionComponent struct {
	BackboneElement `bson:",inline"`
	Kind            string `bson:"kind,omitempty" json:"kind,omitempty"`
	Description     string `bson:"description,omitempty" json:"description,omitempty"`
	Language        string `bson:"language,omitempty" json:"language,omitempty"`
	Expression      string `bson:"expression,omitempty" json:"expression,omitempty"`
}

type PlanDefinitionActionDynamicValueComponent

type PlanDefinitionActionDynamicValueComponent struct {
	BackboneElement `bson:",inline"`
	Description     string `bson:"description,omitempty" json:"description,omitempty"`
	Path            string `bson:"path,omitempty" json:"path,omitempty"`
	Language        string `bson:"language,omitempty" json:"language,omitempty"`
	Expression      string `bson:"expression,omitempty" json:"expression,omitempty"`
}

type PlanDefinitionActionParticipantComponent

type PlanDefinitionActionParticipantComponent struct {
	BackboneElement `bson:",inline"`
	Type            string           `bson:"type,omitempty" json:"type,omitempty"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
}

type PlanDefinitionActionRelatedActionComponent

type PlanDefinitionActionRelatedActionComponent struct {
	BackboneElement `bson:",inline"`
	ActionId        string    `bson:"actionId,omitempty" json:"actionId,omitempty"`
	Relationship    string    `bson:"relationship,omitempty" json:"relationship,omitempty"`
	OffsetDuration  *Quantity `bson:"offsetDuration,omitempty" json:"offsetDuration,omitempty"`
	OffsetRange     *Range    `bson:"offsetRange,omitempty" json:"offsetRange,omitempty"`
}

type PlanDefinitionGoalComponent

type PlanDefinitionGoalComponent struct {
	BackboneElement `bson:",inline"`
	Category        *CodeableConcept                    `bson:"category,omitempty" json:"category,omitempty"`
	Description     *CodeableConcept                    `bson:"description,omitempty" json:"description,omitempty"`
	Priority        *CodeableConcept                    `bson:"priority,omitempty" json:"priority,omitempty"`
	Start           *CodeableConcept                    `bson:"start,omitempty" json:"start,omitempty"`
	Addresses       []CodeableConcept                   `bson:"addresses,omitempty" json:"addresses,omitempty"`
	Documentation   []RelatedArtifact                   `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Target          []PlanDefinitionGoalTargetComponent `bson:"target,omitempty" json:"target,omitempty"`
}

type PlanDefinitionGoalTargetComponent

type PlanDefinitionGoalTargetComponent struct {
	BackboneElement       `bson:",inline"`
	Measure               *CodeableConcept `bson:"measure,omitempty" json:"measure,omitempty"`
	DetailQuantity        *Quantity        `bson:"detailQuantity,omitempty" json:"detailQuantity,omitempty"`
	DetailRange           *Range           `bson:"detailRange,omitempty" json:"detailRange,omitempty"`
	DetailCodeableConcept *CodeableConcept `bson:"detailCodeableConcept,omitempty" json:"detailCodeableConcept,omitempty"`
	Due                   *Quantity        `bson:"due,omitempty" json:"due,omitempty"`
}

type Practitioner

type Practitioner struct {
	ID             string `json:"id,omitempty"`
	DomainResource `bson:",inline"`
	Identifier     []Identifier                         `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active         *bool                                `bson:"active,omitempty" json:"active,omitempty"`
	Name           []HumanName                          `bson:"name,omitempty" json:"name,omitempty"`
	Telecom        []ContactPoint                       `bson:"telecom,omitempty" json:"telecom,omitempty"`
	Address        []Address                            `bson:"address,omitempty" json:"address,omitempty"`
	Gender         string                               `bson:"gender,omitempty" json:"gender,omitempty"`
	BirthDate      *FHIRDateTime                        `bson:"birthDate,omitempty" json:"birthDate,omitempty"`
	Photo          []Attachment                         `bson:"photo,omitempty" json:"photo,omitempty"`
	Qualification  []PractitionerQualificationComponent `bson:"qualification,omitempty" json:"qualification,omitempty"`
	Communication  []CodeableConcept                    `bson:"communication,omitempty" json:"communication,omitempty"`
}

func (*Practitioner) GetBSON

func (x *Practitioner) GetBSON() (interface{}, error)

func (*Practitioner) MarshalJSON

func (resource *Practitioner) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Practitioner) UnmarshalJSON

func (x *Practitioner) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type PractitionerQualificationComponent

type PractitionerQualificationComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      []Identifier     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Code            *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Period          *Period          `bson:"period,omitempty" json:"period,omitempty"`
	Issuer          *Reference       `bson:"issuer,omitempty" json:"issuer,omitempty"`
}

type PractitionerRole

type PractitionerRole struct {
	DomainResource         `bson:",inline"`
	Identifier             []Identifier                             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active                 *bool                                    `bson:"active,omitempty" json:"active,omitempty"`
	Period                 *Period                                  `bson:"period,omitempty" json:"period,omitempty"`
	Practitioner           *Reference                               `bson:"practitioner,omitempty" json:"practitioner,omitempty"`
	Organization           *Reference                               `bson:"organization,omitempty" json:"organization,omitempty"`
	Code                   []CodeableConcept                        `bson:"code,omitempty" json:"code,omitempty"`
	Specialty              []CodeableConcept                        `bson:"specialty,omitempty" json:"specialty,omitempty"`
	Location               []Reference                              `bson:"location,omitempty" json:"location,omitempty"`
	HealthcareService      []Reference                              `bson:"healthcareService,omitempty" json:"healthcareService,omitempty"`
	Telecom                []ContactPoint                           `bson:"telecom,omitempty" json:"telecom,omitempty"`
	AvailableTime          []PractitionerRoleAvailableTimeComponent `bson:"availableTime,omitempty" json:"availableTime,omitempty"`
	NotAvailable           []PractitionerRoleNotAvailableComponent  `bson:"notAvailable,omitempty" json:"notAvailable,omitempty"`
	AvailabilityExceptions string                                   `bson:"availabilityExceptions,omitempty" json:"availabilityExceptions,omitempty"`
	Endpoint               []Reference                              `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
}

func (*PractitionerRole) GetBSON

func (x *PractitionerRole) GetBSON() (interface{}, error)

func (*PractitionerRole) MarshalJSON

func (resource *PractitionerRole) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*PractitionerRole) UnmarshalJSON

func (x *PractitionerRole) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type PractitionerRoleAvailableTimeComponent

type PractitionerRoleAvailableTimeComponent struct {
	BackboneElement    `bson:",inline"`
	DaysOfWeek         []string      `bson:"daysOfWeek,omitempty" json:"daysOfWeek,omitempty"`
	AllDay             *bool         `bson:"allDay,omitempty" json:"allDay,omitempty"`
	AvailableStartTime *FHIRDateTime `bson:"availableStartTime,omitempty" json:"availableStartTime,omitempty"`
	AvailableEndTime   *FHIRDateTime `bson:"availableEndTime,omitempty" json:"availableEndTime,omitempty"`
}

type PractitionerRoleNotAvailableComponent

type PractitionerRoleNotAvailableComponent struct {
	BackboneElement `bson:",inline"`
	Description     string  `bson:"description,omitempty" json:"description,omitempty"`
	During          *Period `bson:"during,omitempty" json:"during,omitempty"`
}

type Precision

type Precision string

type Procedure

type Procedure struct {
	DomainResource     `bson:",inline"`
	Identifier         []Identifier                    `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition         []Reference                     `bson:"definition,omitempty" json:"definition,omitempty"`
	BasedOn            []Reference                     `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	PartOf             []Reference                     `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Status             string                          `bson:"status,omitempty" json:"status,omitempty"`
	NotDone            *bool                           `bson:"notDone,omitempty" json:"notDone,omitempty"`
	NotDoneReason      *CodeableConcept                `bson:"notDoneReason,omitempty" json:"notDoneReason,omitempty"`
	Category           *CodeableConcept                `bson:"category,omitempty" json:"category,omitempty"`
	Code               *CodeableConcept                `bson:"code,omitempty" json:"code,omitempty"`
	Subject            *Reference                      `bson:"subject,omitempty" json:"subject,omitempty"`
	Context            *Reference                      `bson:"context,omitempty" json:"context,omitempty"`
	PerformedDateTime  *FHIRDateTime                   `bson:"performedDateTime,omitempty" json:"performedDateTime,omitempty"`
	PerformedPeriod    *Period                         `bson:"performedPeriod,omitempty" json:"performedPeriod,omitempty"`
	Performer          []ProcedurePerformerComponent   `bson:"performer,omitempty" json:"performer,omitempty"`
	Location           *Reference                      `bson:"location,omitempty" json:"location,omitempty"`
	ReasonCode         []CodeableConcept               `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference    []Reference                     `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	BodySite           []CodeableConcept               `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	Outcome            *CodeableConcept                `bson:"outcome,omitempty" json:"outcome,omitempty"`
	Report             []Reference                     `bson:"report,omitempty" json:"report,omitempty"`
	Complication       []CodeableConcept               `bson:"complication,omitempty" json:"complication,omitempty"`
	ComplicationDetail []Reference                     `bson:"complicationDetail,omitempty" json:"complicationDetail,omitempty"`
	FollowUp           []CodeableConcept               `bson:"followUp,omitempty" json:"followUp,omitempty"`
	Note               []Annotation                    `bson:"note,omitempty" json:"note,omitempty"`
	FocalDevice        []ProcedureFocalDeviceComponent `bson:"focalDevice,omitempty" json:"focalDevice,omitempty"`
	UsedReference      []Reference                     `bson:"usedReference,omitempty" json:"usedReference,omitempty"`
	UsedCode           []CodeableConcept               `bson:"usedCode,omitempty" json:"usedCode,omitempty"`
}

func (*Procedure) GetBSON

func (x *Procedure) GetBSON() (interface{}, error)

func (*Procedure) MarshalJSON

func (resource *Procedure) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Procedure) UnmarshalJSON

func (x *Procedure) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ProcedureFocalDeviceComponent

type ProcedureFocalDeviceComponent struct {
	BackboneElement `bson:",inline"`
	Action          *CodeableConcept `bson:"action,omitempty" json:"action,omitempty"`
	Manipulated     *Reference       `bson:"manipulated,omitempty" json:"manipulated,omitempty"`
}

type ProcedurePerformerComponent

type ProcedurePerformerComponent struct {
	BackboneElement `bson:",inline"`
	Role            *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Actor           *Reference       `bson:"actor,omitempty" json:"actor,omitempty"`
	OnBehalfOf      *Reference       `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

type ProcedureRequest

type ProcedureRequest struct {
	DomainResource          `bson:",inline"`
	Identifier              []Identifier                        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition              []Reference                         `bson:"definition,omitempty" json:"definition,omitempty"`
	BasedOn                 []Reference                         `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Replaces                []Reference                         `bson:"replaces,omitempty" json:"replaces,omitempty"`
	Requisition             *Identifier                         `bson:"requisition,omitempty" json:"requisition,omitempty"`
	Status                  string                              `bson:"status,omitempty" json:"status,omitempty"`
	Intent                  string                              `bson:"intent,omitempty" json:"intent,omitempty"`
	Priority                string                              `bson:"priority,omitempty" json:"priority,omitempty"`
	DoNotPerform            *bool                               `bson:"doNotPerform,omitempty" json:"doNotPerform,omitempty"`
	Category                []CodeableConcept                   `bson:"category,omitempty" json:"category,omitempty"`
	Code                    *CodeableConcept                    `bson:"code,omitempty" json:"code,omitempty"`
	Subject                 *Reference                          `bson:"subject,omitempty" json:"subject,omitempty"`
	Context                 *Reference                          `bson:"context,omitempty" json:"context,omitempty"`
	OccurrenceDateTime      *FHIRDateTime                       `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod        *Period                             `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	OccurrenceTiming        *Timing                             `bson:"occurrenceTiming,omitempty" json:"occurrenceTiming,omitempty"`
	AsNeededBoolean         *bool                               `bson:"asNeededBoolean,omitempty" json:"asNeededBoolean,omitempty"`
	AsNeededCodeableConcept *CodeableConcept                    `bson:"asNeededCodeableConcept,omitempty" json:"asNeededCodeableConcept,omitempty"`
	AuthoredOn              *FHIRDateTime                       `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Requester               *ProcedureRequestRequesterComponent `bson:"requester,omitempty" json:"requester,omitempty"`
	PerformerType           *CodeableConcept                    `bson:"performerType,omitempty" json:"performerType,omitempty"`
	Performer               *Reference                          `bson:"performer,omitempty" json:"performer,omitempty"`
	ReasonCode              []CodeableConcept                   `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference         []Reference                         `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	SupportingInfo          []Reference                         `bson:"supportingInfo,omitempty" json:"supportingInfo,omitempty"`
	Specimen                []Reference                         `bson:"specimen,omitempty" json:"specimen,omitempty"`
	BodySite                []CodeableConcept                   `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	Note                    []Annotation                        `bson:"note,omitempty" json:"note,omitempty"`
	RelevantHistory         []Reference                         `bson:"relevantHistory,omitempty" json:"relevantHistory,omitempty"`
}

func (*ProcedureRequest) GetBSON

func (x *ProcedureRequest) GetBSON() (interface{}, error)

func (*ProcedureRequest) MarshalJSON

func (resource *ProcedureRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ProcedureRequest) UnmarshalJSON

func (x *ProcedureRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ProcedureRequestRequesterComponent

type ProcedureRequestRequesterComponent struct {
	BackboneElement `bson:",inline"`
	Agent           *Reference `bson:"agent,omitempty" json:"agent,omitempty"`
	OnBehalfOf      *Reference `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

type ProcessRequest

type ProcessRequest struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier                   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status         string                         `bson:"status,omitempty" json:"status,omitempty"`
	Action         string                         `bson:"action,omitempty" json:"action,omitempty"`
	Target         *Reference                     `bson:"target,omitempty" json:"target,omitempty"`
	Created        *FHIRDateTime                  `bson:"created,omitempty" json:"created,omitempty"`
	Provider       *Reference                     `bson:"provider,omitempty" json:"provider,omitempty"`
	Organization   *Reference                     `bson:"organization,omitempty" json:"organization,omitempty"`
	Request        *Reference                     `bson:"request,omitempty" json:"request,omitempty"`
	Response       *Reference                     `bson:"response,omitempty" json:"response,omitempty"`
	Nullify        *bool                          `bson:"nullify,omitempty" json:"nullify,omitempty"`
	Reference      string                         `bson:"reference,omitempty" json:"reference,omitempty"`
	Item           []ProcessRequestItemsComponent `bson:"item,omitempty" json:"item,omitempty"`
	Include        []string                       `bson:"include,omitempty" json:"include,omitempty"`
	Exclude        []string                       `bson:"exclude,omitempty" json:"exclude,omitempty"`
	Period         *Period                        `bson:"period,omitempty" json:"period,omitempty"`
}

func (*ProcessRequest) GetBSON

func (x *ProcessRequest) GetBSON() (interface{}, error)

func (*ProcessRequest) MarshalJSON

func (resource *ProcessRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ProcessRequest) UnmarshalJSON

func (x *ProcessRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ProcessRequestItemsComponent

type ProcessRequestItemsComponent struct {
	BackboneElement `bson:",inline"`
	SequenceLinkId  *int32 `bson:"sequenceLinkId,omitempty" json:"sequenceLinkId,omitempty"`
}

type ProcessResponse

type ProcessResponse struct {
	DomainResource       `bson:",inline"`
	Identifier           []Identifier                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               string                                `bson:"status,omitempty" json:"status,omitempty"`
	Created              *FHIRDateTime                         `bson:"created,omitempty" json:"created,omitempty"`
	Organization         *Reference                            `bson:"organization,omitempty" json:"organization,omitempty"`
	Request              *Reference                            `bson:"request,omitempty" json:"request,omitempty"`
	Outcome              *CodeableConcept                      `bson:"outcome,omitempty" json:"outcome,omitempty"`
	Disposition          string                                `bson:"disposition,omitempty" json:"disposition,omitempty"`
	RequestProvider      *Reference                            `bson:"requestProvider,omitempty" json:"requestProvider,omitempty"`
	RequestOrganization  *Reference                            `bson:"requestOrganization,omitempty" json:"requestOrganization,omitempty"`
	Form                 *CodeableConcept                      `bson:"form,omitempty" json:"form,omitempty"`
	ProcessNote          []ProcessResponseProcessNoteComponent `bson:"processNote,omitempty" json:"processNote,omitempty"`
	Error                []CodeableConcept                     `bson:"error,omitempty" json:"error,omitempty"`
	CommunicationRequest []Reference                           `bson:"communicationRequest,omitempty" json:"communicationRequest,omitempty"`
}

func (*ProcessResponse) GetBSON

func (x *ProcessResponse) GetBSON() (interface{}, error)

func (*ProcessResponse) MarshalJSON

func (resource *ProcessResponse) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ProcessResponse) UnmarshalJSON

func (x *ProcessResponse) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ProcessResponseProcessNoteComponent

type ProcessResponseProcessNoteComponent struct {
	BackboneElement `bson:",inline"`
	Type            *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Text            string           `bson:"text,omitempty" json:"text,omitempty"`
}

type Provenance

type Provenance struct {
	DomainResource `bson:",inline"`
	Target         []Reference                 `bson:"target,omitempty" json:"target,omitempty"`
	Period         *Period                     `bson:"period,omitempty" json:"period,omitempty"`
	Recorded       *FHIRDateTime               `bson:"recorded,omitempty" json:"recorded,omitempty"`
	Policy         []string                    `bson:"policy,omitempty" json:"policy,omitempty"`
	Location       *Reference                  `bson:"location,omitempty" json:"location,omitempty"`
	Reason         []Coding                    `bson:"reason,omitempty" json:"reason,omitempty"`
	Activity       *Coding                     `bson:"activity,omitempty" json:"activity,omitempty"`
	Agent          []ProvenanceAgentComponent  `bson:"agent,omitempty" json:"agent,omitempty"`
	Entity         []ProvenanceEntityComponent `bson:"entity,omitempty" json:"entity,omitempty"`
	Signature      []Signature                 `bson:"signature,omitempty" json:"signature,omitempty"`
}

func (*Provenance) GetBSON

func (x *Provenance) GetBSON() (interface{}, error)

func (*Provenance) MarshalJSON

func (resource *Provenance) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Provenance) UnmarshalJSON

func (x *Provenance) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ProvenanceAgentComponent

type ProvenanceAgentComponent struct {
	BackboneElement     `bson:",inline"`
	Role                []CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	WhoUri              string            `bson:"whoUri,omitempty" json:"whoUri,omitempty"`
	WhoReference        *Reference        `bson:"whoReference,omitempty" json:"whoReference,omitempty"`
	OnBehalfOfUri       string            `bson:"onBehalfOfUri,omitempty" json:"onBehalfOfUri,omitempty"`
	OnBehalfOfReference *Reference        `bson:"onBehalfOfReference,omitempty" json:"onBehalfOfReference,omitempty"`
	RelatedAgentType    *CodeableConcept  `bson:"relatedAgentType,omitempty" json:"relatedAgentType,omitempty"`
}

type ProvenanceEntityComponent

type ProvenanceEntityComponent struct {
	BackboneElement `bson:",inline"`
	Role            string                     `bson:"role,omitempty" json:"role,omitempty"`
	WhatUri         string                     `bson:"whatUri,omitempty" json:"whatUri,omitempty"`
	WhatReference   *Reference                 `bson:"whatReference,omitempty" json:"whatReference,omitempty"`
	WhatIdentifier  *Identifier                `bson:"whatIdentifier,omitempty" json:"whatIdentifier,omitempty"`
	Agent           []ProvenanceAgentComponent `bson:"agent,omitempty" json:"agent,omitempty"`
}

type Quantity

type Quantity struct {
	Value      *Decimal `bson:"value,omitempty" json:"value,omitempty"`
	Comparator string   `bson:"comparator,omitempty" json:"comparator,omitempty"`
	Unit       string   `bson:"unit,omitempty" json:"unit,omitempty"`
	System     string   `bson:"system,omitempty" json:"system,omitempty"`
	Code       string   `bson:"code,omitempty" json:"code,omitempty"`
}

type Questionnaire

type Questionnaire struct {
	DomainResource  `bson:",inline"`
	Url             string                       `bson:"url,omitempty" json:"url,omitempty"`
	Identifier      []Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version         string                       `bson:"version,omitempty" json:"version,omitempty"`
	Name            string                       `bson:"name,omitempty" json:"name,omitempty"`
	Title           string                       `bson:"title,omitempty" json:"title,omitempty"`
	Status          string                       `bson:"status,omitempty" json:"status,omitempty"`
	Experimental    *bool                        `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date            *FHIRDateTime                `bson:"date,omitempty" json:"date,omitempty"`
	Publisher       string                       `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Description     string                       `bson:"description,omitempty" json:"description,omitempty"`
	Purpose         string                       `bson:"purpose,omitempty" json:"purpose,omitempty"`
	ApprovalDate    *FHIRDateTime                `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate  *FHIRDateTime                `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod *Period                      `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	UseContext      []UsageContext               `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction    []CodeableConcept            `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Contact         []ContactDetail              `bson:"contact,omitempty" json:"contact,omitempty"`
	Copyright       string                       `bson:"copyright,omitempty" json:"copyright,omitempty"`
	Code            []Coding                     `bson:"code,omitempty" json:"code,omitempty"`
	SubjectType     []string                     `bson:"subjectType,omitempty" json:"subjectType,omitempty"`
	Item            []QuestionnaireItemComponent `bson:"item,omitempty" json:"item,omitempty"`
}

func (*Questionnaire) GetBSON

func (x *Questionnaire) GetBSON() (interface{}, error)

func (*Questionnaire) MarshalJSON

func (resource *Questionnaire) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Questionnaire) UnmarshalJSON

func (x *Questionnaire) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type QuestionnaireItemComponent

type QuestionnaireItemComponent struct {
	BackboneElement   `bson:",inline"`
	LinkId            string                                 `bson:"linkId,omitempty" json:"linkId,omitempty"`
	Definition        string                                 `bson:"definition,omitempty" json:"definition,omitempty"`
	Code              []Coding                               `bson:"code,omitempty" json:"code,omitempty"`
	Prefix            string                                 `bson:"prefix,omitempty" json:"prefix,omitempty"`
	Text              string                                 `bson:"text,omitempty" json:"text,omitempty"`
	Type              string                                 `bson:"type,omitempty" json:"type,omitempty"`
	EnableWhen        []QuestionnaireItemEnableWhenComponent `bson:"enableWhen,omitempty" json:"enableWhen,omitempty"`
	Required          *bool                                  `bson:"required,omitempty" json:"required,omitempty"`
	Repeats           *bool                                  `bson:"repeats,omitempty" json:"repeats,omitempty"`
	ReadOnly          *bool                                  `bson:"readOnly,omitempty" json:"readOnly,omitempty"`
	MaxLength         *int32                                 `bson:"maxLength,omitempty" json:"maxLength,omitempty"`
	Options           *Reference                             `bson:"options,omitempty" json:"options,omitempty"`
	Option            []QuestionnaireItemOptionComponent     `bson:"option,omitempty" json:"option,omitempty"`
	InitialBoolean    *bool                                  `bson:"initialBoolean,omitempty" json:"initialBoolean,omitempty"`
	InitialDecimal    *float64                               `bson:"initialDecimal,omitempty" json:"initialDecimal,omitempty"`
	InitialInteger    *int32                                 `bson:"initialInteger,omitempty" json:"initialInteger,omitempty"`
	InitialDate       *FHIRDateTime                          `bson:"initialDate,omitempty" json:"initialDate,omitempty"`
	InitialDateTime   *FHIRDateTime                          `bson:"initialDateTime,omitempty" json:"initialDateTime,omitempty"`
	InitialTime       *FHIRDateTime                          `bson:"initialTime,omitempty" json:"initialTime,omitempty"`
	InitialString     string                                 `bson:"initialString,omitempty" json:"initialString,omitempty"`
	InitialUri        string                                 `bson:"initialUri,omitempty" json:"initialUri,omitempty"`
	InitialAttachment *Attachment                            `bson:"initialAttachment,omitempty" json:"initialAttachment,omitempty"`
	InitialCoding     *Coding                                `bson:"initialCoding,omitempty" json:"initialCoding,omitempty"`
	InitialQuantity   *Quantity                              `bson:"initialQuantity,omitempty" json:"initialQuantity,omitempty"`
	InitialReference  *Reference                             `bson:"initialReference,omitempty" json:"initialReference,omitempty"`
	Item              []QuestionnaireItemComponent           `bson:"item,omitempty" json:"item,omitempty"`
}

type QuestionnaireItemEnableWhenComponent

type QuestionnaireItemEnableWhenComponent struct {
	BackboneElement  `bson:",inline"`
	Question         string        `bson:"question,omitempty" json:"question,omitempty"`
	HasAnswer        *bool         `bson:"hasAnswer,omitempty" json:"hasAnswer,omitempty"`
	AnswerBoolean    *bool         `bson:"answerBoolean,omitempty" json:"answerBoolean,omitempty"`
	AnswerDecimal    *float64      `bson:"answerDecimal,omitempty" json:"answerDecimal,omitempty"`
	AnswerInteger    *int32        `bson:"answerInteger,omitempty" json:"answerInteger,omitempty"`
	AnswerDate       *FHIRDateTime `bson:"answerDate,omitempty" json:"answerDate,omitempty"`
	AnswerDateTime   *FHIRDateTime `bson:"answerDateTime,omitempty" json:"answerDateTime,omitempty"`
	AnswerTime       *FHIRDateTime `bson:"answerTime,omitempty" json:"answerTime,omitempty"`
	AnswerString     string        `bson:"answerString,omitempty" json:"answerString,omitempty"`
	AnswerUri        string        `bson:"answerUri,omitempty" json:"answerUri,omitempty"`
	AnswerAttachment *Attachment   `bson:"answerAttachment,omitempty" json:"answerAttachment,omitempty"`
	AnswerCoding     *Coding       `bson:"answerCoding,omitempty" json:"answerCoding,omitempty"`
	AnswerQuantity   *Quantity     `bson:"answerQuantity,omitempty" json:"answerQuantity,omitempty"`
	AnswerReference  *Reference    `bson:"answerReference,omitempty" json:"answerReference,omitempty"`
}

type QuestionnaireItemOptionComponent

type QuestionnaireItemOptionComponent struct {
	BackboneElement `bson:",inline"`
	ValueInteger    *int32        `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueDate       *FHIRDateTime `bson:"valueDate,omitempty" json:"valueDate,omitempty"`
	ValueTime       *FHIRDateTime `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueString     string        `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueCoding     *Coding       `bson:"valueCoding,omitempty" json:"valueCoding,omitempty"`
}

type QuestionnaireResponse

type QuestionnaireResponse struct {
	DomainResource `bson:",inline"`
	Identifier     *Identifier                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	BasedOn        []Reference                          `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Parent         []Reference                          `bson:"parent,omitempty" json:"parent,omitempty"`
	Questionnaire  *Reference                           `bson:"questionnaire,omitempty" json:"questionnaire,omitempty"`
	Status         string                               `bson:"status,omitempty" json:"status,omitempty"`
	Subject        *Reference                           `bson:"subject,omitempty" json:"subject,omitempty"`
	Context        *Reference                           `bson:"context,omitempty" json:"context,omitempty"`
	Authored       *FHIRDateTime                        `bson:"authored,omitempty" json:"authored,omitempty"`
	Author         *Reference                           `bson:"author,omitempty" json:"author,omitempty"`
	Source         *Reference                           `bson:"source,omitempty" json:"source,omitempty"`
	Item           []QuestionnaireResponseItemComponent `bson:"item,omitempty" json:"item,omitempty"`
}

func (*QuestionnaireResponse) GetBSON

func (x *QuestionnaireResponse) GetBSON() (interface{}, error)

func (*QuestionnaireResponse) MarshalJSON

func (resource *QuestionnaireResponse) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*QuestionnaireResponse) UnmarshalJSON

func (x *QuestionnaireResponse) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type QuestionnaireResponseItemAnswerComponent

type QuestionnaireResponseItemAnswerComponent struct {
	BackboneElement `bson:",inline"`
	ValueBoolean    *bool                                `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueDecimal    *float64                             `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
	ValueInteger    *int32                               `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueDate       *FHIRDateTime                        `bson:"valueDate,omitempty" json:"valueDate,omitempty"`
	ValueDateTime   *FHIRDateTime                        `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValueTime       *FHIRDateTime                        `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueString     string                               `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueUri        string                               `bson:"valueUri,omitempty" json:"valueUri,omitempty"`
	ValueAttachment *Attachment                          `bson:"valueAttachment,omitempty" json:"valueAttachment,omitempty"`
	ValueCoding     *Coding                              `bson:"valueCoding,omitempty" json:"valueCoding,omitempty"`
	ValueQuantity   *Quantity                            `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueReference  *Reference                           `bson:"valueReference,omitempty" json:"valueReference,omitempty"`
	Item            []QuestionnaireResponseItemComponent `bson:"item,omitempty" json:"item,omitempty"`
}

type QuestionnaireResponseItemComponent

type QuestionnaireResponseItemComponent struct {
	BackboneElement `bson:",inline"`
	LinkId          string                                     `bson:"linkId,omitempty" json:"linkId,omitempty"`
	Definition      string                                     `bson:"definition,omitempty" json:"definition,omitempty"`
	Text            string                                     `bson:"text,omitempty" json:"text,omitempty"`
	Subject         *Reference                                 `bson:"subject,omitempty" json:"subject,omitempty"`
	Answer          []QuestionnaireResponseItemAnswerComponent `bson:"answer,omitempty" json:"answer,omitempty"`
	Item            []QuestionnaireResponseItemComponent       `bson:"item,omitempty" json:"item,omitempty"`
}

type Range

type Range struct {
	Low  *Quantity `bson:"low,omitempty" json:"low,omitempty"`
	High *Quantity `bson:"high,omitempty" json:"high,omitempty"`
}

type Ratio

type Ratio struct {
	Numerator   *Quantity `bson:"numerator,omitempty" json:"numerator,omitempty"`
	Denominator *Quantity `bson:"denominator,omitempty" json:"denominator,omitempty"`
}

type Reference

type Reference struct {
	Reference  string      `bson:"reference,omitempty" json:"reference,omitempty"`
	Identifier *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Display    string      `bson:"display,omitempty" json:"display,omitempty"`

	Type         string `bson:"reference__type,omitempty" json:"reference__type,omitempty"`
	ReferencedID string `bson:"reference__id,omitempty" json:"reference__id,omitempty"`
	External     *bool  `bson:"reference__external,omitempty" json:"reference__external,omitempty"`
}

func (*Reference) MarshalJSON

func (r *Reference) MarshalJSON() ([]byte, error)

func (*Reference) UnmarshalJSON

func (r *Reference) UnmarshalJSON(data []byte) (err error)

type ReferralRequest

type ReferralRequest struct {
	DomainResource     `bson:",inline"`
	Identifier         []Identifier                       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition         []Reference                        `bson:"definition,omitempty" json:"definition,omitempty"`
	BasedOn            []Reference                        `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Replaces           []Reference                        `bson:"replaces,omitempty" json:"replaces,omitempty"`
	GroupIdentifier    *Identifier                        `bson:"groupIdentifier,omitempty" json:"groupIdentifier,omitempty"`
	Status             string                             `bson:"status,omitempty" json:"status,omitempty"`
	Intent             string                             `bson:"intent,omitempty" json:"intent,omitempty"`
	Type               *CodeableConcept                   `bson:"type,omitempty" json:"type,omitempty"`
	Priority           string                             `bson:"priority,omitempty" json:"priority,omitempty"`
	ServiceRequested   []CodeableConcept                  `bson:"serviceRequested,omitempty" json:"serviceRequested,omitempty"`
	Subject            *Reference                         `bson:"subject,omitempty" json:"subject,omitempty"`
	Context            *Reference                         `bson:"context,omitempty" json:"context,omitempty"`
	OccurrenceDateTime *FHIRDateTime                      `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod   *Period                            `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	AuthoredOn         *FHIRDateTime                      `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Requester          *ReferralRequestRequesterComponent `bson:"requester,omitempty" json:"requester,omitempty"`
	Specialty          *CodeableConcept                   `bson:"specialty,omitempty" json:"specialty,omitempty"`
	Recipient          []Reference                        `bson:"recipient,omitempty" json:"recipient,omitempty"`
	ReasonCode         []CodeableConcept                  `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference    []Reference                        `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Description        string                             `bson:"description,omitempty" json:"description,omitempty"`
	SupportingInfo     []Reference                        `bson:"supportingInfo,omitempty" json:"supportingInfo,omitempty"`
	Note               []Annotation                       `bson:"note,omitempty" json:"note,omitempty"`
	RelevantHistory    []Reference                        `bson:"relevantHistory,omitempty" json:"relevantHistory,omitempty"`
}

func (*ReferralRequest) GetBSON

func (x *ReferralRequest) GetBSON() (interface{}, error)

func (*ReferralRequest) MarshalJSON

func (resource *ReferralRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ReferralRequest) UnmarshalJSON

func (x *ReferralRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ReferralRequestRequesterComponent

type ReferralRequestRequesterComponent struct {
	BackboneElement `bson:",inline"`
	Agent           *Reference `bson:"agent,omitempty" json:"agent,omitempty"`
	OnBehalfOf      *Reference `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

type RelatedArtifact

type RelatedArtifact struct {
	Type     string      `bson:"type,omitempty" json:"type,omitempty"`
	Display  string      `bson:"display,omitempty" json:"display,omitempty"`
	Citation string      `bson:"citation,omitempty" json:"citation,omitempty"`
	Url      string      `bson:"url,omitempty" json:"url,omitempty"`
	Document *Attachment `bson:"document,omitempty" json:"document,omitempty"`
	Resource *Reference  `bson:"resource,omitempty" json:"resource,omitempty"`
}

type RelatedPerson

type RelatedPerson struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active         *bool            `bson:"active,omitempty" json:"active,omitempty"`
	Patient        *Reference       `bson:"patient,omitempty" json:"patient,omitempty"`
	Relationship   *CodeableConcept `bson:"relationship,omitempty" json:"relationship,omitempty"`
	Name           []HumanName      `bson:"name,omitempty" json:"name,omitempty"`
	Telecom        []ContactPoint   `bson:"telecom,omitempty" json:"telecom,omitempty"`
	Gender         string           `bson:"gender,omitempty" json:"gender,omitempty"`
	BirthDate      *FHIRDateTime    `bson:"birthDate,omitempty" json:"birthDate,omitempty"`
	Address        []Address        `bson:"address,omitempty" json:"address,omitempty"`
	Photo          []Attachment     `bson:"photo,omitempty" json:"photo,omitempty"`
	Period         *Period          `bson:"period,omitempty" json:"period,omitempty"`
}

func (*RelatedPerson) GetBSON

func (x *RelatedPerson) GetBSON() (interface{}, error)

func (*RelatedPerson) MarshalJSON

func (resource *RelatedPerson) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*RelatedPerson) UnmarshalJSON

func (x *RelatedPerson) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type RequestGroup

type RequestGroup struct {
	DomainResource        `bson:",inline"`
	Identifier            []Identifier                  `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition            []Reference                   `bson:"definition,omitempty" json:"definition,omitempty"`
	BasedOn               []Reference                   `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Replaces              []Reference                   `bson:"replaces,omitempty" json:"replaces,omitempty"`
	GroupIdentifier       *Identifier                   `bson:"groupIdentifier,omitempty" json:"groupIdentifier,omitempty"`
	Status                string                        `bson:"status,omitempty" json:"status,omitempty"`
	Intent                string                        `bson:"intent,omitempty" json:"intent,omitempty"`
	Priority              string                        `bson:"priority,omitempty" json:"priority,omitempty"`
	Subject               *Reference                    `bson:"subject,omitempty" json:"subject,omitempty"`
	Context               *Reference                    `bson:"context,omitempty" json:"context,omitempty"`
	AuthoredOn            *FHIRDateTime                 `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Author                *Reference                    `bson:"author,omitempty" json:"author,omitempty"`
	ReasonCodeableConcept *CodeableConcept              `bson:"reasonCodeableConcept,omitempty" json:"reasonCodeableConcept,omitempty"`
	ReasonReference       *Reference                    `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Note                  []Annotation                  `bson:"note,omitempty" json:"note,omitempty"`
	Action                []RequestGroupActionComponent `bson:"action,omitempty" json:"action,omitempty"`
}

func (*RequestGroup) GetBSON

func (x *RequestGroup) GetBSON() (interface{}, error)

func (*RequestGroup) MarshalJSON

func (resource *RequestGroup) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*RequestGroup) UnmarshalJSON

func (x *RequestGroup) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type RequestGroupActionComponent

type RequestGroupActionComponent struct {
	BackboneElement     `bson:",inline"`
	Label               string                                     `bson:"label,omitempty" json:"label,omitempty"`
	Title               string                                     `bson:"title,omitempty" json:"title,omitempty"`
	Description         string                                     `bson:"description,omitempty" json:"description,omitempty"`
	TextEquivalent      string                                     `bson:"textEquivalent,omitempty" json:"textEquivalent,omitempty"`
	Code                []CodeableConcept                          `bson:"code,omitempty" json:"code,omitempty"`
	Documentation       []RelatedArtifact                          `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Condition           []RequestGroupActionConditionComponent     `bson:"condition,omitempty" json:"condition,omitempty"`
	RelatedAction       []RequestGroupActionRelatedActionComponent `bson:"relatedAction,omitempty" json:"relatedAction,omitempty"`
	TimingDateTime      *FHIRDateTime                              `bson:"timingDateTime,omitempty" json:"timingDateTime,omitempty"`
	TimingPeriod        *Period                                    `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	TimingDuration      *Quantity                                  `bson:"timingDuration,omitempty" json:"timingDuration,omitempty"`
	TimingRange         *Range                                     `bson:"timingRange,omitempty" json:"timingRange,omitempty"`
	TimingTiming        *Timing                                    `bson:"timingTiming,omitempty" json:"timingTiming,omitempty"`
	Participant         []Reference                                `bson:"participant,omitempty" json:"participant,omitempty"`
	Type                *Coding                                    `bson:"type,omitempty" json:"type,omitempty"`
	GroupingBehavior    string                                     `bson:"groupingBehavior,omitempty" json:"groupingBehavior,omitempty"`
	SelectionBehavior   string                                     `bson:"selectionBehavior,omitempty" json:"selectionBehavior,omitempty"`
	RequiredBehavior    string                                     `bson:"requiredBehavior,omitempty" json:"requiredBehavior,omitempty"`
	PrecheckBehavior    string                                     `bson:"precheckBehavior,omitempty" json:"precheckBehavior,omitempty"`
	CardinalityBehavior string                                     `bson:"cardinalityBehavior,omitempty" json:"cardinalityBehavior,omitempty"`
	Resource            *Reference                                 `bson:"resource,omitempty" json:"resource,omitempty"`
	Action              []RequestGroupActionComponent              `bson:"action,omitempty" json:"action,omitempty"`
}

type RequestGroupActionConditionComponent

type RequestGroupActionConditionComponent struct {
	BackboneElement `bson:",inline"`
	Kind            string `bson:"kind,omitempty" json:"kind,omitempty"`
	Description     string `bson:"description,omitempty" json:"description,omitempty"`
	Language        string `bson:"language,omitempty" json:"language,omitempty"`
	Expression      string `bson:"expression,omitempty" json:"expression,omitempty"`
}

type RequestGroupActionRelatedActionComponent

type RequestGroupActionRelatedActionComponent struct {
	BackboneElement `bson:",inline"`
	ActionId        string    `bson:"actionId,omitempty" json:"actionId,omitempty"`
	Relationship    string    `bson:"relationship,omitempty" json:"relationship,omitempty"`
	OffsetDuration  *Quantity `bson:"offsetDuration,omitempty" json:"offsetDuration,omitempty"`
	OffsetRange     *Range    `bson:"offsetRange,omitempty" json:"offsetRange,omitempty"`
}

type ResearchStudy

type ResearchStudy struct {
	DomainResource        `bson:",inline"`
	Identifier            []Identifier                `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Title                 string                      `bson:"title,omitempty" json:"title,omitempty"`
	Protocol              []Reference                 `bson:"protocol,omitempty" json:"protocol,omitempty"`
	PartOf                []Reference                 `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Status                string                      `bson:"status,omitempty" json:"status,omitempty"`
	Category              []CodeableConcept           `bson:"category,omitempty" json:"category,omitempty"`
	Focus                 []CodeableConcept           `bson:"focus,omitempty" json:"focus,omitempty"`
	Contact               []ContactDetail             `bson:"contact,omitempty" json:"contact,omitempty"`
	RelatedArtifact       []RelatedArtifact           `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Keyword               []CodeableConcept           `bson:"keyword,omitempty" json:"keyword,omitempty"`
	Jurisdiction          []CodeableConcept           `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Description           string                      `bson:"description,omitempty" json:"description,omitempty"`
	Enrollment            []Reference                 `bson:"enrollment,omitempty" json:"enrollment,omitempty"`
	Period                *Period                     `bson:"period,omitempty" json:"period,omitempty"`
	Sponsor               *Reference                  `bson:"sponsor,omitempty" json:"sponsor,omitempty"`
	PrincipalInvestigator *Reference                  `bson:"principalInvestigator,omitempty" json:"principalInvestigator,omitempty"`
	Site                  []Reference                 `bson:"site,omitempty" json:"site,omitempty"`
	ReasonStopped         *CodeableConcept            `bson:"reasonStopped,omitempty" json:"reasonStopped,omitempty"`
	Note                  []Annotation                `bson:"note,omitempty" json:"note,omitempty"`
	Arm                   []ResearchStudyArmComponent `bson:"arm,omitempty" json:"arm,omitempty"`
}

func (*ResearchStudy) GetBSON

func (x *ResearchStudy) GetBSON() (interface{}, error)

func (*ResearchStudy) MarshalJSON

func (resource *ResearchStudy) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ResearchStudy) UnmarshalJSON

func (x *ResearchStudy) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ResearchStudyArmComponent

type ResearchStudyArmComponent struct {
	BackboneElement `bson:",inline"`
	Name            string           `bson:"name,omitempty" json:"name,omitempty"`
	Code            *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Description     string           `bson:"description,omitempty" json:"description,omitempty"`
}

type ResearchSubject

type ResearchSubject struct {
	DomainResource `bson:",inline"`
	Identifier     *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status         string      `bson:"status,omitempty" json:"status,omitempty"`
	Period         *Period     `bson:"period,omitempty" json:"period,omitempty"`
	Study          *Reference  `bson:"study,omitempty" json:"study,omitempty"`
	Individual     *Reference  `bson:"individual,omitempty" json:"individual,omitempty"`
	AssignedArm    string      `bson:"assignedArm,omitempty" json:"assignedArm,omitempty"`
	ActualArm      string      `bson:"actualArm,omitempty" json:"actualArm,omitempty"`
	Consent        *Reference  `bson:"consent,omitempty" json:"consent,omitempty"`
}

func (*ResearchSubject) GetBSON

func (x *ResearchSubject) GetBSON() (interface{}, error)

func (*ResearchSubject) MarshalJSON

func (resource *ResearchSubject) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ResearchSubject) UnmarshalJSON

func (x *ResearchSubject) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type Resource

type Resource struct {
	ResourceType  string `bson:"resourceType,omitempty" json:"resourceType,omitempty"`
	Id            string `bson:"_id,omitempty" json:"id,omitempty"`
	Meta          *Meta  `bson:"meta,omitempty" json:"meta,omitempty"`
	ImplicitRules string `bson:"implicitRules,omitempty" json:"implicitRules,omitempty"`
	Language      string `bson:"language,omitempty" json:"language,omitempty"`
}

type RiskAssessment

type RiskAssessment struct {
	DomainResource        `bson:",inline"`
	Identifier            *Identifier                         `bson:"identifier,omitempty" json:"identifier,omitempty"`
	BasedOn               *Reference                          `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Parent                *Reference                          `bson:"parent,omitempty" json:"parent,omitempty"`
	Status                string                              `bson:"status,omitempty" json:"status,omitempty"`
	Method                *CodeableConcept                    `bson:"method,omitempty" json:"method,omitempty"`
	Code                  *CodeableConcept                    `bson:"code,omitempty" json:"code,omitempty"`
	Subject               *Reference                          `bson:"subject,omitempty" json:"subject,omitempty"`
	Context               *Reference                          `bson:"context,omitempty" json:"context,omitempty"`
	OccurrenceDateTime    *FHIRDateTime                       `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod      *Period                             `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	Condition             *Reference                          `bson:"condition,omitempty" json:"condition,omitempty"`
	Performer             *Reference                          `bson:"performer,omitempty" json:"performer,omitempty"`
	ReasonCodeableConcept *CodeableConcept                    `bson:"reasonCodeableConcept,omitempty" json:"reasonCodeableConcept,omitempty"`
	ReasonReference       *Reference                          `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Basis                 []Reference                         `bson:"basis,omitempty" json:"basis,omitempty"`
	Prediction            []RiskAssessmentPredictionComponent `bson:"prediction,omitempty" json:"prediction,omitempty"`
	Mitigation            string                              `bson:"mitigation,omitempty" json:"mitigation,omitempty"`
	Comment               string                              `bson:"comment,omitempty" json:"comment,omitempty"`
}

func (*RiskAssessment) GetBSON

func (x *RiskAssessment) GetBSON() (interface{}, error)

func (*RiskAssessment) MarshalJSON

func (resource *RiskAssessment) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*RiskAssessment) UnmarshalJSON

func (x *RiskAssessment) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type RiskAssessmentPredictionComponent

type RiskAssessmentPredictionComponent struct {
	BackboneElement    `bson:",inline"`
	Outcome            *CodeableConcept `bson:"outcome,omitempty" json:"outcome,omitempty"`
	ProbabilityDecimal *float64         `bson:"probabilityDecimal,omitempty" json:"probabilityDecimal,omitempty"`
	ProbabilityRange   *Range           `bson:"probabilityRange,omitempty" json:"probabilityRange,omitempty"`
	QualitativeRisk    *CodeableConcept `bson:"qualitativeRisk,omitempty" json:"qualitativeRisk,omitempty"`
	RelativeRisk       *float64         `bson:"relativeRisk,omitempty" json:"relativeRisk,omitempty"`
	WhenPeriod         *Period          `bson:"whenPeriod,omitempty" json:"whenPeriod,omitempty"`
	WhenRange          *Range           `bson:"whenRange,omitempty" json:"whenRange,omitempty"`
	Rationale          string           `bson:"rationale,omitempty" json:"rationale,omitempty"`
}

type SampledData

type SampledData struct {
	Origin     *Quantity `bson:"origin,omitempty" json:"origin,omitempty"`
	Period     *float64  `bson:"period,omitempty" json:"period,omitempty"`
	Factor     *float64  `bson:"factor,omitempty" json:"factor,omitempty"`
	LowerLimit *float64  `bson:"lowerLimit,omitempty" json:"lowerLimit,omitempty"`
	UpperLimit *float64  `bson:"upperLimit,omitempty" json:"upperLimit,omitempty"`
	Dimensions *uint32   `bson:"dimensions,omitempty" json:"dimensions,omitempty"`
	Data       string    `bson:"data,omitempty" json:"data,omitempty"`
}

type Schedule

type Schedule struct {
	DomainResource  `bson:",inline"`
	Identifier      []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active          *bool             `bson:"active,omitempty" json:"active,omitempty"`
	ServiceCategory *CodeableConcept  `bson:"serviceCategory,omitempty" json:"serviceCategory,omitempty"`
	ServiceType     []CodeableConcept `bson:"serviceType,omitempty" json:"serviceType,omitempty"`
	Specialty       []CodeableConcept `bson:"specialty,omitempty" json:"specialty,omitempty"`
	Actor           []Reference       `bson:"actor,omitempty" json:"actor,omitempty"`
	PlanningHorizon *Period           `bson:"planningHorizon,omitempty" json:"planningHorizon,omitempty"`
	Comment         string            `bson:"comment,omitempty" json:"comment,omitempty"`
}

func (*Schedule) GetBSON

func (x *Schedule) GetBSON() (interface{}, error)

func (*Schedule) MarshalJSON

func (resource *Schedule) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Schedule) UnmarshalJSON

func (x *Schedule) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type SearchParameter

type SearchParameter struct {
	DomainResource `bson:",inline"`
	Url            string                              `bson:"url,omitempty" json:"url,omitempty"`
	Version        string                              `bson:"version,omitempty" json:"version,omitempty"`
	Name           string                              `bson:"name,omitempty" json:"name,omitempty"`
	Status         string                              `bson:"status,omitempty" json:"status,omitempty"`
	Experimental   *bool                               `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date           *FHIRDateTime                       `bson:"date,omitempty" json:"date,omitempty"`
	Publisher      string                              `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact        []ContactDetail                     `bson:"contact,omitempty" json:"contact,omitempty"`
	UseContext     []UsageContext                      `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction   []CodeableConcept                   `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Purpose        string                              `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Code           string                              `bson:"code,omitempty" json:"code,omitempty"`
	Base           []string                            `bson:"base,omitempty" json:"base,omitempty"`
	Type           string                              `bson:"type,omitempty" json:"type,omitempty"`
	DerivedFrom    string                              `bson:"derivedFrom,omitempty" json:"derivedFrom,omitempty"`
	Description    string                              `bson:"description,omitempty" json:"description,omitempty"`
	Expression     string                              `bson:"expression,omitempty" json:"expression,omitempty"`
	Xpath          string                              `bson:"xpath,omitempty" json:"xpath,omitempty"`
	XpathUsage     string                              `bson:"xpathUsage,omitempty" json:"xpathUsage,omitempty"`
	Target         []string                            `bson:"target,omitempty" json:"target,omitempty"`
	Comparator     []string                            `bson:"comparator,omitempty" json:"comparator,omitempty"`
	Modifier       []string                            `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Chain          []string                            `bson:"chain,omitempty" json:"chain,omitempty"`
	Component      []SearchParameterComponentComponent `bson:"component,omitempty" json:"component,omitempty"`
}

func (*SearchParameter) GetBSON

func (x *SearchParameter) GetBSON() (interface{}, error)

func (*SearchParameter) MarshalJSON

func (resource *SearchParameter) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*SearchParameter) UnmarshalJSON

func (x *SearchParameter) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type SearchParameterComponentComponent

type SearchParameterComponentComponent struct {
	BackboneElement `bson:",inline"`
	Definition      *Reference `bson:"definition,omitempty" json:"definition,omitempty"`
	Expression      string     `bson:"expression,omitempty" json:"expression,omitempty"`
}

type Sequence

type Sequence struct {
	DomainResource   `bson:",inline"`
	Identifier       []Identifier                   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type             string                         `bson:"type,omitempty" json:"type,omitempty"`
	CoordinateSystem *int32                         `bson:"coordinateSystem,omitempty" json:"coordinateSystem,omitempty"`
	Patient          *Reference                     `bson:"patient,omitempty" json:"patient,omitempty"`
	Specimen         *Reference                     `bson:"specimen,omitempty" json:"specimen,omitempty"`
	Device           *Reference                     `bson:"device,omitempty" json:"device,omitempty"`
	Performer        *Reference                     `bson:"performer,omitempty" json:"performer,omitempty"`
	Quantity         *Quantity                      `bson:"quantity,omitempty" json:"quantity,omitempty"`
	ReferenceSeq     *SequenceReferenceSeqComponent `bson:"referenceSeq,omitempty" json:"referenceSeq,omitempty"`
	Variant          []SequenceVariantComponent     `bson:"variant,omitempty" json:"variant,omitempty"`
	ObservedSeq      string                         `bson:"observedSeq,omitempty" json:"observedSeq,omitempty"`
	Quality          []SequenceQualityComponent     `bson:"quality,omitempty" json:"quality,omitempty"`
	ReadCoverage     *int32                         `bson:"readCoverage,omitempty" json:"readCoverage,omitempty"`
	Repository       []SequenceRepositoryComponent  `bson:"repository,omitempty" json:"repository,omitempty"`
	Pointer          []Reference                    `bson:"pointer,omitempty" json:"pointer,omitempty"`
}

func (*Sequence) GetBSON

func (x *Sequence) GetBSON() (interface{}, error)

func (*Sequence) MarshalJSON

func (resource *Sequence) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Sequence) UnmarshalJSON

func (x *Sequence) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type SequenceQualityComponent

type SequenceQualityComponent struct {
	BackboneElement  `bson:",inline"`
	Type             string           `bson:"type,omitempty" json:"type,omitempty"`
	StandardSequence *CodeableConcept `bson:"standardSequence,omitempty" json:"standardSequence,omitempty"`
	Start            *int32           `bson:"start,omitempty" json:"start,omitempty"`
	End              *int32           `bson:"end,omitempty" json:"end,omitempty"`
	Score            *Quantity        `bson:"score,omitempty" json:"score,omitempty"`
	Method           *CodeableConcept `bson:"method,omitempty" json:"method,omitempty"`
	TruthTP          *float64         `bson:"truthTP,omitempty" json:"truthTP,omitempty"`
	QueryTP          *float64         `bson:"queryTP,omitempty" json:"queryTP,omitempty"`
	TruthFN          *float64         `bson:"truthFN,omitempty" json:"truthFN,omitempty"`
	QueryFP          *float64         `bson:"queryFP,omitempty" json:"queryFP,omitempty"`
	GtFP             *float64         `bson:"gtFP,omitempty" json:"gtFP,omitempty"`
	Precision        *float64         `bson:"precision,omitempty" json:"precision,omitempty"`
	Recall           *float64         `bson:"recall,omitempty" json:"recall,omitempty"`
	FScore           *float64         `bson:"fScore,omitempty" json:"fScore,omitempty"`
}

type SequenceReferenceSeqComponent

type SequenceReferenceSeqComponent struct {
	BackboneElement     `bson:",inline"`
	Chromosome          *CodeableConcept `bson:"chromosome,omitempty" json:"chromosome,omitempty"`
	GenomeBuild         string           `bson:"genomeBuild,omitempty" json:"genomeBuild,omitempty"`
	ReferenceSeqId      *CodeableConcept `bson:"referenceSeqId,omitempty" json:"referenceSeqId,omitempty"`
	ReferenceSeqPointer *Reference       `bson:"referenceSeqPointer,omitempty" json:"referenceSeqPointer,omitempty"`
	ReferenceSeqString  string           `bson:"referenceSeqString,omitempty" json:"referenceSeqString,omitempty"`
	Strand              *int32           `bson:"strand,omitempty" json:"strand,omitempty"`
	WindowStart         *int32           `bson:"windowStart,omitempty" json:"windowStart,omitempty"`
	WindowEnd           *int32           `bson:"windowEnd,omitempty" json:"windowEnd,omitempty"`
}

type SequenceRepositoryComponent

type SequenceRepositoryComponent struct {
	BackboneElement `bson:",inline"`
	Type            string `bson:"type,omitempty" json:"type,omitempty"`
	Url             string `bson:"url,omitempty" json:"url,omitempty"`
	Name            string `bson:"name,omitempty" json:"name,omitempty"`
	DatasetId       string `bson:"datasetId,omitempty" json:"datasetId,omitempty"`
	VariantsetId    string `bson:"variantsetId,omitempty" json:"variantsetId,omitempty"`
	ReadsetId       string `bson:"readsetId,omitempty" json:"readsetId,omitempty"`
}

type SequenceVariantComponent

type SequenceVariantComponent struct {
	BackboneElement `bson:",inline"`
	Start           *int32     `bson:"start,omitempty" json:"start,omitempty"`
	End             *int32     `bson:"end,omitempty" json:"end,omitempty"`
	ObservedAllele  string     `bson:"observedAllele,omitempty" json:"observedAllele,omitempty"`
	ReferenceAllele string     `bson:"referenceAllele,omitempty" json:"referenceAllele,omitempty"`
	Cigar           string     `bson:"cigar,omitempty" json:"cigar,omitempty"`
	VariantPointer  *Reference `bson:"variantPointer,omitempty" json:"variantPointer,omitempty"`
}

type ServiceDefinition

type ServiceDefinition struct {
	DomainResource      `bson:",inline"`
	Url                 string              `bson:"url,omitempty" json:"url,omitempty"`
	Identifier          []Identifier        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version             string              `bson:"version,omitempty" json:"version,omitempty"`
	Name                string              `bson:"name,omitempty" json:"name,omitempty"`
	Title               string              `bson:"title,omitempty" json:"title,omitempty"`
	Status              string              `bson:"status,omitempty" json:"status,omitempty"`
	Experimental        *bool               `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date                *FHIRDateTime       `bson:"date,omitempty" json:"date,omitempty"`
	Publisher           string              `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Description         string              `bson:"description,omitempty" json:"description,omitempty"`
	Purpose             string              `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Usage               string              `bson:"usage,omitempty" json:"usage,omitempty"`
	ApprovalDate        *FHIRDateTime       `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate      *FHIRDateTime       `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod     *Period             `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	UseContext          []UsageContext      `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction        []CodeableConcept   `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Topic               []CodeableConcept   `bson:"topic,omitempty" json:"topic,omitempty"`
	Contributor         []Contributor       `bson:"contributor,omitempty" json:"contributor,omitempty"`
	Contact             []ContactDetail     `bson:"contact,omitempty" json:"contact,omitempty"`
	Copyright           string              `bson:"copyright,omitempty" json:"copyright,omitempty"`
	RelatedArtifact     []RelatedArtifact   `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Trigger             []TriggerDefinition `bson:"trigger,omitempty" json:"trigger,omitempty"`
	DataRequirement     []DataRequirement   `bson:"dataRequirement,omitempty" json:"dataRequirement,omitempty"`
	OperationDefinition *Reference          `bson:"operationDefinition,omitempty" json:"operationDefinition,omitempty"`
}

func (*ServiceDefinition) GetBSON

func (x *ServiceDefinition) GetBSON() (interface{}, error)

func (*ServiceDefinition) MarshalJSON

func (resource *ServiceDefinition) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ServiceDefinition) UnmarshalJSON

func (x *ServiceDefinition) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type Signature

type Signature struct {
	Type                []Coding      `bson:"type,omitempty" json:"type,omitempty"`
	When                *FHIRDateTime `bson:"when,omitempty" json:"when,omitempty"`
	WhoUri              string        `bson:"whoUri,omitempty" json:"whoUri,omitempty"`
	WhoReference        *Reference    `bson:"whoReference,omitempty" json:"whoReference,omitempty"`
	OnBehalfOfUri       string        `bson:"onBehalfOfUri,omitempty" json:"onBehalfOfUri,omitempty"`
	OnBehalfOfReference *Reference    `bson:"onBehalfOfReference,omitempty" json:"onBehalfOfReference,omitempty"`
	ContentType         string        `bson:"contentType,omitempty" json:"contentType,omitempty"`
	Blob                string        `bson:"blob,omitempty" json:"blob,omitempty"`
}

type Slot

type Slot struct {
	DomainResource  `bson:",inline"`
	Identifier      []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	ServiceCategory *CodeableConcept  `bson:"serviceCategory,omitempty" json:"serviceCategory,omitempty"`
	ServiceType     []CodeableConcept `bson:"serviceType,omitempty" json:"serviceType,omitempty"`
	Specialty       []CodeableConcept `bson:"specialty,omitempty" json:"specialty,omitempty"`
	AppointmentType *CodeableConcept  `bson:"appointmentType,omitempty" json:"appointmentType,omitempty"`
	Schedule        *Reference        `bson:"schedule,omitempty" json:"schedule,omitempty"`
	Status          string            `bson:"status,omitempty" json:"status,omitempty"`
	Start           *FHIRDateTime     `bson:"start,omitempty" json:"start,omitempty"`
	End             *FHIRDateTime     `bson:"end,omitempty" json:"end,omitempty"`
	Overbooked      *bool             `bson:"overbooked,omitempty" json:"overbooked,omitempty"`
	Comment         string            `bson:"comment,omitempty" json:"comment,omitempty"`
}

func (*Slot) GetBSON

func (x *Slot) GetBSON() (interface{}, error)

func (*Slot) MarshalJSON

func (resource *Slot) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Slot) UnmarshalJSON

func (x *Slot) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type Specimen

type Specimen struct {
	DomainResource      `bson:",inline"`
	Identifier          []Identifier                  `bson:"identifier,omitempty" json:"identifier,omitempty"`
	AccessionIdentifier *Identifier                   `bson:"accessionIdentifier,omitempty" json:"accessionIdentifier,omitempty"`
	Status              string                        `bson:"status,omitempty" json:"status,omitempty"`
	Type                *CodeableConcept              `bson:"type,omitempty" json:"type,omitempty"`
	Subject             *Reference                    `bson:"subject,omitempty" json:"subject,omitempty"`
	ReceivedTime        *FHIRDateTime                 `bson:"receivedTime,omitempty" json:"receivedTime,omitempty"`
	Parent              []Reference                   `bson:"parent,omitempty" json:"parent,omitempty"`
	Request             []Reference                   `bson:"request,omitempty" json:"request,omitempty"`
	Collection          *SpecimenCollectionComponent  `bson:"collection,omitempty" json:"collection,omitempty"`
	Processing          []SpecimenProcessingComponent `bson:"processing,omitempty" json:"processing,omitempty"`
	Container           []SpecimenContainerComponent  `bson:"container,omitempty" json:"container,omitempty"`
	Note                []Annotation                  `bson:"note,omitempty" json:"note,omitempty"`
}

func (*Specimen) GetBSON

func (x *Specimen) GetBSON() (interface{}, error)

func (*Specimen) MarshalJSON

func (resource *Specimen) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Specimen) UnmarshalJSON

func (x *Specimen) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type SpecimenCollectionComponent

type SpecimenCollectionComponent struct {
	BackboneElement   `bson:",inline"`
	Collector         *Reference       `bson:"collector,omitempty" json:"collector,omitempty"`
	CollectedDateTime *FHIRDateTime    `bson:"collectedDateTime,omitempty" json:"collectedDateTime,omitempty"`
	CollectedPeriod   *Period          `bson:"collectedPeriod,omitempty" json:"collectedPeriod,omitempty"`
	Quantity          *Quantity        `bson:"quantity,omitempty" json:"quantity,omitempty"`
	Method            *CodeableConcept `bson:"method,omitempty" json:"method,omitempty"`
	BodySite          *CodeableConcept `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
}

type SpecimenContainerComponent

type SpecimenContainerComponent struct {
	BackboneElement         `bson:",inline"`
	Identifier              []Identifier     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Description             string           `bson:"description,omitempty" json:"description,omitempty"`
	Type                    *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Capacity                *Quantity        `bson:"capacity,omitempty" json:"capacity,omitempty"`
	SpecimenQuantity        *Quantity        `bson:"specimenQuantity,omitempty" json:"specimenQuantity,omitempty"`
	AdditiveCodeableConcept *CodeableConcept `bson:"additiveCodeableConcept,omitempty" json:"additiveCodeableConcept,omitempty"`
	AdditiveReference       *Reference       `bson:"additiveReference,omitempty" json:"additiveReference,omitempty"`
}

type SpecimenProcessingComponent

type SpecimenProcessingComponent struct {
	BackboneElement `bson:",inline"`
	Description     string           `bson:"description,omitempty" json:"description,omitempty"`
	Procedure       *CodeableConcept `bson:"procedure,omitempty" json:"procedure,omitempty"`
	Additive        []Reference      `bson:"additive,omitempty" json:"additive,omitempty"`
	TimeDateTime    *FHIRDateTime    `bson:"timeDateTime,omitempty" json:"timeDateTime,omitempty"`
	TimePeriod      *Period          `bson:"timePeriod,omitempty" json:"timePeriod,omitempty"`
}

type StructureDefinition

type StructureDefinition struct {
	DomainResource   `bson:",inline"`
	Url              string                                    `bson:"url,omitempty" json:"url,omitempty"`
	Identifier       []Identifier                              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version          string                                    `bson:"version,omitempty" json:"version,omitempty"`
	Name             string                                    `bson:"name,omitempty" json:"name,omitempty"`
	Title            string                                    `bson:"title,omitempty" json:"title,omitempty"`
	Status           string                                    `bson:"status,omitempty" json:"status,omitempty"`
	Experimental     *bool                                     `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date             *FHIRDateTime                             `bson:"date,omitempty" json:"date,omitempty"`
	Publisher        string                                    `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact          []ContactDetail                           `bson:"contact,omitempty" json:"contact,omitempty"`
	Description      string                                    `bson:"description,omitempty" json:"description,omitempty"`
	UseContext       []UsageContext                            `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction     []CodeableConcept                         `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Purpose          string                                    `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Copyright        string                                    `bson:"copyright,omitempty" json:"copyright,omitempty"`
	Keyword          []Coding                                  `bson:"keyword,omitempty" json:"keyword,omitempty"`
	FhirVersion      string                                    `bson:"fhirVersion,omitempty" json:"fhirVersion,omitempty"`
	Mapping          []StructureDefinitionMappingComponent     `bson:"mapping,omitempty" json:"mapping,omitempty"`
	Kind             string                                    `bson:"kind,omitempty" json:"kind,omitempty"`
	Abstract         *bool                                     `bson:"abstract,omitempty" json:"abstract,omitempty"`
	ContextType      string                                    `bson:"contextType,omitempty" json:"contextType,omitempty"`
	Context          []string                                  `bson:"context,omitempty" json:"context,omitempty"`
	ContextInvariant []string                                  `bson:"contextInvariant,omitempty" json:"contextInvariant,omitempty"`
	Type             string                                    `bson:"type,omitempty" json:"type,omitempty"`
	BaseDefinition   string                                    `bson:"baseDefinition,omitempty" json:"baseDefinition,omitempty"`
	Derivation       string                                    `bson:"derivation,omitempty" json:"derivation,omitempty"`
	Snapshot         *StructureDefinitionSnapshotComponent     `bson:"snapshot,omitempty" json:"snapshot,omitempty"`
	Differential     *StructureDefinitionDifferentialComponent `bson:"differential,omitempty" json:"differential,omitempty"`
}

func (*StructureDefinition) GetBSON

func (x *StructureDefinition) GetBSON() (interface{}, error)

func (*StructureDefinition) MarshalJSON

func (resource *StructureDefinition) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*StructureDefinition) UnmarshalJSON

func (x *StructureDefinition) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type StructureDefinitionDifferentialComponent

type StructureDefinitionDifferentialComponent struct {
	BackboneElement `bson:",inline"`
	Element         []ElementDefinition `bson:"element,omitempty" json:"element,omitempty"`
}

type StructureDefinitionMappingComponent

type StructureDefinitionMappingComponent struct {
	BackboneElement `bson:",inline"`
	Identity        string `bson:"identity,omitempty" json:"identity,omitempty"`
	Uri             string `bson:"uri,omitempty" json:"uri,omitempty"`
	Name            string `bson:"name,omitempty" json:"name,omitempty"`
	Comment         string `bson:"comment,omitempty" json:"comment,omitempty"`
}

type StructureDefinitionSnapshotComponent

type StructureDefinitionSnapshotComponent struct {
	BackboneElement `bson:",inline"`
	Element         []ElementDefinition `bson:"element,omitempty" json:"element,omitempty"`
}

type StructureMap

type StructureMap struct {
	DomainResource `bson:",inline"`
	Url            string                           `bson:"url,omitempty" json:"url,omitempty"`
	Identifier     []Identifier                     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version        string                           `bson:"version,omitempty" json:"version,omitempty"`
	Name           string                           `bson:"name,omitempty" json:"name,omitempty"`
	Title          string                           `bson:"title,omitempty" json:"title,omitempty"`
	Status         string                           `bson:"status,omitempty" json:"status,omitempty"`
	Experimental   *bool                            `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date           *FHIRDateTime                    `bson:"date,omitempty" json:"date,omitempty"`
	Publisher      string                           `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact        []ContactDetail                  `bson:"contact,omitempty" json:"contact,omitempty"`
	Description    string                           `bson:"description,omitempty" json:"description,omitempty"`
	UseContext     []UsageContext                   `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction   []CodeableConcept                `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Purpose        string                           `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Copyright      string                           `bson:"copyright,omitempty" json:"copyright,omitempty"`
	Structure      []StructureMapStructureComponent `bson:"structure,omitempty" json:"structure,omitempty"`
	Import         []string                         `bson:"import,omitempty" json:"import,omitempty"`
	Group          []StructureMapGroupComponent     `bson:"group,omitempty" json:"group,omitempty"`
}

func (*StructureMap) GetBSON

func (x *StructureMap) GetBSON() (interface{}, error)

func (*StructureMap) MarshalJSON

func (resource *StructureMap) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*StructureMap) UnmarshalJSON

func (x *StructureMap) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type StructureMapGroupComponent

type StructureMapGroupComponent struct {
	BackboneElement `bson:",inline"`
	Name            string                            `bson:"name,omitempty" json:"name,omitempty"`
	Extends         string                            `bson:"extends,omitempty" json:"extends,omitempty"`
	TypeMode        string                            `bson:"typeMode,omitempty" json:"typeMode,omitempty"`
	Documentation   string                            `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Input           []StructureMapGroupInputComponent `bson:"input,omitempty" json:"input,omitempty"`
	Rule            []StructureMapGroupRuleComponent  `bson:"rule,omitempty" json:"rule,omitempty"`
}

type StructureMapGroupInputComponent

type StructureMapGroupInputComponent struct {
	BackboneElement `bson:",inline"`
	Name            string `bson:"name,omitempty" json:"name,omitempty"`
	Type            string `bson:"type,omitempty" json:"type,omitempty"`
	Mode            string `bson:"mode,omitempty" json:"mode,omitempty"`
	Documentation   string `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

type StructureMapGroupRuleComponent

type StructureMapGroupRuleComponent struct {
	BackboneElement `bson:",inline"`
	Name            string                                    `bson:"name,omitempty" json:"name,omitempty"`
	Source          []StructureMapGroupRuleSourceComponent    `bson:"source,omitempty" json:"source,omitempty"`
	Target          []StructureMapGroupRuleTargetComponent    `bson:"target,omitempty" json:"target,omitempty"`
	Rule            []StructureMapGroupRuleComponent          `bson:"rule,omitempty" json:"rule,omitempty"`
	Dependent       []StructureMapGroupRuleDependentComponent `bson:"dependent,omitempty" json:"dependent,omitempty"`
	Documentation   string                                    `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

type StructureMapGroupRuleDependentComponent

type StructureMapGroupRuleDependentComponent struct {
	BackboneElement `bson:",inline"`
	Name            string   `bson:"name,omitempty" json:"name,omitempty"`
	Variable        []string `bson:"variable,omitempty" json:"variable,omitempty"`
}

type StructureMapGroupRuleSourceComponent

type StructureMapGroupRuleSourceComponent struct {
	BackboneElement             `bson:",inline"`
	Context                     string           `bson:"context,omitempty" json:"context,omitempty"`
	Min                         *int32           `bson:"min,omitempty" json:"min,omitempty"`
	Max                         string           `bson:"max,omitempty" json:"max,omitempty"`
	Type                        string           `bson:"type,omitempty" json:"type,omitempty"`
	DefaultValueAddress         *Address         `bson:"defaultValueAddress,omitempty" json:"defaultValueAddress,omitempty"`
	DefaultValueAnnotation      *Annotation      `bson:"defaultValueAnnotation,omitempty" json:"defaultValueAnnotation,omitempty"`
	DefaultValueAttachment      *Attachment      `bson:"defaultValueAttachment,omitempty" json:"defaultValueAttachment,omitempty"`
	DefaultValueBase64Binary    string           `bson:"defaultValueBase64Binary,omitempty" json:"defaultValueBase64Binary,omitempty"`
	DefaultValueBoolean         *bool            `bson:"defaultValueBoolean,omitempty" json:"defaultValueBoolean,omitempty"`
	DefaultValueCode            string           `bson:"defaultValueCode,omitempty" json:"defaultValueCode,omitempty"`
	DefaultValueCodeableConcept *CodeableConcept `bson:"defaultValueCodeableConcept,omitempty" json:"defaultValueCodeableConcept,omitempty"`
	DefaultValueCoding          *Coding          `bson:"defaultValueCoding,omitempty" json:"defaultValueCoding,omitempty"`
	DefaultValueContactPoint    *ContactPoint    `bson:"defaultValueContactPoint,omitempty" json:"defaultValueContactPoint,omitempty"`
	DefaultValueDate            *FHIRDateTime    `bson:"defaultValueDate,omitempty" json:"defaultValueDate,omitempty"`
	DefaultValueDateTime        *FHIRDateTime    `bson:"defaultValueDateTime,omitempty" json:"defaultValueDateTime,omitempty"`
	DefaultValueDecimal         *float64         `bson:"defaultValueDecimal,omitempty" json:"defaultValueDecimal,omitempty"`
	DefaultValueHumanName       *HumanName       `bson:"defaultValueHumanName,omitempty" json:"defaultValueHumanName,omitempty"`
	DefaultValueId              string           `bson:"defaultValueId,omitempty" json:"defaultValueId,omitempty"`
	DefaultValueIdentifier      *Identifier      `bson:"defaultValueIdentifier,omitempty" json:"defaultValueIdentifier,omitempty"`
	DefaultValueInstant         *FHIRDateTime    `bson:"defaultValueInstant,omitempty" json:"defaultValueInstant,omitempty"`
	DefaultValueInteger         *int32           `bson:"defaultValueInteger,omitempty" json:"defaultValueInteger,omitempty"`
	DefaultValueMarkdown        string           `bson:"defaultValueMarkdown,omitempty" json:"defaultValueMarkdown,omitempty"`
	DefaultValueMeta            *Meta            `bson:"defaultValueMeta,omitempty" json:"defaultValueMeta,omitempty"`
	DefaultValueOid             string           `bson:"defaultValueOid,omitempty" json:"defaultValueOid,omitempty"`
	DefaultValuePeriod          *Period          `bson:"defaultValuePeriod,omitempty" json:"defaultValuePeriod,omitempty"`
	DefaultValuePositiveInt     *uint32          `bson:"defaultValuePositiveInt,omitempty" json:"defaultValuePositiveInt,omitempty"`
	DefaultValueQuantity        *Quantity        `bson:"defaultValueQuantity,omitempty" json:"defaultValueQuantity,omitempty"`
	DefaultValueRange           *Range           `bson:"defaultValueRange,omitempty" json:"defaultValueRange,omitempty"`
	DefaultValueRatio           *Ratio           `bson:"defaultValueRatio,omitempty" json:"defaultValueRatio,omitempty"`
	DefaultValueReference       *Reference       `bson:"defaultValueReference,omitempty" json:"defaultValueReference,omitempty"`
	DefaultValueSampledData     *SampledData     `bson:"defaultValueSampledData,omitempty" json:"defaultValueSampledData,omitempty"`
	DefaultValueSignature       *Signature       `bson:"defaultValueSignature,omitempty" json:"defaultValueSignature,omitempty"`
	DefaultValueString          string           `bson:"defaultValueString,omitempty" json:"defaultValueString,omitempty"`
	DefaultValueTime            *FHIRDateTime    `bson:"defaultValueTime,omitempty" json:"defaultValueTime,omitempty"`
	DefaultValueTiming          *Timing          `bson:"defaultValueTiming,omitempty" json:"defaultValueTiming,omitempty"`
	DefaultValueUnsignedInt     *uint32          `bson:"defaultValueUnsignedInt,omitempty" json:"defaultValueUnsignedInt,omitempty"`
	DefaultValueUri             string           `bson:"defaultValueUri,omitempty" json:"defaultValueUri,omitempty"`
	Element                     string           `bson:"element,omitempty" json:"element,omitempty"`
	ListMode                    string           `bson:"listMode,omitempty" json:"listMode,omitempty"`
	Variable                    string           `bson:"variable,omitempty" json:"variable,omitempty"`
	Condition                   string           `bson:"condition,omitempty" json:"condition,omitempty"`
	Check                       string           `bson:"check,omitempty" json:"check,omitempty"`
}

type StructureMapGroupRuleTargetComponent

type StructureMapGroupRuleTargetComponent struct {
	BackboneElement `bson:",inline"`
	Context         string                                          `bson:"context,omitempty" json:"context,omitempty"`
	ContextType     string                                          `bson:"contextType,omitempty" json:"contextType,omitempty"`
	Element         string                                          `bson:"element,omitempty" json:"element,omitempty"`
	Variable        string                                          `bson:"variable,omitempty" json:"variable,omitempty"`
	ListMode        []string                                        `bson:"listMode,omitempty" json:"listMode,omitempty"`
	ListRuleId      string                                          `bson:"listRuleId,omitempty" json:"listRuleId,omitempty"`
	Transform       string                                          `bson:"transform,omitempty" json:"transform,omitempty"`
	Parameter       []StructureMapGroupRuleTargetParameterComponent `bson:"parameter,omitempty" json:"parameter,omitempty"`
}

type StructureMapGroupRuleTargetParameterComponent

type StructureMapGroupRuleTargetParameterComponent struct {
	BackboneElement `bson:",inline"`
	ValueId         string   `bson:"valueId,omitempty" json:"valueId,omitempty"`
	ValueString     string   `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueBoolean    *bool    `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueInteger    *int32   `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueDecimal    *float64 `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
}

type StructureMapStructureComponent

type StructureMapStructureComponent struct {
	BackboneElement `bson:",inline"`
	Url             string `bson:"url,omitempty" json:"url,omitempty"`
	Mode            string `bson:"mode,omitempty" json:"mode,omitempty"`
	Alias           string `bson:"alias,omitempty" json:"alias,omitempty"`
	Documentation   string `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

type Subscription

type Subscription struct {
	DomainResource `bson:",inline"`
	Status         string                        `bson:"status,omitempty" json:"status,omitempty"`
	Contact        []ContactPoint                `bson:"contact,omitempty" json:"contact,omitempty"`
	End            *FHIRDateTime                 `bson:"end,omitempty" json:"end,omitempty"`
	Reason         string                        `bson:"reason,omitempty" json:"reason,omitempty"`
	Criteria       string                        `bson:"criteria,omitempty" json:"criteria,omitempty"`
	Error          string                        `bson:"error,omitempty" json:"error,omitempty"`
	Channel        *SubscriptionChannelComponent `bson:"channel,omitempty" json:"channel,omitempty"`
	Tag            []Coding                      `bson:"tag,omitempty" json:"tag,omitempty"`
}

func (*Subscription) GetBSON

func (x *Subscription) GetBSON() (interface{}, error)

func (*Subscription) MarshalJSON

func (resource *Subscription) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Subscription) UnmarshalJSON

func (x *Subscription) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type SubscriptionChannelComponent

type SubscriptionChannelComponent struct {
	BackboneElement `bson:",inline"`
	Type            string   `bson:"type,omitempty" json:"type,omitempty"`
	Endpoint        string   `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
	Payload         string   `bson:"payload,omitempty" json:"payload,omitempty"`
	Header          []string `bson:"header,omitempty" json:"header,omitempty"`
}

type Substance

type Substance struct {
	DomainResource `bson:",inline"`
	Identifier     []Identifier                   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status         string                         `bson:"status,omitempty" json:"status,omitempty"`
	Category       []CodeableConcept              `bson:"category,omitempty" json:"category,omitempty"`
	Code           *CodeableConcept               `bson:"code,omitempty" json:"code,omitempty"`
	Description    string                         `bson:"description,omitempty" json:"description,omitempty"`
	Instance       []SubstanceInstanceComponent   `bson:"instance,omitempty" json:"instance,omitempty"`
	Ingredient     []SubstanceIngredientComponent `bson:"ingredient,omitempty" json:"ingredient,omitempty"`
}

func (*Substance) GetBSON

func (x *Substance) GetBSON() (interface{}, error)

func (*Substance) MarshalJSON

func (resource *Substance) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Substance) UnmarshalJSON

func (x *Substance) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type SubstanceIngredientComponent

type SubstanceIngredientComponent struct {
	BackboneElement          `bson:",inline"`
	Quantity                 *Ratio           `bson:"quantity,omitempty" json:"quantity,omitempty"`
	SubstanceCodeableConcept *CodeableConcept `bson:"substanceCodeableConcept,omitempty" json:"substanceCodeableConcept,omitempty"`
	SubstanceReference       *Reference       `bson:"substanceReference,omitempty" json:"substanceReference,omitempty"`
}

type SubstanceInstanceComponent

type SubstanceInstanceComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      *Identifier   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Expiry          *FHIRDateTime `bson:"expiry,omitempty" json:"expiry,omitempty"`
	Quantity        *Quantity     `bson:"quantity,omitempty" json:"quantity,omitempty"`
}

type SupplyDelivery

type SupplyDelivery struct {
	DomainResource     `bson:",inline"`
	Identifier         *Identifier                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	BasedOn            []Reference                          `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	PartOf             []Reference                          `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Status             string                               `bson:"status,omitempty" json:"status,omitempty"`
	Patient            *Reference                           `bson:"patient,omitempty" json:"patient,omitempty"`
	Type               *CodeableConcept                     `bson:"type,omitempty" json:"type,omitempty"`
	SuppliedItem       *SupplyDeliverySuppliedItemComponent `bson:"suppliedItem,omitempty" json:"suppliedItem,omitempty"`
	OccurrenceDateTime *FHIRDateTime                        `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod   *Period                              `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	OccurrenceTiming   *Timing                              `bson:"occurrenceTiming,omitempty" json:"occurrenceTiming,omitempty"`
	Supplier           *Reference                           `bson:"supplier,omitempty" json:"supplier,omitempty"`
	Destination        *Reference                           `bson:"destination,omitempty" json:"destination,omitempty"`
	Receiver           []Reference                          `bson:"receiver,omitempty" json:"receiver,omitempty"`
}

func (*SupplyDelivery) GetBSON

func (x *SupplyDelivery) GetBSON() (interface{}, error)

func (*SupplyDelivery) MarshalJSON

func (resource *SupplyDelivery) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*SupplyDelivery) UnmarshalJSON

func (x *SupplyDelivery) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type SupplyDeliverySuppliedItemComponent

type SupplyDeliverySuppliedItemComponent struct {
	BackboneElement     `bson:",inline"`
	Quantity            *Quantity        `bson:"quantity,omitempty" json:"quantity,omitempty"`
	ItemCodeableConcept *CodeableConcept `bson:"itemCodeableConcept,omitempty" json:"itemCodeableConcept,omitempty"`
	ItemReference       *Reference       `bson:"itemReference,omitempty" json:"itemReference,omitempty"`
}

type SupplyRequest

type SupplyRequest struct {
	DomainResource        `bson:",inline"`
	Identifier            *Identifier                        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                string                             `bson:"status,omitempty" json:"status,omitempty"`
	Category              *CodeableConcept                   `bson:"category,omitempty" json:"category,omitempty"`
	Priority              string                             `bson:"priority,omitempty" json:"priority,omitempty"`
	OrderedItem           *SupplyRequestOrderedItemComponent `bson:"orderedItem,omitempty" json:"orderedItem,omitempty"`
	OccurrenceDateTime    *FHIRDateTime                      `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod      *Period                            `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	OccurrenceTiming      *Timing                            `bson:"occurrenceTiming,omitempty" json:"occurrenceTiming,omitempty"`
	AuthoredOn            *FHIRDateTime                      `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Requester             *SupplyRequestRequesterComponent   `bson:"requester,omitempty" json:"requester,omitempty"`
	Supplier              []Reference                        `bson:"supplier,omitempty" json:"supplier,omitempty"`
	ReasonCodeableConcept *CodeableConcept                   `bson:"reasonCodeableConcept,omitempty" json:"reasonCodeableConcept,omitempty"`
	ReasonReference       *Reference                         `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	DeliverFrom           *Reference                         `bson:"deliverFrom,omitempty" json:"deliverFrom,omitempty"`
	DeliverTo             *Reference                         `bson:"deliverTo,omitempty" json:"deliverTo,omitempty"`
}

func (*SupplyRequest) GetBSON

func (x *SupplyRequest) GetBSON() (interface{}, error)

func (*SupplyRequest) MarshalJSON

func (resource *SupplyRequest) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*SupplyRequest) UnmarshalJSON

func (x *SupplyRequest) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type SupplyRequestOrderedItemComponent

type SupplyRequestOrderedItemComponent struct {
	BackboneElement     `bson:",inline"`
	Quantity            *Quantity        `bson:"quantity,omitempty" json:"quantity,omitempty"`
	ItemCodeableConcept *CodeableConcept `bson:"itemCodeableConcept,omitempty" json:"itemCodeableConcept,omitempty"`
	ItemReference       *Reference       `bson:"itemReference,omitempty" json:"itemReference,omitempty"`
}

type SupplyRequestRequesterComponent

type SupplyRequestRequesterComponent struct {
	BackboneElement `bson:",inline"`
	Agent           *Reference `bson:"agent,omitempty" json:"agent,omitempty"`
	OnBehalfOf      *Reference `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

type Task

type Task struct {
	DomainResource      `bson:",inline"`
	Identifier          []Identifier              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	DefinitionUri       string                    `bson:"definitionUri,omitempty" json:"definitionUri,omitempty"`
	DefinitionReference *Reference                `bson:"definitionReference,omitempty" json:"definitionReference,omitempty"`
	BasedOn             []Reference               `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	GroupIdentifier     *Identifier               `bson:"groupIdentifier,omitempty" json:"groupIdentifier,omitempty"`
	PartOf              []Reference               `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Status              string                    `bson:"status,omitempty" json:"status,omitempty"`
	StatusReason        *CodeableConcept          `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	BusinessStatus      *CodeableConcept          `bson:"businessStatus,omitempty" json:"businessStatus,omitempty"`
	Intent              string                    `bson:"intent,omitempty" json:"intent,omitempty"`
	Priority            string                    `bson:"priority,omitempty" json:"priority,omitempty"`
	Code                *CodeableConcept          `bson:"code,omitempty" json:"code,omitempty"`
	Description         string                    `bson:"description,omitempty" json:"description,omitempty"`
	Focus               *Reference                `bson:"focus,omitempty" json:"focus,omitempty"`
	For                 *Reference                `bson:"for,omitempty" json:"for,omitempty"`
	Context             *Reference                `bson:"context,omitempty" json:"context,omitempty"`
	ExecutionPeriod     *Period                   `bson:"executionPeriod,omitempty" json:"executionPeriod,omitempty"`
	AuthoredOn          *FHIRDateTime             `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	LastModified        *FHIRDateTime             `bson:"lastModified,omitempty" json:"lastModified,omitempty"`
	Requester           *TaskRequesterComponent   `bson:"requester,omitempty" json:"requester,omitempty"`
	PerformerType       []CodeableConcept         `bson:"performerType,omitempty" json:"performerType,omitempty"`
	Owner               *Reference                `bson:"owner,omitempty" json:"owner,omitempty"`
	Reason              *CodeableConcept          `bson:"reason,omitempty" json:"reason,omitempty"`
	Note                []Annotation              `bson:"note,omitempty" json:"note,omitempty"`
	RelevantHistory     []Reference               `bson:"relevantHistory,omitempty" json:"relevantHistory,omitempty"`
	Restriction         *TaskRestrictionComponent `bson:"restriction,omitempty" json:"restriction,omitempty"`
	Input               []TaskParameterComponent  `bson:"input,omitempty" json:"input,omitempty"`
	Output              []TaskOutputComponent     `bson:"output,omitempty" json:"output,omitempty"`
}

func (*Task) GetBSON

func (x *Task) GetBSON() (interface{}, error)

func (*Task) MarshalJSON

func (resource *Task) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*Task) UnmarshalJSON

func (x *Task) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type TaskOutputComponent

type TaskOutputComponent struct {
	BackboneElement      `bson:",inline"`
	Type                 *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	ValueAddress         *Address         `bson:"valueAddress,omitempty" json:"valueAddress,omitempty"`
	ValueAnnotation      *Annotation      `bson:"valueAnnotation,omitempty" json:"valueAnnotation,omitempty"`
	ValueAttachment      *Attachment      `bson:"valueAttachment,omitempty" json:"valueAttachment,omitempty"`
	ValueBase64Binary    string           `bson:"valueBase64Binary,omitempty" json:"valueBase64Binary,omitempty"`
	ValueBoolean         *bool            `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueCode            string           `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
	ValueCodeableConcept *CodeableConcept `bson:"valueCodeableConcept,omitempty" json:"valueCodeableConcept,omitempty"`
	ValueCoding          *Coding          `bson:"valueCoding,omitempty" json:"valueCoding,omitempty"`
	ValueContactPoint    *ContactPoint    `bson:"valueContactPoint,omitempty" json:"valueContactPoint,omitempty"`
	ValueDate            *FHIRDateTime    `bson:"valueDate,omitempty" json:"valueDate,omitempty"`
	ValueDateTime        *FHIRDateTime    `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValueDecimal         *float64         `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
	ValueHumanName       *HumanName       `bson:"valueHumanName,omitempty" json:"valueHumanName,omitempty"`
	ValueId              string           `bson:"valueId,omitempty" json:"valueId,omitempty"`
	ValueIdentifier      *Identifier      `bson:"valueIdentifier,omitempty" json:"valueIdentifier,omitempty"`
	ValueInstant         *FHIRDateTime    `bson:"valueInstant,omitempty" json:"valueInstant,omitempty"`
	ValueInteger         *int32           `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueMarkdown        string           `bson:"valueMarkdown,omitempty" json:"valueMarkdown,omitempty"`
	ValueMeta            *Meta            `bson:"valueMeta,omitempty" json:"valueMeta,omitempty"`
	ValueOid             string           `bson:"valueOid,omitempty" json:"valueOid,omitempty"`
	ValuePeriod          *Period          `bson:"valuePeriod,omitempty" json:"valuePeriod,omitempty"`
	ValuePositiveInt     *uint32          `bson:"valuePositiveInt,omitempty" json:"valuePositiveInt,omitempty"`
	ValueQuantity        *Quantity        `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueRange           *Range           `bson:"valueRange,omitempty" json:"valueRange,omitempty"`
	ValueRatio           *Ratio           `bson:"valueRatio,omitempty" json:"valueRatio,omitempty"`
	ValueReference       *Reference       `bson:"valueReference,omitempty" json:"valueReference,omitempty"`
	ValueSampledData     *SampledData     `bson:"valueSampledData,omitempty" json:"valueSampledData,omitempty"`
	ValueSignature       *Signature       `bson:"valueSignature,omitempty" json:"valueSignature,omitempty"`
	ValueString          string           `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueTime            *FHIRDateTime    `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueTiming          *Timing          `bson:"valueTiming,omitempty" json:"valueTiming,omitempty"`
	ValueUnsignedInt     *uint32          `bson:"valueUnsignedInt,omitempty" json:"valueUnsignedInt,omitempty"`
	ValueUri             string           `bson:"valueUri,omitempty" json:"valueUri,omitempty"`
}

type TaskParameterComponent

type TaskParameterComponent struct {
	BackboneElement      `bson:",inline"`
	Type                 *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	ValueAddress         *Address         `bson:"valueAddress,omitempty" json:"valueAddress,omitempty"`
	ValueAnnotation      *Annotation      `bson:"valueAnnotation,omitempty" json:"valueAnnotation,omitempty"`
	ValueAttachment      *Attachment      `bson:"valueAttachment,omitempty" json:"valueAttachment,omitempty"`
	ValueBase64Binary    string           `bson:"valueBase64Binary,omitempty" json:"valueBase64Binary,omitempty"`
	ValueBoolean         *bool            `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueCode            string           `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
	ValueCodeableConcept *CodeableConcept `bson:"valueCodeableConcept,omitempty" json:"valueCodeableConcept,omitempty"`
	ValueCoding          *Coding          `bson:"valueCoding,omitempty" json:"valueCoding,omitempty"`
	ValueContactPoint    *ContactPoint    `bson:"valueContactPoint,omitempty" json:"valueContactPoint,omitempty"`
	ValueDate            *FHIRDateTime    `bson:"valueDate,omitempty" json:"valueDate,omitempty"`
	ValueDateTime        *FHIRDateTime    `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValueDecimal         *float64         `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
	ValueHumanName       *HumanName       `bson:"valueHumanName,omitempty" json:"valueHumanName,omitempty"`
	ValueId              string           `bson:"valueId,omitempty" json:"valueId,omitempty"`
	ValueIdentifier      *Identifier      `bson:"valueIdentifier,omitempty" json:"valueIdentifier,omitempty"`
	ValueInstant         *FHIRDateTime    `bson:"valueInstant,omitempty" json:"valueInstant,omitempty"`
	ValueInteger         *int32           `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueMarkdown        string           `bson:"valueMarkdown,omitempty" json:"valueMarkdown,omitempty"`
	ValueMeta            *Meta            `bson:"valueMeta,omitempty" json:"valueMeta,omitempty"`
	ValueOid             string           `bson:"valueOid,omitempty" json:"valueOid,omitempty"`
	ValuePeriod          *Period          `bson:"valuePeriod,omitempty" json:"valuePeriod,omitempty"`
	ValuePositiveInt     *uint32          `bson:"valuePositiveInt,omitempty" json:"valuePositiveInt,omitempty"`
	ValueQuantity        *Quantity        `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueRange           *Range           `bson:"valueRange,omitempty" json:"valueRange,omitempty"`
	ValueRatio           *Ratio           `bson:"valueRatio,omitempty" json:"valueRatio,omitempty"`
	ValueReference       *Reference       `bson:"valueReference,omitempty" json:"valueReference,omitempty"`
	ValueSampledData     *SampledData     `bson:"valueSampledData,omitempty" json:"valueSampledData,omitempty"`
	ValueSignature       *Signature       `bson:"valueSignature,omitempty" json:"valueSignature,omitempty"`
	ValueString          string           `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueTime            *FHIRDateTime    `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueTiming          *Timing          `bson:"valueTiming,omitempty" json:"valueTiming,omitempty"`
	ValueUnsignedInt     *uint32          `bson:"valueUnsignedInt,omitempty" json:"valueUnsignedInt,omitempty"`
	ValueUri             string           `bson:"valueUri,omitempty" json:"valueUri,omitempty"`
}

type TaskRequesterComponent

type TaskRequesterComponent struct {
	BackboneElement `bson:",inline"`
	Agent           *Reference `bson:"agent,omitempty" json:"agent,omitempty"`
	OnBehalfOf      *Reference `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

type TaskRestrictionComponent

type TaskRestrictionComponent struct {
	BackboneElement `bson:",inline"`
	Repetitions     *uint32     `bson:"repetitions,omitempty" json:"repetitions,omitempty"`
	Period          *Period     `bson:"period,omitempty" json:"period,omitempty"`
	Recipient       []Reference `bson:"recipient,omitempty" json:"recipient,omitempty"`
}

type TestReport

type TestReport struct {
	DomainResource `bson:",inline"`
	Identifier     *Identifier                      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Name           string                           `bson:"name,omitempty" json:"name,omitempty"`
	Status         string                           `bson:"status,omitempty" json:"status,omitempty"`
	TestScript     *Reference                       `bson:"testScript,omitempty" json:"testScript,omitempty"`
	Result         string                           `bson:"result,omitempty" json:"result,omitempty"`
	Score          *float64                         `bson:"score,omitempty" json:"score,omitempty"`
	Tester         string                           `bson:"tester,omitempty" json:"tester,omitempty"`
	Issued         *FHIRDateTime                    `bson:"issued,omitempty" json:"issued,omitempty"`
	Participant    []TestReportParticipantComponent `bson:"participant,omitempty" json:"participant,omitempty"`
	Setup          *TestReportSetupComponent        `bson:"setup,omitempty" json:"setup,omitempty"`
	Test           []TestReportTestComponent        `bson:"test,omitempty" json:"test,omitempty"`
	Teardown       *TestReportTeardownComponent     `bson:"teardown,omitempty" json:"teardown,omitempty"`
}

func (*TestReport) GetBSON

func (x *TestReport) GetBSON() (interface{}, error)

func (*TestReport) MarshalJSON

func (resource *TestReport) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*TestReport) UnmarshalJSON

func (x *TestReport) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type TestReportParticipantComponent

type TestReportParticipantComponent struct {
	BackboneElement `bson:",inline"`
	Type            string `bson:"type,omitempty" json:"type,omitempty"`
	Uri             string `bson:"uri,omitempty" json:"uri,omitempty"`
	Display         string `bson:"display,omitempty" json:"display,omitempty"`
}

type TestReportSetupActionAssertComponent

type TestReportSetupActionAssertComponent struct {
	BackboneElement `bson:",inline"`
	Result          string `bson:"result,omitempty" json:"result,omitempty"`
	Message         string `bson:"message,omitempty" json:"message,omitempty"`
	Detail          string `bson:"detail,omitempty" json:"detail,omitempty"`
}

type TestReportSetupActionComponent

type TestReportSetupActionComponent struct {
	BackboneElement `bson:",inline"`
	Operation       *TestReportSetupActionOperationComponent `bson:"operation,omitempty" json:"operation,omitempty"`
	Assert          *TestReportSetupActionAssertComponent    `bson:"assert,omitempty" json:"assert,omitempty"`
}

type TestReportSetupActionOperationComponent

type TestReportSetupActionOperationComponent struct {
	BackboneElement `bson:",inline"`
	Result          string `bson:"result,omitempty" json:"result,omitempty"`
	Message         string `bson:"message,omitempty" json:"message,omitempty"`
	Detail          string `bson:"detail,omitempty" json:"detail,omitempty"`
}

type TestReportSetupComponent

type TestReportSetupComponent struct {
	BackboneElement `bson:",inline"`
	Action          []TestReportSetupActionComponent `bson:"action,omitempty" json:"action,omitempty"`
}

type TestReportTeardownActionComponent

type TestReportTeardownActionComponent struct {
	BackboneElement `bson:",inline"`
	Operation       *TestReportSetupActionOperationComponent `bson:"operation,omitempty" json:"operation,omitempty"`
}

type TestReportTeardownComponent

type TestReportTeardownComponent struct {
	BackboneElement `bson:",inline"`
	Action          []TestReportTeardownActionComponent `bson:"action,omitempty" json:"action,omitempty"`
}

type TestReportTestActionComponent

type TestReportTestActionComponent struct {
	BackboneElement `bson:",inline"`
	Operation       *TestReportSetupActionOperationComponent `bson:"operation,omitempty" json:"operation,omitempty"`
	Assert          *TestReportSetupActionAssertComponent    `bson:"assert,omitempty" json:"assert,omitempty"`
}

type TestReportTestComponent

type TestReportTestComponent struct {
	BackboneElement `bson:",inline"`
	Name            string                          `bson:"name,omitempty" json:"name,omitempty"`
	Description     string                          `bson:"description,omitempty" json:"description,omitempty"`
	Action          []TestReportTestActionComponent `bson:"action,omitempty" json:"action,omitempty"`
}

type TestScript

type TestScript struct {
	DomainResource `bson:",inline"`
	Url            string                           `bson:"url,omitempty" json:"url,omitempty"`
	Identifier     *Identifier                      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version        string                           `bson:"version,omitempty" json:"version,omitempty"`
	Name           string                           `bson:"name,omitempty" json:"name,omitempty"`
	Title          string                           `bson:"title,omitempty" json:"title,omitempty"`
	Status         string                           `bson:"status,omitempty" json:"status,omitempty"`
	Experimental   *bool                            `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date           *FHIRDateTime                    `bson:"date,omitempty" json:"date,omitempty"`
	Publisher      string                           `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact        []ContactDetail                  `bson:"contact,omitempty" json:"contact,omitempty"`
	Description    string                           `bson:"description,omitempty" json:"description,omitempty"`
	UseContext     []UsageContext                   `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction   []CodeableConcept                `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Purpose        string                           `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Copyright      string                           `bson:"copyright,omitempty" json:"copyright,omitempty"`
	Origin         []TestScriptOriginComponent      `bson:"origin,omitempty" json:"origin,omitempty"`
	Destination    []TestScriptDestinationComponent `bson:"destination,omitempty" json:"destination,omitempty"`
	Metadata       *TestScriptMetadataComponent     `bson:"metadata,omitempty" json:"metadata,omitempty"`
	Fixture        []TestScriptFixtureComponent     `bson:"fixture,omitempty" json:"fixture,omitempty"`
	Profile        []Reference                      `bson:"profile,omitempty" json:"profile,omitempty"`
	Variable       []TestScriptVariableComponent    `bson:"variable,omitempty" json:"variable,omitempty"`
	Rule           []TestScriptRuleComponent        `bson:"rule,omitempty" json:"rule,omitempty"`
	Ruleset        []TestScriptRulesetComponent     `bson:"ruleset,omitempty" json:"ruleset,omitempty"`
	Setup          *TestScriptSetupComponent        `bson:"setup,omitempty" json:"setup,omitempty"`
	Test           []TestScriptTestComponent        `bson:"test,omitempty" json:"test,omitempty"`
	Teardown       *TestScriptTeardownComponent     `bson:"teardown,omitempty" json:"teardown,omitempty"`
}

func (*TestScript) GetBSON

func (x *TestScript) GetBSON() (interface{}, error)

func (*TestScript) MarshalJSON

func (resource *TestScript) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*TestScript) UnmarshalJSON

func (x *TestScript) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type TestScriptActionAssertRuleComponent

type TestScriptActionAssertRuleComponent struct {
	BackboneElement `bson:",inline"`
	RuleId          string                                     `bson:"ruleId,omitempty" json:"ruleId,omitempty"`
	Param           []TestScriptActionAssertRuleParamComponent `bson:"param,omitempty" json:"param,omitempty"`
}

type TestScriptActionAssertRuleParamComponent

type TestScriptActionAssertRuleParamComponent struct {
	BackboneElement `bson:",inline"`
	Name            string `bson:"name,omitempty" json:"name,omitempty"`
	Value           string `bson:"value,omitempty" json:"value,omitempty"`
}

type TestScriptActionAssertRulesetComponent

type TestScriptActionAssertRulesetComponent struct {
	BackboneElement `bson:",inline"`
	RulesetId       string                                       `bson:"rulesetId,omitempty" json:"rulesetId,omitempty"`
	Rule            []TestScriptActionAssertRulesetRuleComponent `bson:"rule,omitempty" json:"rule,omitempty"`
}

type TestScriptActionAssertRulesetRuleComponent

type TestScriptActionAssertRulesetRuleComponent struct {
	BackboneElement `bson:",inline"`
	RuleId          string                                            `bson:"ruleId,omitempty" json:"ruleId,omitempty"`
	Param           []TestScriptActionAssertRulesetRuleParamComponent `bson:"param,omitempty" json:"param,omitempty"`
}

type TestScriptActionAssertRulesetRuleParamComponent

type TestScriptActionAssertRulesetRuleParamComponent struct {
	BackboneElement `bson:",inline"`
	Name            string `bson:"name,omitempty" json:"name,omitempty"`
	Value           string `bson:"value,omitempty" json:"value,omitempty"`
}

type TestScriptDestinationComponent

type TestScriptDestinationComponent struct {
	BackboneElement `bson:",inline"`
	Index           *int32  `bson:"index,omitempty" json:"index,omitempty"`
	Profile         *Coding `bson:"profile,omitempty" json:"profile,omitempty"`
}

type TestScriptFixtureComponent

type TestScriptFixtureComponent struct {
	BackboneElement `bson:",inline"`
	Autocreate      *bool      `bson:"autocreate,omitempty" json:"autocreate,omitempty"`
	Autodelete      *bool      `bson:"autodelete,omitempty" json:"autodelete,omitempty"`
	Resource        *Reference `bson:"resource,omitempty" json:"resource,omitempty"`
}

type TestScriptMetadataCapabilityComponent

type TestScriptMetadataCapabilityComponent struct {
	BackboneElement `bson:",inline"`
	Required        *bool      `bson:"required,omitempty" json:"required,omitempty"`
	Validated       *bool      `bson:"validated,omitempty" json:"validated,omitempty"`
	Description     string     `bson:"description,omitempty" json:"description,omitempty"`
	Origin          []int32    `bson:"origin,omitempty" json:"origin,omitempty"`
	Destination     *int32     `bson:"destination,omitempty" json:"destination,omitempty"`
	Link            []string   `bson:"link,omitempty" json:"link,omitempty"`
	Capabilities    *Reference `bson:"capabilities,omitempty" json:"capabilities,omitempty"`
}

type TestScriptMetadataComponent

type TestScriptMetadataComponent struct {
	BackboneElement `bson:",inline"`
	Link            []TestScriptMetadataLinkComponent       `bson:"link,omitempty" json:"link,omitempty"`
	Capability      []TestScriptMetadataCapabilityComponent `bson:"capability,omitempty" json:"capability,omitempty"`
}

type TestScriptMetadataLinkComponent

type TestScriptMetadataLinkComponent struct {
	BackboneElement `bson:",inline"`
	Url             string `bson:"url,omitempty" json:"url,omitempty"`
	Description     string `bson:"description,omitempty" json:"description,omitempty"`
}

type TestScriptOriginComponent

type TestScriptOriginComponent struct {
	BackboneElement `bson:",inline"`
	Index           *int32  `bson:"index,omitempty" json:"index,omitempty"`
	Profile         *Coding `bson:"profile,omitempty" json:"profile,omitempty"`
}

type TestScriptRuleComponent

type TestScriptRuleComponent struct {
	BackboneElement `bson:",inline"`
	Resource        *Reference                     `bson:"resource,omitempty" json:"resource,omitempty"`
	Param           []TestScriptRuleParamComponent `bson:"param,omitempty" json:"param,omitempty"`
}

type TestScriptRuleParamComponent

type TestScriptRuleParamComponent struct {
	BackboneElement `bson:",inline"`
	Name            string `bson:"name,omitempty" json:"name,omitempty"`
	Value           string `bson:"value,omitempty" json:"value,omitempty"`
}

type TestScriptRulesetComponent

type TestScriptRulesetComponent struct {
	BackboneElement `bson:",inline"`
	Resource        *Reference                       `bson:"resource,omitempty" json:"resource,omitempty"`
	Rule            []TestScriptRulesetRuleComponent `bson:"rule,omitempty" json:"rule,omitempty"`
}

type TestScriptRulesetRuleComponent

type TestScriptRulesetRuleComponent struct {
	BackboneElement `bson:",inline"`
	RuleId          string                                `bson:"ruleId,omitempty" json:"ruleId,omitempty"`
	Param           []TestScriptRulesetRuleParamComponent `bson:"param,omitempty" json:"param,omitempty"`
}

type TestScriptRulesetRuleParamComponent

type TestScriptRulesetRuleParamComponent struct {
	BackboneElement `bson:",inline"`
	Name            string `bson:"name,omitempty" json:"name,omitempty"`
	Value           string `bson:"value,omitempty" json:"value,omitempty"`
}

type TestScriptSetupActionAssertComponent

type TestScriptSetupActionAssertComponent struct {
	BackboneElement           `bson:",inline"`
	Label                     string                                  `bson:"label,omitempty" json:"label,omitempty"`
	Description               string                                  `bson:"description,omitempty" json:"description,omitempty"`
	Direction                 string                                  `bson:"direction,omitempty" json:"direction,omitempty"`
	CompareToSourceId         string                                  `bson:"compareToSourceId,omitempty" json:"compareToSourceId,omitempty"`
	CompareToSourceExpression string                                  `bson:"compareToSourceExpression,omitempty" json:"compareToSourceExpression,omitempty"`
	CompareToSourcePath       string                                  `bson:"compareToSourcePath,omitempty" json:"compareToSourcePath,omitempty"`
	ContentType               string                                  `bson:"contentType,omitempty" json:"contentType,omitempty"`
	Expression                string                                  `bson:"expression,omitempty" json:"expression,omitempty"`
	HeaderField               string                                  `bson:"headerField,omitempty" json:"headerField,omitempty"`
	MinimumId                 string                                  `bson:"minimumId,omitempty" json:"minimumId,omitempty"`
	NavigationLinks           *bool                                   `bson:"navigationLinks,omitempty" json:"navigationLinks,omitempty"`
	Operator                  string                                  `bson:"operator,omitempty" json:"operator,omitempty"`
	Path                      string                                  `bson:"path,omitempty" json:"path,omitempty"`
	RequestMethod             string                                  `bson:"requestMethod,omitempty" json:"requestMethod,omitempty"`
	RequestURL                string                                  `bson:"requestURL,omitempty" json:"requestURL,omitempty"`
	Resource                  string                                  `bson:"resource,omitempty" json:"resource,omitempty"`
	Response                  string                                  `bson:"response,omitempty" json:"response,omitempty"`
	ResponseCode              string                                  `bson:"responseCode,omitempty" json:"responseCode,omitempty"`
	Rule                      *TestScriptActionAssertRuleComponent    `bson:"rule,omitempty" json:"rule,omitempty"`
	Ruleset                   *TestScriptActionAssertRulesetComponent `bson:"ruleset,omitempty" json:"ruleset,omitempty"`
	SourceId                  string                                  `bson:"sourceId,omitempty" json:"sourceId,omitempty"`
	ValidateProfileId         string                                  `bson:"validateProfileId,omitempty" json:"validateProfileId,omitempty"`
	Value                     string                                  `bson:"value,omitempty" json:"value,omitempty"`
	WarningOnly               *bool                                   `bson:"warningOnly,omitempty" json:"warningOnly,omitempty"`
}

type TestScriptSetupActionComponent

type TestScriptSetupActionComponent struct {
	BackboneElement `bson:",inline"`
	Operation       *TestScriptSetupActionOperationComponent `bson:"operation,omitempty" json:"operation,omitempty"`
	Assert          *TestScriptSetupActionAssertComponent    `bson:"assert,omitempty" json:"assert,omitempty"`
}

type TestScriptSetupActionOperationComponent

type TestScriptSetupActionOperationComponent struct {
	BackboneElement  `bson:",inline"`
	Type             *Coding                                                `bson:"type,omitempty" json:"type,omitempty"`
	Resource         string                                                 `bson:"resource,omitempty" json:"resource,omitempty"`
	Label            string                                                 `bson:"label,omitempty" json:"label,omitempty"`
	Description      string                                                 `bson:"description,omitempty" json:"description,omitempty"`
	Accept           string                                                 `bson:"accept,omitempty" json:"accept,omitempty"`
	ContentType      string                                                 `bson:"contentType,omitempty" json:"contentType,omitempty"`
	Destination      *int32                                                 `bson:"destination,omitempty" json:"destination,omitempty"`
	EncodeRequestUrl *bool                                                  `bson:"encodeRequestUrl,omitempty" json:"encodeRequestUrl,omitempty"`
	Origin           *int32                                                 `bson:"origin,omitempty" json:"origin,omitempty"`
	Params           string                                                 `bson:"params,omitempty" json:"params,omitempty"`
	RequestHeader    []TestScriptSetupActionOperationRequestHeaderComponent `bson:"requestHeader,omitempty" json:"requestHeader,omitempty"`
	RequestId        string                                                 `bson:"requestId,omitempty" json:"requestId,omitempty"`
	ResponseId       string                                                 `bson:"responseId,omitempty" json:"responseId,omitempty"`
	SourceId         string                                                 `bson:"sourceId,omitempty" json:"sourceId,omitempty"`
	TargetId         string                                                 `bson:"targetId,omitempty" json:"targetId,omitempty"`
	Url              string                                                 `bson:"url,omitempty" json:"url,omitempty"`
}

type TestScriptSetupActionOperationRequestHeaderComponent

type TestScriptSetupActionOperationRequestHeaderComponent struct {
	BackboneElement `bson:",inline"`
	Field           string `bson:"field,omitempty" json:"field,omitempty"`
	Value           string `bson:"value,omitempty" json:"value,omitempty"`
}

type TestScriptSetupComponent

type TestScriptSetupComponent struct {
	BackboneElement `bson:",inline"`
	Action          []TestScriptSetupActionComponent `bson:"action,omitempty" json:"action,omitempty"`
}

type TestScriptTeardownActionComponent

type TestScriptTeardownActionComponent struct {
	BackboneElement `bson:",inline"`
	Operation       *TestScriptSetupActionOperationComponent `bson:"operation,omitempty" json:"operation,omitempty"`
}

type TestScriptTeardownComponent

type TestScriptTeardownComponent struct {
	BackboneElement `bson:",inline"`
	Action          []TestScriptTeardownActionComponent `bson:"action,omitempty" json:"action,omitempty"`
}

type TestScriptTestActionComponent

type TestScriptTestActionComponent struct {
	BackboneElement `bson:",inline"`
	Operation       *TestScriptSetupActionOperationComponent `bson:"operation,omitempty" json:"operation,omitempty"`
	Assert          *TestScriptSetupActionAssertComponent    `bson:"assert,omitempty" json:"assert,omitempty"`
}

type TestScriptTestComponent

type TestScriptTestComponent struct {
	BackboneElement `bson:",inline"`
	Name            string                          `bson:"name,omitempty" json:"name,omitempty"`
	Description     string                          `bson:"description,omitempty" json:"description,omitempty"`
	Action          []TestScriptTestActionComponent `bson:"action,omitempty" json:"action,omitempty"`
}

type TestScriptVariableComponent

type TestScriptVariableComponent struct {
	BackboneElement `bson:",inline"`
	Name            string `bson:"name,omitempty" json:"name,omitempty"`
	DefaultValue    string `bson:"defaultValue,omitempty" json:"defaultValue,omitempty"`
	Description     string `bson:"description,omitempty" json:"description,omitempty"`
	Expression      string `bson:"expression,omitempty" json:"expression,omitempty"`
	HeaderField     string `bson:"headerField,omitempty" json:"headerField,omitempty"`
	Hint            string `bson:"hint,omitempty" json:"hint,omitempty"`
	Path            string `bson:"path,omitempty" json:"path,omitempty"`
	SourceId        string `bson:"sourceId,omitempty" json:"sourceId,omitempty"`
}

type Timing

type Timing struct {
	Event  []FHIRDateTime         `bson:"event,omitempty" json:"event,omitempty"`
	Repeat *TimingRepeatComponent `bson:"repeat,omitempty" json:"repeat,omitempty"`
	Code   *CodeableConcept       `bson:"code,omitempty" json:"code,omitempty"`
}

type TimingRepeatComponent

type TimingRepeatComponent struct {
	BackboneElement `bson:",inline"`
	BoundsDuration  *Quantity      `bson:"boundsDuration,omitempty" json:"boundsDuration,omitempty"`
	BoundsRange     *Range         `bson:"boundsRange,omitempty" json:"boundsRange,omitempty"`
	BoundsPeriod    *Period        `bson:"boundsPeriod,omitempty" json:"boundsPeriod,omitempty"`
	Count           *int32         `bson:"count,omitempty" json:"count,omitempty"`
	CountMax        *int32         `bson:"countMax,omitempty" json:"countMax,omitempty"`
	Duration        *float64       `bson:"duration,omitempty" json:"duration,omitempty"`
	DurationMax     *float64       `bson:"durationMax,omitempty" json:"durationMax,omitempty"`
	DurationUnit    string         `bson:"durationUnit,omitempty" json:"durationUnit,omitempty"`
	Frequency       *int32         `bson:"frequency,omitempty" json:"frequency,omitempty"`
	FrequencyMax    *int32         `bson:"frequencyMax,omitempty" json:"frequencyMax,omitempty"`
	Period          *float64       `bson:"period,omitempty" json:"period,omitempty"`
	PeriodMax       *float64       `bson:"periodMax,omitempty" json:"periodMax,omitempty"`
	PeriodUnit      string         `bson:"periodUnit,omitempty" json:"periodUnit,omitempty"`
	DayOfWeek       []string       `bson:"dayOfWeek,omitempty" json:"dayOfWeek,omitempty"`
	TimeOfDay       []FHIRDateTime `bson:"timeOfDay,omitempty" json:"timeOfDay,omitempty"`
	When            []string       `bson:"when,omitempty" json:"when,omitempty"`
	Offset          *uint32        `bson:"offset,omitempty" json:"offset,omitempty"`
}

type TriggerDefinition

type TriggerDefinition struct {
	Type                 string           `bson:"type,omitempty" json:"type,omitempty"`
	EventName            string           `bson:"eventName,omitempty" json:"eventName,omitempty"`
	EventTimingTiming    *Timing          `bson:"eventTimingTiming,omitempty" json:"eventTimingTiming,omitempty"`
	EventTimingReference *Reference       `bson:"eventTimingReference,omitempty" json:"eventTimingReference,omitempty"`
	EventTimingDate      *FHIRDateTime    `bson:"eventTimingDate,omitempty" json:"eventTimingDate,omitempty"`
	EventTimingDateTime  *FHIRDateTime    `bson:"eventTimingDateTime,omitempty" json:"eventTimingDateTime,omitempty"`
	EventData            *DataRequirement `bson:"eventData,omitempty" json:"eventData,omitempty"`
}

type UsageContext

type UsageContext struct {
	Code                 *Coding          `bson:"code,omitempty" json:"code,omitempty"`
	ValueCodeableConcept *CodeableConcept `bson:"valueCodeableConcept,omitempty" json:"valueCodeableConcept,omitempty"`
	ValueQuantity        *Quantity        `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueRange           *Range           `bson:"valueRange,omitempty" json:"valueRange,omitempty"`
}

type ValueSet

type ValueSet struct {
	DomainResource `bson:",inline"`
	Url            string                      `bson:"url,omitempty" json:"url,omitempty"`
	Identifier     []Identifier                `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version        string                      `bson:"version,omitempty" json:"version,omitempty"`
	Name           string                      `bson:"name,omitempty" json:"name,omitempty"`
	Title          string                      `bson:"title,omitempty" json:"title,omitempty"`
	Status         string                      `bson:"status,omitempty" json:"status,omitempty"`
	Experimental   *bool                       `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date           *FHIRDateTime               `bson:"date,omitempty" json:"date,omitempty"`
	Publisher      string                      `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact        []ContactDetail             `bson:"contact,omitempty" json:"contact,omitempty"`
	Description    string                      `bson:"description,omitempty" json:"description,omitempty"`
	UseContext     []UsageContext              `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Jurisdiction   []CodeableConcept           `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Immutable      *bool                       `bson:"immutable,omitempty" json:"immutable,omitempty"`
	Purpose        string                      `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Copyright      string                      `bson:"copyright,omitempty" json:"copyright,omitempty"`
	Extensible     *bool                       `bson:"extensible,omitempty" json:"extensible,omitempty"`
	Compose        *ValueSetComposeComponent   `bson:"compose,omitempty" json:"compose,omitempty"`
	Expansion      *ValueSetExpansionComponent `bson:"expansion,omitempty" json:"expansion,omitempty"`
}

func (*ValueSet) GetBSON

func (x *ValueSet) GetBSON() (interface{}, error)

func (*ValueSet) MarshalJSON

func (resource *ValueSet) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*ValueSet) UnmarshalJSON

func (x *ValueSet) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type ValueSetComposeComponent

type ValueSetComposeComponent struct {
	BackboneElement `bson:",inline"`
	LockedDate      *FHIRDateTime                 `bson:"lockedDate,omitempty" json:"lockedDate,omitempty"`
	Inactive        *bool                         `bson:"inactive,omitempty" json:"inactive,omitempty"`
	Include         []ValueSetConceptSetComponent `bson:"include,omitempty" json:"include,omitempty"`
	Exclude         []ValueSetConceptSetComponent `bson:"exclude,omitempty" json:"exclude,omitempty"`
}

type ValueSetConceptReferenceComponent

type ValueSetConceptReferenceComponent struct {
	BackboneElement `bson:",inline"`
	Code            string                                         `bson:"code,omitempty" json:"code,omitempty"`
	Display         string                                         `bson:"display,omitempty" json:"display,omitempty"`
	Designation     []ValueSetConceptReferenceDesignationComponent `bson:"designation,omitempty" json:"designation,omitempty"`
}

type ValueSetConceptReferenceDesignationComponent

type ValueSetConceptReferenceDesignationComponent struct {
	BackboneElement `bson:",inline"`
	Language        string  `bson:"language,omitempty" json:"language,omitempty"`
	Use             *Coding `bson:"use,omitempty" json:"use,omitempty"`
	Value           string  `bson:"value,omitempty" json:"value,omitempty"`
}

type ValueSetConceptSetComponent

type ValueSetConceptSetComponent struct {
	BackboneElement `bson:",inline"`
	System          string                              `bson:"system,omitempty" json:"system,omitempty"`
	Version         string                              `bson:"version,omitempty" json:"version,omitempty"`
	Concept         []ValueSetConceptReferenceComponent `bson:"concept,omitempty" json:"concept,omitempty"`
	Filter          []ValueSetConceptSetFilterComponent `bson:"filter,omitempty" json:"filter,omitempty"`
	ValueSet        []string                            `bson:"valueSet,omitempty" json:"valueSet,omitempty"`
}

type ValueSetConceptSetFilterComponent

type ValueSetConceptSetFilterComponent struct {
	BackboneElement `bson:",inline"`
	Property        string `bson:"property,omitempty" json:"property,omitempty"`
	Op              string `bson:"op,omitempty" json:"op,omitempty"`
	Value           string `bson:"value,omitempty" json:"value,omitempty"`
}

type ValueSetExpansionComponent

type ValueSetExpansionComponent struct {
	BackboneElement `bson:",inline"`
	Identifier      string                                `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Timestamp       *FHIRDateTime                         `bson:"timestamp,omitempty" json:"timestamp,omitempty"`
	Total           *int32                                `bson:"total,omitempty" json:"total,omitempty"`
	Offset          *int32                                `bson:"offset,omitempty" json:"offset,omitempty"`
	Parameter       []ValueSetExpansionParameterComponent `bson:"parameter,omitempty" json:"parameter,omitempty"`
	Contains        []ValueSetExpansionContainsComponent  `bson:"contains,omitempty" json:"contains,omitempty"`
}

type ValueSetExpansionContainsComponent

type ValueSetExpansionContainsComponent struct {
	BackboneElement `bson:",inline"`
	System          string                                         `bson:"system,omitempty" json:"system,omitempty"`
	Abstract        *bool                                          `bson:"abstract,omitempty" json:"abstract,omitempty"`
	Inactive        *bool                                          `bson:"inactive,omitempty" json:"inactive,omitempty"`
	Version         string                                         `bson:"version,omitempty" json:"version,omitempty"`
	Code            string                                         `bson:"code,omitempty" json:"code,omitempty"`
	Display         string                                         `bson:"display,omitempty" json:"display,omitempty"`
	Designation     []ValueSetConceptReferenceDesignationComponent `bson:"designation,omitempty" json:"designation,omitempty"`
	Contains        []ValueSetExpansionContainsComponent           `bson:"contains,omitempty" json:"contains,omitempty"`
}

type ValueSetExpansionParameterComponent

type ValueSetExpansionParameterComponent struct {
	BackboneElement `bson:",inline"`
	Name            string   `bson:"name,omitempty" json:"name,omitempty"`
	ValueString     string   `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueBoolean    *bool    `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueInteger    *int32   `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueDecimal    *float64 `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
	ValueUri        string   `bson:"valueUri,omitempty" json:"valueUri,omitempty"`
	ValueCode       string   `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
}

type VisionPrescription

type VisionPrescription struct {
	DomainResource        `bson:",inline"`
	Identifier            []Identifier                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                string                                `bson:"status,omitempty" json:"status,omitempty"`
	Patient               *Reference                            `bson:"patient,omitempty" json:"patient,omitempty"`
	Encounter             *Reference                            `bson:"encounter,omitempty" json:"encounter,omitempty"`
	DateWritten           *FHIRDateTime                         `bson:"dateWritten,omitempty" json:"dateWritten,omitempty"`
	Prescriber            *Reference                            `bson:"prescriber,omitempty" json:"prescriber,omitempty"`
	ReasonCodeableConcept *CodeableConcept                      `bson:"reasonCodeableConcept,omitempty" json:"reasonCodeableConcept,omitempty"`
	ReasonReference       *Reference                            `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Dispense              []VisionPrescriptionDispenseComponent `bson:"dispense,omitempty" json:"dispense,omitempty"`
}

func (*VisionPrescription) GetBSON

func (x *VisionPrescription) GetBSON() (interface{}, error)

func (*VisionPrescription) MarshalJSON

func (resource *VisionPrescription) MarshalJSON() ([]byte, error)

Custom marshaller to add the resourceType property, as required by the specification

func (*VisionPrescription) UnmarshalJSON

func (x *VisionPrescription) UnmarshalJSON(data []byte) (err error)

Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})

type VisionPrescriptionDispenseComponent

type VisionPrescriptionDispenseComponent struct {
	BackboneElement `bson:",inline"`
	Product         *CodeableConcept `bson:"product,omitempty" json:"product,omitempty"`
	Eye             string           `bson:"eye,omitempty" json:"eye,omitempty"`
	Sphere          *float64         `bson:"sphere,omitempty" json:"sphere,omitempty"`
	Cylinder        *float64         `bson:"cylinder,omitempty" json:"cylinder,omitempty"`
	Axis            *int32           `bson:"axis,omitempty" json:"axis,omitempty"`
	Prism           *float64         `bson:"prism,omitempty" json:"prism,omitempty"`
	Base            string           `bson:"base,omitempty" json:"base,omitempty"`
	Add             *float64         `bson:"add,omitempty" json:"add,omitempty"`
	Power           *float64         `bson:"power,omitempty" json:"power,omitempty"`
	BackCurve       *float64         `bson:"backCurve,omitempty" json:"backCurve,omitempty"`
	Diameter        *float64         `bson:"diameter,omitempty" json:"diameter,omitempty"`
	Duration        *Quantity        `bson:"duration,omitempty" json:"duration,omitempty"`
	Color           string           `bson:"color,omitempty" json:"color,omitempty"`
	Brand           string           `bson:"brand,omitempty" json:"brand,omitempty"`
	Note            []Annotation     `bson:"note,omitempty" json:"note,omitempty"`
}

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL