fhir430

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	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"`
	Text              *Narrative         `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage  `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            AccountStatus      `bson:"status" json:"status"`
	Type              *CodeableConcept   `bson:"type,omitempty" json:"type,omitempty"`
	Name              *string            `bson:"name,omitempty" json:"name,omitempty"`
	Subject           []Reference        `bson:"subject,omitempty" json:"subject,omitempty"`
	ServicePeriod     *Period            `bson:"servicePeriod,omitempty" json:"servicePeriod,omitempty"`
	Coverage          []AccountCoverage  `bson:"coverage,omitempty" json:"coverage,omitempty"`
	Owner             *Reference         `bson:"owner,omitempty" json:"owner,omitempty"`
	Description       *string            `bson:"description,omitempty" json:"description,omitempty"`
	Guarantor         []AccountGuarantor `bson:"guarantor,omitempty" json:"guarantor,omitempty"`
	PartOf            *Reference         `bson:"partOf,omitempty" json:"partOf,omitempty"`
}

Account is documented here http://hl7.org/fhir/StructureDefinition/Account A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc.

func UnmarshalAccount

func UnmarshalAccount(b []byte) (Account, error)

UnmarshalAccount unmarshals a Account.

func (Account) ContainedResources added in v0.0.6

func (r Account) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Account) MarshalJSON

func (r Account) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Account as JSON into a byte slice

func (Account) ResourceRef added in v0.0.4

func (r Account) ResourceRef() (string, *string)

This function returns resource reference information

type AccountCoverage

type AccountCoverage struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Coverage          Reference   `bson:"coverage" json:"coverage"`
	Priority          *int        `bson:"priority,omitempty" json:"priority,omitempty"`
}

The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account.

Typically. this may be some form of insurance, internal charges, or self-pay.

Local or jurisdictional business rules may determine which coverage covers which types of billable items charged to the account, and in which order. Where the order is important, a local/jurisdictional extension may be defined to specify the order for the type of charge.

type AccountGuarantor

type AccountGuarantor struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Party             Reference   `bson:"party" json:"party"`
	OnHold            *bool       `bson:"onHold,omitempty" json:"onHold,omitempty"`
	Period            *Period     `bson:"period,omitempty" json:"period,omitempty"`
}

The parties responsible for balancing the account if other payment options fall short.

type AccountStatus

type AccountStatus int

AccountStatus is documented here http://hl7.org/fhir/ValueSet/account-status

const (
	AccountStatusActive AccountStatus = iota
	AccountStatusInactive
	AccountStatusEnteredInError
	AccountStatusOnHold
	AccountStatusUnknown
)

func (AccountStatus) Code

func (code AccountStatus) Code() string

func (AccountStatus) Definition

func (code AccountStatus) Definition() string

func (AccountStatus) Display

func (code AccountStatus) Display() string

func (AccountStatus) MarshalJSON

func (code AccountStatus) MarshalJSON() ([]byte, error)

func (AccountStatus) String

func (code AccountStatus) String() string

func (*AccountStatus) UnmarshalJSON

func (code *AccountStatus) UnmarshalJSON(input []byte) error

type ActionCardinalityBehavior

type ActionCardinalityBehavior int

ActionCardinalityBehavior is documented here http://hl7.org/fhir/ValueSet/action-cardinality-behavior

const (
	ActionCardinalityBehaviorSingle ActionCardinalityBehavior = iota
	ActionCardinalityBehaviorMultiple
)

func (ActionCardinalityBehavior) Code

func (code ActionCardinalityBehavior) Code() string

func (ActionCardinalityBehavior) Definition

func (code ActionCardinalityBehavior) Definition() string

func (ActionCardinalityBehavior) Display

func (code ActionCardinalityBehavior) Display() string

func (ActionCardinalityBehavior) MarshalJSON

func (code ActionCardinalityBehavior) MarshalJSON() ([]byte, error)

func (ActionCardinalityBehavior) String

func (code ActionCardinalityBehavior) String() string

func (*ActionCardinalityBehavior) UnmarshalJSON

func (code *ActionCardinalityBehavior) UnmarshalJSON(input []byte) error

type ActionConditionKind

type ActionConditionKind int

ActionConditionKind is documented here http://hl7.org/fhir/ValueSet/action-condition-kind

const (
	ActionConditionKindApplicability ActionConditionKind = iota
	ActionConditionKindStart
	ActionConditionKindStop
)

func (ActionConditionKind) Code

func (code ActionConditionKind) Code() string

func (ActionConditionKind) Definition

func (code ActionConditionKind) Definition() string

func (ActionConditionKind) Display

func (code ActionConditionKind) Display() string

func (ActionConditionKind) MarshalJSON

func (code ActionConditionKind) MarshalJSON() ([]byte, error)

func (ActionConditionKind) String

func (code ActionConditionKind) String() string

func (*ActionConditionKind) UnmarshalJSON

func (code *ActionConditionKind) UnmarshalJSON(input []byte) error

type ActionGroupingBehavior

type ActionGroupingBehavior int

ActionGroupingBehavior is documented here http://hl7.org/fhir/ValueSet/action-grouping-behavior

const (
	ActionGroupingBehaviorVisualGroup ActionGroupingBehavior = iota
	ActionGroupingBehaviorLogicalGroup
	ActionGroupingBehaviorSentenceGroup
)

func (ActionGroupingBehavior) Code

func (code ActionGroupingBehavior) Code() string

func (ActionGroupingBehavior) Definition

func (code ActionGroupingBehavior) Definition() string

func (ActionGroupingBehavior) Display

func (code ActionGroupingBehavior) Display() string

func (ActionGroupingBehavior) MarshalJSON

func (code ActionGroupingBehavior) MarshalJSON() ([]byte, error)

func (ActionGroupingBehavior) String

func (code ActionGroupingBehavior) String() string

func (*ActionGroupingBehavior) UnmarshalJSON

func (code *ActionGroupingBehavior) UnmarshalJSON(input []byte) error

type ActionParticipantType

type ActionParticipantType int

ActionParticipantType is documented here http://hl7.org/fhir/ValueSet/action-participant-type

const (
	ActionParticipantTypePatient ActionParticipantType = iota
	ActionParticipantTypePractitioner
	ActionParticipantTypeRelatedPerson
	ActionParticipantTypeDevice
)

func (ActionParticipantType) Code

func (code ActionParticipantType) Code() string

func (ActionParticipantType) Definition

func (code ActionParticipantType) Definition() string

func (ActionParticipantType) Display

func (code ActionParticipantType) Display() string

func (ActionParticipantType) MarshalJSON

func (code ActionParticipantType) MarshalJSON() ([]byte, error)

func (ActionParticipantType) String

func (code ActionParticipantType) String() string

func (*ActionParticipantType) UnmarshalJSON

func (code *ActionParticipantType) UnmarshalJSON(input []byte) error

type ActionPrecheckBehavior

type ActionPrecheckBehavior int

ActionPrecheckBehavior is documented here http://hl7.org/fhir/ValueSet/action-precheck-behavior

const (
	ActionPrecheckBehaviorYes ActionPrecheckBehavior = iota
	ActionPrecheckBehaviorNo
)

func (ActionPrecheckBehavior) Code

func (code ActionPrecheckBehavior) Code() string

func (ActionPrecheckBehavior) Definition

func (code ActionPrecheckBehavior) Definition() string

func (ActionPrecheckBehavior) Display

func (code ActionPrecheckBehavior) Display() string

func (ActionPrecheckBehavior) MarshalJSON

func (code ActionPrecheckBehavior) MarshalJSON() ([]byte, error)

func (ActionPrecheckBehavior) String

func (code ActionPrecheckBehavior) String() string

func (*ActionPrecheckBehavior) UnmarshalJSON

func (code *ActionPrecheckBehavior) UnmarshalJSON(input []byte) error

type ActionRelationshipType

type ActionRelationshipType int

ActionRelationshipType is documented here http://hl7.org/fhir/ValueSet/action-relationship-type

const (
	ActionRelationshipTypeBeforeStart ActionRelationshipType = iota
	ActionRelationshipTypeBefore
	ActionRelationshipTypeBeforeEnd
	ActionRelationshipTypeConcurrentWithStart
	ActionRelationshipTypeConcurrent
	ActionRelationshipTypeConcurrentWithEnd
	ActionRelationshipTypeAfterStart
	ActionRelationshipTypeAfter
	ActionRelationshipTypeAfterEnd
)

func (ActionRelationshipType) Code

func (code ActionRelationshipType) Code() string

func (ActionRelationshipType) Definition

func (code ActionRelationshipType) Definition() string

func (ActionRelationshipType) Display

func (code ActionRelationshipType) Display() string

func (ActionRelationshipType) MarshalJSON

func (code ActionRelationshipType) MarshalJSON() ([]byte, error)

func (ActionRelationshipType) String

func (code ActionRelationshipType) String() string

func (*ActionRelationshipType) UnmarshalJSON

func (code *ActionRelationshipType) UnmarshalJSON(input []byte) error

type ActionRequiredBehavior

type ActionRequiredBehavior int

ActionRequiredBehavior is documented here http://hl7.org/fhir/ValueSet/action-required-behavior

const (
	ActionRequiredBehaviorMust ActionRequiredBehavior = iota
	ActionRequiredBehaviorCould
	ActionRequiredBehaviorMustUnlessDocumented
)

func (ActionRequiredBehavior) Code

func (code ActionRequiredBehavior) Code() string

func (ActionRequiredBehavior) Definition

func (code ActionRequiredBehavior) Definition() string

func (ActionRequiredBehavior) Display

func (code ActionRequiredBehavior) Display() string

func (ActionRequiredBehavior) MarshalJSON

func (code ActionRequiredBehavior) MarshalJSON() ([]byte, error)

func (ActionRequiredBehavior) String

func (code ActionRequiredBehavior) String() string

func (*ActionRequiredBehavior) UnmarshalJSON

func (code *ActionRequiredBehavior) UnmarshalJSON(input []byte) error

type ActionSelectionBehavior

type ActionSelectionBehavior int

ActionSelectionBehavior is documented here http://hl7.org/fhir/ValueSet/action-selection-behavior

const (
	ActionSelectionBehaviorAny ActionSelectionBehavior = iota
	ActionSelectionBehaviorAll
	ActionSelectionBehaviorAllOrNone
	ActionSelectionBehaviorExactlyOne
	ActionSelectionBehaviorAtMostOne
	ActionSelectionBehaviorOneOrMore
)

func (ActionSelectionBehavior) Code

func (code ActionSelectionBehavior) Code() string

func (ActionSelectionBehavior) Definition

func (code ActionSelectionBehavior) Definition() string

func (ActionSelectionBehavior) Display

func (code ActionSelectionBehavior) Display() string

func (ActionSelectionBehavior) MarshalJSON

func (code ActionSelectionBehavior) MarshalJSON() ([]byte, error)

func (ActionSelectionBehavior) String

func (code ActionSelectionBehavior) String() string

func (*ActionSelectionBehavior) UnmarshalJSON

func (code *ActionSelectionBehavior) UnmarshalJSON(input []byte) error

type ActivityDefinition

type ActivityDefinition struct {
	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"`
	Text                         *Narrative                       `bson:"text,omitempty" json:"text,omitempty"`
	Contained                    []json.RawMessage                `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                    []Extension                      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension            []Extension                      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	Subtitle                     *string                          `bson:"subtitle,omitempty" json:"subtitle,omitempty"`
	Status                       PublicationStatus                `bson:"status" json:"status"`
	Experimental                 *bool                            `bson:"experimental,omitempty" json:"experimental,omitempty"`
	SubjectCodeableConcept       *CodeableConcept                 `bson:"subjectCodeableConcept,omitempty" json:"subjectCodeableConcept,omitempty"`
	SubjectReference             *Reference                       `bson:"subjectReference,omitempty" json:"subjectReference,omitempty"`
	Date                         *string                          `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"`
	Usage                        *string                          `bson:"usage,omitempty" json:"usage,omitempty"`
	Copyright                    *string                          `bson:"copyright,omitempty" json:"copyright,omitempty"`
	ApprovalDate                 *string                          `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate               *string                          `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod              *Period                          `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Topic                        []CodeableConcept                `bson:"topic,omitempty" json:"topic,omitempty"`
	Author                       []ContactDetail                  `bson:"author,omitempty" json:"author,omitempty"`
	Editor                       []ContactDetail                  `bson:"editor,omitempty" json:"editor,omitempty"`
	Reviewer                     []ContactDetail                  `bson:"reviewer,omitempty" json:"reviewer,omitempty"`
	Endorser                     []ContactDetail                  `bson:"endorser,omitempty" json:"endorser,omitempty"`
	RelatedArtifact              []RelatedArtifact                `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Library                      []string                         `bson:"library,omitempty" json:"library,omitempty"`
	Kind                         *RequestResourceType             `bson:"kind,omitempty" json:"kind,omitempty"`
	Profile                      *string                          `bson:"profile,omitempty" json:"profile,omitempty"`
	Code                         *CodeableConcept                 `bson:"code,omitempty" json:"code,omitempty"`
	Intent                       *RequestIntent                   `bson:"intent,omitempty" json:"intent,omitempty"`
	Priority                     *RequestPriority                 `bson:"priority,omitempty" json:"priority,omitempty"`
	DoNotPerform                 *bool                            `bson:"doNotPerform,omitempty" json:"doNotPerform,omitempty"`
	TimingTiming                 *Timing                          `bson:"timingTiming,omitempty" json:"timingTiming,omitempty"`
	TimingDateTime               *string                          `bson:"timingDateTime,omitempty" json:"timingDateTime,omitempty"`
	TimingAge                    *Age                             `bson:"timingAge,omitempty" json:"timingAge,omitempty"`
	TimingPeriod                 *Period                          `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	TimingRange                  *Range                           `bson:"timingRange,omitempty" json:"timingRange,omitempty"`
	TimingDuration               *Duration                        `bson:"timingDuration,omitempty" json:"timingDuration,omitempty"`
	Location                     *Reference                       `bson:"location,omitempty" json:"location,omitempty"`
	Participant                  []ActivityDefinitionParticipant  `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"`
	SpecimenRequirement          []Reference                      `bson:"specimenRequirement,omitempty" json:"specimenRequirement,omitempty"`
	ObservationRequirement       []Reference                      `bson:"observationRequirement,omitempty" json:"observationRequirement,omitempty"`
	ObservationResultRequirement []Reference                      `bson:"observationResultRequirement,omitempty" json:"observationResultRequirement,omitempty"`
	Transform                    *string                          `bson:"transform,omitempty" json:"transform,omitempty"`
	DynamicValue                 []ActivityDefinitionDynamicValue `bson:"dynamicValue,omitempty" json:"dynamicValue,omitempty"`
}

ActivityDefinition is documented here http://hl7.org/fhir/StructureDefinition/ActivityDefinition This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.

func UnmarshalActivityDefinition

func UnmarshalActivityDefinition(b []byte) (ActivityDefinition, error)

UnmarshalActivityDefinition unmarshals a ActivityDefinition.

func (ActivityDefinition) ContainedResources added in v0.0.6

func (r ActivityDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ActivityDefinition) MarshalJSON

func (r ActivityDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ActivityDefinition as JSON into a byte slice

func (ActivityDefinition) ResourceRef added in v0.0.4

func (r ActivityDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type ActivityDefinitionDynamicValue

type ActivityDefinitionDynamicValue struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Path              string      `bson:"path" json:"path"`
	Expression        Expression  `bson:"expression" json:"expression"`
}

Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the request resource that would contain the result. Dynamic values are applied in the order in which they are defined in the ActivityDefinition. Note that if both a transform and dynamic values are specified, the dynamic values will be applied to the result of the transform.

type ActivityDefinitionParticipant

type ActivityDefinitionParticipant struct {
	Id                *string               `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              ActionParticipantType `bson:"type" json:"type"`
	Role              *CodeableConcept      `bson:"role,omitempty" json:"role,omitempty"`
}

Indicates who should participate in performing the action described.

type Address

type Address struct {
	Id         *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension  []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	Use        *AddressUse  `bson:"use,omitempty" json:"use,omitempty"`
	Type       *AddressType `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"`
}

Address is documented here http://hl7.org/fhir/StructureDefinition/Address Base StructureDefinition for Address Type: An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world.

type AddressType

type AddressType int

AddressType is documented here http://hl7.org/fhir/ValueSet/address-type

const (
	AddressTypePostal AddressType = iota
	AddressTypePhysical
	AddressTypeBoth
)

func (AddressType) Code

func (code AddressType) Code() string

func (AddressType) Definition

func (code AddressType) Definition() string

func (AddressType) Display

func (code AddressType) Display() string

func (AddressType) MarshalJSON

func (code AddressType) MarshalJSON() ([]byte, error)

func (AddressType) String

func (code AddressType) String() string

func (*AddressType) UnmarshalJSON

func (code *AddressType) UnmarshalJSON(input []byte) error

type AddressUse

type AddressUse int

AddressUse is documented here http://hl7.org/fhir/ValueSet/address-use

const (
	AddressUseHome AddressUse = iota
	AddressUseWork
	AddressUseTemp
	AddressUseOld
	AddressUseBilling
)

func (AddressUse) Code

func (code AddressUse) Code() string

func (AddressUse) Definition

func (code AddressUse) Definition() string

func (AddressUse) Display

func (code AddressUse) Display() string

func (AddressUse) MarshalJSON

func (code AddressUse) MarshalJSON() ([]byte, error)

func (AddressUse) String

func (code AddressUse) String() string

func (*AddressUse) UnmarshalJSON

func (code *AddressUse) UnmarshalJSON(input []byte) error

type AdministrativeGender

type AdministrativeGender int

AdministrativeGender is documented here http://hl7.org/fhir/ValueSet/administrative-gender

const (
	AdministrativeGenderMale AdministrativeGender = iota
	AdministrativeGenderFemale
	AdministrativeGenderOther
	AdministrativeGenderUnknown
)

func (AdministrativeGender) Code

func (code AdministrativeGender) Code() string

func (AdministrativeGender) Definition

func (code AdministrativeGender) Definition() string

func (AdministrativeGender) Display

func (code AdministrativeGender) Display() string

func (AdministrativeGender) MarshalJSON

func (code AdministrativeGender) MarshalJSON() ([]byte, error)

func (AdministrativeGender) String

func (code AdministrativeGender) String() string

func (*AdministrativeGender) UnmarshalJSON

func (code *AdministrativeGender) UnmarshalJSON(input []byte) error

type AdverseEvent

type AdverseEvent struct {
	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"`
	Text                  *Narrative                  `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage           `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier            *Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Actuality             AdverseEventActuality       `bson:"actuality" json:"actuality"`
	Category              []CodeableConcept           `bson:"category,omitempty" json:"category,omitempty"`
	Event                 *CodeableConcept            `bson:"event,omitempty" json:"event,omitempty"`
	Subject               Reference                   `bson:"subject" json:"subject"`
	Encounter             *Reference                  `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Date                  *string                     `bson:"date,omitempty" json:"date,omitempty"`
	Detected              *string                     `bson:"detected,omitempty" json:"detected,omitempty"`
	RecordedDate          *string                     `bson:"recordedDate,omitempty" json:"recordedDate,omitempty"`
	ResultingCondition    []Reference                 `bson:"resultingCondition,omitempty" json:"resultingCondition,omitempty"`
	Location              *Reference                  `bson:"location,omitempty" json:"location,omitempty"`
	Seriousness           *CodeableConcept            `bson:"seriousness,omitempty" json:"seriousness,omitempty"`
	Severity              *CodeableConcept            `bson:"severity,omitempty" json:"severity,omitempty"`
	Outcome               *CodeableConcept            `bson:"outcome,omitempty" json:"outcome,omitempty"`
	Recorder              *Reference                  `bson:"recorder,omitempty" json:"recorder,omitempty"`
	Contributor           []Reference                 `bson:"contributor,omitempty" json:"contributor,omitempty"`
	SuspectEntity         []AdverseEventSuspectEntity `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"`
}

AdverseEvent is documented here http://hl7.org/fhir/StructureDefinition/AdverseEvent Actual or potential/avoided event causing unintended physical injury resulting from or contributed to by medical care, a research study or other healthcare setting factors that requires additional monitoring, treatment, or hospitalization, or that results in death.

func UnmarshalAdverseEvent

func UnmarshalAdverseEvent(b []byte) (AdverseEvent, error)

UnmarshalAdverseEvent unmarshals a AdverseEvent.

func (AdverseEvent) ContainedResources added in v0.0.6

func (r AdverseEvent) ContainedResources() []json.RawMessage

This function returns resource reference information

func (AdverseEvent) MarshalJSON

func (r AdverseEvent) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given AdverseEvent as JSON into a byte slice

func (AdverseEvent) ResourceRef added in v0.0.4

func (r AdverseEvent) ResourceRef() (string, *string)

This function returns resource reference information

type AdverseEventActuality

type AdverseEventActuality int

AdverseEventActuality is documented here http://hl7.org/fhir/ValueSet/adverse-event-actuality

const (
	AdverseEventActualityActual AdverseEventActuality = iota
	AdverseEventActualityPotential
)

func (AdverseEventActuality) Code

func (code AdverseEventActuality) Code() string

func (AdverseEventActuality) Definition

func (code AdverseEventActuality) Definition() string

func (AdverseEventActuality) Display

func (code AdverseEventActuality) Display() string

func (AdverseEventActuality) MarshalJSON

func (code AdverseEventActuality) MarshalJSON() ([]byte, error)

func (AdverseEventActuality) String

func (code AdverseEventActuality) String() string

func (*AdverseEventActuality) UnmarshalJSON

func (code *AdverseEventActuality) UnmarshalJSON(input []byte) error

type AdverseEventSuspectEntity

type AdverseEventSuspectEntity struct {
	Id                *string                              `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Instance          Reference                            `bson:"instance" json:"instance"`
	Causality         []AdverseEventSuspectEntityCausality `bson:"causality,omitempty" json:"causality,omitempty"`
}

Describes the entity that is suspected to have caused the adverse event.

type AdverseEventSuspectEntityCausality

type AdverseEventSuspectEntityCausality struct {
	Id                 *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension          []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Assessment         *CodeableConcept `bson:"assessment,omitempty" json:"assessment,omitempty"`
	ProductRelatedness *string          `bson:"productRelatedness,omitempty" json:"productRelatedness,omitempty"`
	Author             *Reference       `bson:"author,omitempty" json:"author,omitempty"`
	Method             *CodeableConcept `bson:"method,omitempty" json:"method,omitempty"`
}

Information on the possible cause of the event.

type Age added in v0.0.5

type Age struct {
	Id         *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension  []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	Value      *json.Number        `bson:"value,omitempty" json:"value,omitempty"`
	Comparator *QuantityComparator `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"`
}

Age is documented here http://hl7.org/fhir/StructureDefinition/Age Base StructureDefinition for Age Type: A duration of time during which an organism (or a process) has existed.

type AggregationMode

type AggregationMode int

AggregationMode is documented here http://hl7.org/fhir/ValueSet/resource-aggregation-mode

const (
	AggregationModeContained AggregationMode = iota
	AggregationModeReferenced
	AggregationModeBundled
)

func (AggregationMode) Code

func (code AggregationMode) Code() string

func (AggregationMode) Definition

func (code AggregationMode) Definition() string

func (AggregationMode) Display

func (code AggregationMode) Display() string

func (AggregationMode) MarshalJSON

func (code AggregationMode) MarshalJSON() ([]byte, error)

func (AggregationMode) String

func (code AggregationMode) String() string

func (*AggregationMode) UnmarshalJSON

func (code *AggregationMode) UnmarshalJSON(input []byte) error

type AllergyIntolerance

type AllergyIntolerance struct {
	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"`
	Text               *Narrative                     `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage              `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier         []Identifier                   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	ClinicalStatus     *CodeableConcept               `bson:"clinicalStatus,omitempty" json:"clinicalStatus,omitempty"`
	VerificationStatus *CodeableConcept               `bson:"verificationStatus,omitempty" json:"verificationStatus,omitempty"`
	Type               *AllergyIntoleranceType        `bson:"type,omitempty" json:"type,omitempty"`
	Category           []AllergyIntoleranceCategory   `bson:"category,omitempty" json:"category,omitempty"`
	Criticality        *AllergyIntoleranceCriticality `bson:"criticality,omitempty" json:"criticality,omitempty"`
	Code               *CodeableConcept               `bson:"code,omitempty" json:"code,omitempty"`
	Patient            Reference                      `bson:"patient" json:"patient"`
	Encounter          *Reference                     `bson:"encounter,omitempty" json:"encounter,omitempty"`
	OnsetDateTime      *string                        `bson:"onsetDateTime,omitempty" json:"onsetDateTime,omitempty"`
	OnsetAge           *Age                           `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"`
	RecordedDate       *string                        `bson:"recordedDate,omitempty" json:"recordedDate,omitempty"`
	Recorder           *Reference                     `bson:"recorder,omitempty" json:"recorder,omitempty"`
	Asserter           *Reference                     `bson:"asserter,omitempty" json:"asserter,omitempty"`
	LastOccurrence     *string                        `bson:"lastOccurrence,omitempty" json:"lastOccurrence,omitempty"`
	Note               []Annotation                   `bson:"note,omitempty" json:"note,omitempty"`
	Reaction           []AllergyIntoleranceReaction   `bson:"reaction,omitempty" json:"reaction,omitempty"`
}

AllergyIntolerance is documented here http://hl7.org/fhir/StructureDefinition/AllergyIntolerance Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.

func UnmarshalAllergyIntolerance

func UnmarshalAllergyIntolerance(b []byte) (AllergyIntolerance, error)

UnmarshalAllergyIntolerance unmarshals a AllergyIntolerance.

func (AllergyIntolerance) ContainedResources added in v0.0.6

func (r AllergyIntolerance) ContainedResources() []json.RawMessage

This function returns resource reference information

func (AllergyIntolerance) MarshalJSON

func (r AllergyIntolerance) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given AllergyIntolerance as JSON into a byte slice

func (AllergyIntolerance) ResourceRef added in v0.0.4

func (r AllergyIntolerance) ResourceRef() (string, *string)

This function returns resource reference information

type AllergyIntoleranceCategory

type AllergyIntoleranceCategory int

AllergyIntoleranceCategory is documented here http://hl7.org/fhir/ValueSet/allergy-intolerance-category

const (
	AllergyIntoleranceCategoryFood AllergyIntoleranceCategory = iota
	AllergyIntoleranceCategoryMedication
	AllergyIntoleranceCategoryEnvironment
	AllergyIntoleranceCategoryBiologic
)

func (AllergyIntoleranceCategory) Code

func (code AllergyIntoleranceCategory) Code() string

func (AllergyIntoleranceCategory) Definition

func (code AllergyIntoleranceCategory) Definition() string

func (AllergyIntoleranceCategory) Display

func (code AllergyIntoleranceCategory) Display() string

func (AllergyIntoleranceCategory) MarshalJSON

func (code AllergyIntoleranceCategory) MarshalJSON() ([]byte, error)

func (AllergyIntoleranceCategory) String

func (code AllergyIntoleranceCategory) String() string

func (*AllergyIntoleranceCategory) UnmarshalJSON

func (code *AllergyIntoleranceCategory) UnmarshalJSON(input []byte) error

type AllergyIntoleranceCriticality

type AllergyIntoleranceCriticality int

AllergyIntoleranceCriticality is documented here http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality

const (
	AllergyIntoleranceCriticalityLow AllergyIntoleranceCriticality = iota
	AllergyIntoleranceCriticalityHigh
	AllergyIntoleranceCriticalityUnableToAssess
)

func (AllergyIntoleranceCriticality) Code

func (AllergyIntoleranceCriticality) Definition

func (code AllergyIntoleranceCriticality) Definition() string

func (AllergyIntoleranceCriticality) Display

func (code AllergyIntoleranceCriticality) Display() string

func (AllergyIntoleranceCriticality) MarshalJSON

func (code AllergyIntoleranceCriticality) MarshalJSON() ([]byte, error)

func (AllergyIntoleranceCriticality) String

func (code AllergyIntoleranceCriticality) String() string

func (*AllergyIntoleranceCriticality) UnmarshalJSON

func (code *AllergyIntoleranceCriticality) UnmarshalJSON(input []byte) error

type AllergyIntoleranceReaction

type AllergyIntoleranceReaction struct {
	Id                *string                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Substance         *CodeableConcept            `bson:"substance,omitempty" json:"substance,omitempty"`
	Manifestation     []CodeableConcept           `bson:"manifestation" json:"manifestation"`
	Description       *string                     `bson:"description,omitempty" json:"description,omitempty"`
	Onset             *string                     `bson:"onset,omitempty" json:"onset,omitempty"`
	Severity          *AllergyIntoleranceSeverity `bson:"severity,omitempty" json:"severity,omitempty"`
	ExposureRoute     *CodeableConcept            `bson:"exposureRoute,omitempty" json:"exposureRoute,omitempty"`
	Note              []Annotation                `bson:"note,omitempty" json:"note,omitempty"`
}

Details about each adverse reaction event linked to exposure to the identified substance.

type AllergyIntoleranceSeverity

type AllergyIntoleranceSeverity int

AllergyIntoleranceSeverity is documented here http://hl7.org/fhir/ValueSet/reaction-event-severity

const (
	AllergyIntoleranceSeverityMild AllergyIntoleranceSeverity = iota
	AllergyIntoleranceSeverityModerate
	AllergyIntoleranceSeveritySevere
)

func (AllergyIntoleranceSeverity) Code

func (code AllergyIntoleranceSeverity) Code() string

func (AllergyIntoleranceSeverity) Definition

func (code AllergyIntoleranceSeverity) Definition() string

func (AllergyIntoleranceSeverity) Display

func (code AllergyIntoleranceSeverity) Display() string

func (AllergyIntoleranceSeverity) MarshalJSON

func (code AllergyIntoleranceSeverity) MarshalJSON() ([]byte, error)

func (AllergyIntoleranceSeverity) String

func (code AllergyIntoleranceSeverity) String() string

func (*AllergyIntoleranceSeverity) UnmarshalJSON

func (code *AllergyIntoleranceSeverity) UnmarshalJSON(input []byte) error

type AllergyIntoleranceType

type AllergyIntoleranceType int

AllergyIntoleranceType is documented here http://hl7.org/fhir/ValueSet/allergy-intolerance-type

const (
	AllergyIntoleranceTypeAllergy AllergyIntoleranceType = iota
	AllergyIntoleranceTypeIntolerance
)

func (AllergyIntoleranceType) Code

func (code AllergyIntoleranceType) Code() string

func (AllergyIntoleranceType) Definition

func (code AllergyIntoleranceType) Definition() string

func (AllergyIntoleranceType) Display

func (code AllergyIntoleranceType) Display() string

func (AllergyIntoleranceType) MarshalJSON

func (code AllergyIntoleranceType) MarshalJSON() ([]byte, error)

func (AllergyIntoleranceType) String

func (code AllergyIntoleranceType) String() string

func (*AllergyIntoleranceType) UnmarshalJSON

func (code *AllergyIntoleranceType) UnmarshalJSON(input []byte) error

type Annotation

type Annotation struct {
	Id              *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension       []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	AuthorReference *Reference  `bson:"authorReference,omitempty" json:"authorReference,omitempty"`
	AuthorString    *string     `bson:"authorString,omitempty" json:"authorString,omitempty"`
	Time            *string     `bson:"time,omitempty" json:"time,omitempty"`
	Text            string      `bson:"text" json:"text"`
}

Annotation is documented here http://hl7.org/fhir/StructureDefinition/Annotation Base StructureDefinition for Annotation Type: A text note which also contains information about who made the statement and when.

type Appointment

type Appointment struct {
	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"`
	Text                  *Narrative               `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage        `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier            []Identifier             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                AppointmentStatus        `bson:"status" json:"status"`
	CancelationReason     *CodeableConcept         `bson:"cancelationReason,omitempty" json:"cancelationReason,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"`
	ReasonCode            []CodeableConcept        `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference       []Reference              `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Priority              *int                     `bson:"priority,omitempty" json:"priority,omitempty"`
	Description           *string                  `bson:"description,omitempty" json:"description,omitempty"`
	SupportingInformation []Reference              `bson:"supportingInformation,omitempty" json:"supportingInformation,omitempty"`
	Start                 *string                  `bson:"start,omitempty" json:"start,omitempty"`
	End                   *string                  `bson:"end,omitempty" json:"end,omitempty"`
	MinutesDuration       *int                     `bson:"minutesDuration,omitempty" json:"minutesDuration,omitempty"`
	Slot                  []Reference              `bson:"slot,omitempty" json:"slot,omitempty"`
	Created               *string                  `bson:"created,omitempty" json:"created,omitempty"`
	Comment               *string                  `bson:"comment,omitempty" json:"comment,omitempty"`
	PatientInstruction    *string                  `bson:"patientInstruction,omitempty" json:"patientInstruction,omitempty"`
	BasedOn               []Reference              `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Participant           []AppointmentParticipant `bson:"participant" json:"participant"`
	RequestedPeriod       []Period                 `bson:"requestedPeriod,omitempty" json:"requestedPeriod,omitempty"`
}

Appointment is documented here http://hl7.org/fhir/StructureDefinition/Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).

func UnmarshalAppointment

func UnmarshalAppointment(b []byte) (Appointment, error)

UnmarshalAppointment unmarshals a Appointment.

func (Appointment) ContainedResources added in v0.0.6

func (r Appointment) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Appointment) MarshalJSON

func (r Appointment) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Appointment as JSON into a byte slice

func (Appointment) ResourceRef added in v0.0.4

func (r Appointment) ResourceRef() (string, *string)

This function returns resource reference information

type AppointmentParticipant

type AppointmentParticipant struct {
	Id                *string              `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              []CodeableConcept    `bson:"type,omitempty" json:"type,omitempty"`
	Actor             *Reference           `bson:"actor,omitempty" json:"actor,omitempty"`
	Required          *ParticipantRequired `bson:"required,omitempty" json:"required,omitempty"`
	Status            ParticipationStatus  `bson:"status" json:"status"`
	Period            *Period              `bson:"period,omitempty" json:"period,omitempty"`
}

List of participants involved in the appointment.

type AppointmentResponse

type AppointmentResponse struct {
	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"`
	Text              *Narrative          `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage   `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Appointment       Reference           `bson:"appointment" json:"appointment"`
	Start             *string             `bson:"start,omitempty" json:"start,omitempty"`
	End               *string             `bson:"end,omitempty" json:"end,omitempty"`
	ParticipantType   []CodeableConcept   `bson:"participantType,omitempty" json:"participantType,omitempty"`
	Actor             *Reference          `bson:"actor,omitempty" json:"actor,omitempty"`
	ParticipantStatus ParticipationStatus `bson:"participantStatus" json:"participantStatus"`
	Comment           *string             `bson:"comment,omitempty" json:"comment,omitempty"`
}

AppointmentResponse is documented here http://hl7.org/fhir/StructureDefinition/AppointmentResponse A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.

func UnmarshalAppointmentResponse

func UnmarshalAppointmentResponse(b []byte) (AppointmentResponse, error)

UnmarshalAppointmentResponse unmarshals a AppointmentResponse.

func (AppointmentResponse) ContainedResources added in v0.0.6

func (r AppointmentResponse) ContainedResources() []json.RawMessage

This function returns resource reference information

func (AppointmentResponse) MarshalJSON

func (r AppointmentResponse) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given AppointmentResponse as JSON into a byte slice

func (AppointmentResponse) ResourceRef added in v0.0.4

func (r AppointmentResponse) ResourceRef() (string, *string)

This function returns resource reference information

type AppointmentStatus

type AppointmentStatus int

AppointmentStatus is documented here http://hl7.org/fhir/ValueSet/appointmentstatus

const (
	AppointmentStatusProposed AppointmentStatus = iota
	AppointmentStatusPending
	AppointmentStatusBooked
	AppointmentStatusArrived
	AppointmentStatusFulfilled
	AppointmentStatusCancelled
	AppointmentStatusNoshow
	AppointmentStatusEnteredInError
	AppointmentStatusCheckedIn
	AppointmentStatusWaitlist
)

func (AppointmentStatus) Code

func (code AppointmentStatus) Code() string

func (AppointmentStatus) Definition

func (code AppointmentStatus) Definition() string

func (AppointmentStatus) Display

func (code AppointmentStatus) Display() string

func (AppointmentStatus) MarshalJSON

func (code AppointmentStatus) MarshalJSON() ([]byte, error)

func (AppointmentStatus) String

func (code AppointmentStatus) String() string

func (*AppointmentStatus) UnmarshalJSON

func (code *AppointmentStatus) UnmarshalJSON(input []byte) error

type AssertionDirectionType

type AssertionDirectionType int

AssertionDirectionType is documented here http://hl7.org/fhir/ValueSet/assert-direction-codes

const (
	AssertionDirectionTypeResponse AssertionDirectionType = iota
	AssertionDirectionTypeRequest
)

func (AssertionDirectionType) Code

func (code AssertionDirectionType) Code() string

func (AssertionDirectionType) Definition

func (code AssertionDirectionType) Definition() string

func (AssertionDirectionType) Display

func (code AssertionDirectionType) Display() string

func (AssertionDirectionType) MarshalJSON

func (code AssertionDirectionType) MarshalJSON() ([]byte, error)

func (AssertionDirectionType) String

func (code AssertionDirectionType) String() string

func (*AssertionDirectionType) UnmarshalJSON

func (code *AssertionDirectionType) UnmarshalJSON(input []byte) error

type AssertionOperatorType

type AssertionOperatorType int

AssertionOperatorType is documented here http://hl7.org/fhir/ValueSet/assert-operator-codes

const (
	AssertionOperatorTypeEquals AssertionOperatorType = iota
	AssertionOperatorTypeNotEquals
	AssertionOperatorTypeIn
	AssertionOperatorTypeNotIn
	AssertionOperatorTypeGreaterThan
	AssertionOperatorTypeLessThan
	AssertionOperatorTypeEmpty
	AssertionOperatorTypeNotEmpty
	AssertionOperatorTypeContains
	AssertionOperatorTypeNotContains
	AssertionOperatorTypeEval
)

func (AssertionOperatorType) Code

func (code AssertionOperatorType) Code() string

func (AssertionOperatorType) Definition

func (code AssertionOperatorType) Definition() string

func (AssertionOperatorType) Display

func (code AssertionOperatorType) Display() string

func (AssertionOperatorType) MarshalJSON

func (code AssertionOperatorType) MarshalJSON() ([]byte, error)

func (AssertionOperatorType) String

func (code AssertionOperatorType) String() string

func (*AssertionOperatorType) UnmarshalJSON

func (code *AssertionOperatorType) UnmarshalJSON(input []byte) error

type AssertionResponseTypes

type AssertionResponseTypes int

AssertionResponseTypes is documented here http://hl7.org/fhir/ValueSet/assert-response-code-types

const (
	AssertionResponseTypesOkay AssertionResponseTypes = iota
	AssertionResponseTypesCreated
	AssertionResponseTypesNoContent
	AssertionResponseTypesNotModified
	AssertionResponseTypesBad
	AssertionResponseTypesForbidden
	AssertionResponseTypesNotFound
	AssertionResponseTypesMethodNotAllowed
	AssertionResponseTypesConflict
	AssertionResponseTypesGone
	AssertionResponseTypesPreconditionFailed
	AssertionResponseTypesUnprocessable
)

func (AssertionResponseTypes) Code

func (code AssertionResponseTypes) Code() string

func (AssertionResponseTypes) Definition

func (code AssertionResponseTypes) Definition() string

func (AssertionResponseTypes) Display

func (code AssertionResponseTypes) Display() string

func (AssertionResponseTypes) MarshalJSON

func (code AssertionResponseTypes) MarshalJSON() ([]byte, error)

func (AssertionResponseTypes) String

func (code AssertionResponseTypes) String() string

func (*AssertionResponseTypes) UnmarshalJSON

func (code *AssertionResponseTypes) UnmarshalJSON(input []byte) error

type Attachment

type Attachment struct {
	Id          *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension   []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	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        *int        `bson:"size,omitempty" json:"size,omitempty"`
	Hash        *string     `bson:"hash,omitempty" json:"hash,omitempty"`
	Title       *string     `bson:"title,omitempty" json:"title,omitempty"`
	Creation    *string     `bson:"creation,omitempty" json:"creation,omitempty"`
}

Attachment is documented here http://hl7.org/fhir/StructureDefinition/Attachment Base StructureDefinition for Attachment Type: For referring to data content defined in other formats.

type AuditEvent

type AuditEvent struct {
	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"`
	Text              *Narrative         `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage  `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              Coding             `bson:"type" json:"type"`
	Subtype           []Coding           `bson:"subtype,omitempty" json:"subtype,omitempty"`
	Action            *AuditEventAction  `bson:"action,omitempty" json:"action,omitempty"`
	Period            *Period            `bson:"period,omitempty" json:"period,omitempty"`
	Recorded          string             `bson:"recorded" json:"recorded"`
	Outcome           *AuditEventOutcome `bson:"outcome,omitempty" json:"outcome,omitempty"`
	OutcomeDesc       *string            `bson:"outcomeDesc,omitempty" json:"outcomeDesc,omitempty"`
	PurposeOfEvent    []CodeableConcept  `bson:"purposeOfEvent,omitempty" json:"purposeOfEvent,omitempty"`
	Agent             []AuditEventAgent  `bson:"agent" json:"agent"`
	Source            AuditEventSource   `bson:"source" json:"source"`
	Entity            []AuditEventEntity `bson:"entity,omitempty" json:"entity,omitempty"`
}

AuditEvent is documented here http://hl7.org/fhir/StructureDefinition/AuditEvent A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.

func UnmarshalAuditEvent

func UnmarshalAuditEvent(b []byte) (AuditEvent, error)

UnmarshalAuditEvent unmarshals a AuditEvent.

func (AuditEvent) ContainedResources added in v0.0.6

func (r AuditEvent) ContainedResources() []json.RawMessage

This function returns resource reference information

func (AuditEvent) MarshalJSON

func (r AuditEvent) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given AuditEvent as JSON into a byte slice

func (AuditEvent) ResourceRef added in v0.0.4

func (r AuditEvent) ResourceRef() (string, *string)

This function returns resource reference information

type AuditEventAction

type AuditEventAction int

AuditEventAction is documented here http://hl7.org/fhir/ValueSet/audit-event-action

const (
	AuditEventActionC AuditEventAction = iota
	AuditEventActionR
	AuditEventActionU
	AuditEventActionD
	AuditEventActionE
)

func (AuditEventAction) Code

func (code AuditEventAction) Code() string

func (AuditEventAction) Definition

func (code AuditEventAction) Definition() string

func (AuditEventAction) Display

func (code AuditEventAction) Display() string

func (AuditEventAction) MarshalJSON

func (code AuditEventAction) MarshalJSON() ([]byte, error)

func (AuditEventAction) String

func (code AuditEventAction) String() string

func (*AuditEventAction) UnmarshalJSON

func (code *AuditEventAction) UnmarshalJSON(input []byte) error

type AuditEventAgent

type AuditEventAgent struct {
	Id                *string                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept        `bson:"type,omitempty" json:"type,omitempty"`
	Role              []CodeableConcept       `bson:"role,omitempty" json:"role,omitempty"`
	Who               *Reference              `bson:"who,omitempty" json:"who,omitempty"`
	AltId             *string                 `bson:"altId,omitempty" json:"altId,omitempty"`
	Name              *string                 `bson:"name,omitempty" json:"name,omitempty"`
	Requestor         bool                    `bson:"requestor" json:"requestor"`
	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           *AuditEventAgentNetwork `bson:"network,omitempty" json:"network,omitempty"`
	PurposeOfUse      []CodeableConcept       `bson:"purposeOfUse,omitempty" json:"purposeOfUse,omitempty"`
}

An actor taking an active role in the event or activity that is logged.

Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity.

For example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity.

type AuditEventAgentNetwork

type AuditEventAgentNetwork struct {
	Id                *string                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Address           *string                     `bson:"address,omitempty" json:"address,omitempty"`
	Type              *AuditEventAgentNetworkType `bson:"type,omitempty" json:"type,omitempty"`
}

Logical network location for application activity, if the activity has a network location.

type AuditEventAgentNetworkType

type AuditEventAgentNetworkType int

AuditEventAgentNetworkType is documented here http://hl7.org/fhir/ValueSet/network-type

const (
	AuditEventAgentNetworkType1 AuditEventAgentNetworkType = iota
	AuditEventAgentNetworkType2
	AuditEventAgentNetworkType3
	AuditEventAgentNetworkType4
	AuditEventAgentNetworkType5
)

func (AuditEventAgentNetworkType) Code

func (code AuditEventAgentNetworkType) Code() string

func (AuditEventAgentNetworkType) Definition

func (code AuditEventAgentNetworkType) Definition() string

func (AuditEventAgentNetworkType) Display

func (code AuditEventAgentNetworkType) Display() string

func (AuditEventAgentNetworkType) MarshalJSON

func (code AuditEventAgentNetworkType) MarshalJSON() ([]byte, error)

func (AuditEventAgentNetworkType) String

func (code AuditEventAgentNetworkType) String() string

func (*AuditEventAgentNetworkType) UnmarshalJSON

func (code *AuditEventAgentNetworkType) UnmarshalJSON(input []byte) error

type AuditEventEntity

type AuditEventEntity struct {
	Id                *string                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	What              *Reference               `bson:"what,omitempty" json:"what,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            []AuditEventEntityDetail `bson:"detail,omitempty" json:"detail,omitempty"`
}

Specific instances of data or objects that have been accessed. Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values.

type AuditEventEntityDetail

type AuditEventEntityDetail struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              string      `bson:"type" json:"type"`
	ValueString       string      `bson:"valueString" json:"valueString"`
	ValueBase64Binary string      `bson:"valueBase64Binary" json:"valueBase64Binary"`
}

Tagged value pairs for conveying additional information about the entity.

type AuditEventOutcome

type AuditEventOutcome int

AuditEventOutcome is documented here http://hl7.org/fhir/ValueSet/audit-event-outcome

const (
	AuditEventOutcome0 AuditEventOutcome = iota
	AuditEventOutcome4
	AuditEventOutcome8
	AuditEventOutcome12
)

func (AuditEventOutcome) Code

func (code AuditEventOutcome) Code() string

func (AuditEventOutcome) Definition

func (code AuditEventOutcome) Definition() string

func (AuditEventOutcome) Display

func (code AuditEventOutcome) Display() string

func (AuditEventOutcome) MarshalJSON

func (code AuditEventOutcome) MarshalJSON() ([]byte, error)

func (AuditEventOutcome) String

func (code AuditEventOutcome) String() string

func (*AuditEventOutcome) UnmarshalJSON

func (code *AuditEventOutcome) UnmarshalJSON(input []byte) error

type AuditEventSource

type AuditEventSource struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Site              *string     `bson:"site,omitempty" json:"site,omitempty"`
	Observer          Reference   `bson:"observer" json:"observer"`
	Type              []Coding    `bson:"type,omitempty" json:"type,omitempty"`
}

The system that is reporting the event. Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified.

type Basic

type Basic struct {
	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"`
	Text              *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Code              CodeableConcept   `bson:"code" json:"code"`
	Subject           *Reference        `bson:"subject,omitempty" json:"subject,omitempty"`
	Created           *string           `bson:"created,omitempty" json:"created,omitempty"`
	Author            *Reference        `bson:"author,omitempty" json:"author,omitempty"`
}

Basic is documented here http://hl7.org/fhir/StructureDefinition/Basic Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification.

func UnmarshalBasic

func UnmarshalBasic(b []byte) (Basic, error)

UnmarshalBasic unmarshals a Basic.

func (Basic) ContainedResources added in v0.0.6

func (r Basic) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Basic) MarshalJSON

func (r Basic) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Basic as JSON into a byte slice

func (Basic) ResourceRef added in v0.0.4

func (r Basic) ResourceRef() (string, *string)

This function returns resource reference information

type Binary

type Binary struct {
	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"`
	ContentType     string     `bson:"contentType" json:"contentType"`
	SecurityContext *Reference `bson:"securityContext,omitempty" json:"securityContext,omitempty"`
	Data            *string    `bson:"data,omitempty" json:"data,omitempty"`
}

Binary is documented here http://hl7.org/fhir/StructureDefinition/Binary A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.

func UnmarshalBinary

func UnmarshalBinary(b []byte) (Binary, error)

UnmarshalBinary unmarshals a Binary.

func (Binary) ContainedResources added in v0.0.6

func (r Binary) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Binary) MarshalJSON

func (r Binary) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Binary as JSON into a byte slice

func (Binary) ResourceRef added in v0.0.4

func (r Binary) ResourceRef() (string, *string)

This function returns resource reference information

type BindingStrength

type BindingStrength int

BindingStrength is documented here http://hl7.org/fhir/ValueSet/binding-strength

const (
	BindingStrengthRequired BindingStrength = iota
	BindingStrengthExtensible
	BindingStrengthPreferred
	BindingStrengthExample
)

func (BindingStrength) Code

func (code BindingStrength) Code() string

func (BindingStrength) Definition

func (code BindingStrength) Definition() string

func (BindingStrength) Display

func (code BindingStrength) Display() string

func (BindingStrength) MarshalJSON

func (code BindingStrength) MarshalJSON() ([]byte, error)

func (BindingStrength) String

func (code BindingStrength) String() string

func (*BindingStrength) UnmarshalJSON

func (code *BindingStrength) UnmarshalJSON(input []byte) error

type BiologicallyDerivedProduct

type BiologicallyDerivedProduct struct {
	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"`
	Text              *Narrative                              `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                       `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	ProductCategory   *BiologicallyDerivedProductCategory     `bson:"productCategory,omitempty" json:"productCategory,omitempty"`
	ProductCode       *CodeableConcept                        `bson:"productCode,omitempty" json:"productCode,omitempty"`
	Status            *BiologicallyDerivedProductStatus       `bson:"status,omitempty" json:"status,omitempty"`
	Request           []Reference                             `bson:"request,omitempty" json:"request,omitempty"`
	Quantity          *int                                    `bson:"quantity,omitempty" json:"quantity,omitempty"`
	Parent            []Reference                             `bson:"parent,omitempty" json:"parent,omitempty"`
	Collection        *BiologicallyDerivedProductCollection   `bson:"collection,omitempty" json:"collection,omitempty"`
	Processing        []BiologicallyDerivedProductProcessing  `bson:"processing,omitempty" json:"processing,omitempty"`
	Manipulation      *BiologicallyDerivedProductManipulation `bson:"manipulation,omitempty" json:"manipulation,omitempty"`
	Storage           []BiologicallyDerivedProductStorage     `bson:"storage,omitempty" json:"storage,omitempty"`
}

BiologicallyDerivedProduct is documented here http://hl7.org/fhir/StructureDefinition/BiologicallyDerivedProduct

A material substance originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity.

func UnmarshalBiologicallyDerivedProduct

func UnmarshalBiologicallyDerivedProduct(b []byte) (BiologicallyDerivedProduct, error)

UnmarshalBiologicallyDerivedProduct unmarshals a BiologicallyDerivedProduct.

func (BiologicallyDerivedProduct) ContainedResources added in v0.0.6

func (r BiologicallyDerivedProduct) ContainedResources() []json.RawMessage

This function returns resource reference information

func (BiologicallyDerivedProduct) MarshalJSON

func (r BiologicallyDerivedProduct) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given BiologicallyDerivedProduct as JSON into a byte slice

func (BiologicallyDerivedProduct) ResourceRef added in v0.0.4

func (r BiologicallyDerivedProduct) ResourceRef() (string, *string)

This function returns resource reference information

type BiologicallyDerivedProductCategory

type BiologicallyDerivedProductCategory int

BiologicallyDerivedProductCategory is documented here http://hl7.org/fhir/ValueSet/product-category

const (
	BiologicallyDerivedProductCategoryOrgan BiologicallyDerivedProductCategory = iota
	BiologicallyDerivedProductCategoryTissue
	BiologicallyDerivedProductCategoryFluid
	BiologicallyDerivedProductCategoryCells
	BiologicallyDerivedProductCategoryBiologicalAgent
)

func (BiologicallyDerivedProductCategory) Code

func (BiologicallyDerivedProductCategory) Definition

func (code BiologicallyDerivedProductCategory) Definition() string

func (BiologicallyDerivedProductCategory) Display

func (BiologicallyDerivedProductCategory) MarshalJSON

func (code BiologicallyDerivedProductCategory) MarshalJSON() ([]byte, error)

func (BiologicallyDerivedProductCategory) String

func (*BiologicallyDerivedProductCategory) UnmarshalJSON

func (code *BiologicallyDerivedProductCategory) UnmarshalJSON(input []byte) error

type BiologicallyDerivedProductCollection

type BiologicallyDerivedProductCollection struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Collector         *Reference  `bson:"collector,omitempty" json:"collector,omitempty"`
	Source            *Reference  `bson:"source,omitempty" json:"source,omitempty"`
	CollectedDateTime *string     `bson:"collectedDateTime,omitempty" json:"collectedDateTime,omitempty"`
	CollectedPeriod   *Period     `bson:"collectedPeriod,omitempty" json:"collectedPeriod,omitempty"`
}

How this product was collected.

type BiologicallyDerivedProductManipulation

type BiologicallyDerivedProductManipulation struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description       *string     `bson:"description,omitempty" json:"description,omitempty"`
	TimeDateTime      *string     `bson:"timeDateTime,omitempty" json:"timeDateTime,omitempty"`
	TimePeriod        *Period     `bson:"timePeriod,omitempty" json:"timePeriod,omitempty"`
}

Any manipulation of product post-collection that is intended to alter the product. For example a buffy-coat enrichment or CD8 reduction of Peripheral Blood Stem Cells to make it more suitable for infusion.

type BiologicallyDerivedProductProcessing

type BiologicallyDerivedProductProcessing struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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      *string          `bson:"timeDateTime,omitempty" json:"timeDateTime,omitempty"`
	TimePeriod        *Period          `bson:"timePeriod,omitempty" json:"timePeriod,omitempty"`
}

Any processing of the product during collection that does not change the fundamental nature of the product. For example adding anti-coagulants during the collection of Peripheral Blood Stem Cells.

type BiologicallyDerivedProductStatus

type BiologicallyDerivedProductStatus int

BiologicallyDerivedProductStatus is documented here http://hl7.org/fhir/ValueSet/product-status

const (
	BiologicallyDerivedProductStatusAvailable BiologicallyDerivedProductStatus = iota
	BiologicallyDerivedProductStatusUnavailable
)

func (BiologicallyDerivedProductStatus) Code

func (BiologicallyDerivedProductStatus) Definition

func (code BiologicallyDerivedProductStatus) Definition() string

func (BiologicallyDerivedProductStatus) Display

func (BiologicallyDerivedProductStatus) MarshalJSON

func (code BiologicallyDerivedProductStatus) MarshalJSON() ([]byte, error)

func (BiologicallyDerivedProductStatus) String

func (*BiologicallyDerivedProductStatus) UnmarshalJSON

func (code *BiologicallyDerivedProductStatus) UnmarshalJSON(input []byte) error

type BiologicallyDerivedProductStorage

type BiologicallyDerivedProductStorage struct {
	Id                *string                                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description       *string                                 `bson:"description,omitempty" json:"description,omitempty"`
	Temperature       *json.Number                            `bson:"temperature,omitempty" json:"temperature,omitempty"`
	Scale             *BiologicallyDerivedProductStorageScale `bson:"scale,omitempty" json:"scale,omitempty"`
	Duration          *Period                                 `bson:"duration,omitempty" json:"duration,omitempty"`
}

Product storage.

type BiologicallyDerivedProductStorageScale

type BiologicallyDerivedProductStorageScale int

BiologicallyDerivedProductStorageScale is documented here http://hl7.org/fhir/ValueSet/product-storage-scale

const (
	BiologicallyDerivedProductStorageScaleFarenheit BiologicallyDerivedProductStorageScale = iota
	BiologicallyDerivedProductStorageScaleCelsius
	BiologicallyDerivedProductStorageScaleKelvin
)

func (BiologicallyDerivedProductStorageScale) Code

func (BiologicallyDerivedProductStorageScale) Definition

func (BiologicallyDerivedProductStorageScale) Display

func (BiologicallyDerivedProductStorageScale) MarshalJSON

func (code BiologicallyDerivedProductStorageScale) MarshalJSON() ([]byte, error)

func (BiologicallyDerivedProductStorageScale) String

func (*BiologicallyDerivedProductStorageScale) UnmarshalJSON

func (code *BiologicallyDerivedProductStorageScale) UnmarshalJSON(input []byte) error

type BodyStructure

type BodyStructure struct {
	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"`
	Text              *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active            *bool             `bson:"active,omitempty" json:"active,omitempty"`
	Morphology        *CodeableConcept  `bson:"morphology,omitempty" json:"morphology,omitempty"`
	Location          *CodeableConcept  `bson:"location,omitempty" json:"location,omitempty"`
	LocationQualifier []CodeableConcept `bson:"locationQualifier,omitempty" json:"locationQualifier,omitempty"`
	Description       *string           `bson:"description,omitempty" json:"description,omitempty"`
	Image             []Attachment      `bson:"image,omitempty" json:"image,omitempty"`
	Patient           Reference         `bson:"patient" json:"patient"`
}

BodyStructure is documented here http://hl7.org/fhir/StructureDefinition/BodyStructure Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case.

func UnmarshalBodyStructure

func UnmarshalBodyStructure(b []byte) (BodyStructure, error)

UnmarshalBodyStructure unmarshals a BodyStructure.

func (BodyStructure) ContainedResources added in v0.0.6

func (r BodyStructure) ContainedResources() []json.RawMessage

This function returns resource reference information

func (BodyStructure) MarshalJSON

func (r BodyStructure) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given BodyStructure as JSON into a byte slice

func (BodyStructure) ResourceRef added in v0.0.4

func (r BodyStructure) ResourceRef() (string, *string)

This function returns resource reference information

type Bundle

type Bundle struct {
	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"`
	Identifier    *Identifier   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type          BundleType    `bson:"type" json:"type"`
	Timestamp     *string       `bson:"timestamp,omitempty" json:"timestamp,omitempty"`
	Total         *int          `bson:"total,omitempty" json:"total,omitempty"`
	Link          []BundleLink  `bson:"link,omitempty" json:"link,omitempty"`
	Entry         []BundleEntry `bson:"entry,omitempty" json:"entry,omitempty"`
	Signature     *Signature    `bson:"signature,omitempty" json:"signature,omitempty"`
}

Bundle is documented here http://hl7.org/fhir/StructureDefinition/Bundle A container for a collection of resources.

func UnmarshalBundle

func UnmarshalBundle(b []byte) (Bundle, error)

UnmarshalBundle unmarshals a Bundle.

func (Bundle) ContainedResources added in v0.0.6

func (r Bundle) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Bundle) MarshalJSON

func (r Bundle) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Bundle as JSON into a byte slice

func (Bundle) ResourceRef added in v0.0.4

func (r Bundle) ResourceRef() (string, *string)

This function returns resource reference information

type BundleEntry

type BundleEntry struct {
	Id                *string              `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Link              []BundleLink         `bson:"link,omitempty" json:"link,omitempty"`
	FullUrl           *string              `bson:"fullUrl,omitempty" json:"fullUrl,omitempty"`
	Resource          json.RawMessage      `bson:"resource,omitempty" json:"resource,omitempty"`
	Search            *BundleEntrySearch   `bson:"search,omitempty" json:"search,omitempty"`
	Request           *BundleEntryRequest  `bson:"request,omitempty" json:"request,omitempty"`
	Response          *BundleEntryResponse `bson:"response,omitempty" json:"response,omitempty"`
}

An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

type BundleEntryRequest

type BundleEntryRequest struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Method            HTTPVerb    `bson:"method" json:"method"`
	Url               string      `bson:"url" json:"url"`
	IfNoneMatch       *string     `bson:"ifNoneMatch,omitempty" json:"ifNoneMatch,omitempty"`
	IfModifiedSince   *string     `bson:"ifModifiedSince,omitempty" json:"ifModifiedSince,omitempty"`
	IfMatch           *string     `bson:"ifMatch,omitempty" json:"ifMatch,omitempty"`
	IfNoneExist       *string     `bson:"ifNoneExist,omitempty" json:"ifNoneExist,omitempty"`
}

Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.

type BundleEntryResponse

type BundleEntryResponse struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Status            string          `bson:"status" json:"status"`
	Location          *string         `bson:"location,omitempty" json:"location,omitempty"`
	Etag              *string         `bson:"etag,omitempty" json:"etag,omitempty"`
	LastModified      *string         `bson:"lastModified,omitempty" json:"lastModified,omitempty"`
	Outcome           json.RawMessage `bson:"outcome,omitempty" json:"outcome,omitempty"`
}

Indicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history.

type BundleEntrySearch

type BundleEntrySearch struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Mode              *SearchEntryMode `bson:"mode,omitempty" json:"mode,omitempty"`
	Score             *json.Number     `bson:"score,omitempty" json:"score,omitempty"`
}

Information about the search process that lead to the creation of this entry.

type BundleLink struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Relation          string      `bson:"relation" json:"relation"`
	Url               string      `bson:"url" json:"url"`
}

A series of links that provide context to this bundle.

Both Bundle.link and Bundle.entry.link are defined to support providing additional context when Bundles are used (e.g. [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS)).

Bundle.entry.link corresponds to links found in the HTTP header if the resource in the entry was [read](http.html#read) directly.

This specification defines some specific uses of Bundle.link for [searching](search.html#conformance) and [paging](http.html#paging), but no specific uses for Bundle.entry.link, and no defined function in a transaction - the meaning is implementation specific.

type BundleType

type BundleType int

BundleType is documented here http://hl7.org/fhir/ValueSet/bundle-type

const (
	BundleTypeDocument BundleType = iota
	BundleTypeMessage
	BundleTypeTransaction
	BundleTypeTransactionResponse
	BundleTypeBatch
	BundleTypeBatchResponse
	BundleTypeHistory
	BundleTypeSearchset
	BundleTypeCollection
)

func (BundleType) Code

func (code BundleType) Code() string

func (BundleType) Definition

func (code BundleType) Definition() string

func (BundleType) Display

func (code BundleType) Display() string

func (BundleType) MarshalJSON

func (code BundleType) MarshalJSON() ([]byte, error)

func (BundleType) String

func (code BundleType) String() string

func (*BundleType) UnmarshalJSON

func (code *BundleType) UnmarshalJSON(input []byte) error

type CapabilityStatement

type CapabilityStatement struct {
	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"`
	Text                *Narrative                         `bson:"text,omitempty" json:"text,omitempty"`
	Contained           []json.RawMessage                  `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension           []Extension                        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension                        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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              PublicationStatus                  `bson:"status" json:"status"`
	Experimental        *bool                              `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date                string                             `bson:"date" json:"date"`
	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                CapabilityStatementKind            `bson:"kind" json:"kind"`
	Instantiates        []string                           `bson:"instantiates,omitempty" json:"instantiates,omitempty"`
	Imports             []string                           `bson:"imports,omitempty" json:"imports,omitempty"`
	Software            *CapabilityStatementSoftware       `bson:"software,omitempty" json:"software,omitempty"`
	Implementation      *CapabilityStatementImplementation `bson:"implementation,omitempty" json:"implementation,omitempty"`
	FhirVersion         FHIRVersion                        `bson:"fhirVersion" json:"fhirVersion"`
	Format              []string                           `bson:"format" json:"format"`
	PatchFormat         []string                           `bson:"patchFormat,omitempty" json:"patchFormat,omitempty"`
	ImplementationGuide []string                           `bson:"implementationGuide,omitempty" json:"implementationGuide,omitempty"`
	Rest                []CapabilityStatementRest          `bson:"rest,omitempty" json:"rest,omitempty"`
	Messaging           []CapabilityStatementMessaging     `bson:"messaging,omitempty" json:"messaging,omitempty"`
	Document            []CapabilityStatementDocument      `bson:"document,omitempty" json:"document,omitempty"`
}

CapabilityStatement is documented here http://hl7.org/fhir/StructureDefinition/CapabilityStatement A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.

func UnmarshalCapabilityStatement

func UnmarshalCapabilityStatement(b []byte) (CapabilityStatement, error)

UnmarshalCapabilityStatement unmarshals a CapabilityStatement.

func (CapabilityStatement) ContainedResources added in v0.0.6

func (r CapabilityStatement) ContainedResources() []json.RawMessage

This function returns resource reference information

func (CapabilityStatement) MarshalJSON

func (r CapabilityStatement) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given CapabilityStatement as JSON into a byte slice

func (CapabilityStatement) ResourceRef added in v0.0.4

func (r CapabilityStatement) ResourceRef() (string, *string)

This function returns resource reference information

type CapabilityStatementDocument

type CapabilityStatementDocument struct {
	Id                *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Mode              DocumentMode `bson:"mode" json:"mode"`
	Documentation     *string      `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Profile           string       `bson:"profile" json:"profile"`
}

A document definition.

type CapabilityStatementImplementation

type CapabilityStatementImplementation struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description       string      `bson:"description" json:"description"`
	Url               *string     `bson:"url,omitempty" json:"url,omitempty"`
	Custodian         *Reference  `bson:"custodian,omitempty" json:"custodian,omitempty"`
}

Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program.

type CapabilityStatementKind

type CapabilityStatementKind int

CapabilityStatementKind is documented here http://hl7.org/fhir/ValueSet/capability-statement-kind

const (
	CapabilityStatementKindInstance CapabilityStatementKind = iota
	CapabilityStatementKindCapability
	CapabilityStatementKindRequirements
)

func (CapabilityStatementKind) Code

func (code CapabilityStatementKind) Code() string

func (CapabilityStatementKind) Definition

func (code CapabilityStatementKind) Definition() string

func (CapabilityStatementKind) Display

func (code CapabilityStatementKind) Display() string

func (CapabilityStatementKind) MarshalJSON

func (code CapabilityStatementKind) MarshalJSON() ([]byte, error)

func (CapabilityStatementKind) String

func (code CapabilityStatementKind) String() string

func (*CapabilityStatementKind) UnmarshalJSON

func (code *CapabilityStatementKind) UnmarshalJSON(input []byte) error

type CapabilityStatementMessaging

type CapabilityStatementMessaging struct {
	Id                *string                                        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Endpoint          []CapabilityStatementMessagingEndpoint         `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
	ReliableCache     *int                                           `bson:"reliableCache,omitempty" json:"reliableCache,omitempty"`
	Documentation     *string                                        `bson:"documentation,omitempty" json:"documentation,omitempty"`
	SupportedMessage  []CapabilityStatementMessagingSupportedMessage `bson:"supportedMessage,omitempty" json:"supportedMessage,omitempty"`
}

A description of the messaging capabilities of the solution. Multiple repetitions allow the documentation of multiple endpoints per solution.

type CapabilityStatementMessagingEndpoint

type CapabilityStatementMessagingEndpoint struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Protocol          Coding      `bson:"protocol" json:"protocol"`
	Address           string      `bson:"address" json:"address"`
}

An endpoint (network accessible address) to which messages and/or replies are to be sent.

type CapabilityStatementMessagingSupportedMessage

type CapabilityStatementMessagingSupportedMessage struct {
	Id                *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Mode              EventCapabilityMode `bson:"mode" json:"mode"`
	Definition        string              `bson:"definition" json:"definition"`
}

References to message definitions for messages this system can send or receive. This is a proposed alternative to the messaging.event structure.

type CapabilityStatementRest

type CapabilityStatementRest struct {
	Id                *string                                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Mode              RestfulCapabilityMode                        `bson:"mode" json:"mode"`
	Documentation     *string                                      `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Security          *CapabilityStatementRestSecurity             `bson:"security,omitempty" json:"security,omitempty"`
	Resource          []CapabilityStatementRestResource            `bson:"resource,omitempty" json:"resource,omitempty"`
	Interaction       []CapabilityStatementRestInteraction         `bson:"interaction,omitempty" json:"interaction,omitempty"`
	SearchParam       []CapabilityStatementRestResourceSearchParam `bson:"searchParam,omitempty" json:"searchParam,omitempty"`
	Operation         []CapabilityStatementRestResourceOperation   `bson:"operation,omitempty" json:"operation,omitempty"`
	Compartment       []string                                     `bson:"compartment,omitempty" json:"compartment,omitempty"`
}

A definition of the restful capabilities of the solution, if any. Multiple repetitions allow definition of both client and/or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements).

type CapabilityStatementRestInteraction

type CapabilityStatementRestInteraction struct {
	Id                *string                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              SystemRestfulInteraction `bson:"code" json:"code"`
	Documentation     *string                  `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

A specification of restful operations supported by the system.

type CapabilityStatementRestResource

type CapabilityStatementRestResource struct {
	Id                *string                                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              ResourceType                                 `bson:"type" json:"type"`
	Profile           *string                                      `bson:"profile,omitempty" json:"profile,omitempty"`
	SupportedProfile  []string                                     `bson:"supportedProfile,omitempty" json:"supportedProfile,omitempty"`
	Documentation     *string                                      `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Interaction       []CapabilityStatementRestResourceInteraction `bson:"interaction,omitempty" json:"interaction,omitempty"`
	Versioning        *ResourceVersionPolicy                       `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   *ConditionalReadStatus                       `bson:"conditionalRead,omitempty" json:"conditionalRead,omitempty"`
	ConditionalUpdate *bool                                        `bson:"conditionalUpdate,omitempty" json:"conditionalUpdate,omitempty"`
	ConditionalDelete *ConditionalDeleteStatus                     `bson:"conditionalDelete,omitempty" json:"conditionalDelete,omitempty"`
	ReferencePolicy   []ReferenceHandlingPolicy                    `bson:"referencePolicy,omitempty" json:"referencePolicy,omitempty"`
	SearchInclude     []string                                     `bson:"searchInclude,omitempty" json:"searchInclude,omitempty"`
	SearchRevInclude  []string                                     `bson:"searchRevInclude,omitempty" json:"searchRevInclude,omitempty"`
	SearchParam       []CapabilityStatementRestResourceSearchParam `bson:"searchParam,omitempty" json:"searchParam,omitempty"`
	Operation         []CapabilityStatementRestResourceOperation   `bson:"operation,omitempty" json:"operation,omitempty"`
}

A specification of the restful capabilities of the solution for a specific resource type. Max of one repetition per resource type.

type CapabilityStatementRestResourceInteraction

type CapabilityStatementRestResourceInteraction struct {
	Id                *string                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              TypeRestfulInteraction `bson:"code" json:"code"`
	Documentation     *string                `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

Identifies a restful operation supported by the solution. In general, a Resource will only appear in a CapabilityStatement if the server actually has some capabilities - e.g. there is at least one interaction supported. However interactions can be omitted to support summarization (_summary = true).

type CapabilityStatementRestResourceOperation

type CapabilityStatementRestResourceOperation struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string      `bson:"name" json:"name"`
	Definition        string      `bson:"definition" json:"definition"`
	Documentation     *string     `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the operation, and the parameters.

Operations linked from CapabilityStatement.rest.resource.operation must have OperationDefinition.type = true or OperationDefinition.instance = true.

If an operation that is listed in multiple CapabilityStatement.rest.resource.operation (e.g. for different resource types), then clients should understand that the operation is only supported on the specified resource types, and that may be a subset of those listed in OperationDefinition.resource.

type CapabilityStatementRestResourceSearchParam

type CapabilityStatementRestResourceSearchParam struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string          `bson:"name" json:"name"`
	Definition        *string         `bson:"definition,omitempty" json:"definition,omitempty"`
	Type              SearchParamType `bson:"type" json:"type"`
	Documentation     *string         `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. The search parameters should include the control search parameters such as _sort, _count, etc. that also apply to this resource (though many will be listed at [CapabilityStatement.rest.searchParam](capabilitystatement-definitions.html#CapabilityStatement.rest.searchParam)). The behavior of some search parameters may be further described by other code or extension elements, or narrative within the capability statement or linked SearchParameter(searchparameter.html#) definitions.

type CapabilityStatementRestSecurity

type CapabilityStatementRestSecurity struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Cors              *bool             `bson:"cors,omitempty" json:"cors,omitempty"`
	Service           []CodeableConcept `bson:"service,omitempty" json:"service,omitempty"`
	Description       *string           `bson:"description,omitempty" json:"description,omitempty"`
}

Information about security implementation from an interface perspective - what a client needs to know.

type CapabilityStatementSoftware

type CapabilityStatementSoftware struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string      `bson:"name" json:"name"`
	Version           *string     `bson:"version,omitempty" json:"version,omitempty"`
	ReleaseDate       *string     `bson:"releaseDate,omitempty" json:"releaseDate,omitempty"`
}

Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation.

type CarePlan

type CarePlan struct {
	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"`
	Text                  *Narrative         `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage  `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier            []Identifier       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	InstantiatesCanonical []string           `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri       []string           `bson:"instantiatesUri,omitempty" json:"instantiatesUri,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                RequestStatus      `bson:"status" json:"status"`
	Intent                CarePlanIntent     `bson:"intent" json:"intent"`
	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" json:"subject"`
	Encounter             *Reference         `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Period                *Period            `bson:"period,omitempty" json:"period,omitempty"`
	Created               *string            `bson:"created,omitempty" json:"created,omitempty"`
	Author                *Reference         `bson:"author,omitempty" json:"author,omitempty"`
	Contributor           []Reference        `bson:"contributor,omitempty" json:"contributor,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              []CarePlanActivity `bson:"activity,omitempty" json:"activity,omitempty"`
	Note                  []Annotation       `bson:"note,omitempty" json:"note,omitempty"`
}

CarePlan is documented here http://hl7.org/fhir/StructureDefinition/CarePlan Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.

func UnmarshalCarePlan

func UnmarshalCarePlan(b []byte) (CarePlan, error)

UnmarshalCarePlan unmarshals a CarePlan.

func (CarePlan) ContainedResources added in v0.0.6

func (r CarePlan) ContainedResources() []json.RawMessage

This function returns resource reference information

func (CarePlan) MarshalJSON

func (r CarePlan) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given CarePlan as JSON into a byte slice

func (CarePlan) ResourceRef added in v0.0.4

func (r CarePlan) ResourceRef() (string, *string)

This function returns resource reference information

type CarePlanActivity

type CarePlanActivity struct {
	Id                     *string                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension              []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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                 *CarePlanActivityDetail `bson:"detail,omitempty" json:"detail,omitempty"`
}

Identifies a planned action to occur as part of the plan. For example, a medication to be used, lab tests to perform, self-monitoring, education, etc.

type CarePlanActivityDetail

type CarePlanActivityDetail struct {
	Id                     *string                `bson:"id,omitempty" json:"id,omitempty"`
	Extension              []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Kind                   *CarePlanActivityKind  `bson:"kind,omitempty" json:"kind,omitempty"`
	InstantiatesCanonical  []string               `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri        []string               `bson:"instantiatesUri,omitempty" json:"instantiatesUri,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                 CarePlanActivityStatus `bson:"status" json:"status"`
	StatusReason           *CodeableConcept       `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	DoNotPerform           *bool                  `bson:"doNotPerform,omitempty" json:"doNotPerform,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"`
}

A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc.

type CarePlanActivityKind

type CarePlanActivityKind int

CarePlanActivityKind is documented here http://hl7.org/fhir/ValueSet/care-plan-activity-kind

const (
	CarePlanActivityKindAccount CarePlanActivityKind = iota
	CarePlanActivityKindActivityDefinition
	CarePlanActivityKindAdverseEvent
	CarePlanActivityKindAllergyIntolerance
	CarePlanActivityKindAppointment
	CarePlanActivityKindAppointmentResponse
	CarePlanActivityKindAuditEvent
	CarePlanActivityKindBasic
	CarePlanActivityKindBinary
	CarePlanActivityKindBiologicallyDerivedProduct
	CarePlanActivityKindBodyStructure
	CarePlanActivityKindBundle
	CarePlanActivityKindCapabilityStatement
	CarePlanActivityKindCarePlan
	CarePlanActivityKindCareTeam
	CarePlanActivityKindCatalogEntry
	CarePlanActivityKindChargeItem
	CarePlanActivityKindChargeItemDefinition
	CarePlanActivityKindClaim
	CarePlanActivityKindClaimResponse
	CarePlanActivityKindClinicalImpression
	CarePlanActivityKindCodeSystem
	CarePlanActivityKindCommunication
	CarePlanActivityKindCommunicationRequest
	CarePlanActivityKindCompartmentDefinition
	CarePlanActivityKindComposition
	CarePlanActivityKindConceptMap
	CarePlanActivityKindCondition
	CarePlanActivityKindConsent
	CarePlanActivityKindContract
	CarePlanActivityKindCoverage
	CarePlanActivityKindCoverageEligibilityRequest
	CarePlanActivityKindCoverageEligibilityResponse
	CarePlanActivityKindDetectedIssue
	CarePlanActivityKindDevice
	CarePlanActivityKindDeviceDefinition
	CarePlanActivityKindDeviceMetric
	CarePlanActivityKindDeviceRequest
	CarePlanActivityKindDeviceUseStatement
	CarePlanActivityKindDiagnosticReport
	CarePlanActivityKindDocumentManifest
	CarePlanActivityKindDocumentReference
	CarePlanActivityKindDomainResource
	CarePlanActivityKindEffectEvidenceSynthesis
	CarePlanActivityKindEncounter
	CarePlanActivityKindEndpoint
	CarePlanActivityKindEnrollmentRequest
	CarePlanActivityKindEnrollmentResponse
	CarePlanActivityKindEpisodeOfCare
	CarePlanActivityKindEventDefinition
	CarePlanActivityKindEvidence
	CarePlanActivityKindEvidenceVariable
	CarePlanActivityKindExampleScenario
	CarePlanActivityKindExplanationOfBenefit
	CarePlanActivityKindFamilyMemberHistory
	CarePlanActivityKindFlag
	CarePlanActivityKindGoal
	CarePlanActivityKindGraphDefinition
	CarePlanActivityKindGroup
	CarePlanActivityKindGuidanceResponse
	CarePlanActivityKindHealthcareService
	CarePlanActivityKindImagingStudy
	CarePlanActivityKindImmunization
	CarePlanActivityKindImmunizationEvaluation
	CarePlanActivityKindImmunizationRecommendation
	CarePlanActivityKindImplementationGuide
	CarePlanActivityKindInsurancePlan
	CarePlanActivityKindInvoice
	CarePlanActivityKindLibrary
	CarePlanActivityKindLinkage
	CarePlanActivityKindList
	CarePlanActivityKindLocation
	CarePlanActivityKindMeasure
	CarePlanActivityKindMeasureReport
	CarePlanActivityKindMedia
	CarePlanActivityKindMedication
	CarePlanActivityKindMedicationAdministration
	CarePlanActivityKindMedicationDispense
	CarePlanActivityKindMedicationKnowledge
	CarePlanActivityKindMedicationRequest
	CarePlanActivityKindMedicationStatement
	CarePlanActivityKindMedicinalProduct
	CarePlanActivityKindMedicinalProductAuthorization
	CarePlanActivityKindMedicinalProductContraindication
	CarePlanActivityKindMedicinalProductIndication
	CarePlanActivityKindMedicinalProductIngredient
	CarePlanActivityKindMedicinalProductInteraction
	CarePlanActivityKindMedicinalProductManufactured
	CarePlanActivityKindMedicinalProductPackaged
	CarePlanActivityKindMedicinalProductPharmaceutical
	CarePlanActivityKindMedicinalProductUndesirableEffect
	CarePlanActivityKindMessageDefinition
	CarePlanActivityKindMessageHeader
	CarePlanActivityKindMolecularSequence
	CarePlanActivityKindNamingSystem
	CarePlanActivityKindNutritionOrder
	CarePlanActivityKindObservation
	CarePlanActivityKindObservationDefinition
	CarePlanActivityKindOperationDefinition
	CarePlanActivityKindOperationOutcome
	CarePlanActivityKindOrganization
	CarePlanActivityKindOrganizationAffiliation
	CarePlanActivityKindParameters
	CarePlanActivityKindPatient
	CarePlanActivityKindPaymentNotice
	CarePlanActivityKindPaymentReconciliation
	CarePlanActivityKindPerson
	CarePlanActivityKindPlanDefinition
	CarePlanActivityKindPractitioner
	CarePlanActivityKindPractitionerRole
	CarePlanActivityKindProcedure
	CarePlanActivityKindProvenance
	CarePlanActivityKindQuestionnaire
	CarePlanActivityKindQuestionnaireResponse
	CarePlanActivityKindRelatedPerson
	CarePlanActivityKindRequestGroup
	CarePlanActivityKindResearchDefinition
	CarePlanActivityKindResearchElementDefinition
	CarePlanActivityKindResearchStudy
	CarePlanActivityKindResearchSubject
	CarePlanActivityKindResource
	CarePlanActivityKindRiskAssessment
	CarePlanActivityKindRiskEvidenceSynthesis
	CarePlanActivityKindSchedule
	CarePlanActivityKindSearchParameter
	CarePlanActivityKindServiceRequest
	CarePlanActivityKindSlot
	CarePlanActivityKindSpecimen
	CarePlanActivityKindSpecimenDefinition
	CarePlanActivityKindStructureDefinition
	CarePlanActivityKindStructureMap
	CarePlanActivityKindSubscription
	CarePlanActivityKindSubstance
	CarePlanActivityKindSubstanceNucleicAcid
	CarePlanActivityKindSubstancePolymer
	CarePlanActivityKindSubstanceProtein
	CarePlanActivityKindSubstanceReferenceInformation
	CarePlanActivityKindSubstanceSourceMaterial
	CarePlanActivityKindSubstanceSpecification
	CarePlanActivityKindSupplyDelivery
	CarePlanActivityKindSupplyRequest
	CarePlanActivityKindTask
	CarePlanActivityKindTerminologyCapabilities
	CarePlanActivityKindTestReport
	CarePlanActivityKindTestScript
	CarePlanActivityKindValueSet
	CarePlanActivityKindVerificationResult
	CarePlanActivityKindVisionPrescription
)

func (CarePlanActivityKind) Code

func (code CarePlanActivityKind) Code() string

func (CarePlanActivityKind) Definition

func (code CarePlanActivityKind) Definition() string

func (CarePlanActivityKind) Display

func (code CarePlanActivityKind) Display() string

func (CarePlanActivityKind) MarshalJSON

func (code CarePlanActivityKind) MarshalJSON() ([]byte, error)

func (CarePlanActivityKind) String

func (code CarePlanActivityKind) String() string

func (*CarePlanActivityKind) UnmarshalJSON

func (code *CarePlanActivityKind) UnmarshalJSON(input []byte) error

type CarePlanActivityStatus

type CarePlanActivityStatus int

CarePlanActivityStatus is documented here http://hl7.org/fhir/ValueSet/care-plan-activity-status

const (
	CarePlanActivityStatusNotStarted CarePlanActivityStatus = iota
	CarePlanActivityStatusScheduled
	CarePlanActivityStatusInProgress
	CarePlanActivityStatusOnHold
	CarePlanActivityStatusCompleted
	CarePlanActivityStatusCancelled
	CarePlanActivityStatusStopped
	CarePlanActivityStatusUnknown
	CarePlanActivityStatusEnteredInError
)

func (CarePlanActivityStatus) Code

func (code CarePlanActivityStatus) Code() string

func (CarePlanActivityStatus) Definition

func (code CarePlanActivityStatus) Definition() string

func (CarePlanActivityStatus) Display

func (code CarePlanActivityStatus) Display() string

func (CarePlanActivityStatus) MarshalJSON

func (code CarePlanActivityStatus) MarshalJSON() ([]byte, error)

func (CarePlanActivityStatus) String

func (code CarePlanActivityStatus) String() string

func (*CarePlanActivityStatus) UnmarshalJSON

func (code *CarePlanActivityStatus) UnmarshalJSON(input []byte) error

type CarePlanIntent

type CarePlanIntent int

CarePlanIntent is documented here http://hl7.org/fhir/ValueSet/care-plan-intent

const (
	CarePlanIntentProposal CarePlanIntent = iota
	CarePlanIntentPlan
	CarePlanIntentDirective
	CarePlanIntentOrder
	CarePlanIntentOriginalOrder
	CarePlanIntentReflexOrder
	CarePlanIntentFillerOrder
	CarePlanIntentInstanceOrder
	CarePlanIntentOption
)

func (CarePlanIntent) Code

func (code CarePlanIntent) Code() string

func (CarePlanIntent) Definition

func (code CarePlanIntent) Definition() string

func (CarePlanIntent) Display

func (code CarePlanIntent) Display() string

func (CarePlanIntent) MarshalJSON

func (code CarePlanIntent) MarshalJSON() ([]byte, error)

func (CarePlanIntent) String

func (code CarePlanIntent) String() string

func (*CarePlanIntent) UnmarshalJSON

func (code *CarePlanIntent) UnmarshalJSON(input []byte) error

type CareTeam

type CareTeam struct {
	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"`
	Text                 *Narrative            `bson:"text,omitempty" json:"text,omitempty"`
	Contained            []json.RawMessage     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension            []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier           []Identifier          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               *CareTeamStatus       `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"`
	Encounter            *Reference            `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Period               *Period               `bson:"period,omitempty" json:"period,omitempty"`
	Participant          []CareTeamParticipant `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"`
	Telecom              []ContactPoint        `bson:"telecom,omitempty" json:"telecom,omitempty"`
	Note                 []Annotation          `bson:"note,omitempty" json:"note,omitempty"`
}

CareTeam is documented here http://hl7.org/fhir/StructureDefinition/CareTeam The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.

func UnmarshalCareTeam

func UnmarshalCareTeam(b []byte) (CareTeam, error)

UnmarshalCareTeam unmarshals a CareTeam.

func (CareTeam) ContainedResources added in v0.0.6

func (r CareTeam) ContainedResources() []json.RawMessage

This function returns resource reference information

func (CareTeam) MarshalJSON

func (r CareTeam) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given CareTeam as JSON into a byte slice

func (CareTeam) ResourceRef added in v0.0.4

func (r CareTeam) ResourceRef() (string, *string)

This function returns resource reference information

type CareTeamParticipant

type CareTeamParticipant struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
}

Identifies all people and organizations who are expected to be involved in the care team.

type CareTeamStatus

type CareTeamStatus int

CareTeamStatus is documented here http://hl7.org/fhir/ValueSet/care-team-status

const (
	CareTeamStatusProposed CareTeamStatus = iota
	CareTeamStatusActive
	CareTeamStatusSuspended
	CareTeamStatusInactive
	CareTeamStatusEnteredInError
)

func (CareTeamStatus) Code

func (code CareTeamStatus) Code() string

func (CareTeamStatus) Definition

func (code CareTeamStatus) Definition() string

func (CareTeamStatus) Display

func (code CareTeamStatus) Display() string

func (CareTeamStatus) MarshalJSON

func (code CareTeamStatus) MarshalJSON() ([]byte, error)

func (CareTeamStatus) String

func (code CareTeamStatus) String() string

func (*CareTeamStatus) UnmarshalJSON

func (code *CareTeamStatus) UnmarshalJSON(input []byte) error

type CatalogEntry

type CatalogEntry struct {
	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"`
	Text                     *Narrative                 `bson:"text,omitempty" json:"text,omitempty"`
	Contained                []json.RawMessage          `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                []Extension                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier               []Identifier               `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type                     *CodeableConcept           `bson:"type,omitempty" json:"type,omitempty"`
	Orderable                bool                       `bson:"orderable" json:"orderable"`
	ReferencedItem           Reference                  `bson:"referencedItem" json:"referencedItem"`
	AdditionalIdentifier     []Identifier               `bson:"additionalIdentifier,omitempty" json:"additionalIdentifier,omitempty"`
	Classification           []CodeableConcept          `bson:"classification,omitempty" json:"classification,omitempty"`
	Status                   *PublicationStatus         `bson:"status,omitempty" json:"status,omitempty"`
	ValidityPeriod           *Period                    `bson:"validityPeriod,omitempty" json:"validityPeriod,omitempty"`
	ValidTo                  *string                    `bson:"validTo,omitempty" json:"validTo,omitempty"`
	LastUpdated              *string                    `bson:"lastUpdated,omitempty" json:"lastUpdated,omitempty"`
	AdditionalCharacteristic []CodeableConcept          `bson:"additionalCharacteristic,omitempty" json:"additionalCharacteristic,omitempty"`
	AdditionalClassification []CodeableConcept          `bson:"additionalClassification,omitempty" json:"additionalClassification,omitempty"`
	RelatedEntry             []CatalogEntryRelatedEntry `bson:"relatedEntry,omitempty" json:"relatedEntry,omitempty"`
}

CatalogEntry is documented here http://hl7.org/fhir/StructureDefinition/CatalogEntry Catalog entries are wrappers that contextualize items included in a catalog.

func UnmarshalCatalogEntry

func UnmarshalCatalogEntry(b []byte) (CatalogEntry, error)

UnmarshalCatalogEntry unmarshals a CatalogEntry.

func (CatalogEntry) ContainedResources added in v0.0.6

func (r CatalogEntry) ContainedResources() []json.RawMessage

This function returns resource reference information

func (CatalogEntry) MarshalJSON

func (r CatalogEntry) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given CatalogEntry as JSON into a byte slice

func (CatalogEntry) ResourceRef added in v0.0.4

func (r CatalogEntry) ResourceRef() (string, *string)

This function returns resource reference information

type CatalogEntryRelatedEntry

type CatalogEntryRelatedEntry struct {
	Id                *string                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Relationtype      CatalogEntryRelationType `bson:"relationtype" json:"relationtype"`
	Item              Reference                `bson:"item" json:"item"`
}

Used for example, to point to a substance, or to a device used to administer a medication.

type CatalogEntryRelationType

type CatalogEntryRelationType int

CatalogEntryRelationType is documented here http://hl7.org/fhir/ValueSet/relation-type

const (
	CatalogEntryRelationTypeTriggers CatalogEntryRelationType = iota
	CatalogEntryRelationTypeIsReplacedBy
)

func (CatalogEntryRelationType) Code

func (code CatalogEntryRelationType) Code() string

func (CatalogEntryRelationType) Definition

func (code CatalogEntryRelationType) Definition() string

func (CatalogEntryRelationType) Display

func (code CatalogEntryRelationType) Display() string

func (CatalogEntryRelationType) MarshalJSON

func (code CatalogEntryRelationType) MarshalJSON() ([]byte, error)

func (CatalogEntryRelationType) String

func (code CatalogEntryRelationType) String() string

func (*CatalogEntryRelationType) UnmarshalJSON

func (code *CatalogEntryRelationType) UnmarshalJSON(input []byte) error

type ChargeItem

type ChargeItem struct {
	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"`
	Text                   *Narrative            `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier             []Identifier          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	DefinitionUri          []string              `bson:"definitionUri,omitempty" json:"definitionUri,omitempty"`
	DefinitionCanonical    []string              `bson:"definitionCanonical,omitempty" json:"definitionCanonical,omitempty"`
	Status                 ChargeItemStatus      `bson:"status" json:"status"`
	PartOf                 []Reference           `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Code                   CodeableConcept       `bson:"code" json:"code"`
	Subject                Reference             `bson:"subject" json:"subject"`
	Context                *Reference            `bson:"context,omitempty" json:"context,omitempty"`
	OccurrenceDateTime     *string               `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod       *Period               `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	OccurrenceTiming       *Timing               `bson:"occurrenceTiming,omitempty" json:"occurrenceTiming,omitempty"`
	Performer              []ChargeItemPerformer `bson:"performer,omitempty" json:"performer,omitempty"`
	PerformingOrganization *Reference            `bson:"performingOrganization,omitempty" json:"performingOrganization,omitempty"`
	RequestingOrganization *Reference            `bson:"requestingOrganization,omitempty" json:"requestingOrganization,omitempty"`
	CostCenter             *Reference            `bson:"costCenter,omitempty" json:"costCenter,omitempty"`
	Quantity               *Quantity             `bson:"quantity,omitempty" json:"quantity,omitempty"`
	Bodysite               []CodeableConcept     `bson:"bodysite,omitempty" json:"bodysite,omitempty"`
	FactorOverride         *json.Number          `bson:"factorOverride,omitempty" json:"factorOverride,omitempty"`
	PriceOverride          *Money                `bson:"priceOverride,omitempty" json:"priceOverride,omitempty"`
	OverrideReason         *string               `bson:"overrideReason,omitempty" json:"overrideReason,omitempty"`
	Enterer                *Reference            `bson:"enterer,omitempty" json:"enterer,omitempty"`
	EnteredDate            *string               `bson:"enteredDate,omitempty" json:"enteredDate,omitempty"`
	Reason                 []CodeableConcept     `bson:"reason,omitempty" json:"reason,omitempty"`
	Service                []Reference           `bson:"service,omitempty" json:"service,omitempty"`
	ProductReference       *Reference            `bson:"productReference,omitempty" json:"productReference,omitempty"`
	ProductCodeableConcept *CodeableConcept      `bson:"productCodeableConcept,omitempty" json:"productCodeableConcept,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"`
}

ChargeItem is documented here http://hl7.org/fhir/StructureDefinition/ChargeItem The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation.

func UnmarshalChargeItem

func UnmarshalChargeItem(b []byte) (ChargeItem, error)

UnmarshalChargeItem unmarshals a ChargeItem.

func (ChargeItem) ContainedResources added in v0.0.6

func (r ChargeItem) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ChargeItem) MarshalJSON

func (r ChargeItem) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ChargeItem as JSON into a byte slice

func (ChargeItem) ResourceRef added in v0.0.4

func (r ChargeItem) ResourceRef() (string, *string)

This function returns resource reference information

type ChargeItemDefinition

type ChargeItemDefinition struct {
	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"`
	Text              *Narrative                          `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                   `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Url               string                              `bson:"url" json:"url"`
	Identifier        []Identifier                        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version           *string                             `bson:"version,omitempty" json:"version,omitempty"`
	Title             *string                             `bson:"title,omitempty" json:"title,omitempty"`
	DerivedFromUri    []string                            `bson:"derivedFromUri,omitempty" json:"derivedFromUri,omitempty"`
	PartOf            []string                            `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Replaces          []string                            `bson:"replaces,omitempty" json:"replaces,omitempty"`
	Status            PublicationStatus                   `bson:"status" json:"status"`
	Experimental      *bool                               `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string                             `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"`
	ApprovalDate      *string                             `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate    *string                             `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod   *Period                             `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Code              *CodeableConcept                    `bson:"code,omitempty" json:"code,omitempty"`
	Instance          []Reference                         `bson:"instance,omitempty" json:"instance,omitempty"`
	Applicability     []ChargeItemDefinitionApplicability `bson:"applicability,omitempty" json:"applicability,omitempty"`
	PropertyGroup     []ChargeItemDefinitionPropertyGroup `bson:"propertyGroup,omitempty" json:"propertyGroup,omitempty"`
}

ChargeItemDefinition is documented here http://hl7.org/fhir/StructureDefinition/ChargeItemDefinition The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system.

func UnmarshalChargeItemDefinition

func UnmarshalChargeItemDefinition(b []byte) (ChargeItemDefinition, error)

UnmarshalChargeItemDefinition unmarshals a ChargeItemDefinition.

func (ChargeItemDefinition) ContainedResources added in v0.0.6

func (r ChargeItemDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ChargeItemDefinition) MarshalJSON

func (r ChargeItemDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ChargeItemDefinition as JSON into a byte slice

func (ChargeItemDefinition) ResourceRef added in v0.0.4

func (r ChargeItemDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type ChargeItemDefinitionApplicability

type ChargeItemDefinitionApplicability struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,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"`
}

Expressions that describe applicability criteria for the billing code. The applicability conditions can be used to ascertain whether a billing item is allowed in a specific context. E.g. some billing codes may only be applicable in out-patient settings, only to male/female patients or only to children.

type ChargeItemDefinitionPropertyGroup

type ChargeItemDefinitionPropertyGroup struct {
	Id                *string                                           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Applicability     []ChargeItemDefinitionApplicability               `bson:"applicability,omitempty" json:"applicability,omitempty"`
	PriceComponent    []ChargeItemDefinitionPropertyGroupPriceComponent `bson:"priceComponent,omitempty" json:"priceComponent,omitempty"`
}

Group of properties which are applicable under the same conditions. If no applicability rules are established for the group, then all properties always apply.

type ChargeItemDefinitionPropertyGroupPriceComponent

type ChargeItemDefinitionPropertyGroupPriceComponent struct {
	Id                *string                   `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              InvoicePriceComponentType `bson:"type" json:"type"`
	Code              *CodeableConcept          `bson:"code,omitempty" json:"code,omitempty"`
	Factor            *json.Number              `bson:"factor,omitempty" json:"factor,omitempty"`
	Amount            *Money                    `bson:"amount,omitempty" json:"amount,omitempty"`
}

The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated.

type ChargeItemPerformer

type ChargeItemPerformer struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Function          *CodeableConcept `bson:"function,omitempty" json:"function,omitempty"`
	Actor             Reference        `bson:"actor" json:"actor"`
}

Indicates who or what performed or participated in the charged service.

type ChargeItemStatus

type ChargeItemStatus int

ChargeItemStatus is documented here http://hl7.org/fhir/ValueSet/chargeitem-status

const (
	ChargeItemStatusPlanned ChargeItemStatus = iota
	ChargeItemStatusBillable
	ChargeItemStatusNotBillable
	ChargeItemStatusAborted
	ChargeItemStatusBilled
	ChargeItemStatusEnteredInError
	ChargeItemStatusUnknown
)

func (ChargeItemStatus) Code

func (code ChargeItemStatus) Code() string

func (ChargeItemStatus) Definition

func (code ChargeItemStatus) Definition() string

func (ChargeItemStatus) Display

func (code ChargeItemStatus) Display() string

func (ChargeItemStatus) MarshalJSON

func (code ChargeItemStatus) MarshalJSON() ([]byte, error)

func (ChargeItemStatus) String

func (code ChargeItemStatus) String() string

func (*ChargeItemStatus) UnmarshalJSON

func (code *ChargeItemStatus) UnmarshalJSON(input []byte) error

type Claim

type Claim struct {
	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"`
	Text                 *Narrative                   `bson:"text,omitempty" json:"text,omitempty"`
	Contained            []json.RawMessage            `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension            []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier           []Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               FinancialResourceStatusCodes `bson:"status" json:"status"`
	Type                 CodeableConcept              `bson:"type" json:"type"`
	SubType              *CodeableConcept             `bson:"subType,omitempty" json:"subType,omitempty"`
	Use                  Use                          `bson:"use" json:"use"`
	Patient              Reference                    `bson:"patient" json:"patient"`
	BillablePeriod       *Period                      `bson:"billablePeriod,omitempty" json:"billablePeriod,omitempty"`
	Created              string                       `bson:"created" json:"created"`
	Enterer              *Reference                   `bson:"enterer,omitempty" json:"enterer,omitempty"`
	Insurer              *Reference                   `bson:"insurer,omitempty" json:"insurer,omitempty"`
	Provider             Reference                    `bson:"provider" json:"provider"`
	Priority             CodeableConcept              `bson:"priority" json:"priority"`
	FundsReserve         *CodeableConcept             `bson:"fundsReserve,omitempty" json:"fundsReserve,omitempty"`
	Related              []ClaimRelated               `bson:"related,omitempty" json:"related,omitempty"`
	Prescription         *Reference                   `bson:"prescription,omitempty" json:"prescription,omitempty"`
	OriginalPrescription *Reference                   `bson:"originalPrescription,omitempty" json:"originalPrescription,omitempty"`
	Payee                *ClaimPayee                  `bson:"payee,omitempty" json:"payee,omitempty"`
	Referral             *Reference                   `bson:"referral,omitempty" json:"referral,omitempty"`
	Facility             *Reference                   `bson:"facility,omitempty" json:"facility,omitempty"`
	CareTeam             []ClaimCareTeam              `bson:"careTeam,omitempty" json:"careTeam,omitempty"`
	SupportingInfo       []ClaimSupportingInfo        `bson:"supportingInfo,omitempty" json:"supportingInfo,omitempty"`
	Diagnosis            []ClaimDiagnosis             `bson:"diagnosis,omitempty" json:"diagnosis,omitempty"`
	Procedure            []ClaimProcedure             `bson:"procedure,omitempty" json:"procedure,omitempty"`
	Insurance            []ClaimInsurance             `bson:"insurance" json:"insurance"`
	Accident             *ClaimAccident               `bson:"accident,omitempty" json:"accident,omitempty"`
	Item                 []ClaimItem                  `bson:"item,omitempty" json:"item,omitempty"`
	Total                *Money                       `bson:"total,omitempty" json:"total,omitempty"`
}

Claim is documented here http://hl7.org/fhir/StructureDefinition/Claim A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func UnmarshalClaim

func UnmarshalClaim(b []byte) (Claim, error)

UnmarshalClaim unmarshals a Claim.

func (Claim) ContainedResources added in v0.0.6

func (r Claim) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Claim) MarshalJSON

func (r Claim) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Claim as JSON into a byte slice

func (Claim) ResourceRef added in v0.0.4

func (r Claim) ResourceRef() (string, *string)

This function returns resource reference information

type ClaimAccident

type ClaimAccident struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Date              string           `bson:"date" json:"date"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	LocationAddress   *Address         `bson:"locationAddress,omitempty" json:"locationAddress,omitempty"`
	LocationReference *Reference       `bson:"locationReference,omitempty" json:"locationReference,omitempty"`
}

Details of an accident which resulted in injuries which required the products and services listed in the claim.

type ClaimCareTeam

type ClaimCareTeam struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence          int              `bson:"sequence" json:"sequence"`
	Provider          Reference        `bson:"provider" json:"provider"`
	Responsible       *bool            `bson:"responsible,omitempty" json:"responsible,omitempty"`
	Role              *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Qualification     *CodeableConcept `bson:"qualification,omitempty" json:"qualification,omitempty"`
}

The members of the team who provided the products and services.

type ClaimDiagnosis

type ClaimDiagnosis struct {
	Id                       *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence                 int               `bson:"sequence" json:"sequence"`
	DiagnosisCodeableConcept CodeableConcept   `bson:"diagnosisCodeableConcept" json:"diagnosisCodeableConcept"`
	DiagnosisReference       Reference         `bson:"diagnosisReference" json:"diagnosisReference"`
	Type                     []CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	OnAdmission              *CodeableConcept  `bson:"onAdmission,omitempty" json:"onAdmission,omitempty"`
	PackageCode              *CodeableConcept  `bson:"packageCode,omitempty" json:"packageCode,omitempty"`
}

Information about diagnoses relevant to the claim items.

type ClaimInsurance

type ClaimInsurance struct {
	Id                  *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence            int         `bson:"sequence" json:"sequence"`
	Focal               bool        `bson:"focal" json:"focal"`
	Identifier          *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Coverage            Reference   `bson:"coverage" json:"coverage"`
	BusinessArrangement *string     `bson:"businessArrangement,omitempty" json:"businessArrangement,omitempty"`
	PreAuthRef          []string    `bson:"preAuthRef,omitempty" json:"preAuthRef,omitempty"`
	ClaimResponse       *Reference  `bson:"claimResponse,omitempty" json:"claimResponse,omitempty"`
}

Financial instruments for reimbursement for the health care products and services specified on the claim. All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim.

type ClaimItem

type ClaimItem struct {
	Id                      *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension               []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence                int               `bson:"sequence" json:"sequence"`
	CareTeamSequence        []int             `bson:"careTeamSequence,omitempty" json:"careTeamSequence,omitempty"`
	DiagnosisSequence       []int             `bson:"diagnosisSequence,omitempty" json:"diagnosisSequence,omitempty"`
	ProcedureSequence       []int             `bson:"procedureSequence,omitempty" json:"procedureSequence,omitempty"`
	InformationSequence     []int             `bson:"informationSequence,omitempty" json:"informationSequence,omitempty"`
	Revenue                 *CodeableConcept  `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category                *CodeableConcept  `bson:"category,omitempty" json:"category,omitempty"`
	ProductOrService        CodeableConcept   `bson:"productOrService" json:"productOrService"`
	Modifier                []CodeableConcept `bson:"modifier,omitempty" json:"modifier,omitempty"`
	ProgramCode             []CodeableConcept `bson:"programCode,omitempty" json:"programCode,omitempty"`
	ServicedDate            *string           `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               *Money            `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor                  *json.Number      `bson:"factor,omitempty" json:"factor,omitempty"`
	Net                     *Money            `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                  []ClaimItemDetail `bson:"detail,omitempty" json:"detail,omitempty"`
}

A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details.

type ClaimItemDetail

type ClaimItemDetail struct {
	Id                *string                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence          int                        `bson:"sequence" json:"sequence"`
	Revenue           *CodeableConcept           `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category          *CodeableConcept           `bson:"category,omitempty" json:"category,omitempty"`
	ProductOrService  CodeableConcept            `bson:"productOrService" json:"productOrService"`
	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         *Money                     `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor            *json.Number               `bson:"factor,omitempty" json:"factor,omitempty"`
	Net               *Money                     `bson:"net,omitempty" json:"net,omitempty"`
	Udi               []Reference                `bson:"udi,omitempty" json:"udi,omitempty"`
	SubDetail         []ClaimItemDetailSubDetail `bson:"subDetail,omitempty" json:"subDetail,omitempty"`
}

A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.

type ClaimItemDetailSubDetail

type ClaimItemDetailSubDetail struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence          int               `bson:"sequence" json:"sequence"`
	Revenue           *CodeableConcept  `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category          *CodeableConcept  `bson:"category,omitempty" json:"category,omitempty"`
	ProductOrService  CodeableConcept   `bson:"productOrService" json:"productOrService"`
	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         *Money            `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor            *json.Number      `bson:"factor,omitempty" json:"factor,omitempty"`
	Net               *Money            `bson:"net,omitempty" json:"net,omitempty"`
	Udi               []Reference       `bson:"udi,omitempty" json:"udi,omitempty"`
}

A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.

type ClaimPayee

type ClaimPayee struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept `bson:"type" json:"type"`
	Party             *Reference      `bson:"party,omitempty" json:"party,omitempty"`
}

The party to be reimbursed for cost of the products and services according to the terms of the policy. Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and choose to pay the subscriber instead.

type ClaimProcedure

type ClaimProcedure struct {
	Id                       *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence                 int               `bson:"sequence" json:"sequence"`
	Type                     []CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Date                     *string           `bson:"date,omitempty" json:"date,omitempty"`
	ProcedureCodeableConcept CodeableConcept   `bson:"procedureCodeableConcept" json:"procedureCodeableConcept"`
	ProcedureReference       Reference         `bson:"procedureReference" json:"procedureReference"`
	Udi                      []Reference       `bson:"udi,omitempty" json:"udi,omitempty"`
}

Procedures performed on the patient relevant to the billing items with the claim.

type ClaimProcessingCodes

type ClaimProcessingCodes int

ClaimProcessingCodes is documented here http://hl7.org/fhir/ValueSet/remittance-outcome

const (
	ClaimProcessingCodesQueued ClaimProcessingCodes = iota
	ClaimProcessingCodesComplete
	ClaimProcessingCodesError
	ClaimProcessingCodesPartial
)

func (ClaimProcessingCodes) Code

func (code ClaimProcessingCodes) Code() string

func (ClaimProcessingCodes) Definition

func (code ClaimProcessingCodes) Definition() string

func (ClaimProcessingCodes) Display

func (code ClaimProcessingCodes) Display() string

func (ClaimProcessingCodes) MarshalJSON

func (code ClaimProcessingCodes) MarshalJSON() ([]byte, error)

func (ClaimProcessingCodes) String

func (code ClaimProcessingCodes) String() string

func (*ClaimProcessingCodes) UnmarshalJSON

func (code *ClaimProcessingCodes) UnmarshalJSON(input []byte) error

type ClaimRelated

type ClaimRelated struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Claim             *Reference       `bson:"claim,omitempty" json:"claim,omitempty"`
	Relationship      *CodeableConcept `bson:"relationship,omitempty" json:"relationship,omitempty"`
	Reference         *Identifier      `bson:"reference,omitempty" json:"reference,omitempty"`
}

Other claims which are related to this claim such as prior submissions or claims for related services or for the same event. For example, for the original treatment and follow-up exams.

type ClaimResponse

type ClaimResponse struct {
	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"`
	Text                 *Narrative                      `bson:"text,omitempty" json:"text,omitempty"`
	Contained            []json.RawMessage               `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension            []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier           []Identifier                    `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               FinancialResourceStatusCodes    `bson:"status" json:"status"`
	Type                 CodeableConcept                 `bson:"type" json:"type"`
	SubType              *CodeableConcept                `bson:"subType,omitempty" json:"subType,omitempty"`
	Use                  Use                             `bson:"use" json:"use"`
	Patient              Reference                       `bson:"patient" json:"patient"`
	Created              string                          `bson:"created" json:"created"`
	Insurer              Reference                       `bson:"insurer" json:"insurer"`
	Requestor            *Reference                      `bson:"requestor,omitempty" json:"requestor,omitempty"`
	Request              *Reference                      `bson:"request,omitempty" json:"request,omitempty"`
	Outcome              ClaimProcessingCodes            `bson:"outcome" json:"outcome"`
	Disposition          *string                         `bson:"disposition,omitempty" json:"disposition,omitempty"`
	PreAuthRef           *string                         `bson:"preAuthRef,omitempty" json:"preAuthRef,omitempty"`
	PreAuthPeriod        *Period                         `bson:"preAuthPeriod,omitempty" json:"preAuthPeriod,omitempty"`
	PayeeType            *CodeableConcept                `bson:"payeeType,omitempty" json:"payeeType,omitempty"`
	Item                 []ClaimResponseItem             `bson:"item,omitempty" json:"item,omitempty"`
	AddItem              []ClaimResponseAddItem          `bson:"addItem,omitempty" json:"addItem,omitempty"`
	Adjudication         []ClaimResponseItemAdjudication `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	Total                []ClaimResponseTotal            `bson:"total,omitempty" json:"total,omitempty"`
	Payment              *ClaimResponsePayment           `bson:"payment,omitempty" json:"payment,omitempty"`
	FundsReserve         *CodeableConcept                `bson:"fundsReserve,omitempty" json:"fundsReserve,omitempty"`
	FormCode             *CodeableConcept                `bson:"formCode,omitempty" json:"formCode,omitempty"`
	Form                 *Attachment                     `bson:"form,omitempty" json:"form,omitempty"`
	ProcessNote          []ClaimResponseProcessNote      `bson:"processNote,omitempty" json:"processNote,omitempty"`
	CommunicationRequest []Reference                     `bson:"communicationRequest,omitempty" json:"communicationRequest,omitempty"`
	Insurance            []ClaimResponseInsurance        `bson:"insurance,omitempty" json:"insurance,omitempty"`
	Error                []ClaimResponseError            `bson:"error,omitempty" json:"error,omitempty"`
}

ClaimResponse is documented here http://hl7.org/fhir/StructureDefinition/ClaimResponse This resource provides the adjudication details from the processing of a Claim resource.

func UnmarshalClaimResponse

func UnmarshalClaimResponse(b []byte) (ClaimResponse, error)

UnmarshalClaimResponse unmarshals a ClaimResponse.

func (ClaimResponse) ContainedResources added in v0.0.6

func (r ClaimResponse) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ClaimResponse) MarshalJSON

func (r ClaimResponse) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ClaimResponse as JSON into a byte slice

func (ClaimResponse) ResourceRef added in v0.0.4

func (r ClaimResponse) ResourceRef() (string, *string)

This function returns resource reference information

type ClaimResponseAddItem

type ClaimResponseAddItem struct {
	Id                      *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension               []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ItemSequence            []int                           `bson:"itemSequence,omitempty" json:"itemSequence,omitempty"`
	DetailSequence          []int                           `bson:"detailSequence,omitempty" json:"detailSequence,omitempty"`
	SubdetailSequence       []int                           `bson:"subdetailSequence,omitempty" json:"subdetailSequence,omitempty"`
	Provider                []Reference                     `bson:"provider,omitempty" json:"provider,omitempty"`
	ProductOrService        CodeableConcept                 `bson:"productOrService" json:"productOrService"`
	Modifier                []CodeableConcept               `bson:"modifier,omitempty" json:"modifier,omitempty"`
	ProgramCode             []CodeableConcept               `bson:"programCode,omitempty" json:"programCode,omitempty"`
	ServicedDate            *string                         `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               *Money                          `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor                  *json.Number                    `bson:"factor,omitempty" json:"factor,omitempty"`
	Net                     *Money                          `bson:"net,omitempty" json:"net,omitempty"`
	BodySite                *CodeableConcept                `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	SubSite                 []CodeableConcept               `bson:"subSite,omitempty" json:"subSite,omitempty"`
	NoteNumber              []int                           `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication            []ClaimResponseItemAdjudication `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	Detail                  []ClaimResponseAddItemDetail    `bson:"detail,omitempty" json:"detail,omitempty"`
}

The first-tier service adjudications for payor added product or service lines.

type ClaimResponseAddItemDetail

type ClaimResponseAddItemDetail struct {
	Id                *string                               `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ProductOrService  CodeableConcept                       `bson:"productOrService" json:"productOrService"`
	Modifier          []CodeableConcept                     `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Quantity          *Quantity                             `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice         *Money                                `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor            *json.Number                          `bson:"factor,omitempty" json:"factor,omitempty"`
	Net               *Money                                `bson:"net,omitempty" json:"net,omitempty"`
	NoteNumber        []int                                 `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication      []ClaimResponseItemAdjudication       `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	SubDetail         []ClaimResponseAddItemDetailSubDetail `bson:"subDetail,omitempty" json:"subDetail,omitempty"`
}

The second-tier service adjudications for payor added services.

type ClaimResponseAddItemDetailSubDetail

type ClaimResponseAddItemDetailSubDetail struct {
	Id                *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ProductOrService  CodeableConcept                 `bson:"productOrService" json:"productOrService"`
	Modifier          []CodeableConcept               `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Quantity          *Quantity                       `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice         *Money                          `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor            *json.Number                    `bson:"factor,omitempty" json:"factor,omitempty"`
	Net               *Money                          `bson:"net,omitempty" json:"net,omitempty"`
	NoteNumber        []int                           `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication      []ClaimResponseItemAdjudication `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
}

The third-tier service adjudications for payor added services.

type ClaimResponseError

type ClaimResponseError struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ItemSequence      *int            `bson:"itemSequence,omitempty" json:"itemSequence,omitempty"`
	DetailSequence    *int            `bson:"detailSequence,omitempty" json:"detailSequence,omitempty"`
	SubDetailSequence *int            `bson:"subDetailSequence,omitempty" json:"subDetailSequence,omitempty"`
	Code              CodeableConcept `bson:"code" json:"code"`
}

Errors encountered during the processing of the adjudication. If the request contains errors then an error element should be provided and no adjudication related sections (item, addItem, or payment) should be present.

type ClaimResponseInsurance

type ClaimResponseInsurance struct {
	Id                  *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence            int         `bson:"sequence" json:"sequence"`
	Focal               bool        `bson:"focal" json:"focal"`
	Coverage            Reference   `bson:"coverage" json:"coverage"`
	BusinessArrangement *string     `bson:"businessArrangement,omitempty" json:"businessArrangement,omitempty"`
	ClaimResponse       *Reference  `bson:"claimResponse,omitempty" json:"claimResponse,omitempty"`
}

Financial instruments for reimbursement for the health care products and services specified on the claim. All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim.

type ClaimResponseItem

type ClaimResponseItem struct {
	Id                *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ItemSequence      int                             `bson:"itemSequence" json:"itemSequence"`
	NoteNumber        []int                           `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication      []ClaimResponseItemAdjudication `bson:"adjudication" json:"adjudication"`
	Detail            []ClaimResponseItemDetail       `bson:"detail,omitempty" json:"detail,omitempty"`
}

A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details.

type ClaimResponseItemAdjudication

type ClaimResponseItemAdjudication struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Category          CodeableConcept  `bson:"category" json:"category"`
	Reason            *CodeableConcept `bson:"reason,omitempty" json:"reason,omitempty"`
	Amount            *Money           `bson:"amount,omitempty" json:"amount,omitempty"`
	Value             *json.Number     `bson:"value,omitempty" json:"value,omitempty"`
}

If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item.

type ClaimResponseItemDetail

type ClaimResponseItemDetail struct {
	Id                *string                            `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	DetailSequence    int                                `bson:"detailSequence" json:"detailSequence"`
	NoteNumber        []int                              `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication      []ClaimResponseItemAdjudication    `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	SubDetail         []ClaimResponseItemDetailSubDetail `bson:"subDetail,omitempty" json:"subDetail,omitempty"`
}

A claim detail. Either a simple (a product or service) or a 'group' of sub-details which are simple items.

type ClaimResponseItemDetailSubDetail

type ClaimResponseItemDetailSubDetail struct {
	Id                *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	SubDetailSequence int                             `bson:"subDetailSequence" json:"subDetailSequence"`
	NoteNumber        []int                           `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication      []ClaimResponseItemAdjudication `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
}

A sub-detail adjudication of a simple product or service.

type ClaimResponsePayment

type ClaimResponsePayment struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept  `bson:"type" json:"type"`
	Adjustment        *Money           `bson:"adjustment,omitempty" json:"adjustment,omitempty"`
	AdjustmentReason  *CodeableConcept `bson:"adjustmentReason,omitempty" json:"adjustmentReason,omitempty"`
	Date              *string          `bson:"date,omitempty" json:"date,omitempty"`
	Amount            Money            `bson:"amount" json:"amount"`
	Identifier        *Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
}

Payment details for the adjudication of the claim.

type ClaimResponseProcessNote

type ClaimResponseProcessNote struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Number            *int             `bson:"number,omitempty" json:"number,omitempty"`
	Type              *NoteType        `bson:"type,omitempty" json:"type,omitempty"`
	Text              string           `bson:"text" json:"text"`
	Language          *CodeableConcept `bson:"language,omitempty" json:"language,omitempty"`
}

A note that describes or explains adjudication results in a human readable form.

type ClaimResponseTotal

type ClaimResponseTotal struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Category          CodeableConcept `bson:"category" json:"category"`
	Amount            Money           `bson:"amount" json:"amount"`
}

Categorized monetary totals for the adjudication. Totals for amounts submitted, co-pays, benefits payable etc.

type ClaimSupportingInfo

type ClaimSupportingInfo struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence          int              `bson:"sequence" json:"sequence"`
	Category          CodeableConcept  `bson:"category" json:"category"`
	Code              *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	TimingDate        *string          `bson:"timingDate,omitempty" json:"timingDate,omitempty"`
	TimingPeriod      *Period          `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	ValueBoolean      *bool            `bson:"valueBoolean,omitempty" json:"valueBoolean,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"`
}

Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. Often there are multiple jurisdiction specific valuesets which are required.

type ClinicalImpression

type ClinicalImpression struct {
	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"`
	Text                     *Narrative                        `bson:"text,omitempty" json:"text,omitempty"`
	Contained                []json.RawMessage                 `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                []Extension                       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension                       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier               []Identifier                      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                   ClinicalImpressionStatus          `bson:"status" json:"status"`
	StatusReason             *CodeableConcept                  `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	Code                     *CodeableConcept                  `bson:"code,omitempty" json:"code,omitempty"`
	Description              *string                           `bson:"description,omitempty" json:"description,omitempty"`
	Subject                  Reference                         `bson:"subject" json:"subject"`
	Encounter                *Reference                        `bson:"encounter,omitempty" json:"encounter,omitempty"`
	EffectiveDateTime        *string                           `bson:"effectiveDateTime,omitempty" json:"effectiveDateTime,omitempty"`
	EffectivePeriod          *Period                           `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Date                     *string                           `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            []ClinicalImpressionInvestigation `bson:"investigation,omitempty" json:"investigation,omitempty"`
	Protocol                 []string                          `bson:"protocol,omitempty" json:"protocol,omitempty"`
	Summary                  *string                           `bson:"summary,omitempty" json:"summary,omitempty"`
	Finding                  []ClinicalImpressionFinding       `bson:"finding,omitempty" json:"finding,omitempty"`
	PrognosisCodeableConcept []CodeableConcept                 `bson:"prognosisCodeableConcept,omitempty" json:"prognosisCodeableConcept,omitempty"`
	PrognosisReference       []Reference                       `bson:"prognosisReference,omitempty" json:"prognosisReference,omitempty"`
	SupportingInfo           []Reference                       `bson:"supportingInfo,omitempty" json:"supportingInfo,omitempty"`
	Note                     []Annotation                      `bson:"note,omitempty" json:"note,omitempty"`
}

ClinicalImpression is documented here http://hl7.org/fhir/StructureDefinition/ClinicalImpression A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score.

func UnmarshalClinicalImpression

func UnmarshalClinicalImpression(b []byte) (ClinicalImpression, error)

UnmarshalClinicalImpression unmarshals a ClinicalImpression.

func (ClinicalImpression) ContainedResources added in v0.0.6

func (r ClinicalImpression) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ClinicalImpression) MarshalJSON

func (r ClinicalImpression) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ClinicalImpression as JSON into a byte slice

func (ClinicalImpression) ResourceRef added in v0.0.4

func (r ClinicalImpression) ResourceRef() (string, *string)

This function returns resource reference information

type ClinicalImpressionFinding

type ClinicalImpressionFinding struct {
	Id                  *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ItemCodeableConcept *CodeableConcept `bson:"itemCodeableConcept,omitempty" json:"itemCodeableConcept,omitempty"`
	ItemReference       *Reference       `bson:"itemReference,omitempty" json:"itemReference,omitempty"`
	Basis               *string          `bson:"basis,omitempty" json:"basis,omitempty"`
}

Specific findings or diagnoses that were considered likely or relevant to ongoing treatment.

type ClinicalImpressionInvestigation

type ClinicalImpressionInvestigation struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              CodeableConcept `bson:"code" json:"code"`
	Item              []Reference     `bson:"item,omitempty" json:"item,omitempty"`
}

One or more sets of investigations (signs, symptoms, etc.). The actual grouping of investigations varies greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes.

type ClinicalImpressionStatus

type ClinicalImpressionStatus int

ClinicalImpressionStatus is documented here http://hl7.org/fhir/ValueSet/clinicalimpression-status

const (
	ClinicalImpressionStatusPreparation ClinicalImpressionStatus = iota
	ClinicalImpressionStatusInProgress
	ClinicalImpressionStatusNotDone
	ClinicalImpressionStatusOnHold
	ClinicalImpressionStatusStopped
	ClinicalImpressionStatusCompleted
	ClinicalImpressionStatusEnteredInError
	ClinicalImpressionStatusUnknown
)

func (ClinicalImpressionStatus) Code

func (code ClinicalImpressionStatus) Code() string

func (ClinicalImpressionStatus) Definition

func (code ClinicalImpressionStatus) Definition() string

func (ClinicalImpressionStatus) Display

func (code ClinicalImpressionStatus) Display() string

func (ClinicalImpressionStatus) MarshalJSON

func (code ClinicalImpressionStatus) MarshalJSON() ([]byte, error)

func (ClinicalImpressionStatus) String

func (code ClinicalImpressionStatus) String() string

func (*ClinicalImpressionStatus) UnmarshalJSON

func (code *ClinicalImpressionStatus) UnmarshalJSON(input []byte) error

type CodeSearchSupport

type CodeSearchSupport int

CodeSearchSupport is documented here http://hl7.org/fhir/ValueSet/code-search-support

const (
	CodeSearchSupportExplicit CodeSearchSupport = iota
	CodeSearchSupportAll
)

func (CodeSearchSupport) Code

func (code CodeSearchSupport) Code() string

func (CodeSearchSupport) Definition

func (code CodeSearchSupport) Definition() string

func (CodeSearchSupport) Display

func (code CodeSearchSupport) Display() string

func (CodeSearchSupport) MarshalJSON

func (code CodeSearchSupport) MarshalJSON() ([]byte, error)

func (CodeSearchSupport) String

func (code CodeSearchSupport) String() string

func (*CodeSearchSupport) UnmarshalJSON

func (code *CodeSearchSupport) UnmarshalJSON(input []byte) error

type CodeSystem

type CodeSystem struct {
	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"`
	Text              *Narrative                  `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage           `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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            PublicationStatus           `bson:"status" json:"status"`
	Experimental      *bool                       `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string                     `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  *CodeSystemHierarchyMeaning `bson:"hierarchyMeaning,omitempty" json:"hierarchyMeaning,omitempty"`
	Compositional     *bool                       `bson:"compositional,omitempty" json:"compositional,omitempty"`
	VersionNeeded     *bool                       `bson:"versionNeeded,omitempty" json:"versionNeeded,omitempty"`
	Content           CodeSystemContentMode       `bson:"content" json:"content"`
	Supplements       *string                     `bson:"supplements,omitempty" json:"supplements,omitempty"`
	Count             *int                        `bson:"count,omitempty" json:"count,omitempty"`
	Filter            []CodeSystemFilter          `bson:"filter,omitempty" json:"filter,omitempty"`
	Property          []CodeSystemProperty        `bson:"property,omitempty" json:"property,omitempty"`
	Concept           []CodeSystemConcept         `bson:"concept,omitempty" json:"concept,omitempty"`
}

CodeSystem is documented here http://hl7.org/fhir/StructureDefinition/CodeSystem The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content.

func UnmarshalCodeSystem

func UnmarshalCodeSystem(b []byte) (CodeSystem, error)

UnmarshalCodeSystem unmarshals a CodeSystem.

func (CodeSystem) ContainedResources added in v0.0.6

func (r CodeSystem) ContainedResources() []json.RawMessage

This function returns resource reference information

func (CodeSystem) MarshalJSON

func (r CodeSystem) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given CodeSystem as JSON into a byte slice

func (CodeSystem) ResourceRef added in v0.0.4

func (r CodeSystem) ResourceRef() (string, *string)

This function returns resource reference information

type CodeSystemConcept

type CodeSystemConcept struct {
	Id                *string                        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              string                         `bson:"code" json:"code"`
	Display           *string                        `bson:"display,omitempty" json:"display,omitempty"`
	Definition        *string                        `bson:"definition,omitempty" json:"definition,omitempty"`
	Designation       []CodeSystemConceptDesignation `bson:"designation,omitempty" json:"designation,omitempty"`
	Property          []CodeSystemConceptProperty    `bson:"property,omitempty" json:"property,omitempty"`
	Concept           []CodeSystemConcept            `bson:"concept,omitempty" json:"concept,omitempty"`
}

Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are. If this is empty, it means that the code system resource does not represent the content of the code system.

type CodeSystemConceptDesignation

type CodeSystemConceptDesignation struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Language          *string     `bson:"language,omitempty" json:"language,omitempty"`
	Use               *Coding     `bson:"use,omitempty" json:"use,omitempty"`
	Value             string      `bson:"value" json:"value"`
}

Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc. Concepts have both a ```display``` and an array of ```designation```. The display is equivalent to a special designation with an implied ```designation.use``` of "primary code" and a language equal to the [Resource Language](resource.html#language).

type CodeSystemConceptProperty

type CodeSystemConceptProperty struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              string      `bson:"code" json:"code"`
	ValueCode         string      `bson:"valueCode" json:"valueCode"`
	ValueCoding       Coding      `bson:"valueCoding" json:"valueCoding"`
	ValueString       string      `bson:"valueString" json:"valueString"`
	ValueInteger      int         `bson:"valueInteger" json:"valueInteger"`
	ValueBoolean      bool        `bson:"valueBoolean" json:"valueBoolean"`
	ValueDateTime     string      `bson:"valueDateTime" json:"valueDateTime"`
	ValueDecimal      json.Number `bson:"valueDecimal" json:"valueDecimal"`
}

A property value for this concept.

type CodeSystemContentMode

type CodeSystemContentMode int

CodeSystemContentMode is documented here http://hl7.org/fhir/ValueSet/codesystem-content-mode

const (
	CodeSystemContentModeNotPresent CodeSystemContentMode = iota
	CodeSystemContentModeExample
	CodeSystemContentModeFragment
	CodeSystemContentModeComplete
	CodeSystemContentModeSupplement
)

func (CodeSystemContentMode) Code

func (code CodeSystemContentMode) Code() string

func (CodeSystemContentMode) Definition

func (code CodeSystemContentMode) Definition() string

func (CodeSystemContentMode) Display

func (code CodeSystemContentMode) Display() string

func (CodeSystemContentMode) MarshalJSON

func (code CodeSystemContentMode) MarshalJSON() ([]byte, error)

func (CodeSystemContentMode) String

func (code CodeSystemContentMode) String() string

func (*CodeSystemContentMode) UnmarshalJSON

func (code *CodeSystemContentMode) UnmarshalJSON(input []byte) error

type CodeSystemFilter

type CodeSystemFilter struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              string           `bson:"code" json:"code"`
	Description       *string          `bson:"description,omitempty" json:"description,omitempty"`
	Operator          []FilterOperator `bson:"operator" json:"operator"`
	Value             string           `bson:"value" json:"value"`
}

A filter that can be used in a value set compose statement when selecting concepts using a filter. Note that filters defined in code systems usually require custom code on the part of any terminology engine that will make them available for use in value set filters. For this reason, they are generally only seen in high value published terminologies.

type CodeSystemHierarchyMeaning

type CodeSystemHierarchyMeaning int

CodeSystemHierarchyMeaning is documented here http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning

const (
	CodeSystemHierarchyMeaningGroupedBy CodeSystemHierarchyMeaning = iota
	CodeSystemHierarchyMeaningIsA
	CodeSystemHierarchyMeaningPartOf
	CodeSystemHierarchyMeaningClassifiedWith
)

func (CodeSystemHierarchyMeaning) Code

func (code CodeSystemHierarchyMeaning) Code() string

func (CodeSystemHierarchyMeaning) Definition

func (code CodeSystemHierarchyMeaning) Definition() string

func (CodeSystemHierarchyMeaning) Display

func (code CodeSystemHierarchyMeaning) Display() string

func (CodeSystemHierarchyMeaning) MarshalJSON

func (code CodeSystemHierarchyMeaning) MarshalJSON() ([]byte, error)

func (CodeSystemHierarchyMeaning) String

func (code CodeSystemHierarchyMeaning) String() string

func (*CodeSystemHierarchyMeaning) UnmarshalJSON

func (code *CodeSystemHierarchyMeaning) UnmarshalJSON(input []byte) error

type CodeSystemProperty

type CodeSystemProperty struct {
	Id                *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              string       `bson:"code" json:"code"`
	Uri               *string      `bson:"uri,omitempty" json:"uri,omitempty"`
	Description       *string      `bson:"description,omitempty" json:"description,omitempty"`
	Type              PropertyType `bson:"type" json:"type"`
}

A property defines an additional slot through which additional information can be provided about a concept.

type CodeableConcept

type CodeableConcept struct {
	Id        *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Coding    []Coding    `bson:"coding,omitempty" json:"coding,omitempty"`
	Text      *string     `bson:"text,omitempty" json:"text,omitempty"`
}

CodeableConcept is documented here http://hl7.org/fhir/StructureDefinition/CodeableConcept Base StructureDefinition for CodeableConcept Type: A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

type Coding

type Coding struct {
	Id           *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension    []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	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"`
}

Coding is documented here http://hl7.org/fhir/StructureDefinition/Coding Base StructureDefinition for Coding Type: A reference to a code defined by a terminology system.

type Communication

type Communication struct {
	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"`
	Text                  *Narrative             `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier            []Identifier           `bson:"identifier,omitempty" json:"identifier,omitempty"`
	InstantiatesCanonical []string               `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri       []string               `bson:"instantiatesUri,omitempty" json:"instantiatesUri,omitempty"`
	BasedOn               []Reference            `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	PartOf                []Reference            `bson:"partOf,omitempty" json:"partOf,omitempty"`
	InResponseTo          []Reference            `bson:"inResponseTo,omitempty" json:"inResponseTo,omitempty"`
	Status                EventStatus            `bson:"status" json:"status"`
	StatusReason          *CodeableConcept       `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	Category              []CodeableConcept      `bson:"category,omitempty" json:"category,omitempty"`
	Priority              *RequestPriority       `bson:"priority,omitempty" json:"priority,omitempty"`
	Medium                []CodeableConcept      `bson:"medium,omitempty" json:"medium,omitempty"`
	Subject               *Reference             `bson:"subject,omitempty" json:"subject,omitempty"`
	Topic                 *CodeableConcept       `bson:"topic,omitempty" json:"topic,omitempty"`
	About                 []Reference            `bson:"about,omitempty" json:"about,omitempty"`
	Encounter             *Reference             `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Sent                  *string                `bson:"sent,omitempty" json:"sent,omitempty"`
	Received              *string                `bson:"received,omitempty" json:"received,omitempty"`
	Recipient             []Reference            `bson:"recipient,omitempty" json:"recipient,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               []CommunicationPayload `bson:"payload,omitempty" json:"payload,omitempty"`
	Note                  []Annotation           `bson:"note,omitempty" json:"note,omitempty"`
}

Communication is documented here http://hl7.org/fhir/StructureDefinition/Communication An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.

func UnmarshalCommunication

func UnmarshalCommunication(b []byte) (Communication, error)

UnmarshalCommunication unmarshals a Communication.

func (Communication) ContainedResources added in v0.0.6

func (r Communication) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Communication) MarshalJSON

func (r Communication) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Communication as JSON into a byte slice

func (Communication) ResourceRef added in v0.0.4

func (r Communication) ResourceRef() (string, *string)

This function returns resource reference information

type CommunicationPayload

type CommunicationPayload struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ContentString     string      `bson:"contentString" json:"contentString"`
	ContentAttachment Attachment  `bson:"contentAttachment" json:"contentAttachment"`
	ContentReference  Reference   `bson:"contentReference" json:"contentReference"`
}

Text, attachment(s), or resource(s) that was communicated to the recipient.

type CommunicationRequest

type CommunicationRequest struct {
	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"`
	Text               *Narrative                    `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage             `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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             RequestStatus                 `bson:"status" json:"status"`
	StatusReason       *CodeableConcept              `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	Category           []CodeableConcept             `bson:"category,omitempty" json:"category,omitempty"`
	Priority           *RequestPriority              `bson:"priority,omitempty" json:"priority,omitempty"`
	DoNotPerform       *bool                         `bson:"doNotPerform,omitempty" json:"doNotPerform,omitempty"`
	Medium             []CodeableConcept             `bson:"medium,omitempty" json:"medium,omitempty"`
	Subject            *Reference                    `bson:"subject,omitempty" json:"subject,omitempty"`
	About              []Reference                   `bson:"about,omitempty" json:"about,omitempty"`
	Encounter          *Reference                    `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Payload            []CommunicationRequestPayload `bson:"payload,omitempty" json:"payload,omitempty"`
	OccurrenceDateTime *string                       `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod   *Period                       `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	AuthoredOn         *string                       `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Requester          *Reference                    `bson:"requester,omitempty" json:"requester,omitempty"`
	Recipient          []Reference                   `bson:"recipient,omitempty" json:"recipient,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"`
	Note               []Annotation                  `bson:"note,omitempty" json:"note,omitempty"`
}

CommunicationRequest is documented here http://hl7.org/fhir/StructureDefinition/CommunicationRequest A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition.

func UnmarshalCommunicationRequest

func UnmarshalCommunicationRequest(b []byte) (CommunicationRequest, error)

UnmarshalCommunicationRequest unmarshals a CommunicationRequest.

func (CommunicationRequest) ContainedResources added in v0.0.6

func (r CommunicationRequest) ContainedResources() []json.RawMessage

This function returns resource reference information

func (CommunicationRequest) MarshalJSON

func (r CommunicationRequest) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given CommunicationRequest as JSON into a byte slice

func (CommunicationRequest) ResourceRef added in v0.0.4

func (r CommunicationRequest) ResourceRef() (string, *string)

This function returns resource reference information

type CommunicationRequestPayload

type CommunicationRequestPayload struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ContentString     string      `bson:"contentString" json:"contentString"`
	ContentAttachment Attachment  `bson:"contentAttachment" json:"contentAttachment"`
	ContentReference  Reference   `bson:"contentReference" json:"contentReference"`
}

Text, attachment(s), or resource(s) to be communicated to the recipient.

type CompartmentDefinition

type CompartmentDefinition struct {
	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"`
	Text              *Narrative                      `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage               `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Url               string                          `bson:"url" json:"url"`
	Version           *string                         `bson:"version,omitempty" json:"version,omitempty"`
	Name              string                          `bson:"name" json:"name"`
	Status            PublicationStatus               `bson:"status" json:"status"`
	Experimental      *bool                           `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string                         `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"`
	Purpose           *string                         `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Code              CompartmentType                 `bson:"code" json:"code"`
	Search            bool                            `bson:"search" json:"search"`
	Resource          []CompartmentDefinitionResource `bson:"resource,omitempty" json:"resource,omitempty"`
}

CompartmentDefinition is documented here http://hl7.org/fhir/StructureDefinition/CompartmentDefinition A compartment definition that defines how resources are accessed on a server.

func UnmarshalCompartmentDefinition

func UnmarshalCompartmentDefinition(b []byte) (CompartmentDefinition, error)

UnmarshalCompartmentDefinition unmarshals a CompartmentDefinition.

func (CompartmentDefinition) ContainedResources added in v0.0.6

func (r CompartmentDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (CompartmentDefinition) MarshalJSON

func (r CompartmentDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given CompartmentDefinition as JSON into a byte slice

func (CompartmentDefinition) ResourceRef added in v0.0.4

func (r CompartmentDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type CompartmentDefinitionResource

type CompartmentDefinitionResource struct {
	Id                *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              ResourceType `bson:"code" json:"code"`
	Param             []string     `bson:"param,omitempty" json:"param,omitempty"`
	Documentation     *string      `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

Information about how a resource is related to the compartment.

type CompartmentType

type CompartmentType int

CompartmentType is documented here http://hl7.org/fhir/ValueSet/compartment-type

const (
	CompartmentTypePatient CompartmentType = iota
	CompartmentTypeEncounter
	CompartmentTypeRelatedPerson
	CompartmentTypePractitioner
	CompartmentTypeDevice
)

func (CompartmentType) Code

func (code CompartmentType) Code() string

func (CompartmentType) Definition

func (code CompartmentType) Definition() string

func (CompartmentType) Display

func (code CompartmentType) Display() string

func (CompartmentType) MarshalJSON

func (code CompartmentType) MarshalJSON() ([]byte, error)

func (CompartmentType) String

func (code CompartmentType) String() string

func (*CompartmentType) UnmarshalJSON

func (code *CompartmentType) UnmarshalJSON(input []byte) error

type Composition

type Composition struct {
	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"`
	Text              *Narrative             `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        *Identifier            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            CompositionStatus      `bson:"status" json:"status"`
	Type              CodeableConcept        `bson:"type" json:"type"`
	Category          []CodeableConcept      `bson:"category,omitempty" json:"category,omitempty"`
	Subject           *Reference             `bson:"subject,omitempty" json:"subject,omitempty"`
	Encounter         *Reference             `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Date              string                 `bson:"date" json:"date"`
	Author            []Reference            `bson:"author" json:"author"`
	Title             string                 `bson:"title" json:"title"`
	Confidentiality   *string                `bson:"confidentiality,omitempty" json:"confidentiality,omitempty"`
	Attester          []CompositionAttester  `bson:"attester,omitempty" json:"attester,omitempty"`
	Custodian         *Reference             `bson:"custodian,omitempty" json:"custodian,omitempty"`
	RelatesTo         []CompositionRelatesTo `bson:"relatesTo,omitempty" json:"relatesTo,omitempty"`
	Event             []CompositionEvent     `bson:"event,omitempty" json:"event,omitempty"`
	Section           []CompositionSection   `bson:"section,omitempty" json:"section,omitempty"`
}

Composition is documented here http://hl7.org/fhir/StructureDefinition/Composition A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.).

func UnmarshalComposition

func UnmarshalComposition(b []byte) (Composition, error)

UnmarshalComposition unmarshals a Composition.

func (Composition) ContainedResources added in v0.0.6

func (r Composition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Composition) MarshalJSON

func (r Composition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Composition as JSON into a byte slice

func (Composition) ResourceRef added in v0.0.4

func (r Composition) ResourceRef() (string, *string)

This function returns resource reference information

type CompositionAttestationMode

type CompositionAttestationMode int

CompositionAttestationMode is documented here http://hl7.org/fhir/ValueSet/composition-attestation-mode

const (
	CompositionAttestationModePersonal CompositionAttestationMode = iota
	CompositionAttestationModeProfessional
	CompositionAttestationModeLegal
	CompositionAttestationModeOfficial
)

func (CompositionAttestationMode) Code

func (code CompositionAttestationMode) Code() string

func (CompositionAttestationMode) Definition

func (code CompositionAttestationMode) Definition() string

func (CompositionAttestationMode) Display

func (code CompositionAttestationMode) Display() string

func (CompositionAttestationMode) MarshalJSON

func (code CompositionAttestationMode) MarshalJSON() ([]byte, error)

func (CompositionAttestationMode) String

func (code CompositionAttestationMode) String() string

func (*CompositionAttestationMode) UnmarshalJSON

func (code *CompositionAttestationMode) UnmarshalJSON(input []byte) error

type CompositionAttester

type CompositionAttester struct {
	Id                *string                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Mode              CompositionAttestationMode `bson:"mode" json:"mode"`
	Time              *string                    `bson:"time,omitempty" json:"time,omitempty"`
	Party             *Reference                 `bson:"party,omitempty" json:"party,omitempty"`
}

A participant who has attested to the accuracy of the composition/document. Only list each attester once.

type CompositionEvent

type CompositionEvent struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              []CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Period            *Period           `bson:"period,omitempty" json:"period,omitempty"`
	Detail            []Reference       `bson:"detail,omitempty" json:"detail,omitempty"`
}

The clinical service, such as a colonoscopy or an appendectomy, being documented. The event needs to be consistent with the type element, though can provide further information if desired.

type CompositionRelatesTo

type CompositionRelatesTo struct {
	Id                *string                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              DocumentRelationshipType `bson:"code" json:"code"`
	TargetIdentifier  Identifier               `bson:"targetIdentifier" json:"targetIdentifier"`
	TargetReference   Reference                `bson:"targetReference" json:"targetReference"`
}

Relationships that this composition has with other compositions or documents that already exist. A document is a version specific composition.

type CompositionSection

type CompositionSection struct {
	Id                *string              `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Title             *string              `bson:"title,omitempty" json:"title,omitempty"`
	Code              *CodeableConcept     `bson:"code,omitempty" json:"code,omitempty"`
	Author            []Reference          `bson:"author,omitempty" json:"author,omitempty"`
	Focus             *Reference           `bson:"focus,omitempty" json:"focus,omitempty"`
	Text              *Narrative           `bson:"text,omitempty" json:"text,omitempty"`
	Mode              *ListMode            `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           []CompositionSection `bson:"section,omitempty" json:"section,omitempty"`
}

The root of the sections that make up the composition.

type CompositionStatus

type CompositionStatus int

CompositionStatus is documented here http://hl7.org/fhir/ValueSet/composition-status

const (
	CompositionStatusPreliminary CompositionStatus = iota
	CompositionStatusFinal
	CompositionStatusAmended
	CompositionStatusEnteredInError
)

func (CompositionStatus) Code

func (code CompositionStatus) Code() string

func (CompositionStatus) Definition

func (code CompositionStatus) Definition() string

func (CompositionStatus) Display

func (code CompositionStatus) Display() string

func (CompositionStatus) MarshalJSON

func (code CompositionStatus) MarshalJSON() ([]byte, error)

func (CompositionStatus) String

func (code CompositionStatus) String() string

func (*CompositionStatus) UnmarshalJSON

func (code *CompositionStatus) UnmarshalJSON(input []byte) error

type ConceptMap

type ConceptMap struct {
	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"`
	Text              *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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            PublicationStatus `bson:"status" json:"status"`
	Experimental      *bool             `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string           `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"`
	SourceCanonical   *string           `bson:"sourceCanonical,omitempty" json:"sourceCanonical,omitempty"`
	TargetUri         *string           `bson:"targetUri,omitempty" json:"targetUri,omitempty"`
	TargetCanonical   *string           `bson:"targetCanonical,omitempty" json:"targetCanonical,omitempty"`
	Group             []ConceptMapGroup `bson:"group,omitempty" json:"group,omitempty"`
}

ConceptMap is documented here http://hl7.org/fhir/StructureDefinition/ConceptMap A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.

func UnmarshalConceptMap

func UnmarshalConceptMap(b []byte) (ConceptMap, error)

UnmarshalConceptMap unmarshals a ConceptMap.

func (ConceptMap) ContainedResources added in v0.0.6

func (r ConceptMap) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ConceptMap) MarshalJSON

func (r ConceptMap) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ConceptMap as JSON into a byte slice

func (ConceptMap) ResourceRef added in v0.0.4

func (r ConceptMap) ResourceRef() (string, *string)

This function returns resource reference information

type ConceptMapEquivalence

type ConceptMapEquivalence int

ConceptMapEquivalence is documented here http://hl7.org/fhir/ValueSet/concept-map-equivalence

const (
	ConceptMapEquivalenceRelatedto ConceptMapEquivalence = iota
	ConceptMapEquivalenceEquivalent
	ConceptMapEquivalenceEqual
	ConceptMapEquivalenceWider
	ConceptMapEquivalenceSubsumes
	ConceptMapEquivalenceNarrower
	ConceptMapEquivalenceSpecializes
	ConceptMapEquivalenceInexact
	ConceptMapEquivalenceUnmatched
	ConceptMapEquivalenceDisjoint
)

func (ConceptMapEquivalence) Code

func (code ConceptMapEquivalence) Code() string

func (ConceptMapEquivalence) Definition

func (code ConceptMapEquivalence) Definition() string

func (ConceptMapEquivalence) Display

func (code ConceptMapEquivalence) Display() string

func (ConceptMapEquivalence) MarshalJSON

func (code ConceptMapEquivalence) MarshalJSON() ([]byte, error)

func (ConceptMapEquivalence) String

func (code ConceptMapEquivalence) String() string

func (*ConceptMapEquivalence) UnmarshalJSON

func (code *ConceptMapEquivalence) UnmarshalJSON(input []byte) error

type ConceptMapGroup

type ConceptMapGroup struct {
	Id                *string                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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           []ConceptMapGroupElement `bson:"element" json:"element"`
	Unmapped          *ConceptMapGroupUnmapped `bson:"unmapped,omitempty" json:"unmapped,omitempty"`
}

A group of mappings that all have the same source and target system.

type ConceptMapGroupElement

type ConceptMapGroupElement struct {
	Id                *string                        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *string                        `bson:"code,omitempty" json:"code,omitempty"`
	Display           *string                        `bson:"display,omitempty" json:"display,omitempty"`
	Target            []ConceptMapGroupElementTarget `bson:"target,omitempty" json:"target,omitempty"`
}

Mappings for an individual concept in the source to one or more concepts in the target. Generally, the ideal is that there would only be one mapping for each concept in the source value set, but a given concept may be mapped multiple times with different comments or dependencies.

type ConceptMapGroupElementTarget

type ConceptMapGroupElementTarget struct {
	Id                *string                                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *string                                 `bson:"code,omitempty" json:"code,omitempty"`
	Display           *string                                 `bson:"display,omitempty" json:"display,omitempty"`
	Equivalence       ConceptMapEquivalence                   `bson:"equivalence" json:"equivalence"`
	Comment           *string                                 `bson:"comment,omitempty" json:"comment,omitempty"`
	DependsOn         []ConceptMapGroupElementTargetDependsOn `bson:"dependsOn,omitempty" json:"dependsOn,omitempty"`
	Product           []ConceptMapGroupElementTargetDependsOn `bson:"product,omitempty" json:"product,omitempty"`
}

A concept from the target value set that this concept maps to. Ideally there would only be one map, with equal or equivalent mapping. But multiple maps are allowed for several narrower options, or to assert that other concepts are unmatched.

type ConceptMapGroupElementTargetDependsOn

type ConceptMapGroupElementTargetDependsOn struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Property          string      `bson:"property" json:"property"`
	System            *string     `bson:"system,omitempty" json:"system,omitempty"`
	Value             string      `bson:"value" json:"value"`
	Display           *string     `bson:"display,omitempty" json:"display,omitempty"`
}

A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.

type ConceptMapGroupUnmapped

type ConceptMapGroupUnmapped struct {
	Id                *string                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Mode              ConceptMapGroupUnmappedMode `bson:"mode" json:"mode"`
	Code              *string                     `bson:"code,omitempty" json:"code,omitempty"`
	Display           *string                     `bson:"display,omitempty" json:"display,omitempty"`
	Url               *string                     `bson:"url,omitempty" json:"url,omitempty"`
}

What to do when there is no mapping for the source concept. "Unmapped" does not include codes that are unmatched, and the unmapped element is ignored in a code is specified to have equivalence = unmatched. This only applies if the source code has a system value that matches the system defined for the group.

type ConceptMapGroupUnmappedMode

type ConceptMapGroupUnmappedMode int

ConceptMapGroupUnmappedMode is documented here http://hl7.org/fhir/ValueSet/conceptmap-unmapped-mode

const (
	ConceptMapGroupUnmappedModeProvided ConceptMapGroupUnmappedMode = iota
	ConceptMapGroupUnmappedModeFixed
	ConceptMapGroupUnmappedModeOtherMap
)

func (ConceptMapGroupUnmappedMode) Code

func (code ConceptMapGroupUnmappedMode) Code() string

func (ConceptMapGroupUnmappedMode) Definition

func (code ConceptMapGroupUnmappedMode) Definition() string

func (ConceptMapGroupUnmappedMode) Display

func (code ConceptMapGroupUnmappedMode) Display() string

func (ConceptMapGroupUnmappedMode) MarshalJSON

func (code ConceptMapGroupUnmappedMode) MarshalJSON() ([]byte, error)

func (ConceptMapGroupUnmappedMode) String

func (code ConceptMapGroupUnmappedMode) String() string

func (*ConceptMapGroupUnmappedMode) UnmarshalJSON

func (code *ConceptMapGroupUnmappedMode) UnmarshalJSON(input []byte) error

type Condition

type Condition struct {
	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"`
	Text               *Narrative          `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage   `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier         []Identifier        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	ClinicalStatus     *CodeableConcept    `bson:"clinicalStatus,omitempty" json:"clinicalStatus,omitempty"`
	VerificationStatus *CodeableConcept    `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" json:"subject"`
	Encounter          *Reference          `bson:"encounter,omitempty" json:"encounter,omitempty"`
	OnsetDateTime      *string             `bson:"onsetDateTime,omitempty" json:"onsetDateTime,omitempty"`
	OnsetAge           *Age                `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  *string             `bson:"abatementDateTime,omitempty" json:"abatementDateTime,omitempty"`
	AbatementAge       *Age                `bson:"abatementAge,omitempty" json:"abatementAge,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"`
	RecordedDate       *string             `bson:"recordedDate,omitempty" json:"recordedDate,omitempty"`
	Recorder           *Reference          `bson:"recorder,omitempty" json:"recorder,omitempty"`
	Asserter           *Reference          `bson:"asserter,omitempty" json:"asserter,omitempty"`
	Stage              []ConditionStage    `bson:"stage,omitempty" json:"stage,omitempty"`
	Evidence           []ConditionEvidence `bson:"evidence,omitempty" json:"evidence,omitempty"`
	Note               []Annotation        `bson:"note,omitempty" json:"note,omitempty"`
}

Condition is documented here http://hl7.org/fhir/StructureDefinition/Condition A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.

func UnmarshalCondition

func UnmarshalCondition(b []byte) (Condition, error)

UnmarshalCondition unmarshals a Condition.

func (Condition) ContainedResources added in v0.0.6

func (r Condition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Condition) MarshalJSON

func (r Condition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Condition as JSON into a byte slice

func (Condition) ResourceRef added in v0.0.4

func (r Condition) ResourceRef() (string, *string)

This function returns resource reference information

type ConditionEvidence

type ConditionEvidence struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              []CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Detail            []Reference       `bson:"detail,omitempty" json:"detail,omitempty"`
}

Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition. The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both.

type ConditionStage

type ConditionStage struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Summary           *CodeableConcept `bson:"summary,omitempty" json:"summary,omitempty"`
	Assessment        []Reference      `bson:"assessment,omitempty" json:"assessment,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
}

Clinical stage or grade of a condition. May include formal severity assessments.

type ConditionalDeleteStatus

type ConditionalDeleteStatus int

ConditionalDeleteStatus is documented here http://hl7.org/fhir/ValueSet/conditional-delete-status

const (
	ConditionalDeleteStatusNotSupported ConditionalDeleteStatus = iota
	ConditionalDeleteStatusSingle
	ConditionalDeleteStatusMultiple
)

func (ConditionalDeleteStatus) Code

func (code ConditionalDeleteStatus) Code() string

func (ConditionalDeleteStatus) Definition

func (code ConditionalDeleteStatus) Definition() string

func (ConditionalDeleteStatus) Display

func (code ConditionalDeleteStatus) Display() string

func (ConditionalDeleteStatus) MarshalJSON

func (code ConditionalDeleteStatus) MarshalJSON() ([]byte, error)

func (ConditionalDeleteStatus) String

func (code ConditionalDeleteStatus) String() string

func (*ConditionalDeleteStatus) UnmarshalJSON

func (code *ConditionalDeleteStatus) UnmarshalJSON(input []byte) error

type ConditionalReadStatus

type ConditionalReadStatus int

ConditionalReadStatus is documented here http://hl7.org/fhir/ValueSet/conditional-read-status

const (
	ConditionalReadStatusNotSupported ConditionalReadStatus = iota
	ConditionalReadStatusModifiedSince
	ConditionalReadStatusNotMatch
	ConditionalReadStatusFullSupport
)

func (ConditionalReadStatus) Code

func (code ConditionalReadStatus) Code() string

func (ConditionalReadStatus) Definition

func (code ConditionalReadStatus) Definition() string

func (ConditionalReadStatus) Display

func (code ConditionalReadStatus) Display() string

func (ConditionalReadStatus) MarshalJSON

func (code ConditionalReadStatus) MarshalJSON() ([]byte, error)

func (ConditionalReadStatus) String

func (code ConditionalReadStatus) String() string

func (*ConditionalReadStatus) UnmarshalJSON

func (code *ConditionalReadStatus) UnmarshalJSON(input []byte) error
type Consent struct {
	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"`
	Text              *Narrative            `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            ConsentState          `bson:"status" json:"status"`
	Scope             CodeableConcept       `bson:"scope" json:"scope"`
	Category          []CodeableConcept     `bson:"category" json:"category"`
	Patient           *Reference            `bson:"patient,omitempty" json:"patient,omitempty"`
	DateTime          *string               `bson:"dateTime,omitempty" json:"dateTime,omitempty"`
	Performer         []Reference           `bson:"performer,omitempty" json:"performer,omitempty"`
	Organization      []Reference           `bson:"organization,omitempty" json:"organization,omitempty"`
	SourceAttachment  *Attachment           `bson:"sourceAttachment,omitempty" json:"sourceAttachment,omitempty"`
	SourceReference   *Reference            `bson:"sourceReference,omitempty" json:"sourceReference,omitempty"`
	Policy            []ConsentPolicy       `bson:"policy,omitempty" json:"policy,omitempty"`
	PolicyRule        *CodeableConcept      `bson:"policyRule,omitempty" json:"policyRule,omitempty"`
	Verification      []ConsentVerification `bson:"verification,omitempty" json:"verification,omitempty"`
	Provision         *ConsentProvision     `bson:"provision,omitempty" json:"provision,omitempty"`
}

Consent is documented here http://hl7.org/fhir/StructureDefinition/Consent A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.

func UnmarshalConsent

func UnmarshalConsent(b []byte) (Consent, error)

UnmarshalConsent unmarshals a Consent.

func (Consent) ContainedResources added in v0.0.6

func (r Consent) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Consent) MarshalJSON

func (r Consent) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Consent as JSON into a byte slice

func (Consent) ResourceRef added in v0.0.4

func (r Consent) ResourceRef() (string, *string)

This function returns resource reference information

type ConsentDataMeaning

type ConsentDataMeaning int

ConsentDataMeaning is documented here http://hl7.org/fhir/ValueSet/consent-data-meaning

const (
	ConsentDataMeaningInstance ConsentDataMeaning = iota
	ConsentDataMeaningRelated
	ConsentDataMeaningDependents
	ConsentDataMeaningAuthoredby
)

func (ConsentDataMeaning) Code

func (code ConsentDataMeaning) Code() string

func (ConsentDataMeaning) Definition

func (code ConsentDataMeaning) Definition() string

func (ConsentDataMeaning) Display

func (code ConsentDataMeaning) Display() string

func (ConsentDataMeaning) MarshalJSON

func (code ConsentDataMeaning) MarshalJSON() ([]byte, error)

func (ConsentDataMeaning) String

func (code ConsentDataMeaning) String() string

func (*ConsentDataMeaning) UnmarshalJSON

func (code *ConsentDataMeaning) UnmarshalJSON(input []byte) error

type ConsentPolicy

type ConsentPolicy struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Authority         *string     `bson:"authority,omitempty" json:"authority,omitempty"`
	Uri               *string     `bson:"uri,omitempty" json:"uri,omitempty"`
}

The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law.

type ConsentProvision

type ConsentProvision struct {
	Id                *string                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *ConsentProvisionType   `bson:"type,omitempty" json:"type,omitempty"`
	Period            *Period                 `bson:"period,omitempty" json:"period,omitempty"`
	Actor             []ConsentProvisionActor `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              []CodeableConcept       `bson:"code,omitempty" json:"code,omitempty"`
	DataPeriod        *Period                 `bson:"dataPeriod,omitempty" json:"dataPeriod,omitempty"`
	Data              []ConsentProvisionData  `bson:"data,omitempty" json:"data,omitempty"`
	Provision         []ConsentProvision      `bson:"provision,omitempty" json:"provision,omitempty"`
}

An exception to the base policy of this consent. An exception can be an addition or removal of access permissions.

type ConsentProvisionActor

type ConsentProvisionActor struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Role              CodeableConcept `bson:"role" json:"role"`
	Reference         Reference       `bson:"reference" json:"reference"`
}

Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). There is no specific actor associated with the exception

type ConsentProvisionData

type ConsentProvisionData struct {
	Id                *string            `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Meaning           ConsentDataMeaning `bson:"meaning" json:"meaning"`
	Reference         Reference          `bson:"reference" json:"reference"`
}

The resources controlled by this rule if specific resources are referenced. all data

type ConsentProvisionType

type ConsentProvisionType int

ConsentProvisionType is documented here http://hl7.org/fhir/ValueSet/consent-provision-type

const (
	ConsentProvisionTypeDeny ConsentProvisionType = iota
	ConsentProvisionTypePermit
)

func (ConsentProvisionType) Code

func (code ConsentProvisionType) Code() string

func (ConsentProvisionType) Definition

func (code ConsentProvisionType) Definition() string

func (ConsentProvisionType) Display

func (code ConsentProvisionType) Display() string

func (ConsentProvisionType) MarshalJSON

func (code ConsentProvisionType) MarshalJSON() ([]byte, error)

func (ConsentProvisionType) String

func (code ConsentProvisionType) String() string

func (*ConsentProvisionType) UnmarshalJSON

func (code *ConsentProvisionType) UnmarshalJSON(input []byte) error

type ConsentState

type ConsentState int

ConsentState is documented here http://hl7.org/fhir/ValueSet/consent-state-codes

const (
	ConsentStateDraft ConsentState = iota
	ConsentStateProposed
	ConsentStateActive
	ConsentStateRejected
	ConsentStateInactive
	ConsentStateEnteredInError
)

func (ConsentState) Code

func (code ConsentState) Code() string

func (ConsentState) Definition

func (code ConsentState) Definition() string

func (ConsentState) Display

func (code ConsentState) Display() string

func (ConsentState) MarshalJSON

func (code ConsentState) MarshalJSON() ([]byte, error)

func (ConsentState) String

func (code ConsentState) String() string

func (*ConsentState) UnmarshalJSON

func (code *ConsentState) UnmarshalJSON(input []byte) error

type ConsentVerification

type ConsentVerification struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Verified          bool        `bson:"verified" json:"verified"`
	VerifiedWith      *Reference  `bson:"verifiedWith,omitempty" json:"verifiedWith,omitempty"`
	VerificationDate  *string     `bson:"verificationDate,omitempty" json:"verificationDate,omitempty"`
}

Whether a treatment instruction (e.g. artificial respiration yes or no) was verified with the patient, his/her family or another authorized person.

type ConstraintSeverity

type ConstraintSeverity int

ConstraintSeverity is documented here http://hl7.org/fhir/ValueSet/constraint-severity

const (
	ConstraintSeverityError ConstraintSeverity = iota
	ConstraintSeverityWarning
)

func (ConstraintSeverity) Code

func (code ConstraintSeverity) Code() string

func (ConstraintSeverity) Definition

func (code ConstraintSeverity) Definition() string

func (ConstraintSeverity) Display

func (code ConstraintSeverity) Display() string

func (ConstraintSeverity) MarshalJSON

func (code ConstraintSeverity) MarshalJSON() ([]byte, error)

func (ConstraintSeverity) String

func (code ConstraintSeverity) String() string

func (*ConstraintSeverity) UnmarshalJSON

func (code *ConstraintSeverity) UnmarshalJSON(input []byte) error

type ContactDetail

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

ContactDetail is documented here http://hl7.org/fhir/StructureDefinition/ContactDetail Base StructureDefinition for ContactDetail Type: Specifies contact information for a person or organization.

type ContactPoint

type ContactPoint struct {
	Id        *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	System    *ContactPointSystem `bson:"system,omitempty" json:"system,omitempty"`
	Value     *string             `bson:"value,omitempty" json:"value,omitempty"`
	Use       *ContactPointUse    `bson:"use,omitempty" json:"use,omitempty"`
	Rank      *int                `bson:"rank,omitempty" json:"rank,omitempty"`
	Period    *Period             `bson:"period,omitempty" json:"period,omitempty"`
}

ContactPoint is documented here http://hl7.org/fhir/StructureDefinition/ContactPoint Base StructureDefinition for ContactPoint Type: Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.

type ContactPointSystem

type ContactPointSystem int

ContactPointSystem is documented here http://hl7.org/fhir/ValueSet/contact-point-system

const (
	ContactPointSystemPhone ContactPointSystem = iota
	ContactPointSystemFax
	ContactPointSystemEmail
	ContactPointSystemPager
	ContactPointSystemUrl
	ContactPointSystemSms
	ContactPointSystemOther
)

func (ContactPointSystem) Code

func (code ContactPointSystem) Code() string

func (ContactPointSystem) Definition

func (code ContactPointSystem) Definition() string

func (ContactPointSystem) Display

func (code ContactPointSystem) Display() string

func (ContactPointSystem) MarshalJSON

func (code ContactPointSystem) MarshalJSON() ([]byte, error)

func (ContactPointSystem) String

func (code ContactPointSystem) String() string

func (*ContactPointSystem) UnmarshalJSON

func (code *ContactPointSystem) UnmarshalJSON(input []byte) error

type ContactPointUse

type ContactPointUse int

ContactPointUse is documented here http://hl7.org/fhir/ValueSet/contact-point-use

const (
	ContactPointUseHome ContactPointUse = iota
	ContactPointUseWork
	ContactPointUseTemp
	ContactPointUseOld
	ContactPointUseMobile
)

func (ContactPointUse) Code

func (code ContactPointUse) Code() string

func (ContactPointUse) Definition

func (code ContactPointUse) Definition() string

func (ContactPointUse) Display

func (code ContactPointUse) Display() string

func (ContactPointUse) MarshalJSON

func (code ContactPointUse) MarshalJSON() ([]byte, error)

func (ContactPointUse) String

func (code ContactPointUse) String() string

func (*ContactPointUse) UnmarshalJSON

func (code *ContactPointUse) UnmarshalJSON(input []byte) error

type Contract

type Contract struct {
	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"`
	Text                     *Narrative                   `bson:"text,omitempty" json:"text,omitempty"`
	Contained                []json.RawMessage            `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier               []Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Url                      *string                      `bson:"url,omitempty" json:"url,omitempty"`
	Version                  *string                      `bson:"version,omitempty" json:"version,omitempty"`
	Status                   *ContractResourceStatusCodes `bson:"status,omitempty" json:"status,omitempty"`
	LegalState               *CodeableConcept             `bson:"legalState,omitempty" json:"legalState,omitempty"`
	InstantiatesCanonical    *Reference                   `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri          *string                      `bson:"instantiatesUri,omitempty" json:"instantiatesUri,omitempty"`
	ContentDerivative        *CodeableConcept             `bson:"contentDerivative,omitempty" json:"contentDerivative,omitempty"`
	Issued                   *string                      `bson:"issued,omitempty" json:"issued,omitempty"`
	Applies                  *Period                      `bson:"applies,omitempty" json:"applies,omitempty"`
	ExpirationType           *CodeableConcept             `bson:"expirationType,omitempty" json:"expirationType,omitempty"`
	Subject                  []Reference                  `bson:"subject,omitempty" json:"subject,omitempty"`
	Authority                []Reference                  `bson:"authority,omitempty" json:"authority,omitempty"`
	Domain                   []Reference                  `bson:"domain,omitempty" json:"domain,omitempty"`
	Site                     []Reference                  `bson:"site,omitempty" json:"site,omitempty"`
	Name                     *string                      `bson:"name,omitempty" json:"name,omitempty"`
	Title                    *string                      `bson:"title,omitempty" json:"title,omitempty"`
	Subtitle                 *string                      `bson:"subtitle,omitempty" json:"subtitle,omitempty"`
	Alias                    []string                     `bson:"alias,omitempty" json:"alias,omitempty"`
	Author                   *Reference                   `bson:"author,omitempty" json:"author,omitempty"`
	Scope                    *CodeableConcept             `bson:"scope,omitempty" json:"scope,omitempty"`
	TopicCodeableConcept     *CodeableConcept             `bson:"topicCodeableConcept,omitempty" json:"topicCodeableConcept,omitempty"`
	TopicReference           *Reference                   `bson:"topicReference,omitempty" json:"topicReference,omitempty"`
	Type                     *CodeableConcept             `bson:"type,omitempty" json:"type,omitempty"`
	SubType                  []CodeableConcept            `bson:"subType,omitempty" json:"subType,omitempty"`
	ContentDefinition        *ContractContentDefinition   `bson:"contentDefinition,omitempty" json:"contentDefinition,omitempty"`
	Term                     []ContractTerm               `bson:"term,omitempty" json:"term,omitempty"`
	SupportingInfo           []Reference                  `bson:"supportingInfo,omitempty" json:"supportingInfo,omitempty"`
	RelevantHistory          []Reference                  `bson:"relevantHistory,omitempty" json:"relevantHistory,omitempty"`
	Signer                   []ContractSigner             `bson:"signer,omitempty" json:"signer,omitempty"`
	Friendly                 []ContractFriendly           `bson:"friendly,omitempty" json:"friendly,omitempty"`
	Legal                    []ContractLegal              `bson:"legal,omitempty" json:"legal,omitempty"`
	Rule                     []ContractRule               `bson:"rule,omitempty" json:"rule,omitempty"`
	LegallyBindingAttachment *Attachment                  `bson:"legallyBindingAttachment,omitempty" json:"legallyBindingAttachment,omitempty"`
	LegallyBindingReference  *Reference                   `bson:"legallyBindingReference,omitempty" json:"legallyBindingReference,omitempty"`
}

Contract is documented here http://hl7.org/fhir/StructureDefinition/Contract Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.

func UnmarshalContract

func UnmarshalContract(b []byte) (Contract, error)

UnmarshalContract unmarshals a Contract.

func (Contract) ContainedResources added in v0.0.6

func (r Contract) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Contract) MarshalJSON

func (r Contract) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Contract as JSON into a byte slice

func (Contract) ResourceRef added in v0.0.4

func (r Contract) ResourceRef() (string, *string)

This function returns resource reference information

type ContractContentDefinition

type ContractContentDefinition struct {
	Id                *string                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept                        `bson:"type" json:"type"`
	SubType           *CodeableConcept                       `bson:"subType,omitempty" json:"subType,omitempty"`
	Publisher         *Reference                             `bson:"publisher,omitempty" json:"publisher,omitempty"`
	PublicationDate   *string                                `bson:"publicationDate,omitempty" json:"publicationDate,omitempty"`
	PublicationStatus ContractResourcePublicationStatusCodes `bson:"publicationStatus" json:"publicationStatus"`
	Copyright         *string                                `bson:"copyright,omitempty" json:"copyright,omitempty"`
}

Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract.

type ContractFriendly

type ContractFriendly struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ContentAttachment Attachment  `bson:"contentAttachment" json:"contentAttachment"`
	ContentReference  Reference   `bson:"contentReference" json:"contentReference"`
}

The "patient friendly language" versionof the Contract in whole or in parts. "Patient friendly language" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement.

type ContractLegal

type ContractLegal struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ContentAttachment Attachment  `bson:"contentAttachment" json:"contentAttachment"`
	ContentReference  Reference   `bson:"contentReference" json:"contentReference"`
}

List of Legal expressions or representations of this Contract.

type ContractResourcePublicationStatusCodes

type ContractResourcePublicationStatusCodes int

ContractResourcePublicationStatusCodes is documented here http://hl7.org/fhir/ValueSet/contract-publicationstatus

const (
	ContractResourcePublicationStatusCodesAmended ContractResourcePublicationStatusCodes = iota
	ContractResourcePublicationStatusCodesAppended
	ContractResourcePublicationStatusCodesCancelled
	ContractResourcePublicationStatusCodesDisputed
	ContractResourcePublicationStatusCodesEnteredInError
	ContractResourcePublicationStatusCodesExecutable
	ContractResourcePublicationStatusCodesExecuted
	ContractResourcePublicationStatusCodesNegotiable
	ContractResourcePublicationStatusCodesOffered
	ContractResourcePublicationStatusCodesPolicy
	ContractResourcePublicationStatusCodesRejected
	ContractResourcePublicationStatusCodesRenewed
	ContractResourcePublicationStatusCodesRevoked
	ContractResourcePublicationStatusCodesResolved
	ContractResourcePublicationStatusCodesTerminated
)

func (ContractResourcePublicationStatusCodes) Code

func (ContractResourcePublicationStatusCodes) Definition

func (ContractResourcePublicationStatusCodes) Display

func (ContractResourcePublicationStatusCodes) MarshalJSON

func (code ContractResourcePublicationStatusCodes) MarshalJSON() ([]byte, error)

func (ContractResourcePublicationStatusCodes) String

func (*ContractResourcePublicationStatusCodes) UnmarshalJSON

func (code *ContractResourcePublicationStatusCodes) UnmarshalJSON(input []byte) error

type ContractResourceStatusCodes

type ContractResourceStatusCodes int

ContractResourceStatusCodes is documented here http://hl7.org/fhir/ValueSet/contract-status

const (
	ContractResourceStatusCodesAmended ContractResourceStatusCodes = iota
	ContractResourceStatusCodesAppended
	ContractResourceStatusCodesCancelled
	ContractResourceStatusCodesDisputed
	ContractResourceStatusCodesEnteredInError
	ContractResourceStatusCodesExecutable
	ContractResourceStatusCodesExecuted
	ContractResourceStatusCodesNegotiable
	ContractResourceStatusCodesOffered
	ContractResourceStatusCodesPolicy
	ContractResourceStatusCodesRejected
	ContractResourceStatusCodesRenewed
	ContractResourceStatusCodesRevoked
	ContractResourceStatusCodesResolved
	ContractResourceStatusCodesTerminated
)

func (ContractResourceStatusCodes) Code

func (code ContractResourceStatusCodes) Code() string

func (ContractResourceStatusCodes) Definition

func (code ContractResourceStatusCodes) Definition() string

func (ContractResourceStatusCodes) Display

func (code ContractResourceStatusCodes) Display() string

func (ContractResourceStatusCodes) MarshalJSON

func (code ContractResourceStatusCodes) MarshalJSON() ([]byte, error)

func (ContractResourceStatusCodes) String

func (code ContractResourceStatusCodes) String() string

func (*ContractResourceStatusCodes) UnmarshalJSON

func (code *ContractResourceStatusCodes) UnmarshalJSON(input []byte) error

type ContractRule

type ContractRule struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ContentAttachment Attachment  `bson:"contentAttachment" json:"contentAttachment"`
	ContentReference  Reference   `bson:"contentReference" json:"contentReference"`
}

List of Computable Policy Rule Language Representations of this Contract.

type ContractSigner

type ContractSigner struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              Coding      `bson:"type" json:"type"`
	Party             Reference   `bson:"party" json:"party"`
	Signature         []Signature `bson:"signature" json:"signature"`
}

Parties with legal standing in the Contract, including the principal parties, the grantor(s) and grantee(s), which are any person or organization bound by the contract, and any ancillary parties, which facilitate the execution of the contract such as a notary or witness. Signers who are principal parties to the contract are bound by the Contract.activity related to the Contract.topic, and the Contract.term(s), which either extend or restrict the overall action on the topic by, for example, stipulating specific policies or obligations constraining actions, action reason, or agents with respect to some or all of the topic.For example, specifying how policies or obligations shall constrain actions and action reasons permitted or denied on all or a subset of the Contract.topic (e.g., all or a portion of property being transferred by the contract), agents (e.g., who can resell, assign interests, or alter the property being transferred by the contract), actions, and action reasons; or with respect to Contract.terms, stipulating, extending, or limiting the Contract.period of applicability or valuation of items under consideration.

type ContractTerm

type ContractTerm struct {
	Id                   *string                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier           *Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Issued               *string                     `bson:"issued,omitempty" json:"issued,omitempty"`
	Applies              *Period                     `bson:"applies,omitempty" json:"applies,omitempty"`
	TopicCodeableConcept *CodeableConcept            `bson:"topicCodeableConcept,omitempty" json:"topicCodeableConcept,omitempty"`
	TopicReference       *Reference                  `bson:"topicReference,omitempty" json:"topicReference,omitempty"`
	Type                 *CodeableConcept            `bson:"type,omitempty" json:"type,omitempty"`
	SubType              *CodeableConcept            `bson:"subType,omitempty" json:"subType,omitempty"`
	Text                 *string                     `bson:"text,omitempty" json:"text,omitempty"`
	SecurityLabel        []ContractTermSecurityLabel `bson:"securityLabel,omitempty" json:"securityLabel,omitempty"`
	Offer                ContractTermOffer           `bson:"offer" json:"offer"`
	Asset                []ContractTermAsset         `bson:"asset,omitempty" json:"asset,omitempty"`
	Action               []ContractTermAction        `bson:"action,omitempty" json:"action,omitempty"`
	Group                []ContractTerm              `bson:"group,omitempty" json:"group,omitempty"`
}

One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups.

type ContractTermAction

type ContractTermAction struct {
	Id                  *string                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	DoNotPerform        *bool                       `bson:"doNotPerform,omitempty" json:"doNotPerform,omitempty"`
	Type                CodeableConcept             `bson:"type" json:"type"`
	Subject             []ContractTermActionSubject `bson:"subject,omitempty" json:"subject,omitempty"`
	Intent              CodeableConcept             `bson:"intent" json:"intent"`
	LinkId              []string                    `bson:"linkId,omitempty" json:"linkId,omitempty"`
	Status              CodeableConcept             `bson:"status" json:"status"`
	Context             *Reference                  `bson:"context,omitempty" json:"context,omitempty"`
	ContextLinkId       []string                    `bson:"contextLinkId,omitempty" json:"contextLinkId,omitempty"`
	OccurrenceDateTime  *string                     `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod    *Period                     `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	OccurrenceTiming    *Timing                     `bson:"occurrenceTiming,omitempty" json:"occurrenceTiming,omitempty"`
	Requester           []Reference                 `bson:"requester,omitempty" json:"requester,omitempty"`
	RequesterLinkId     []string                    `bson:"requesterLinkId,omitempty" json:"requesterLinkId,omitempty"`
	PerformerType       []CodeableConcept           `bson:"performerType,omitempty" json:"performerType,omitempty"`
	PerformerRole       *CodeableConcept            `bson:"performerRole,omitempty" json:"performerRole,omitempty"`
	Performer           *Reference                  `bson:"performer,omitempty" json:"performer,omitempty"`
	PerformerLinkId     []string                    `bson:"performerLinkId,omitempty" json:"performerLinkId,omitempty"`
	ReasonCode          []CodeableConcept           `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference     []Reference                 `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Reason              []string                    `bson:"reason,omitempty" json:"reason,omitempty"`
	ReasonLinkId        []string                    `bson:"reasonLinkId,omitempty" json:"reasonLinkId,omitempty"`
	Note                []Annotation                `bson:"note,omitempty" json:"note,omitempty"`
	SecurityLabelNumber []int                       `bson:"securityLabelNumber,omitempty" json:"securityLabelNumber,omitempty"`
}

An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place. Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.For example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, software, or system process. However, only one user may be the initiator/requestor for the event.

type ContractTermActionSubject

type ContractTermActionSubject struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Reference         []Reference      `bson:"reference" json:"reference"`
	Role              *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
}

Entity of the action.

type ContractTermAsset

type ContractTermAsset struct {
	Id                  *string                       `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Scope               *CodeableConcept              `bson:"scope,omitempty" json:"scope,omitempty"`
	Type                []CodeableConcept             `bson:"type,omitempty" json:"type,omitempty"`
	TypeReference       []Reference                   `bson:"typeReference,omitempty" json:"typeReference,omitempty"`
	Subtype             []CodeableConcept             `bson:"subtype,omitempty" json:"subtype,omitempty"`
	Relationship        *Coding                       `bson:"relationship,omitempty" json:"relationship,omitempty"`
	Context             []ContractTermAssetContext    `bson:"context,omitempty" json:"context,omitempty"`
	Condition           *string                       `bson:"condition,omitempty" json:"condition,omitempty"`
	PeriodType          []CodeableConcept             `bson:"periodType,omitempty" json:"periodType,omitempty"`
	Period              []Period                      `bson:"period,omitempty" json:"period,omitempty"`
	UsePeriod           []Period                      `bson:"usePeriod,omitempty" json:"usePeriod,omitempty"`
	Text                *string                       `bson:"text,omitempty" json:"text,omitempty"`
	LinkId              []string                      `bson:"linkId,omitempty" json:"linkId,omitempty"`
	Answer              []ContractTermOfferAnswer     `bson:"answer,omitempty" json:"answer,omitempty"`
	SecurityLabelNumber []int                         `bson:"securityLabelNumber,omitempty" json:"securityLabelNumber,omitempty"`
	ValuedItem          []ContractTermAssetValuedItem `bson:"valuedItem,omitempty" json:"valuedItem,omitempty"`
}

Contract Term Asset List.

type ContractTermAssetContext

type ContractTermAssetContext struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Reference         *Reference        `bson:"reference,omitempty" json:"reference,omitempty"`
	Code              []CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Text              *string           `bson:"text,omitempty" json:"text,omitempty"`
}

Circumstance of the asset.

type ContractTermAssetValuedItem

type ContractTermAssetValuedItem struct {
	Id                    *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension             []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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         *string          `bson:"effectiveTime,omitempty" json:"effectiveTime,omitempty"`
	Quantity              *Quantity        `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice             *Money           `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor                *json.Number     `bson:"factor,omitempty" json:"factor,omitempty"`
	Points                *json.Number     `bson:"points,omitempty" json:"points,omitempty"`
	Net                   *Money           `bson:"net,omitempty" json:"net,omitempty"`
	Payment               *string          `bson:"payment,omitempty" json:"payment,omitempty"`
	PaymentDate           *string          `bson:"paymentDate,omitempty" json:"paymentDate,omitempty"`
	Responsible           *Reference       `bson:"responsible,omitempty" json:"responsible,omitempty"`
	Recipient             *Reference       `bson:"recipient,omitempty" json:"recipient,omitempty"`
	LinkId                []string         `bson:"linkId,omitempty" json:"linkId,omitempty"`
	SecurityLabelNumber   []int            `bson:"securityLabelNumber,omitempty" json:"securityLabelNumber,omitempty"`
}

Contract Valued Item List.

type ContractTermOffer

type ContractTermOffer struct {
	Id                  *string                   `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier          []Identifier              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Party               []ContractTermOfferParty  `bson:"party,omitempty" json:"party,omitempty"`
	Topic               *Reference                `bson:"topic,omitempty" json:"topic,omitempty"`
	Type                *CodeableConcept          `bson:"type,omitempty" json:"type,omitempty"`
	Decision            *CodeableConcept          `bson:"decision,omitempty" json:"decision,omitempty"`
	DecisionMode        []CodeableConcept         `bson:"decisionMode,omitempty" json:"decisionMode,omitempty"`
	Answer              []ContractTermOfferAnswer `bson:"answer,omitempty" json:"answer,omitempty"`
	Text                *string                   `bson:"text,omitempty" json:"text,omitempty"`
	LinkId              []string                  `bson:"linkId,omitempty" json:"linkId,omitempty"`
	SecurityLabelNumber []int                     `bson:"securityLabelNumber,omitempty" json:"securityLabelNumber,omitempty"`
}

The matter of concern in the context of this provision of the agrement.

type ContractTermOfferAnswer

type ContractTermOfferAnswer struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ValueBoolean      bool        `bson:"valueBoolean" json:"valueBoolean"`
	ValueDecimal      json.Number `bson:"valueDecimal" json:"valueDecimal"`
	ValueInteger      int         `bson:"valueInteger" json:"valueInteger"`
	ValueDate         string      `bson:"valueDate" json:"valueDate"`
	ValueDateTime     string      `bson:"valueDateTime" json:"valueDateTime"`
	ValueTime         string      `bson:"valueTime" json:"valueTime"`
	ValueString       string      `bson:"valueString" json:"valueString"`
	ValueUri          string      `bson:"valueUri" json:"valueUri"`
	ValueAttachment   Attachment  `bson:"valueAttachment" json:"valueAttachment"`
	ValueCoding       Coding      `bson:"valueCoding" json:"valueCoding"`
	ValueQuantity     Quantity    `bson:"valueQuantity" json:"valueQuantity"`
	ValueReference    Reference   `bson:"valueReference" json:"valueReference"`
}

Response to offer text.

type ContractTermOfferParty

type ContractTermOfferParty struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Reference         []Reference     `bson:"reference" json:"reference"`
	Role              CodeableConcept `bson:"role" json:"role"`
}

Offer Recipient.

type ContractTermSecurityLabel

type ContractTermSecurityLabel struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Number            []int       `bson:"number,omitempty" json:"number,omitempty"`
	Classification    Coding      `bson:"classification" json:"classification"`
	Category          []Coding    `bson:"category,omitempty" json:"category,omitempty"`
	Control           []Coding    `bson:"control,omitempty" json:"control,omitempty"`
}

Security labels that protect the handling of information about the term and its elements, which may be specifically identified..

type Contributor added in v0.0.5

type Contributor struct {
	Id        *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	Type      ContributorType `bson:"type" json:"type"`
	Name      string          `bson:"name" json:"name"`
	Contact   []ContactDetail `bson:"contact,omitempty" json:"contact,omitempty"`
}

Contributor is documented here http://hl7.org/fhir/StructureDefinition/Contributor Base StructureDefinition for Contributor Type: A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.

type ContributorType added in v0.0.5

type ContributorType int

ContributorType is documented here http://hl7.org/fhir/ValueSet/contributor-type

const (
	ContributorTypeAuthor ContributorType = iota
	ContributorTypeEditor
	ContributorTypeReviewer
	ContributorTypeEndorser
)

func (ContributorType) Code added in v0.0.5

func (code ContributorType) Code() string

func (ContributorType) Definition added in v0.0.5

func (code ContributorType) Definition() string

func (ContributorType) Display added in v0.0.5

func (code ContributorType) Display() string

func (ContributorType) MarshalJSON added in v0.0.5

func (code ContributorType) MarshalJSON() ([]byte, error)

func (ContributorType) String added in v0.0.5

func (code ContributorType) String() string

func (*ContributorType) UnmarshalJSON added in v0.0.5

func (code *ContributorType) UnmarshalJSON(input []byte) error

type Count added in v0.0.5

type Count struct {
	Id         *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension  []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	Value      *json.Number        `bson:"value,omitempty" json:"value,omitempty"`
	Comparator *QuantityComparator `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"`
}

Count is documented here http://hl7.org/fhir/StructureDefinition/Count Base StructureDefinition for Count Type: A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.

type Coverage

type Coverage struct {
	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"`
	Text              *Narrative                   `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage            `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            FinancialResourceStatusCodes `bson:"status" json:"status"`
	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" json:"beneficiary"`
	Dependent         *string                      `bson:"dependent,omitempty" json:"dependent,omitempty"`
	Relationship      *CodeableConcept             `bson:"relationship,omitempty" json:"relationship,omitempty"`
	Period            *Period                      `bson:"period,omitempty" json:"period,omitempty"`
	Payor             []Reference                  `bson:"payor" json:"payor"`
	Class             []CoverageClass              `bson:"class,omitempty" json:"class,omitempty"`
	Order             *int                         `bson:"order,omitempty" json:"order,omitempty"`
	Network           *string                      `bson:"network,omitempty" json:"network,omitempty"`
	CostToBeneficiary []CoverageCostToBeneficiary  `bson:"costToBeneficiary,omitempty" json:"costToBeneficiary,omitempty"`
	Subrogation       *bool                        `bson:"subrogation,omitempty" json:"subrogation,omitempty"`
	Contract          []Reference                  `bson:"contract,omitempty" json:"contract,omitempty"`
}

Coverage is documented here http://hl7.org/fhir/StructureDefinition/Coverage Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.

func UnmarshalCoverage

func UnmarshalCoverage(b []byte) (Coverage, error)

UnmarshalCoverage unmarshals a Coverage.

func (Coverage) ContainedResources added in v0.0.6

func (r Coverage) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Coverage) MarshalJSON

func (r Coverage) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Coverage as JSON into a byte slice

func (Coverage) ResourceRef added in v0.0.4

func (r Coverage) ResourceRef() (string, *string)

This function returns resource reference information

type CoverageClass

type CoverageClass struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept `bson:"type" json:"type"`
	Value             string          `bson:"value" json:"value"`
	Name              *string         `bson:"name,omitempty" json:"name,omitempty"`
}

A suite of underwriter specific classifiers. For example may be used to identify a class of coverage or employer group, Policy, Plan.

type CoverageCostToBeneficiary

type CoverageCostToBeneficiary struct {
	Id                *string                              `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept                     `bson:"type,omitempty" json:"type,omitempty"`
	ValueQuantity     Quantity                             `bson:"valueQuantity" json:"valueQuantity"`
	ValueMoney        Money                                `bson:"valueMoney" json:"valueMoney"`
	Exception         []CoverageCostToBeneficiaryException `bson:"exception,omitempty" json:"exception,omitempty"`
}

A suite of codes indicating the cost category and associated amount which have been detailed in the policy and may have been included on the health card. For example by knowing the patient visit co-pay, the provider can collect the amount prior to undertaking treatment.

type CoverageCostToBeneficiaryException

type CoverageCostToBeneficiaryException struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept `bson:"type" json:"type"`
	Period            *Period         `bson:"period,omitempty" json:"period,omitempty"`
}

A suite of codes indicating exceptions or reductions to patient costs and their effective periods.

type CoverageEligibilityRequest

type CoverageEligibilityRequest struct {
	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"`
	Text              *Narrative                                 `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                          `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                               `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            FinancialResourceStatusCodes               `bson:"status" json:"status"`
	Priority          *CodeableConcept                           `bson:"priority,omitempty" json:"priority,omitempty"`
	Purpose           []EligibilityRequestPurpose                `bson:"purpose" json:"purpose"`
	Patient           Reference                                  `bson:"patient" json:"patient"`
	ServicedDate      *string                                    `bson:"servicedDate,omitempty" json:"servicedDate,omitempty"`
	ServicedPeriod    *Period                                    `bson:"servicedPeriod,omitempty" json:"servicedPeriod,omitempty"`
	Created           string                                     `bson:"created" json:"created"`
	Enterer           *Reference                                 `bson:"enterer,omitempty" json:"enterer,omitempty"`
	Provider          *Reference                                 `bson:"provider,omitempty" json:"provider,omitempty"`
	Insurer           Reference                                  `bson:"insurer" json:"insurer"`
	Facility          *Reference                                 `bson:"facility,omitempty" json:"facility,omitempty"`
	SupportingInfo    []CoverageEligibilityRequestSupportingInfo `bson:"supportingInfo,omitempty" json:"supportingInfo,omitempty"`
	Insurance         []CoverageEligibilityRequestInsurance      `bson:"insurance,omitempty" json:"insurance,omitempty"`
	Item              []CoverageEligibilityRequestItem           `bson:"item,omitempty" json:"item,omitempty"`
}

CoverageEligibilityRequest is documented here http://hl7.org/fhir/StructureDefinition/CoverageEligibilityRequest The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.

func UnmarshalCoverageEligibilityRequest

func UnmarshalCoverageEligibilityRequest(b []byte) (CoverageEligibilityRequest, error)

UnmarshalCoverageEligibilityRequest unmarshals a CoverageEligibilityRequest.

func (CoverageEligibilityRequest) ContainedResources added in v0.0.6

func (r CoverageEligibilityRequest) ContainedResources() []json.RawMessage

This function returns resource reference information

func (CoverageEligibilityRequest) MarshalJSON

func (r CoverageEligibilityRequest) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given CoverageEligibilityRequest as JSON into a byte slice

func (CoverageEligibilityRequest) ResourceRef added in v0.0.4

func (r CoverageEligibilityRequest) ResourceRef() (string, *string)

This function returns resource reference information

type CoverageEligibilityRequestInsurance

type CoverageEligibilityRequestInsurance struct {
	Id                  *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Focal               *bool       `bson:"focal,omitempty" json:"focal,omitempty"`
	Coverage            Reference   `bson:"coverage" json:"coverage"`
	BusinessArrangement *string     `bson:"businessArrangement,omitempty" json:"businessArrangement,omitempty"`
}

Financial instruments for reimbursement for the health care products and services. All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim.

type CoverageEligibilityRequestItem

type CoverageEligibilityRequestItem struct {
	Id                     *string                                   `bson:"id,omitempty" json:"id,omitempty"`
	Extension              []Extension                               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension                               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	SupportingInfoSequence []int                                     `bson:"supportingInfoSequence,omitempty" json:"supportingInfoSequence,omitempty"`
	Category               *CodeableConcept                          `bson:"category,omitempty" json:"category,omitempty"`
	ProductOrService       *CodeableConcept                          `bson:"productOrService,omitempty" json:"productOrService,omitempty"`
	Modifier               []CodeableConcept                         `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Provider               *Reference                                `bson:"provider,omitempty" json:"provider,omitempty"`
	Quantity               *Quantity                                 `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice              *Money                                    `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Facility               *Reference                                `bson:"facility,omitempty" json:"facility,omitempty"`
	Diagnosis              []CoverageEligibilityRequestItemDiagnosis `bson:"diagnosis,omitempty" json:"diagnosis,omitempty"`
	Detail                 []Reference                               `bson:"detail,omitempty" json:"detail,omitempty"`
}

Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor.

type CoverageEligibilityRequestItemDiagnosis

type CoverageEligibilityRequestItemDiagnosis struct {
	Id                       *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	DiagnosisCodeableConcept *CodeableConcept `bson:"diagnosisCodeableConcept,omitempty" json:"diagnosisCodeableConcept,omitempty"`
	DiagnosisReference       *Reference       `bson:"diagnosisReference,omitempty" json:"diagnosisReference,omitempty"`
}

Patient diagnosis for which care is sought.

type CoverageEligibilityRequestSupportingInfo

type CoverageEligibilityRequestSupportingInfo struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence          int         `bson:"sequence" json:"sequence"`
	Information       Reference   `bson:"information" json:"information"`
	AppliesToAll      *bool       `bson:"appliesToAll,omitempty" json:"appliesToAll,omitempty"`
}

Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. Often there are multiple jurisdiction specific valuesets which are required.

type CoverageEligibilityResponse

type CoverageEligibilityResponse struct {
	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"`
	Text              *Narrative                             `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                           `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            FinancialResourceStatusCodes           `bson:"status" json:"status"`
	Purpose           []EligibilityResponsePurpose           `bson:"purpose" json:"purpose"`
	Patient           Reference                              `bson:"patient" json:"patient"`
	ServicedDate      *string                                `bson:"servicedDate,omitempty" json:"servicedDate,omitempty"`
	ServicedPeriod    *Period                                `bson:"servicedPeriod,omitempty" json:"servicedPeriod,omitempty"`
	Created           string                                 `bson:"created" json:"created"`
	Requestor         *Reference                             `bson:"requestor,omitempty" json:"requestor,omitempty"`
	Request           Reference                              `bson:"request" json:"request"`
	Outcome           ClaimProcessingCodes                   `bson:"outcome" json:"outcome"`
	Disposition       *string                                `bson:"disposition,omitempty" json:"disposition,omitempty"`
	Insurer           Reference                              `bson:"insurer" json:"insurer"`
	Insurance         []CoverageEligibilityResponseInsurance `bson:"insurance,omitempty" json:"insurance,omitempty"`
	PreAuthRef        *string                                `bson:"preAuthRef,omitempty" json:"preAuthRef,omitempty"`
	Form              *CodeableConcept                       `bson:"form,omitempty" json:"form,omitempty"`
	Error             []CoverageEligibilityResponseError     `bson:"error,omitempty" json:"error,omitempty"`
}

CoverageEligibilityResponse is documented here http://hl7.org/fhir/StructureDefinition/CoverageEligibilityResponse This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.

func UnmarshalCoverageEligibilityResponse

func UnmarshalCoverageEligibilityResponse(b []byte) (CoverageEligibilityResponse, error)

UnmarshalCoverageEligibilityResponse unmarshals a CoverageEligibilityResponse.

func (CoverageEligibilityResponse) ContainedResources added in v0.0.6

func (r CoverageEligibilityResponse) ContainedResources() []json.RawMessage

This function returns resource reference information

func (CoverageEligibilityResponse) MarshalJSON

func (r CoverageEligibilityResponse) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given CoverageEligibilityResponse as JSON into a byte slice

func (CoverageEligibilityResponse) ResourceRef added in v0.0.4

func (r CoverageEligibilityResponse) ResourceRef() (string, *string)

This function returns resource reference information

type CoverageEligibilityResponseError

type CoverageEligibilityResponseError struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              CodeableConcept `bson:"code" json:"code"`
}

Errors encountered during the processing of the request.

type CoverageEligibilityResponseInsurance

type CoverageEligibilityResponseInsurance struct {
	Id                *string                                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Coverage          Reference                                  `bson:"coverage" json:"coverage"`
	Inforce           *bool                                      `bson:"inforce,omitempty" json:"inforce,omitempty"`
	BenefitPeriod     *Period                                    `bson:"benefitPeriod,omitempty" json:"benefitPeriod,omitempty"`
	Item              []CoverageEligibilityResponseInsuranceItem `bson:"item,omitempty" json:"item,omitempty"`
}

Financial instruments for reimbursement for the health care products and services. All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim.

type CoverageEligibilityResponseInsuranceItem

type CoverageEligibilityResponseInsuranceItem struct {
	Id                      *string                                           `bson:"id,omitempty" json:"id,omitempty"`
	Extension               []Extension                                       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension                                       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Category                *CodeableConcept                                  `bson:"category,omitempty" json:"category,omitempty"`
	ProductOrService        *CodeableConcept                                  `bson:"productOrService,omitempty" json:"productOrService,omitempty"`
	Modifier                []CodeableConcept                                 `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Provider                *Reference                                        `bson:"provider,omitempty" json:"provider,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"`
	Benefit                 []CoverageEligibilityResponseInsuranceItemBenefit `bson:"benefit,omitempty" json:"benefit,omitempty"`
	AuthorizationRequired   *bool                                             `bson:"authorizationRequired,omitempty" json:"authorizationRequired,omitempty"`
	AuthorizationSupporting []CodeableConcept                                 `bson:"authorizationSupporting,omitempty" json:"authorizationSupporting,omitempty"`
	AuthorizationUrl        *string                                           `bson:"authorizationUrl,omitempty" json:"authorizationUrl,omitempty"`
}

Benefits and optionally current balances, and authorization details by category or service.

type CoverageEligibilityResponseInsuranceItemBenefit

type CoverageEligibilityResponseInsuranceItemBenefit struct {
	Id                 *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension          []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type               CodeableConcept `bson:"type" json:"type"`
	AllowedUnsignedInt *int            `bson:"allowedUnsignedInt,omitempty" json:"allowedUnsignedInt,omitempty"`
	AllowedString      *string         `bson:"allowedString,omitempty" json:"allowedString,omitempty"`
	AllowedMoney       *Money          `bson:"allowedMoney,omitempty" json:"allowedMoney,omitempty"`
	UsedUnsignedInt    *int            `bson:"usedUnsignedInt,omitempty" json:"usedUnsignedInt,omitempty"`
	UsedString         *string         `bson:"usedString,omitempty" json:"usedString,omitempty"`
	UsedMoney          *Money          `bson:"usedMoney,omitempty" json:"usedMoney,omitempty"`
}

Benefits used to date.

type DataRequirement

type DataRequirement struct {
	Id                     *string                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension              []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	Type                   string                      `bson:"type" json:"type"`
	Profile                []string                    `bson:"profile,omitempty" json:"profile,omitempty"`
	SubjectCodeableConcept *CodeableConcept            `bson:"subjectCodeableConcept,omitempty" json:"subjectCodeableConcept,omitempty"`
	SubjectReference       *Reference                  `bson:"subjectReference,omitempty" json:"subjectReference,omitempty"`
	MustSupport            []string                    `bson:"mustSupport,omitempty" json:"mustSupport,omitempty"`
	CodeFilter             []DataRequirementCodeFilter `bson:"codeFilter,omitempty" json:"codeFilter,omitempty"`
	DateFilter             []DataRequirementDateFilter `bson:"dateFilter,omitempty" json:"dateFilter,omitempty"`
	Limit                  *int                        `bson:"limit,omitempty" json:"limit,omitempty"`
	Sort                   []DataRequirementSort       `bson:"sort,omitempty" json:"sort,omitempty"`
}

DataRequirement is documented here http://hl7.org/fhir/StructureDefinition/DataRequirement Base StructureDefinition for DataRequirement Type: Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.

type DataRequirementCodeFilter

type DataRequirementCodeFilter struct {
	Id          *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension   []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Path        *string     `bson:"path,omitempty" json:"path,omitempty"`
	SearchParam *string     `bson:"searchParam,omitempty" json:"searchParam,omitempty"`
	ValueSet    *string     `bson:"valueSet,omitempty" json:"valueSet,omitempty"`
	Code        []Coding    `bson:"code,omitempty" json:"code,omitempty"`
}

Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed.

type DataRequirementDateFilter

type DataRequirementDateFilter struct {
	Id            *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension     []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Path          *string     `bson:"path,omitempty" json:"path,omitempty"`
	SearchParam   *string     `bson:"searchParam,omitempty" json:"searchParam,omitempty"`
	ValueDateTime *string     `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValuePeriod   *Period     `bson:"valuePeriod,omitempty" json:"valuePeriod,omitempty"`
	ValueDuration *Duration   `bson:"valueDuration,omitempty" json:"valueDuration,omitempty"`
}

Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed.

type DataRequirementSort

type DataRequirementSort struct {
	Id        *string       `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension   `bson:"extension,omitempty" json:"extension,omitempty"`
	Path      string        `bson:"path" json:"path"`
	Direction SortDirection `bson:"direction" json:"direction"`
}

Specifies the order of the results to be returned. This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". When multiple sorts are specified, they are applied in the order they appear in the resource.

type DaysOfWeek

type DaysOfWeek int

DaysOfWeek is documented here http://hl7.org/fhir/ValueSet/days-of-week

const (
	DaysOfWeekMon DaysOfWeek = iota
	DaysOfWeekTue
	DaysOfWeekWed
	DaysOfWeekThu
	DaysOfWeekFri
	DaysOfWeekSat
	DaysOfWeekSun
)

func (DaysOfWeek) Code

func (code DaysOfWeek) Code() string

func (DaysOfWeek) Definition

func (code DaysOfWeek) Definition() string

func (DaysOfWeek) Display

func (code DaysOfWeek) Display() string

func (DaysOfWeek) MarshalJSON

func (code DaysOfWeek) MarshalJSON() ([]byte, error)

func (DaysOfWeek) String

func (code DaysOfWeek) String() string

func (*DaysOfWeek) UnmarshalJSON

func (code *DaysOfWeek) UnmarshalJSON(input []byte) error

type DetectedIssue

type DetectedIssue struct {
	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"`
	Text               *Narrative                `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage         `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier         []Identifier              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status             ObservationStatus         `bson:"status" json:"status"`
	Code               *CodeableConcept          `bson:"code,omitempty" json:"code,omitempty"`
	Severity           *DetectedIssueSeverity    `bson:"severity,omitempty" json:"severity,omitempty"`
	Patient            *Reference                `bson:"patient,omitempty" json:"patient,omitempty"`
	IdentifiedDateTime *string                   `bson:"identifiedDateTime,omitempty" json:"identifiedDateTime,omitempty"`
	IdentifiedPeriod   *Period                   `bson:"identifiedPeriod,omitempty" json:"identifiedPeriod,omitempty"`
	Author             *Reference                `bson:"author,omitempty" json:"author,omitempty"`
	Implicated         []Reference               `bson:"implicated,omitempty" json:"implicated,omitempty"`
	Evidence           []DetectedIssueEvidence   `bson:"evidence,omitempty" json:"evidence,omitempty"`
	Detail             *string                   `bson:"detail,omitempty" json:"detail,omitempty"`
	Reference          *string                   `bson:"reference,omitempty" json:"reference,omitempty"`
	Mitigation         []DetectedIssueMitigation `bson:"mitigation,omitempty" json:"mitigation,omitempty"`
}

DetectedIssue is documented here http://hl7.org/fhir/StructureDefinition/DetectedIssue Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc.

func UnmarshalDetectedIssue

func UnmarshalDetectedIssue(b []byte) (DetectedIssue, error)

UnmarshalDetectedIssue unmarshals a DetectedIssue.

func (DetectedIssue) ContainedResources added in v0.0.6

func (r DetectedIssue) ContainedResources() []json.RawMessage

This function returns resource reference information

func (DetectedIssue) MarshalJSON

func (r DetectedIssue) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given DetectedIssue as JSON into a byte slice

func (DetectedIssue) ResourceRef added in v0.0.4

func (r DetectedIssue) ResourceRef() (string, *string)

This function returns resource reference information

type DetectedIssueEvidence

type DetectedIssueEvidence struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              []CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Detail            []Reference       `bson:"detail,omitempty" json:"detail,omitempty"`
}

Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport.

type DetectedIssueMitigation

type DetectedIssueMitigation struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Action            CodeableConcept `bson:"action" json:"action"`
	Date              *string         `bson:"date,omitempty" json:"date,omitempty"`
	Author            *Reference      `bson:"author,omitempty" json:"author,omitempty"`
}

Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.

type DetectedIssueSeverity

type DetectedIssueSeverity int

DetectedIssueSeverity is documented here http://hl7.org/fhir/ValueSet/detectedissue-severity

const (
	DetectedIssueSeverityHigh DetectedIssueSeverity = iota
	DetectedIssueSeverityModerate
	DetectedIssueSeverityLow
)

func (DetectedIssueSeverity) Code

func (code DetectedIssueSeverity) Code() string

func (DetectedIssueSeverity) Definition

func (code DetectedIssueSeverity) Definition() string

func (DetectedIssueSeverity) Display

func (code DetectedIssueSeverity) Display() string

func (DetectedIssueSeverity) MarshalJSON

func (code DetectedIssueSeverity) MarshalJSON() ([]byte, error)

func (DetectedIssueSeverity) String

func (code DetectedIssueSeverity) String() string

func (*DetectedIssueSeverity) UnmarshalJSON

func (code *DetectedIssueSeverity) UnmarshalJSON(input []byte) error

type Device

type Device struct {
	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"`
	Text               *Narrative             `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier         []Identifier           `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Definition         *Reference             `bson:"definition,omitempty" json:"definition,omitempty"`
	UdiCarrier         []DeviceUdiCarrier     `bson:"udiCarrier,omitempty" json:"udiCarrier,omitempty"`
	Status             *FHIRDeviceStatus      `bson:"status,omitempty" json:"status,omitempty"`
	StatusReason       []CodeableConcept      `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	DistinctIdentifier *string                `bson:"distinctIdentifier,omitempty" json:"distinctIdentifier,omitempty"`
	Manufacturer       *string                `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
	ManufactureDate    *string                `bson:"manufactureDate,omitempty" json:"manufactureDate,omitempty"`
	ExpirationDate     *string                `bson:"expirationDate,omitempty" json:"expirationDate,omitempty"`
	LotNumber          *string                `bson:"lotNumber,omitempty" json:"lotNumber,omitempty"`
	SerialNumber       *string                `bson:"serialNumber,omitempty" json:"serialNumber,omitempty"`
	DeviceName         []DeviceDeviceName     `bson:"deviceName,omitempty" json:"deviceName,omitempty"`
	ModelNumber        *string                `bson:"modelNumber,omitempty" json:"modelNumber,omitempty"`
	PartNumber         *string                `bson:"partNumber,omitempty" json:"partNumber,omitempty"`
	Type               *CodeableConcept       `bson:"type,omitempty" json:"type,omitempty"`
	Specialization     []DeviceSpecialization `bson:"specialization,omitempty" json:"specialization,omitempty"`
	Version            []DeviceVersion        `bson:"version,omitempty" json:"version,omitempty"`
	Property           []DeviceProperty       `bson:"property,omitempty" json:"property,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"`
	Parent             *Reference             `bson:"parent,omitempty" json:"parent,omitempty"`
}

Device is documented here http://hl7.org/fhir/StructureDefinition/Device A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.

func UnmarshalDevice

func UnmarshalDevice(b []byte) (Device, error)

UnmarshalDevice unmarshals a Device.

func (Device) ContainedResources added in v0.0.6

func (r Device) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Device) MarshalJSON

func (r Device) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Device as JSON into a byte slice

func (Device) ResourceRef added in v0.0.4

func (r Device) ResourceRef() (string, *string)

This function returns resource reference information

type DeviceDefinition

type DeviceDefinition struct {
	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"`
	Text                    *Narrative                            `bson:"text,omitempty" json:"text,omitempty"`
	Contained               []json.RawMessage                     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension               []Extension                           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension                           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier              []Identifier                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	UdiDeviceIdentifier     []DeviceDefinitionUdiDeviceIdentifier `bson:"udiDeviceIdentifier,omitempty" json:"udiDeviceIdentifier,omitempty"`
	ManufacturerString      *string                               `bson:"manufacturerString,omitempty" json:"manufacturerString,omitempty"`
	ManufacturerReference   *Reference                            `bson:"manufacturerReference,omitempty" json:"manufacturerReference,omitempty"`
	DeviceName              []DeviceDefinitionDeviceName          `bson:"deviceName,omitempty" json:"deviceName,omitempty"`
	ModelNumber             *string                               `bson:"modelNumber,omitempty" json:"modelNumber,omitempty"`
	Type                    *CodeableConcept                      `bson:"type,omitempty" json:"type,omitempty"`
	Specialization          []DeviceDefinitionSpecialization      `bson:"specialization,omitempty" json:"specialization,omitempty"`
	Version                 []string                              `bson:"version,omitempty" json:"version,omitempty"`
	Safety                  []CodeableConcept                     `bson:"safety,omitempty" json:"safety,omitempty"`
	ShelfLifeStorage        []ProductShelfLife                    `bson:"shelfLifeStorage,omitempty" json:"shelfLifeStorage,omitempty"`
	PhysicalCharacteristics *ProdCharacteristic                   `bson:"physicalCharacteristics,omitempty" json:"physicalCharacteristics,omitempty"`
	LanguageCode            []CodeableConcept                     `bson:"languageCode,omitempty" json:"languageCode,omitempty"`
	Capability              []DeviceDefinitionCapability          `bson:"capability,omitempty" json:"capability,omitempty"`
	Property                []DeviceDefinitionProperty            `bson:"property,omitempty" json:"property,omitempty"`
	Owner                   *Reference                            `bson:"owner,omitempty" json:"owner,omitempty"`
	Contact                 []ContactPoint                        `bson:"contact,omitempty" json:"contact,omitempty"`
	Url                     *string                               `bson:"url,omitempty" json:"url,omitempty"`
	OnlineInformation       *string                               `bson:"onlineInformation,omitempty" json:"onlineInformation,omitempty"`
	Note                    []Annotation                          `bson:"note,omitempty" json:"note,omitempty"`
	Quantity                *Quantity                             `bson:"quantity,omitempty" json:"quantity,omitempty"`
	ParentDevice            *Reference                            `bson:"parentDevice,omitempty" json:"parentDevice,omitempty"`
	Material                []DeviceDefinitionMaterial            `bson:"material,omitempty" json:"material,omitempty"`
}

DeviceDefinition is documented here http://hl7.org/fhir/StructureDefinition/DeviceDefinition The characteristics, operational status and capabilities of a medical-related component of a medical device.

func UnmarshalDeviceDefinition

func UnmarshalDeviceDefinition(b []byte) (DeviceDefinition, error)

UnmarshalDeviceDefinition unmarshals a DeviceDefinition.

func (DeviceDefinition) ContainedResources added in v0.0.6

func (r DeviceDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (DeviceDefinition) MarshalJSON

func (r DeviceDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given DeviceDefinition as JSON into a byte slice

func (DeviceDefinition) ResourceRef added in v0.0.4

func (r DeviceDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type DeviceDefinitionCapability

type DeviceDefinitionCapability struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept   `bson:"type" json:"type"`
	Description       []CodeableConcept `bson:"description,omitempty" json:"description,omitempty"`
}

Device capabilities.

type DeviceDefinitionDeviceName

type DeviceDefinitionDeviceName struct {
	Id                *string        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string         `bson:"name" json:"name"`
	Type              DeviceNameType `bson:"type" json:"type"`
}

A name given to the device to identify it.

type DeviceDefinitionMaterial

type DeviceDefinitionMaterial struct {
	Id                  *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Substance           CodeableConcept `bson:"substance" json:"substance"`
	Alternate           *bool           `bson:"alternate,omitempty" json:"alternate,omitempty"`
	AllergenicIndicator *bool           `bson:"allergenicIndicator,omitempty" json:"allergenicIndicator,omitempty"`
}

A substance used to create the material(s) of which the device is made.

type DeviceDefinitionProperty

type DeviceDefinitionProperty struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept   `bson:"type" json:"type"`
	ValueQuantity     []Quantity        `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueCode         []CodeableConcept `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
}

The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties.

type DeviceDefinitionSpecialization

type DeviceDefinitionSpecialization struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	SystemType        string      `bson:"systemType" json:"systemType"`
	Version           *string     `bson:"version,omitempty" json:"version,omitempty"`
}

The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication.

type DeviceDefinitionUdiDeviceIdentifier

type DeviceDefinitionUdiDeviceIdentifier struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	DeviceIdentifier  string      `bson:"deviceIdentifier" json:"deviceIdentifier"`
	Issuer            string      `bson:"issuer" json:"issuer"`
	Jurisdiction      string      `bson:"jurisdiction" json:"jurisdiction"`
}

Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold.

type DeviceDeviceName

type DeviceDeviceName struct {
	Id                *string        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string         `bson:"name" json:"name"`
	Type              DeviceNameType `bson:"type" json:"type"`
}

This represents the manufacturer's name of the device as provided by the device, from a UDI label, or by a person describing the Device. This typically would be used when a person provides the name(s) or when the device represents one of the names available from DeviceDefinition.

type DeviceMetric

type DeviceMetric struct {
	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"`
	Text              *Narrative                     `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage              `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type              CodeableConcept                `bson:"type" json:"type"`
	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 *DeviceMetricOperationalStatus `bson:"operationalStatus,omitempty" json:"operationalStatus,omitempty"`
	Color             *DeviceMetricColor             `bson:"color,omitempty" json:"color,omitempty"`
	Category          DeviceMetricCategory           `bson:"category" json:"category"`
	MeasurementPeriod *Timing                        `bson:"measurementPeriod,omitempty" json:"measurementPeriod,omitempty"`
	Calibration       []DeviceMetricCalibration      `bson:"calibration,omitempty" json:"calibration,omitempty"`
}

DeviceMetric is documented here http://hl7.org/fhir/StructureDefinition/DeviceMetric Describes a measurement, calculation or setting capability of a medical device.

func UnmarshalDeviceMetric

func UnmarshalDeviceMetric(b []byte) (DeviceMetric, error)

UnmarshalDeviceMetric unmarshals a DeviceMetric.

func (DeviceMetric) ContainedResources added in v0.0.6

func (r DeviceMetric) ContainedResources() []json.RawMessage

This function returns resource reference information

func (DeviceMetric) MarshalJSON

func (r DeviceMetric) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given DeviceMetric as JSON into a byte slice

func (DeviceMetric) ResourceRef added in v0.0.4

func (r DeviceMetric) ResourceRef() (string, *string)

This function returns resource reference information

type DeviceMetricCalibration

type DeviceMetricCalibration struct {
	Id                *string                       `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *DeviceMetricCalibrationType  `bson:"type,omitempty" json:"type,omitempty"`
	State             *DeviceMetricCalibrationState `bson:"state,omitempty" json:"state,omitempty"`
	Time              *string                       `bson:"time,omitempty" json:"time,omitempty"`
}

Describes the calibrations that have been performed or that are required to be performed.

type DeviceMetricCalibrationState

type DeviceMetricCalibrationState int

DeviceMetricCalibrationState is documented here http://hl7.org/fhir/ValueSet/metric-calibration-state

const (
	DeviceMetricCalibrationStateNotCalibrated DeviceMetricCalibrationState = iota
	DeviceMetricCalibrationStateCalibrationRequired
	DeviceMetricCalibrationStateCalibrated
	DeviceMetricCalibrationStateUnspecified
)

func (DeviceMetricCalibrationState) Code

func (DeviceMetricCalibrationState) Definition

func (code DeviceMetricCalibrationState) Definition() string

func (DeviceMetricCalibrationState) Display

func (code DeviceMetricCalibrationState) Display() string

func (DeviceMetricCalibrationState) MarshalJSON

func (code DeviceMetricCalibrationState) MarshalJSON() ([]byte, error)

func (DeviceMetricCalibrationState) String

func (code DeviceMetricCalibrationState) String() string

func (*DeviceMetricCalibrationState) UnmarshalJSON

func (code *DeviceMetricCalibrationState) UnmarshalJSON(input []byte) error

type DeviceMetricCalibrationType

type DeviceMetricCalibrationType int

DeviceMetricCalibrationType is documented here http://hl7.org/fhir/ValueSet/metric-calibration-type

const (
	DeviceMetricCalibrationTypeUnspecified DeviceMetricCalibrationType = iota
	DeviceMetricCalibrationTypeOffset
	DeviceMetricCalibrationTypeGain
	DeviceMetricCalibrationTypeTwoPoint
)

func (DeviceMetricCalibrationType) Code

func (code DeviceMetricCalibrationType) Code() string

func (DeviceMetricCalibrationType) Definition

func (code DeviceMetricCalibrationType) Definition() string

func (DeviceMetricCalibrationType) Display

func (code DeviceMetricCalibrationType) Display() string

func (DeviceMetricCalibrationType) MarshalJSON

func (code DeviceMetricCalibrationType) MarshalJSON() ([]byte, error)

func (DeviceMetricCalibrationType) String

func (code DeviceMetricCalibrationType) String() string

func (*DeviceMetricCalibrationType) UnmarshalJSON

func (code *DeviceMetricCalibrationType) UnmarshalJSON(input []byte) error

type DeviceMetricCategory

type DeviceMetricCategory int

DeviceMetricCategory is documented here http://hl7.org/fhir/ValueSet/metric-category

const (
	DeviceMetricCategoryMeasurement DeviceMetricCategory = iota
	DeviceMetricCategorySetting
	DeviceMetricCategoryCalculation
	DeviceMetricCategoryUnspecified
)

func (DeviceMetricCategory) Code

func (code DeviceMetricCategory) Code() string

func (DeviceMetricCategory) Definition

func (code DeviceMetricCategory) Definition() string

func (DeviceMetricCategory) Display

func (code DeviceMetricCategory) Display() string

func (DeviceMetricCategory) MarshalJSON

func (code DeviceMetricCategory) MarshalJSON() ([]byte, error)

func (DeviceMetricCategory) String

func (code DeviceMetricCategory) String() string

func (*DeviceMetricCategory) UnmarshalJSON

func (code *DeviceMetricCategory) UnmarshalJSON(input []byte) error

type DeviceMetricColor

type DeviceMetricColor int

DeviceMetricColor is documented here http://hl7.org/fhir/ValueSet/metric-color

const (
	DeviceMetricColorBlack DeviceMetricColor = iota
	DeviceMetricColorRed
	DeviceMetricColorGreen
	DeviceMetricColorYellow
	DeviceMetricColorBlue
	DeviceMetricColorMagenta
	DeviceMetricColorCyan
	DeviceMetricColorWhite
)

func (DeviceMetricColor) Code

func (code DeviceMetricColor) Code() string

func (DeviceMetricColor) Definition

func (code DeviceMetricColor) Definition() string

func (DeviceMetricColor) Display

func (code DeviceMetricColor) Display() string

func (DeviceMetricColor) MarshalJSON

func (code DeviceMetricColor) MarshalJSON() ([]byte, error)

func (DeviceMetricColor) String

func (code DeviceMetricColor) String() string

func (*DeviceMetricColor) UnmarshalJSON

func (code *DeviceMetricColor) UnmarshalJSON(input []byte) error

type DeviceMetricOperationalStatus

type DeviceMetricOperationalStatus int

DeviceMetricOperationalStatus is documented here http://hl7.org/fhir/ValueSet/metric-operational-status

const (
	DeviceMetricOperationalStatusOn DeviceMetricOperationalStatus = iota
	DeviceMetricOperationalStatusOff
	DeviceMetricOperationalStatusStandby
	DeviceMetricOperationalStatusEnteredInError
)

func (DeviceMetricOperationalStatus) Code

func (DeviceMetricOperationalStatus) Definition

func (code DeviceMetricOperationalStatus) Definition() string

func (DeviceMetricOperationalStatus) Display

func (code DeviceMetricOperationalStatus) Display() string

func (DeviceMetricOperationalStatus) MarshalJSON

func (code DeviceMetricOperationalStatus) MarshalJSON() ([]byte, error)

func (DeviceMetricOperationalStatus) String

func (code DeviceMetricOperationalStatus) String() string

func (*DeviceMetricOperationalStatus) UnmarshalJSON

func (code *DeviceMetricOperationalStatus) UnmarshalJSON(input []byte) error

type DeviceNameType

type DeviceNameType int

DeviceNameType is documented here http://hl7.org/fhir/ValueSet/device-nametype

const (
	DeviceNameTypeUdiLabelName DeviceNameType = iota
	DeviceNameTypeUserFriendlyName
	DeviceNameTypePatientReportedName
	DeviceNameTypeManufacturerName
	DeviceNameTypeModelName
	DeviceNameTypeOther
)

func (DeviceNameType) Code

func (code DeviceNameType) Code() string

func (DeviceNameType) Definition

func (code DeviceNameType) Definition() string

func (DeviceNameType) Display

func (code DeviceNameType) Display() string

func (DeviceNameType) MarshalJSON

func (code DeviceNameType) MarshalJSON() ([]byte, error)

func (DeviceNameType) String

func (code DeviceNameType) String() string

func (*DeviceNameType) UnmarshalJSON

func (code *DeviceNameType) UnmarshalJSON(input []byte) error

type DeviceProperty

type DeviceProperty struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept   `bson:"type" json:"type"`
	ValueQuantity     []Quantity        `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueCode         []CodeableConcept `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
}

The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties.

type DeviceRequest

type DeviceRequest struct {
	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"`
	Text                  *Narrative               `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage        `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier            []Identifier             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	InstantiatesCanonical []string                 `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri       []string                 `bson:"instantiatesUri,omitempty" json:"instantiatesUri,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                *RequestStatus           `bson:"status,omitempty" json:"status,omitempty"`
	Intent                RequestIntent            `bson:"intent" json:"intent"`
	Priority              *RequestPriority         `bson:"priority,omitempty" json:"priority,omitempty"`
	CodeReference         Reference                `bson:"codeReference" json:"codeReference"`
	CodeCodeableConcept   CodeableConcept          `bson:"codeCodeableConcept" json:"codeCodeableConcept"`
	Parameter             []DeviceRequestParameter `bson:"parameter,omitempty" json:"parameter,omitempty"`
	Subject               Reference                `bson:"subject" json:"subject"`
	Encounter             *Reference               `bson:"encounter,omitempty" json:"encounter,omitempty"`
	OccurrenceDateTime    *string                  `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod      *Period                  `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	OccurrenceTiming      *Timing                  `bson:"occurrenceTiming,omitempty" json:"occurrenceTiming,omitempty"`
	AuthoredOn            *string                  `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"`
	Insurance             []Reference              `bson:"insurance,omitempty" json:"insurance,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"`
}

DeviceRequest is documented here http://hl7.org/fhir/StructureDefinition/DeviceRequest Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker.

func UnmarshalDeviceRequest

func UnmarshalDeviceRequest(b []byte) (DeviceRequest, error)

UnmarshalDeviceRequest unmarshals a DeviceRequest.

func (DeviceRequest) ContainedResources added in v0.0.6

func (r DeviceRequest) ContainedResources() []json.RawMessage

This function returns resource reference information

func (DeviceRequest) MarshalJSON

func (r DeviceRequest) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given DeviceRequest as JSON into a byte slice

func (DeviceRequest) ResourceRef added in v0.0.4

func (r DeviceRequest) ResourceRef() (string, *string)

This function returns resource reference information

type DeviceRequestParameter

type DeviceRequestParameter struct {
	Id                   *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code                 *CodeableConcept `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"`
	ValueBoolean         *bool            `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
}

Specific parameters for the ordered item. For example, the prism value for lenses.

type DeviceSpecialization

type DeviceSpecialization struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	SystemType        CodeableConcept `bson:"systemType" json:"systemType"`
	Version           *string         `bson:"version,omitempty" json:"version,omitempty"`
}

The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication.

type DeviceUdiCarrier

type DeviceUdiCarrier struct {
	Id                *string       `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	DeviceIdentifier  *string       `bson:"deviceIdentifier,omitempty" json:"deviceIdentifier,omitempty"`
	Issuer            *string       `bson:"issuer,omitempty" json:"issuer,omitempty"`
	Jurisdiction      *string       `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	CarrierAIDC       *string       `bson:"carrierAIDC,omitempty" json:"carrierAIDC,omitempty"`
	CarrierHRF        *string       `bson:"carrierHRF,omitempty" json:"carrierHRF,omitempty"`
	EntryType         *UDIEntryType `bson:"entryType,omitempty" json:"entryType,omitempty"`
}

Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold. UDI may identify an unique instance of a device, or it may only identify the type of the device. See [UDI mappings](device-mappings.html#udi) for a complete mapping of UDI parts to Device.

type DeviceUseStatement

type DeviceUseStatement struct {
	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"`
	Text              *Narrative               `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage        `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	BasedOn           []Reference              `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Status            DeviceUseStatementStatus `bson:"status" json:"status"`
	Subject           Reference                `bson:"subject" json:"subject"`
	DerivedFrom       []Reference              `bson:"derivedFrom,omitempty" json:"derivedFrom,omitempty"`
	TimingTiming      *Timing                  `bson:"timingTiming,omitempty" json:"timingTiming,omitempty"`
	TimingPeriod      *Period                  `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	TimingDateTime    *string                  `bson:"timingDateTime,omitempty" json:"timingDateTime,omitempty"`
	RecordedOn        *string                  `bson:"recordedOn,omitempty" json:"recordedOn,omitempty"`
	Source            *Reference               `bson:"source,omitempty" json:"source,omitempty"`
	Device            Reference                `bson:"device" json:"device"`
	ReasonCode        []CodeableConcept        `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference   []Reference              `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	BodySite          *CodeableConcept         `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	Note              []Annotation             `bson:"note,omitempty" json:"note,omitempty"`
}

DeviceUseStatement is documented here http://hl7.org/fhir/StructureDefinition/DeviceUseStatement A record of a device being used by a patient where the record is the result of a report from the patient or another clinician.

func UnmarshalDeviceUseStatement

func UnmarshalDeviceUseStatement(b []byte) (DeviceUseStatement, error)

UnmarshalDeviceUseStatement unmarshals a DeviceUseStatement.

func (DeviceUseStatement) ContainedResources added in v0.0.6

func (r DeviceUseStatement) ContainedResources() []json.RawMessage

This function returns resource reference information

func (DeviceUseStatement) MarshalJSON

func (r DeviceUseStatement) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given DeviceUseStatement as JSON into a byte slice

func (DeviceUseStatement) ResourceRef added in v0.0.4

func (r DeviceUseStatement) ResourceRef() (string, *string)

This function returns resource reference information

type DeviceUseStatementStatus

type DeviceUseStatementStatus int

DeviceUseStatementStatus is documented here http://hl7.org/fhir/ValueSet/device-statement-status

const (
	DeviceUseStatementStatusActive DeviceUseStatementStatus = iota
	DeviceUseStatementStatusCompleted
	DeviceUseStatementStatusEnteredInError
	DeviceUseStatementStatusIntended
	DeviceUseStatementStatusStopped
	DeviceUseStatementStatusOnHold
)

func (DeviceUseStatementStatus) Code

func (code DeviceUseStatementStatus) Code() string

func (DeviceUseStatementStatus) Definition

func (code DeviceUseStatementStatus) Definition() string

func (DeviceUseStatementStatus) Display

func (code DeviceUseStatementStatus) Display() string

func (DeviceUseStatementStatus) MarshalJSON

func (code DeviceUseStatementStatus) MarshalJSON() ([]byte, error)

func (DeviceUseStatementStatus) String

func (code DeviceUseStatementStatus) String() string

func (*DeviceUseStatementStatus) UnmarshalJSON

func (code *DeviceUseStatementStatus) UnmarshalJSON(input []byte) error

type DeviceVersion

type DeviceVersion struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Component         *Identifier      `bson:"component,omitempty" json:"component,omitempty"`
	Value             string           `bson:"value" json:"value"`
}

The actual design of the device or software version running on the device.

type DiagnosticReport

type DiagnosticReport struct {
	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"`
	Text               *Narrative              `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage       `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier         []Identifier            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	BasedOn            []Reference             `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Status             DiagnosticReportStatus  `bson:"status" json:"status"`
	Category           []CodeableConcept       `bson:"category,omitempty" json:"category,omitempty"`
	Code               CodeableConcept         `bson:"code" json:"code"`
	Subject            *Reference              `bson:"subject,omitempty" json:"subject,omitempty"`
	Encounter          *Reference              `bson:"encounter,omitempty" json:"encounter,omitempty"`
	EffectiveDateTime  *string                 `bson:"effectiveDateTime,omitempty" json:"effectiveDateTime,omitempty"`
	EffectivePeriod    *Period                 `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Issued             *string                 `bson:"issued,omitempty" json:"issued,omitempty"`
	Performer          []Reference             `bson:"performer,omitempty" json:"performer,omitempty"`
	ResultsInterpreter []Reference             `bson:"resultsInterpreter,omitempty" json:"resultsInterpreter,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"`
	Media              []DiagnosticReportMedia `bson:"media,omitempty" json:"media,omitempty"`
	Conclusion         *string                 `bson:"conclusion,omitempty" json:"conclusion,omitempty"`
	ConclusionCode     []CodeableConcept       `bson:"conclusionCode,omitempty" json:"conclusionCode,omitempty"`
	PresentedForm      []Attachment            `bson:"presentedForm,omitempty" json:"presentedForm,omitempty"`
}

DiagnosticReport is documented here http://hl7.org/fhir/StructureDefinition/DiagnosticReport The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.

func UnmarshalDiagnosticReport

func UnmarshalDiagnosticReport(b []byte) (DiagnosticReport, error)

UnmarshalDiagnosticReport unmarshals a DiagnosticReport.

func (DiagnosticReport) ContainedResources added in v0.0.6

func (r DiagnosticReport) ContainedResources() []json.RawMessage

This function returns resource reference information

func (DiagnosticReport) MarshalJSON

func (r DiagnosticReport) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given DiagnosticReport as JSON into a byte slice

func (DiagnosticReport) ResourceRef added in v0.0.4

func (r DiagnosticReport) ResourceRef() (string, *string)

This function returns resource reference information

type DiagnosticReportMedia

type DiagnosticReportMedia struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Comment           *string     `bson:"comment,omitempty" json:"comment,omitempty"`
	Link              Reference   `bson:"link" json:"link"`
}

A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest).

type DiagnosticReportStatus

type DiagnosticReportStatus int

DiagnosticReportStatus is documented here http://hl7.org/fhir/ValueSet/diagnostic-report-status

const (
	DiagnosticReportStatusRegistered DiagnosticReportStatus = iota
	DiagnosticReportStatusPartial
	DiagnosticReportStatusPreliminary
	DiagnosticReportStatusFinal
	DiagnosticReportStatusAmended
	DiagnosticReportStatusCorrected
	DiagnosticReportStatusAppended
	DiagnosticReportStatusCancelled
	DiagnosticReportStatusEnteredInError
	DiagnosticReportStatusUnknown
)

func (DiagnosticReportStatus) Code

func (code DiagnosticReportStatus) Code() string

func (DiagnosticReportStatus) Definition

func (code DiagnosticReportStatus) Definition() string

func (DiagnosticReportStatus) Display

func (code DiagnosticReportStatus) Display() string

func (DiagnosticReportStatus) MarshalJSON

func (code DiagnosticReportStatus) MarshalJSON() ([]byte, error)

func (DiagnosticReportStatus) String

func (code DiagnosticReportStatus) String() string

func (*DiagnosticReportStatus) UnmarshalJSON

func (code *DiagnosticReportStatus) UnmarshalJSON(input []byte) error

type DiscriminatorType

type DiscriminatorType int

DiscriminatorType is documented here http://hl7.org/fhir/ValueSet/discriminator-type

const (
	DiscriminatorTypeValue DiscriminatorType = iota
	DiscriminatorTypeExists
	DiscriminatorTypePattern
	DiscriminatorTypeType
	DiscriminatorTypeProfile
)

func (DiscriminatorType) Code

func (code DiscriminatorType) Code() string

func (DiscriminatorType) Definition

func (code DiscriminatorType) Definition() string

func (DiscriminatorType) Display

func (code DiscriminatorType) Display() string

func (DiscriminatorType) MarshalJSON

func (code DiscriminatorType) MarshalJSON() ([]byte, error)

func (DiscriminatorType) String

func (code DiscriminatorType) String() string

func (*DiscriminatorType) UnmarshalJSON

func (code *DiscriminatorType) UnmarshalJSON(input []byte) error

type Distance added in v0.0.5

type Distance struct {
	Id         *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension  []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	Value      *json.Number        `bson:"value,omitempty" json:"value,omitempty"`
	Comparator *QuantityComparator `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"`
}

Distance is documented here http://hl7.org/fhir/StructureDefinition/Distance Base StructureDefinition for Distance Type: A length - a value with a unit that is a physical distance.

type DocumentManifest

type DocumentManifest struct {
	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"`
	Text              *Narrative                `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage         `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	MasterIdentifier  *Identifier               `bson:"masterIdentifier,omitempty" json:"masterIdentifier,omitempty"`
	Identifier        []Identifier              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            DocumentReferenceStatus   `bson:"status" json:"status"`
	Type              *CodeableConcept          `bson:"type,omitempty" json:"type,omitempty"`
	Subject           *Reference                `bson:"subject,omitempty" json:"subject,omitempty"`
	Created           *string                   `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           []Reference               `bson:"content" json:"content"`
	Related           []DocumentManifestRelated `bson:"related,omitempty" json:"related,omitempty"`
}

DocumentManifest is documented here http://hl7.org/fhir/StructureDefinition/DocumentManifest A collection of documents compiled for a purpose together with metadata that applies to the collection.

func UnmarshalDocumentManifest

func UnmarshalDocumentManifest(b []byte) (DocumentManifest, error)

UnmarshalDocumentManifest unmarshals a DocumentManifest.

func (DocumentManifest) ContainedResources added in v0.0.6

func (r DocumentManifest) ContainedResources() []json.RawMessage

This function returns resource reference information

func (DocumentManifest) MarshalJSON

func (r DocumentManifest) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given DocumentManifest as JSON into a byte slice

func (DocumentManifest) ResourceRef added in v0.0.4

func (r DocumentManifest) ResourceRef() (string, *string)

This function returns resource reference information

type DocumentManifestRelated

type DocumentManifestRelated struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Ref               *Reference  `bson:"ref,omitempty" json:"ref,omitempty"`
}

Related identifiers or resources associated with the DocumentManifest. May be identifiers or resources that caused the DocumentManifest to be created.

type DocumentMode

type DocumentMode int

DocumentMode is documented here http://hl7.org/fhir/ValueSet/document-mode

const (
	DocumentModeProducer DocumentMode = iota
	DocumentModeConsumer
)

func (DocumentMode) Code

func (code DocumentMode) Code() string

func (DocumentMode) Definition

func (code DocumentMode) Definition() string

func (DocumentMode) Display

func (code DocumentMode) Display() string

func (DocumentMode) MarshalJSON

func (code DocumentMode) MarshalJSON() ([]byte, error)

func (DocumentMode) String

func (code DocumentMode) String() string

func (*DocumentMode) UnmarshalJSON

func (code *DocumentMode) UnmarshalJSON(input []byte) error

type DocumentReference

type DocumentReference struct {
	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"`
	Text              *Narrative                   `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage            `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	MasterIdentifier  *Identifier                  `bson:"masterIdentifier,omitempty" json:"masterIdentifier,omitempty"`
	Identifier        []Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            DocumentReferenceStatus      `bson:"status" json:"status"`
	DocStatus         *CompositionStatus           `bson:"docStatus,omitempty" json:"docStatus,omitempty"`
	Type              *CodeableConcept             `bson:"type,omitempty" json:"type,omitempty"`
	Category          []CodeableConcept            `bson:"category,omitempty" json:"category,omitempty"`
	Subject           *Reference                   `bson:"subject,omitempty" json:"subject,omitempty"`
	Date              *string                      `bson:"date,omitempty" json:"date,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         []DocumentReferenceRelatesTo `bson:"relatesTo,omitempty" json:"relatesTo,omitempty"`
	Description       *string                      `bson:"description,omitempty" json:"description,omitempty"`
	SecurityLabel     []CodeableConcept            `bson:"securityLabel,omitempty" json:"securityLabel,omitempty"`
	Content           []DocumentReferenceContent   `bson:"content" json:"content"`
	Context           *DocumentReferenceContext    `bson:"context,omitempty" json:"context,omitempty"`
}

DocumentReference is documented here http://hl7.org/fhir/StructureDefinition/DocumentReference A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.

func UnmarshalDocumentReference

func UnmarshalDocumentReference(b []byte) (DocumentReference, error)

UnmarshalDocumentReference unmarshals a DocumentReference.

func (DocumentReference) ContainedResources added in v0.0.6

func (r DocumentReference) ContainedResources() []json.RawMessage

This function returns resource reference information

func (DocumentReference) MarshalJSON

func (r DocumentReference) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given DocumentReference as JSON into a byte slice

func (DocumentReference) ResourceRef added in v0.0.4

func (r DocumentReference) ResourceRef() (string, *string)

This function returns resource reference information

type DocumentReferenceContent

type DocumentReferenceContent struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Attachment        Attachment  `bson:"attachment" json:"attachment"`
	Format            *Coding     `bson:"format,omitempty" json:"format,omitempty"`
}

The document and format referenced. There may be multiple content element repetitions, each with a different format.

type DocumentReferenceContext

type DocumentReferenceContext struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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           []Reference       `bson:"related,omitempty" json:"related,omitempty"`
}

The clinical context in which the document was prepared. These values are primarily added to help with searching for interesting/relevant documents.

type DocumentReferenceRelatesTo

type DocumentReferenceRelatesTo struct {
	Id                *string                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              DocumentRelationshipType `bson:"code" json:"code"`
	Target            Reference                `bson:"target" json:"target"`
}

Relationships that this document has with other document references that already exist. This element is labeled as a modifier because documents that append to other documents are incomplete on their own.

type DocumentReferenceStatus

type DocumentReferenceStatus int

DocumentReferenceStatus is documented here http://hl7.org/fhir/ValueSet/document-reference-status

const (
	DocumentReferenceStatusCurrent DocumentReferenceStatus = iota
	DocumentReferenceStatusSuperseded
	DocumentReferenceStatusEnteredInError
)

func (DocumentReferenceStatus) Code

func (code DocumentReferenceStatus) Code() string

func (DocumentReferenceStatus) Definition

func (code DocumentReferenceStatus) Definition() string

func (DocumentReferenceStatus) Display

func (code DocumentReferenceStatus) Display() string

func (DocumentReferenceStatus) MarshalJSON

func (code DocumentReferenceStatus) MarshalJSON() ([]byte, error)

func (DocumentReferenceStatus) String

func (code DocumentReferenceStatus) String() string

func (*DocumentReferenceStatus) UnmarshalJSON

func (code *DocumentReferenceStatus) UnmarshalJSON(input []byte) error

type DocumentRelationshipType

type DocumentRelationshipType int

DocumentRelationshipType is documented here http://hl7.org/fhir/ValueSet/document-relationship-type

const (
	DocumentRelationshipTypeReplaces DocumentRelationshipType = iota
	DocumentRelationshipTypeTransforms
	DocumentRelationshipTypeSigns
	DocumentRelationshipTypeAppends
)

func (DocumentRelationshipType) Code

func (code DocumentRelationshipType) Code() string

func (DocumentRelationshipType) Definition

func (code DocumentRelationshipType) Definition() string

func (DocumentRelationshipType) Display

func (code DocumentRelationshipType) Display() string

func (DocumentRelationshipType) MarshalJSON

func (code DocumentRelationshipType) MarshalJSON() ([]byte, error)

func (DocumentRelationshipType) String

func (code DocumentRelationshipType) String() string

func (*DocumentRelationshipType) UnmarshalJSON

func (code *DocumentRelationshipType) UnmarshalJSON(input []byte) error

type DomainResource

type DomainResource struct {
	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"`
	Text              *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
}

DomainResource is documented here http://hl7.org/fhir/StructureDefinition/DomainResource A resource that includes narrative, extensions, and contained resources.

func UnmarshalDomainResource

func UnmarshalDomainResource(b []byte) (DomainResource, error)

UnmarshalDomainResource unmarshals a DomainResource.

func (DomainResource) ContainedResources added in v0.0.6

func (r DomainResource) ContainedResources() []json.RawMessage

This function returns resource reference information

func (DomainResource) MarshalJSON

func (r DomainResource) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given DomainResource as JSON into a byte slice

func (DomainResource) ResourceRef added in v0.0.4

func (r DomainResource) ResourceRef() (string, *string)

This function returns resource reference information

type Dosage

type Dosage struct {
	Id                       *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence                 *int                `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"`
	DoseAndRate              []DosageDoseAndRate `bson:"doseAndRate,omitempty" json:"doseAndRate,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"`
}

Dosage is documented here http://hl7.org/fhir/StructureDefinition/Dosage Base StructureDefinition for Dosage Type: Indicates how the medication is/was taken or should be taken by the patient.

type DosageDoseAndRate

type DosageDoseAndRate struct {
	Id           *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension    []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	Type         *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	DoseRange    *Range           `bson:"doseRange,omitempty" json:"doseRange,omitempty"`
	DoseQuantity *Quantity        `bson:"doseQuantity,omitempty" json:"doseQuantity,omitempty"`
	RateRatio    *Ratio           `bson:"rateRatio,omitempty" json:"rateRatio,omitempty"`
	RateRange    *Range           `bson:"rateRange,omitempty" json:"rateRange,omitempty"`
	RateQuantity *Quantity        `bson:"rateQuantity,omitempty" json:"rateQuantity,omitempty"`
}

The amount of medication administered.

type Duration

type Duration struct {
	Id         *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension  []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	Value      *json.Number        `bson:"value,omitempty" json:"value,omitempty"`
	Comparator *QuantityComparator `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"`
}

Duration is documented here http://hl7.org/fhir/StructureDefinition/Duration Base StructureDefinition for Duration Type: A length of time.

type EffectEvidenceSynthesis

type EffectEvidenceSynthesis struct {
	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"`
	Text                *Narrative                                 `bson:"text,omitempty" json:"text,omitempty"`
	Contained           []json.RawMessage                          `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension           []Extension                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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              PublicationStatus                          `bson:"status" json:"status"`
	Date                *string                                    `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"`
	Note                []Annotation                               `bson:"note,omitempty" json:"note,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"`
	ApprovalDate        *string                                    `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate      *string                                    `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod     *Period                                    `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Topic               []CodeableConcept                          `bson:"topic,omitempty" json:"topic,omitempty"`
	Author              []ContactDetail                            `bson:"author,omitempty" json:"author,omitempty"`
	Editor              []ContactDetail                            `bson:"editor,omitempty" json:"editor,omitempty"`
	Reviewer            []ContactDetail                            `bson:"reviewer,omitempty" json:"reviewer,omitempty"`
	Endorser            []ContactDetail                            `bson:"endorser,omitempty" json:"endorser,omitempty"`
	RelatedArtifact     []RelatedArtifact                          `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	SynthesisType       *CodeableConcept                           `bson:"synthesisType,omitempty" json:"synthesisType,omitempty"`
	StudyType           *CodeableConcept                           `bson:"studyType,omitempty" json:"studyType,omitempty"`
	Population          Reference                                  `bson:"population" json:"population"`
	Exposure            Reference                                  `bson:"exposure" json:"exposure"`
	ExposureAlternative Reference                                  `bson:"exposureAlternative" json:"exposureAlternative"`
	Outcome             Reference                                  `bson:"outcome" json:"outcome"`
	SampleSize          *EffectEvidenceSynthesisSampleSize         `bson:"sampleSize,omitempty" json:"sampleSize,omitempty"`
	ResultsByExposure   []EffectEvidenceSynthesisResultsByExposure `bson:"resultsByExposure,omitempty" json:"resultsByExposure,omitempty"`
	EffectEstimate      []EffectEvidenceSynthesisEffectEstimate    `bson:"effectEstimate,omitempty" json:"effectEstimate,omitempty"`
	Certainty           []EffectEvidenceSynthesisCertainty         `bson:"certainty,omitempty" json:"certainty,omitempty"`
}

EffectEvidenceSynthesis is documented here http://hl7.org/fhir/StructureDefinition/EffectEvidenceSynthesis The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies.

func UnmarshalEffectEvidenceSynthesis

func UnmarshalEffectEvidenceSynthesis(b []byte) (EffectEvidenceSynthesis, error)

UnmarshalEffectEvidenceSynthesis unmarshals a EffectEvidenceSynthesis.

func (EffectEvidenceSynthesis) ContainedResources added in v0.0.6

func (r EffectEvidenceSynthesis) ContainedResources() []json.RawMessage

This function returns resource reference information

func (EffectEvidenceSynthesis) MarshalJSON

func (r EffectEvidenceSynthesis) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given EffectEvidenceSynthesis as JSON into a byte slice

func (EffectEvidenceSynthesis) ResourceRef added in v0.0.4

func (r EffectEvidenceSynthesis) ResourceRef() (string, *string)

This function returns resource reference information

type EffectEvidenceSynthesisCertainty

type EffectEvidenceSynthesisCertainty struct {
	Id                    *string                                                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension             []Extension                                             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension                                             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Rating                []CodeableConcept                                       `bson:"rating,omitempty" json:"rating,omitempty"`
	Note                  []Annotation                                            `bson:"note,omitempty" json:"note,omitempty"`
	CertaintySubcomponent []EffectEvidenceSynthesisCertaintyCertaintySubcomponent `bson:"certaintySubcomponent,omitempty" json:"certaintySubcomponent,omitempty"`
}

A description of the certainty of the effect estimate.

type EffectEvidenceSynthesisCertaintyCertaintySubcomponent

type EffectEvidenceSynthesisCertaintyCertaintySubcomponent struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept  `bson:"type,omitempty" json:"type,omitempty"`
	Rating            []CodeableConcept `bson:"rating,omitempty" json:"rating,omitempty"`
	Note              []Annotation      `bson:"note,omitempty" json:"note,omitempty"`
}

A description of a component of the overall certainty.

type EffectEvidenceSynthesisEffectEstimate

type EffectEvidenceSynthesisEffectEstimate struct {
	Id                *string                                                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description       *string                                                  `bson:"description,omitempty" json:"description,omitempty"`
	Type              *CodeableConcept                                         `bson:"type,omitempty" json:"type,omitempty"`
	VariantState      *CodeableConcept                                         `bson:"variantState,omitempty" json:"variantState,omitempty"`
	Value             *json.Number                                             `bson:"value,omitempty" json:"value,omitempty"`
	UnitOfMeasure     *CodeableConcept                                         `bson:"unitOfMeasure,omitempty" json:"unitOfMeasure,omitempty"`
	PrecisionEstimate []EffectEvidenceSynthesisEffectEstimatePrecisionEstimate `bson:"precisionEstimate,omitempty" json:"precisionEstimate,omitempty"`
}

The estimated effect of the exposure variant.

type EffectEvidenceSynthesisEffectEstimatePrecisionEstimate

type EffectEvidenceSynthesisEffectEstimatePrecisionEstimate struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Level             *json.Number     `bson:"level,omitempty" json:"level,omitempty"`
	From              *json.Number     `bson:"from,omitempty" json:"from,omitempty"`
	To                *json.Number     `bson:"to,omitempty" json:"to,omitempty"`
}

A description of the precision of the estimate for the effect.

type EffectEvidenceSynthesisResultsByExposure

type EffectEvidenceSynthesisResultsByExposure struct {
	Id                    *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension             []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description           *string          `bson:"description,omitempty" json:"description,omitempty"`
	ExposureState         *ExposureState   `bson:"exposureState,omitempty" json:"exposureState,omitempty"`
	VariantState          *CodeableConcept `bson:"variantState,omitempty" json:"variantState,omitempty"`
	RiskEvidenceSynthesis Reference        `bson:"riskEvidenceSynthesis" json:"riskEvidenceSynthesis"`
}

A description of the results for each exposure considered in the effect estimate.

type EffectEvidenceSynthesisSampleSize

type EffectEvidenceSynthesisSampleSize struct {
	Id                   *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description          *string     `bson:"description,omitempty" json:"description,omitempty"`
	NumberOfStudies      *int        `bson:"numberOfStudies,omitempty" json:"numberOfStudies,omitempty"`
	NumberOfParticipants *int        `bson:"numberOfParticipants,omitempty" json:"numberOfParticipants,omitempty"`
}

A description of the size of the sample involved in the synthesis.

type ElementDefinition

type ElementDefinition struct {
	Id                              *string                       `bson:"id,omitempty" json:"id,omitempty"`
	Extension                       []Extension                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension               []Extension                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Path                            string                        `bson:"path" json:"path"`
	Representation                  []PropertyRepresentation      `bson:"representation,omitempty" json:"representation,omitempty"`
	SliceName                       *string                       `bson:"sliceName,omitempty" json:"sliceName,omitempty"`
	SliceIsConstraining             *bool                         `bson:"sliceIsConstraining,omitempty" json:"sliceIsConstraining,omitempty"`
	Label                           *string                       `bson:"label,omitempty" json:"label,omitempty"`
	Code                            []Coding                      `bson:"code,omitempty" json:"code,omitempty"`
	Slicing                         *ElementDefinitionSlicing     `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                             *int                          `bson:"min,omitempty" json:"min,omitempty"`
	Max                             *string                       `bson:"max,omitempty" json:"max,omitempty"`
	Base                            *ElementDefinitionBase        `bson:"base,omitempty" json:"base,omitempty"`
	ContentReference                *string                       `bson:"contentReference,omitempty" json:"contentReference,omitempty"`
	Type                            []ElementDefinitionType       `bson:"type,omitempty" json:"type,omitempty"`
	DefaultValueBase64Binary        *string                       `bson:"defaultValueBase64Binary,omitempty" json:"defaultValueBase64Binary,omitempty"`
	DefaultValueBoolean             *bool                         `bson:"defaultValueBoolean,omitempty" json:"defaultValueBoolean,omitempty"`
	DefaultValueCanonical           *string                       `bson:"defaultValueCanonical,omitempty" json:"defaultValueCanonical,omitempty"`
	DefaultValueCode                *string                       `bson:"defaultValueCode,omitempty" json:"defaultValueCode,omitempty"`
	DefaultValueDate                *string                       `bson:"defaultValueDate,omitempty" json:"defaultValueDate,omitempty"`
	DefaultValueDateTime            *string                       `bson:"defaultValueDateTime,omitempty" json:"defaultValueDateTime,omitempty"`
	DefaultValueDecimal             *json.Number                  `bson:"defaultValueDecimal,omitempty" json:"defaultValueDecimal,omitempty"`
	DefaultValueId                  *string                       `bson:"defaultValueId,omitempty" json:"defaultValueId,omitempty"`
	DefaultValueInstant             *string                       `bson:"defaultValueInstant,omitempty" json:"defaultValueInstant,omitempty"`
	DefaultValueInteger             *int                          `bson:"defaultValueInteger,omitempty" json:"defaultValueInteger,omitempty"`
	DefaultValueMarkdown            *string                       `bson:"defaultValueMarkdown,omitempty" json:"defaultValueMarkdown,omitempty"`
	DefaultValueOid                 *string                       `bson:"defaultValueOid,omitempty" json:"defaultValueOid,omitempty"`
	DefaultValuePositiveInt         *int                          `bson:"defaultValuePositiveInt,omitempty" json:"defaultValuePositiveInt,omitempty"`
	DefaultValueString              *string                       `bson:"defaultValueString,omitempty" json:"defaultValueString,omitempty"`
	DefaultValueTime                *string                       `bson:"defaultValueTime,omitempty" json:"defaultValueTime,omitempty"`
	DefaultValueUnsignedInt         *int                          `bson:"defaultValueUnsignedInt,omitempty" json:"defaultValueUnsignedInt,omitempty"`
	DefaultValueUri                 *string                       `bson:"defaultValueUri,omitempty" json:"defaultValueUri,omitempty"`
	DefaultValueUrl                 *string                       `bson:"defaultValueUrl,omitempty" json:"defaultValueUrl,omitempty"`
	DefaultValueUuid                *string                       `bson:"defaultValueUuid,omitempty" json:"defaultValueUuid,omitempty"`
	DefaultValueAddress             *Address                      `bson:"defaultValueAddress,omitempty" json:"defaultValueAddress,omitempty"`
	DefaultValueAge                 *Age                          `bson:"defaultValueAge,omitempty" json:"defaultValueAge,omitempty"`
	DefaultValueAnnotation          *Annotation                   `bson:"defaultValueAnnotation,omitempty" json:"defaultValueAnnotation,omitempty"`
	DefaultValueAttachment          *Attachment                   `bson:"defaultValueAttachment,omitempty" json:"defaultValueAttachment,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"`
	DefaultValueCount               *Count                        `bson:"defaultValueCount,omitempty" json:"defaultValueCount,omitempty"`
	DefaultValueDistance            *Distance                     `bson:"defaultValueDistance,omitempty" json:"defaultValueDistance,omitempty"`
	DefaultValueDuration            *Duration                     `bson:"defaultValueDuration,omitempty" json:"defaultValueDuration,omitempty"`
	DefaultValueHumanName           *HumanName                    `bson:"defaultValueHumanName,omitempty" json:"defaultValueHumanName,omitempty"`
	DefaultValueIdentifier          *Identifier                   `bson:"defaultValueIdentifier,omitempty" json:"defaultValueIdentifier,omitempty"`
	DefaultValueMoney               *Money                        `bson:"defaultValueMoney,omitempty" json:"defaultValueMoney,omitempty"`
	DefaultValuePeriod              *Period                       `bson:"defaultValuePeriod,omitempty" json:"defaultValuePeriod,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"`
	DefaultValueTiming              *Timing                       `bson:"defaultValueTiming,omitempty" json:"defaultValueTiming,omitempty"`
	DefaultValueContactDetail       *ContactDetail                `bson:"defaultValueContactDetail,omitempty" json:"defaultValueContactDetail,omitempty"`
	DefaultValueContributor         *Contributor                  `bson:"defaultValueContributor,omitempty" json:"defaultValueContributor,omitempty"`
	DefaultValueDataRequirement     *DataRequirement              `bson:"defaultValueDataRequirement,omitempty" json:"defaultValueDataRequirement,omitempty"`
	DefaultValueExpression          *Expression                   `bson:"defaultValueExpression,omitempty" json:"defaultValueExpression,omitempty"`
	DefaultValueParameterDefinition *ParameterDefinition          `bson:"defaultValueParameterDefinition,omitempty" json:"defaultValueParameterDefinition,omitempty"`
	DefaultValueRelatedArtifact     *RelatedArtifact              `bson:"defaultValueRelatedArtifact,omitempty" json:"defaultValueRelatedArtifact,omitempty"`
	DefaultValueTriggerDefinition   *TriggerDefinition            `bson:"defaultValueTriggerDefinition,omitempty" json:"defaultValueTriggerDefinition,omitempty"`
	DefaultValueUsageContext        *UsageContext                 `bson:"defaultValueUsageContext,omitempty" json:"defaultValueUsageContext,omitempty"`
	DefaultValueDosage              *Dosage                       `bson:"defaultValueDosage,omitempty" json:"defaultValueDosage,omitempty"`
	DefaultValueMeta                *Meta                         `bson:"defaultValueMeta,omitempty" json:"defaultValueMeta,omitempty"`
	MeaningWhenMissing              *string                       `bson:"meaningWhenMissing,omitempty" json:"meaningWhenMissing,omitempty"`
	OrderMeaning                    *string                       `bson:"orderMeaning,omitempty" json:"orderMeaning,omitempty"`
	FixedBase64Binary               *string                       `bson:"fixedBase64Binary,omitempty" json:"fixedBase64Binary,omitempty"`
	FixedBoolean                    *bool                         `bson:"fixedBoolean,omitempty" json:"fixedBoolean,omitempty"`
	FixedCanonical                  *string                       `bson:"fixedCanonical,omitempty" json:"fixedCanonical,omitempty"`
	FixedCode                       *string                       `bson:"fixedCode,omitempty" json:"fixedCode,omitempty"`
	FixedDate                       *string                       `bson:"fixedDate,omitempty" json:"fixedDate,omitempty"`
	FixedDateTime                   *string                       `bson:"fixedDateTime,omitempty" json:"fixedDateTime,omitempty"`
	FixedDecimal                    *json.Number                  `bson:"fixedDecimal,omitempty" json:"fixedDecimal,omitempty"`
	FixedId                         *string                       `bson:"fixedId,omitempty" json:"fixedId,omitempty"`
	FixedInstant                    *string                       `bson:"fixedInstant,omitempty" json:"fixedInstant,omitempty"`
	FixedInteger                    *int                          `bson:"fixedInteger,omitempty" json:"fixedInteger,omitempty"`
	FixedMarkdown                   *string                       `bson:"fixedMarkdown,omitempty" json:"fixedMarkdown,omitempty"`
	FixedOid                        *string                       `bson:"fixedOid,omitempty" json:"fixedOid,omitempty"`
	FixedPositiveInt                *int                          `bson:"fixedPositiveInt,omitempty" json:"fixedPositiveInt,omitempty"`
	FixedString                     *string                       `bson:"fixedString,omitempty" json:"fixedString,omitempty"`
	FixedTime                       *string                       `bson:"fixedTime,omitempty" json:"fixedTime,omitempty"`
	FixedUnsignedInt                *int                          `bson:"fixedUnsignedInt,omitempty" json:"fixedUnsignedInt,omitempty"`
	FixedUri                        *string                       `bson:"fixedUri,omitempty" json:"fixedUri,omitempty"`
	FixedUrl                        *string                       `bson:"fixedUrl,omitempty" json:"fixedUrl,omitempty"`
	FixedUuid                       *string                       `bson:"fixedUuid,omitempty" json:"fixedUuid,omitempty"`
	FixedAddress                    *Address                      `bson:"fixedAddress,omitempty" json:"fixedAddress,omitempty"`
	FixedAge                        *Age                          `bson:"fixedAge,omitempty" json:"fixedAge,omitempty"`
	FixedAnnotation                 *Annotation                   `bson:"fixedAnnotation,omitempty" json:"fixedAnnotation,omitempty"`
	FixedAttachment                 *Attachment                   `bson:"fixedAttachment,omitempty" json:"fixedAttachment,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"`
	FixedCount                      *Count                        `bson:"fixedCount,omitempty" json:"fixedCount,omitempty"`
	FixedDistance                   *Distance                     `bson:"fixedDistance,omitempty" json:"fixedDistance,omitempty"`
	FixedDuration                   *Duration                     `bson:"fixedDuration,omitempty" json:"fixedDuration,omitempty"`
	FixedHumanName                  *HumanName                    `bson:"fixedHumanName,omitempty" json:"fixedHumanName,omitempty"`
	FixedIdentifier                 *Identifier                   `bson:"fixedIdentifier,omitempty" json:"fixedIdentifier,omitempty"`
	FixedMoney                      *Money                        `bson:"fixedMoney,omitempty" json:"fixedMoney,omitempty"`
	FixedPeriod                     *Period                       `bson:"fixedPeriod,omitempty" json:"fixedPeriod,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"`
	FixedTiming                     *Timing                       `bson:"fixedTiming,omitempty" json:"fixedTiming,omitempty"`
	FixedContactDetail              *ContactDetail                `bson:"fixedContactDetail,omitempty" json:"fixedContactDetail,omitempty"`
	FixedContributor                *Contributor                  `bson:"fixedContributor,omitempty" json:"fixedContributor,omitempty"`
	FixedDataRequirement            *DataRequirement              `bson:"fixedDataRequirement,omitempty" json:"fixedDataRequirement,omitempty"`
	FixedExpression                 *Expression                   `bson:"fixedExpression,omitempty" json:"fixedExpression,omitempty"`
	FixedParameterDefinition        *ParameterDefinition          `bson:"fixedParameterDefinition,omitempty" json:"fixedParameterDefinition,omitempty"`
	FixedRelatedArtifact            *RelatedArtifact              `bson:"fixedRelatedArtifact,omitempty" json:"fixedRelatedArtifact,omitempty"`
	FixedTriggerDefinition          *TriggerDefinition            `bson:"fixedTriggerDefinition,omitempty" json:"fixedTriggerDefinition,omitempty"`
	FixedUsageContext               *UsageContext                 `bson:"fixedUsageContext,omitempty" json:"fixedUsageContext,omitempty"`
	FixedDosage                     *Dosage                       `bson:"fixedDosage,omitempty" json:"fixedDosage,omitempty"`
	FixedMeta                       *Meta                         `bson:"fixedMeta,omitempty" json:"fixedMeta,omitempty"`
	PatternBase64Binary             *string                       `bson:"patternBase64Binary,omitempty" json:"patternBase64Binary,omitempty"`
	PatternBoolean                  *bool                         `bson:"patternBoolean,omitempty" json:"patternBoolean,omitempty"`
	PatternCanonical                *string                       `bson:"patternCanonical,omitempty" json:"patternCanonical,omitempty"`
	PatternCode                     *string                       `bson:"patternCode,omitempty" json:"patternCode,omitempty"`
	PatternDate                     *string                       `bson:"patternDate,omitempty" json:"patternDate,omitempty"`
	PatternDateTime                 *string                       `bson:"patternDateTime,omitempty" json:"patternDateTime,omitempty"`
	PatternDecimal                  *json.Number                  `bson:"patternDecimal,omitempty" json:"patternDecimal,omitempty"`
	PatternId                       *string                       `bson:"patternId,omitempty" json:"patternId,omitempty"`
	PatternInstant                  *string                       `bson:"patternInstant,omitempty" json:"patternInstant,omitempty"`
	PatternInteger                  *int                          `bson:"patternInteger,omitempty" json:"patternInteger,omitempty"`
	PatternMarkdown                 *string                       `bson:"patternMarkdown,omitempty" json:"patternMarkdown,omitempty"`
	PatternOid                      *string                       `bson:"patternOid,omitempty" json:"patternOid,omitempty"`
	PatternPositiveInt              *int                          `bson:"patternPositiveInt,omitempty" json:"patternPositiveInt,omitempty"`
	PatternString                   *string                       `bson:"patternString,omitempty" json:"patternString,omitempty"`
	PatternTime                     *string                       `bson:"patternTime,omitempty" json:"patternTime,omitempty"`
	PatternUnsignedInt              *int                          `bson:"patternUnsignedInt,omitempty" json:"patternUnsignedInt,omitempty"`
	PatternUri                      *string                       `bson:"patternUri,omitempty" json:"patternUri,omitempty"`
	PatternUrl                      *string                       `bson:"patternUrl,omitempty" json:"patternUrl,omitempty"`
	PatternUuid                     *string                       `bson:"patternUuid,omitempty" json:"patternUuid,omitempty"`
	PatternAddress                  *Address                      `bson:"patternAddress,omitempty" json:"patternAddress,omitempty"`
	PatternAge                      *Age                          `bson:"patternAge,omitempty" json:"patternAge,omitempty"`
	PatternAnnotation               *Annotation                   `bson:"patternAnnotation,omitempty" json:"patternAnnotation,omitempty"`
	PatternAttachment               *Attachment                   `bson:"patternAttachment,omitempty" json:"patternAttachment,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"`
	PatternCount                    *Count                        `bson:"patternCount,omitempty" json:"patternCount,omitempty"`
	PatternDistance                 *Distance                     `bson:"patternDistance,omitempty" json:"patternDistance,omitempty"`
	PatternDuration                 *Duration                     `bson:"patternDuration,omitempty" json:"patternDuration,omitempty"`
	PatternHumanName                *HumanName                    `bson:"patternHumanName,omitempty" json:"patternHumanName,omitempty"`
	PatternIdentifier               *Identifier                   `bson:"patternIdentifier,omitempty" json:"patternIdentifier,omitempty"`
	PatternMoney                    *Money                        `bson:"patternMoney,omitempty" json:"patternMoney,omitempty"`
	PatternPeriod                   *Period                       `bson:"patternPeriod,omitempty" json:"patternPeriod,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"`
	PatternTiming                   *Timing                       `bson:"patternTiming,omitempty" json:"patternTiming,omitempty"`
	PatternContactDetail            *ContactDetail                `bson:"patternContactDetail,omitempty" json:"patternContactDetail,omitempty"`
	PatternContributor              *Contributor                  `bson:"patternContributor,omitempty" json:"patternContributor,omitempty"`
	PatternDataRequirement          *DataRequirement              `bson:"patternDataRequirement,omitempty" json:"patternDataRequirement,omitempty"`
	PatternExpression               *Expression                   `bson:"patternExpression,omitempty" json:"patternExpression,omitempty"`
	PatternParameterDefinition      *ParameterDefinition          `bson:"patternParameterDefinition,omitempty" json:"patternParameterDefinition,omitempty"`
	PatternRelatedArtifact          *RelatedArtifact              `bson:"patternRelatedArtifact,omitempty" json:"patternRelatedArtifact,omitempty"`
	PatternTriggerDefinition        *TriggerDefinition            `bson:"patternTriggerDefinition,omitempty" json:"patternTriggerDefinition,omitempty"`
	PatternUsageContext             *UsageContext                 `bson:"patternUsageContext,omitempty" json:"patternUsageContext,omitempty"`
	PatternDosage                   *Dosage                       `bson:"patternDosage,omitempty" json:"patternDosage,omitempty"`
	PatternMeta                     *Meta                         `bson:"patternMeta,omitempty" json:"patternMeta,omitempty"`
	Example                         []ElementDefinitionExample    `bson:"example,omitempty" json:"example,omitempty"`
	MinValueDate                    *string                       `bson:"minValueDate,omitempty" json:"minValueDate,omitempty"`
	MinValueDateTime                *string                       `bson:"minValueDateTime,omitempty" json:"minValueDateTime,omitempty"`
	MinValueInstant                 *string                       `bson:"minValueInstant,omitempty" json:"minValueInstant,omitempty"`
	MinValueTime                    *string                       `bson:"minValueTime,omitempty" json:"minValueTime,omitempty"`
	MinValueDecimal                 *json.Number                  `bson:"minValueDecimal,omitempty" json:"minValueDecimal,omitempty"`
	MinValueInteger                 *int                          `bson:"minValueInteger,omitempty" json:"minValueInteger,omitempty"`
	MinValuePositiveInt             *int                          `bson:"minValuePositiveInt,omitempty" json:"minValuePositiveInt,omitempty"`
	MinValueUnsignedInt             *int                          `bson:"minValueUnsignedInt,omitempty" json:"minValueUnsignedInt,omitempty"`
	MinValueQuantity                *Quantity                     `bson:"minValueQuantity,omitempty" json:"minValueQuantity,omitempty"`
	MaxValueDate                    *string                       `bson:"maxValueDate,omitempty" json:"maxValueDate,omitempty"`
	MaxValueDateTime                *string                       `bson:"maxValueDateTime,omitempty" json:"maxValueDateTime,omitempty"`
	MaxValueInstant                 *string                       `bson:"maxValueInstant,omitempty" json:"maxValueInstant,omitempty"`
	MaxValueTime                    *string                       `bson:"maxValueTime,omitempty" json:"maxValueTime,omitempty"`
	MaxValueDecimal                 *json.Number                  `bson:"maxValueDecimal,omitempty" json:"maxValueDecimal,omitempty"`
	MaxValueInteger                 *int                          `bson:"maxValueInteger,omitempty" json:"maxValueInteger,omitempty"`
	MaxValuePositiveInt             *int                          `bson:"maxValuePositiveInt,omitempty" json:"maxValuePositiveInt,omitempty"`
	MaxValueUnsignedInt             *int                          `bson:"maxValueUnsignedInt,omitempty" json:"maxValueUnsignedInt,omitempty"`
	MaxValueQuantity                *Quantity                     `bson:"maxValueQuantity,omitempty" json:"maxValueQuantity,omitempty"`
	MaxLength                       *int                          `bson:"maxLength,omitempty" json:"maxLength,omitempty"`
	Condition                       []string                      `bson:"condition,omitempty" json:"condition,omitempty"`
	Constraint                      []ElementDefinitionConstraint `bson:"constraint,omitempty" json:"constraint,omitempty"`
	MustSupport                     *bool                         `bson:"mustSupport,omitempty" json:"mustSupport,omitempty"`
	IsModifier                      *bool                         `bson:"isModifier,omitempty" json:"isModifier,omitempty"`
	IsModifierReason                *string                       `bson:"isModifierReason,omitempty" json:"isModifierReason,omitempty"`
	IsSummary                       *bool                         `bson:"isSummary,omitempty" json:"isSummary,omitempty"`
	Binding                         *ElementDefinitionBinding     `bson:"binding,omitempty" json:"binding,omitempty"`
	Mapping                         []ElementDefinitionMapping    `bson:"mapping,omitempty" json:"mapping,omitempty"`
}

ElementDefinition is documented here http://hl7.org/fhir/StructureDefinition/ElementDefinition Base StructureDefinition for ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension.

type ElementDefinitionBase

type ElementDefinitionBase struct {
	Id        *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Path      string      `bson:"path" json:"path"`
	Min       int         `bson:"min" json:"min"`
	Max       string      `bson:"max" json:"max"`
}

Information about the base definition of the element, provided to make it unnecessary for tools to trace the deviation of the element through the derived and related profiles. When the element definition is not the original definition of an element - i.g. either in a constraint on another type, or for elements from a super type in a snap shot - then the information in provided in the element definition may be different to the base definition. On the original definition of the element, it will be same. The base information does not carry any information that could not be determined from the path and related profiles, but making this determination requires both that the related profiles are available, and that the algorithm to determine them be available. For tooling simplicity, the base information must always be populated in element definitions in snap shots, even if it is the same.

type ElementDefinitionBinding

type ElementDefinitionBinding struct {
	Id          *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension   []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	Strength    BindingStrength `bson:"strength" json:"strength"`
	Description *string         `bson:"description,omitempty" json:"description,omitempty"`
	ValueSet    *string         `bson:"valueSet,omitempty" json:"valueSet,omitempty"`
}

Binds to a value set if this element is coded (code, Coding, CodeableConcept, Quantity), or the data types (string, uri). For a CodeableConcept, when no codes are allowed - only text, use a binding of strength "required" with a description explaining that no coded values are allowed and what sort of information to put in the "text" element.

type ElementDefinitionConstraint

type ElementDefinitionConstraint struct {
	Id           *string            `bson:"id,omitempty" json:"id,omitempty"`
	Extension    []Extension        `bson:"extension,omitempty" json:"extension,omitempty"`
	Key          string             `bson:"key" json:"key"`
	Requirements *string            `bson:"requirements,omitempty" json:"requirements,omitempty"`
	Severity     ConstraintSeverity `bson:"severity" json:"severity"`
	Human        string             `bson:"human" json:"human"`
	Expression   *string            `bson:"expression,omitempty" json:"expression,omitempty"`
	Xpath        *string            `bson:"xpath,omitempty" json:"xpath,omitempty"`
	Source       *string            `bson:"source,omitempty" json:"source,omitempty"`
}

Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance. Constraints should be declared on the "context" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint.

type ElementDefinitionExample

type ElementDefinitionExample struct {
	Id                       *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	Label                    string              `bson:"label" json:"label"`
	ValueBase64Binary        string              `bson:"valueBase64Binary" json:"valueBase64Binary"`
	ValueBoolean             bool                `bson:"valueBoolean" json:"valueBoolean"`
	ValueCanonical           string              `bson:"valueCanonical" json:"valueCanonical"`
	ValueCode                string              `bson:"valueCode" json:"valueCode"`
	ValueDate                string              `bson:"valueDate" json:"valueDate"`
	ValueDateTime            string              `bson:"valueDateTime" json:"valueDateTime"`
	ValueDecimal             json.Number         `bson:"valueDecimal" json:"valueDecimal"`
	ValueId                  string              `bson:"valueId" json:"valueId"`
	ValueInstant             string              `bson:"valueInstant" json:"valueInstant"`
	ValueInteger             int                 `bson:"valueInteger" json:"valueInteger"`
	ValueMarkdown            string              `bson:"valueMarkdown" json:"valueMarkdown"`
	ValueOid                 string              `bson:"valueOid" json:"valueOid"`
	ValuePositiveInt         int                 `bson:"valuePositiveInt" json:"valuePositiveInt"`
	ValueString              string              `bson:"valueString" json:"valueString"`
	ValueTime                string              `bson:"valueTime" json:"valueTime"`
	ValueUnsignedInt         int                 `bson:"valueUnsignedInt" json:"valueUnsignedInt"`
	ValueUri                 string              `bson:"valueUri" json:"valueUri"`
	ValueUrl                 string              `bson:"valueUrl" json:"valueUrl"`
	ValueUuid                string              `bson:"valueUuid" json:"valueUuid"`
	ValueAddress             Address             `bson:"valueAddress" json:"valueAddress"`
	ValueAge                 Age                 `bson:"valueAge" json:"valueAge"`
	ValueAnnotation          Annotation          `bson:"valueAnnotation" json:"valueAnnotation"`
	ValueAttachment          Attachment          `bson:"valueAttachment" json:"valueAttachment"`
	ValueCodeableConcept     CodeableConcept     `bson:"valueCodeableConcept" json:"valueCodeableConcept"`
	ValueCoding              Coding              `bson:"valueCoding" json:"valueCoding"`
	ValueContactPoint        ContactPoint        `bson:"valueContactPoint" json:"valueContactPoint"`
	ValueCount               Count               `bson:"valueCount" json:"valueCount"`
	ValueDistance            Distance            `bson:"valueDistance" json:"valueDistance"`
	ValueDuration            Duration            `bson:"valueDuration" json:"valueDuration"`
	ValueHumanName           HumanName           `bson:"valueHumanName" json:"valueHumanName"`
	ValueIdentifier          Identifier          `bson:"valueIdentifier" json:"valueIdentifier"`
	ValueMoney               Money               `bson:"valueMoney" json:"valueMoney"`
	ValuePeriod              Period              `bson:"valuePeriod" json:"valuePeriod"`
	ValueQuantity            Quantity            `bson:"valueQuantity" json:"valueQuantity"`
	ValueRange               Range               `bson:"valueRange" json:"valueRange"`
	ValueRatio               Ratio               `bson:"valueRatio" json:"valueRatio"`
	ValueReference           Reference           `bson:"valueReference" json:"valueReference"`
	ValueSampledData         SampledData         `bson:"valueSampledData" json:"valueSampledData"`
	ValueSignature           Signature           `bson:"valueSignature" json:"valueSignature"`
	ValueTiming              Timing              `bson:"valueTiming" json:"valueTiming"`
	ValueContactDetail       ContactDetail       `bson:"valueContactDetail" json:"valueContactDetail"`
	ValueContributor         Contributor         `bson:"valueContributor" json:"valueContributor"`
	ValueDataRequirement     DataRequirement     `bson:"valueDataRequirement" json:"valueDataRequirement"`
	ValueExpression          Expression          `bson:"valueExpression" json:"valueExpression"`
	ValueParameterDefinition ParameterDefinition `bson:"valueParameterDefinition" json:"valueParameterDefinition"`
	ValueRelatedArtifact     RelatedArtifact     `bson:"valueRelatedArtifact" json:"valueRelatedArtifact"`
	ValueTriggerDefinition   TriggerDefinition   `bson:"valueTriggerDefinition" json:"valueTriggerDefinition"`
	ValueUsageContext        UsageContext        `bson:"valueUsageContext" json:"valueUsageContext"`
	ValueDosage              Dosage              `bson:"valueDosage" json:"valueDosage"`
	ValueMeta                Meta                `bson:"valueMeta" json:"valueMeta"`
}

A sample value for this element demonstrating the type of information that would typically be found in the element. Examples will most commonly be present for data where it's not implicitly obvious from either the data type or value set what the values might be. (I.e. Example values for dates or quantities would generally be unnecessary.) If the example value is fully populated, the publication tool can generate an instance automatically.

type ElementDefinitionMapping

type ElementDefinitionMapping struct {
	Id        *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Identity  string      `bson:"identity" json:"identity"`
	Language  *string     `bson:"language,omitempty" json:"language,omitempty"`
	Map       string      `bson:"map" json:"map"`
	Comment   *string     `bson:"comment,omitempty" json:"comment,omitempty"`
}

Identifies a concept from an external specification that roughly corresponds to this element. Mappings are not necessarily specific enough for safe translation.

type ElementDefinitionSlicing

type ElementDefinitionSlicing struct {
	Id            *string                                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension     []Extension                             `bson:"extension,omitempty" json:"extension,omitempty"`
	Discriminator []ElementDefinitionSlicingDiscriminator `bson:"discriminator,omitempty" json:"discriminator,omitempty"`
	Description   *string                                 `bson:"description,omitempty" json:"description,omitempty"`
	Ordered       *bool                                   `bson:"ordered,omitempty" json:"ordered,omitempty"`
	Rules         SlicingRules                            `bson:"rules" json:"rules"`
}

Indicates that the element is sliced into a set of alternative definitions (i.e. in a structure definition, there are multiple different constraints on a single element in the base resource). Slicing can be used in any resource that has cardinality ..* on the base resource, or any resource with a choice of types. The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set). The first element in the sequence, the one that carries the slicing, is the definition that applies to all the slices. This is based on the unconstrained element, but can apply any constraints as appropriate. This may include the common constraints on the children of the element.

type ElementDefinitionSlicingDiscriminator

type ElementDefinitionSlicingDiscriminator struct {
	Id        *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	Type      DiscriminatorType `bson:"type" json:"type"`
	Path      string            `bson:"path" json:"path"`
}

Designates which child elements are used to discriminate between the slices when processing an instance. If one or more discriminators are provided, the value of the child elements in the instance data SHALL completely distinguish which slice the element in the resource matches based on the allowed values for those elements in each of the slices. If there is no discriminator, the content is hard to process, so this should be avoided.

type ElementDefinitionType

type ElementDefinitionType struct {
	Id            *string                `bson:"id,omitempty" json:"id,omitempty"`
	Extension     []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	Code          string                 `bson:"code" json:"code"`
	Profile       []string               `bson:"profile,omitempty" json:"profile,omitempty"`
	TargetProfile []string               `bson:"targetProfile,omitempty" json:"targetProfile,omitempty"`
	Aggregation   []AggregationMode      `bson:"aggregation,omitempty" json:"aggregation,omitempty"`
	Versioning    *ReferenceVersionRules `bson:"versioning,omitempty" json:"versioning,omitempty"`
}

The data type or resource that the value of this element is permitted to be. The Type of the element can be left blank in a differential constraint, in which case the type is inherited from the resource. Abstract types are not permitted to appear as a type when multiple types are listed. (I.e. Abstract types cannot be part of a choice).

type EligibilityRequestPurpose

type EligibilityRequestPurpose int

EligibilityRequestPurpose is documented here http://hl7.org/fhir/ValueSet/eligibilityrequest-purpose

const (
	EligibilityRequestPurposeAuthRequirements EligibilityRequestPurpose = iota
	EligibilityRequestPurposeBenefits
	EligibilityRequestPurposeDiscovery
	EligibilityRequestPurposeValidation
)

func (EligibilityRequestPurpose) Code

func (code EligibilityRequestPurpose) Code() string

func (EligibilityRequestPurpose) Definition

func (code EligibilityRequestPurpose) Definition() string

func (EligibilityRequestPurpose) Display

func (code EligibilityRequestPurpose) Display() string

func (EligibilityRequestPurpose) MarshalJSON

func (code EligibilityRequestPurpose) MarshalJSON() ([]byte, error)

func (EligibilityRequestPurpose) String

func (code EligibilityRequestPurpose) String() string

func (*EligibilityRequestPurpose) UnmarshalJSON

func (code *EligibilityRequestPurpose) UnmarshalJSON(input []byte) error

type EligibilityResponsePurpose

type EligibilityResponsePurpose int

EligibilityResponsePurpose is documented here http://hl7.org/fhir/ValueSet/eligibilityresponse-purpose

const (
	EligibilityResponsePurposeAuthRequirements EligibilityResponsePurpose = iota
	EligibilityResponsePurposeBenefits
	EligibilityResponsePurposeDiscovery
	EligibilityResponsePurposeValidation
)

func (EligibilityResponsePurpose) Code

func (code EligibilityResponsePurpose) Code() string

func (EligibilityResponsePurpose) Definition

func (code EligibilityResponsePurpose) Definition() string

func (EligibilityResponsePurpose) Display

func (code EligibilityResponsePurpose) Display() string

func (EligibilityResponsePurpose) MarshalJSON

func (code EligibilityResponsePurpose) MarshalJSON() ([]byte, error)

func (EligibilityResponsePurpose) String

func (code EligibilityResponsePurpose) String() string

func (*EligibilityResponsePurpose) UnmarshalJSON

func (code *EligibilityResponsePurpose) UnmarshalJSON(input []byte) error

type EnableWhenBehavior

type EnableWhenBehavior int

EnableWhenBehavior is documented here http://hl7.org/fhir/ValueSet/questionnaire-enable-behavior

const (
	EnableWhenBehaviorAll EnableWhenBehavior = iota
	EnableWhenBehaviorAny
)

func (EnableWhenBehavior) Code

func (code EnableWhenBehavior) Code() string

func (EnableWhenBehavior) Definition

func (code EnableWhenBehavior) Definition() string

func (EnableWhenBehavior) Display

func (code EnableWhenBehavior) Display() string

func (EnableWhenBehavior) MarshalJSON

func (code EnableWhenBehavior) MarshalJSON() ([]byte, error)

func (EnableWhenBehavior) String

func (code EnableWhenBehavior) String() string

func (*EnableWhenBehavior) UnmarshalJSON

func (code *EnableWhenBehavior) UnmarshalJSON(input []byte) error

type Encounter

type Encounter struct {
	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"`
	Text              *Narrative                `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage         `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            EncounterStatus           `bson:"status" json:"status"`
	StatusHistory     []EncounterStatusHistory  `bson:"statusHistory,omitempty" json:"statusHistory,omitempty"`
	Class             Coding                    `bson:"class" json:"class"`
	ClassHistory      []EncounterClassHistory   `bson:"classHistory,omitempty" json:"classHistory,omitempty"`
	Type              []CodeableConcept         `bson:"type,omitempty" json:"type,omitempty"`
	ServiceType       *CodeableConcept          `bson:"serviceType,omitempty" json:"serviceType,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"`
	BasedOn           []Reference               `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	Participant       []EncounterParticipant    `bson:"participant,omitempty" json:"participant,omitempty"`
	Appointment       []Reference               `bson:"appointment,omitempty" json:"appointment,omitempty"`
	Period            *Period                   `bson:"period,omitempty" json:"period,omitempty"`
	Length            *Duration                 `bson:"length,omitempty" json:"length,omitempty"`
	ReasonCode        []CodeableConcept         `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference   []Reference               `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Diagnosis         []EncounterDiagnosis      `bson:"diagnosis,omitempty" json:"diagnosis,omitempty"`
	Account           []Reference               `bson:"account,omitempty" json:"account,omitempty"`
	Hospitalization   *EncounterHospitalization `bson:"hospitalization,omitempty" json:"hospitalization,omitempty"`
	Location          []EncounterLocation       `bson:"location,omitempty" json:"location,omitempty"`
	ServiceProvider   *Reference                `bson:"serviceProvider,omitempty" json:"serviceProvider,omitempty"`
	PartOf            *Reference                `bson:"partOf,omitempty" json:"partOf,omitempty"`
}

Encounter is documented here http://hl7.org/fhir/StructureDefinition/Encounter An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.

func UnmarshalEncounter

func UnmarshalEncounter(b []byte) (Encounter, error)

UnmarshalEncounter unmarshals a Encounter.

func (Encounter) ContainedResources added in v0.0.6

func (r Encounter) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Encounter) MarshalJSON

func (r Encounter) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Encounter as JSON into a byte slice

func (Encounter) ResourceRef added in v0.0.4

func (r Encounter) ResourceRef() (string, *string)

This function returns resource reference information

type EncounterClassHistory

type EncounterClassHistory struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Class             Coding      `bson:"class" json:"class"`
	Period            Period      `bson:"period" json:"period"`
}

The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatient.

type EncounterDiagnosis

type EncounterDiagnosis struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Condition         Reference        `bson:"condition" json:"condition"`
	Use               *CodeableConcept `bson:"use,omitempty" json:"use,omitempty"`
	Rank              *int             `bson:"rank,omitempty" json:"rank,omitempty"`
}

The list of diagnosis relevant to this encounter.

type EncounterHospitalization

type EncounterHospitalization struct {
	Id                     *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension              []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
}

Details about the admission to a healthcare service. An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included.The duration recorded in the period of this encounter covers the entire scope of this hospitalization record.

type EncounterLocation

type EncounterLocation struct {
	Id                *string                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Location          Reference                `bson:"location" json:"location"`
	Status            *EncounterLocationStatus `bson:"status,omitempty" json:"status,omitempty"`
	PhysicalType      *CodeableConcept         `bson:"physicalType,omitempty" json:"physicalType,omitempty"`
	Period            *Period                  `bson:"period,omitempty" json:"period,omitempty"`
}

List of locations where the patient has been during this encounter. Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual".

type EncounterLocationStatus

type EncounterLocationStatus int

EncounterLocationStatus is documented here http://hl7.org/fhir/ValueSet/encounter-location-status

const (
	EncounterLocationStatusPlanned EncounterLocationStatus = iota
	EncounterLocationStatusActive
	EncounterLocationStatusReserved
	EncounterLocationStatusCompleted
)

func (EncounterLocationStatus) Code

func (code EncounterLocationStatus) Code() string

func (EncounterLocationStatus) Definition

func (code EncounterLocationStatus) Definition() string

func (EncounterLocationStatus) Display

func (code EncounterLocationStatus) Display() string

func (EncounterLocationStatus) MarshalJSON

func (code EncounterLocationStatus) MarshalJSON() ([]byte, error)

func (EncounterLocationStatus) String

func (code EncounterLocationStatus) String() string

func (*EncounterLocationStatus) UnmarshalJSON

func (code *EncounterLocationStatus) UnmarshalJSON(input []byte) error

type EncounterParticipant

type EncounterParticipant struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              []CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Period            *Period           `bson:"period,omitempty" json:"period,omitempty"`
	Individual        *Reference        `bson:"individual,omitempty" json:"individual,omitempty"`
}

The list of people responsible for providing the service.

type EncounterStatus

type EncounterStatus int

EncounterStatus is documented here http://hl7.org/fhir/ValueSet/encounter-status

const (
	EncounterStatusPlanned EncounterStatus = iota
	EncounterStatusArrived
	EncounterStatusTriaged
	EncounterStatusInProgress
	EncounterStatusOnleave
	EncounterStatusFinished
	EncounterStatusCancelled
	EncounterStatusEnteredInError
	EncounterStatusUnknown
)

func (EncounterStatus) Code

func (code EncounterStatus) Code() string

func (EncounterStatus) Definition

func (code EncounterStatus) Definition() string

func (EncounterStatus) Display

func (code EncounterStatus) Display() string

func (EncounterStatus) MarshalJSON

func (code EncounterStatus) MarshalJSON() ([]byte, error)

func (EncounterStatus) String

func (code EncounterStatus) String() string

func (*EncounterStatus) UnmarshalJSON

func (code *EncounterStatus) UnmarshalJSON(input []byte) error

type EncounterStatusHistory

type EncounterStatusHistory struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Status            EncounterStatus `bson:"status" json:"status"`
	Period            Period          `bson:"period" json:"period"`
}

The status history permits the encounter resource to contain the status history without needing to read through the historical versions of the resource, or even have the server store them. The current status is always found in the current version of the resource, not the status history.

type Endpoint

type Endpoint struct {
	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"`
	Text                 *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained            []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension            []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier           []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               EndpointStatus    `bson:"status" json:"status"`
	ConnectionType       Coding            `bson:"connectionType" json:"connectionType"`
	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" json:"payloadType"`
	PayloadMimeType      []string          `bson:"payloadMimeType,omitempty" json:"payloadMimeType,omitempty"`
	Address              string            `bson:"address" json:"address"`
	Header               []string          `bson:"header,omitempty" json:"header,omitempty"`
}

Endpoint is documented here http://hl7.org/fhir/StructureDefinition/Endpoint The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information.

func UnmarshalEndpoint

func UnmarshalEndpoint(b []byte) (Endpoint, error)

UnmarshalEndpoint unmarshals a Endpoint.

func (Endpoint) ContainedResources added in v0.0.6

func (r Endpoint) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Endpoint) MarshalJSON

func (r Endpoint) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Endpoint as JSON into a byte slice

func (Endpoint) ResourceRef added in v0.0.4

func (r Endpoint) ResourceRef() (string, *string)

This function returns resource reference information

type EndpointStatus

type EndpointStatus int

EndpointStatus is documented here http://hl7.org/fhir/ValueSet/endpoint-status

const (
	EndpointStatusActive EndpointStatus = iota
	EndpointStatusSuspended
	EndpointStatusError
	EndpointStatusOff
	EndpointStatusEnteredInError
	EndpointStatusTest
)

func (EndpointStatus) Code

func (code EndpointStatus) Code() string

func (EndpointStatus) Definition

func (code EndpointStatus) Definition() string

func (EndpointStatus) Display

func (code EndpointStatus) Display() string

func (EndpointStatus) MarshalJSON

func (code EndpointStatus) MarshalJSON() ([]byte, error)

func (EndpointStatus) String

func (code EndpointStatus) String() string

func (*EndpointStatus) UnmarshalJSON

func (code *EndpointStatus) UnmarshalJSON(input []byte) error

type EnrollmentRequest

type EnrollmentRequest struct {
	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"`
	Text              *Narrative                    `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage             `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                  `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            *FinancialResourceStatusCodes `bson:"status,omitempty" json:"status,omitempty"`
	Created           *string                       `bson:"created,omitempty" json:"created,omitempty"`
	Insurer           *Reference                    `bson:"insurer,omitempty" json:"insurer,omitempty"`
	Provider          *Reference                    `bson:"provider,omitempty" json:"provider,omitempty"`
	Candidate         *Reference                    `bson:"candidate,omitempty" json:"candidate,omitempty"`
	Coverage          *Reference                    `bson:"coverage,omitempty" json:"coverage,omitempty"`
}

EnrollmentRequest is documented here http://hl7.org/fhir/StructureDefinition/EnrollmentRequest This resource provides the insurance enrollment details to the insurer regarding a specified coverage.

func UnmarshalEnrollmentRequest

func UnmarshalEnrollmentRequest(b []byte) (EnrollmentRequest, error)

UnmarshalEnrollmentRequest unmarshals a EnrollmentRequest.

func (EnrollmentRequest) ContainedResources added in v0.0.6

func (r EnrollmentRequest) ContainedResources() []json.RawMessage

This function returns resource reference information

func (EnrollmentRequest) MarshalJSON

func (r EnrollmentRequest) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given EnrollmentRequest as JSON into a byte slice

func (EnrollmentRequest) ResourceRef added in v0.0.4

func (r EnrollmentRequest) ResourceRef() (string, *string)

This function returns resource reference information

type EnrollmentResponse

type EnrollmentResponse struct {
	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"`
	Text              *Narrative                    `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage             `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                  `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            *FinancialResourceStatusCodes `bson:"status,omitempty" json:"status,omitempty"`
	Request           *Reference                    `bson:"request,omitempty" json:"request,omitempty"`
	Outcome           *ClaimProcessingCodes         `bson:"outcome,omitempty" json:"outcome,omitempty"`
	Disposition       *string                       `bson:"disposition,omitempty" json:"disposition,omitempty"`
	Created           *string                       `bson:"created,omitempty" json:"created,omitempty"`
	Organization      *Reference                    `bson:"organization,omitempty" json:"organization,omitempty"`
	RequestProvider   *Reference                    `bson:"requestProvider,omitempty" json:"requestProvider,omitempty"`
}

EnrollmentResponse is documented here http://hl7.org/fhir/StructureDefinition/EnrollmentResponse This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.

func UnmarshalEnrollmentResponse

func UnmarshalEnrollmentResponse(b []byte) (EnrollmentResponse, error)

UnmarshalEnrollmentResponse unmarshals a EnrollmentResponse.

func (EnrollmentResponse) ContainedResources added in v0.0.6

func (r EnrollmentResponse) ContainedResources() []json.RawMessage

This function returns resource reference information

func (EnrollmentResponse) MarshalJSON

func (r EnrollmentResponse) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given EnrollmentResponse as JSON into a byte slice

func (EnrollmentResponse) ResourceRef added in v0.0.4

func (r EnrollmentResponse) ResourceRef() (string, *string)

This function returns resource reference information

type EpisodeOfCare

type EpisodeOfCare struct {
	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"`
	Text                 *Narrative                   `bson:"text,omitempty" json:"text,omitempty"`
	Contained            []json.RawMessage            `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension            []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier           []Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status               EpisodeOfCareStatus          `bson:"status" json:"status"`
	StatusHistory        []EpisodeOfCareStatusHistory `bson:"statusHistory,omitempty" json:"statusHistory,omitempty"`
	Type                 []CodeableConcept            `bson:"type,omitempty" json:"type,omitempty"`
	Diagnosis            []EpisodeOfCareDiagnosis     `bson:"diagnosis,omitempty" json:"diagnosis,omitempty"`
	Patient              Reference                    `bson:"patient" json:"patient"`
	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"`
}

EpisodeOfCare is documented here http://hl7.org/fhir/StructureDefinition/EpisodeOfCare An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.

func UnmarshalEpisodeOfCare

func UnmarshalEpisodeOfCare(b []byte) (EpisodeOfCare, error)

UnmarshalEpisodeOfCare unmarshals a EpisodeOfCare.

func (EpisodeOfCare) ContainedResources added in v0.0.6

func (r EpisodeOfCare) ContainedResources() []json.RawMessage

This function returns resource reference information

func (EpisodeOfCare) MarshalJSON

func (r EpisodeOfCare) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given EpisodeOfCare as JSON into a byte slice

func (EpisodeOfCare) ResourceRef added in v0.0.4

func (r EpisodeOfCare) ResourceRef() (string, *string)

This function returns resource reference information

type EpisodeOfCareDiagnosis

type EpisodeOfCareDiagnosis struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Condition         Reference        `bson:"condition" json:"condition"`
	Role              *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Rank              *int             `bson:"rank,omitempty" json:"rank,omitempty"`
}

The list of diagnosis relevant to this episode of care.

type EpisodeOfCareStatus

type EpisodeOfCareStatus int

EpisodeOfCareStatus is documented here http://hl7.org/fhir/ValueSet/episode-of-care-status

const (
	EpisodeOfCareStatusPlanned EpisodeOfCareStatus = iota
	EpisodeOfCareStatusWaitlist
	EpisodeOfCareStatusActive
	EpisodeOfCareStatusOnhold
	EpisodeOfCareStatusFinished
	EpisodeOfCareStatusCancelled
	EpisodeOfCareStatusEnteredInError
)

func (EpisodeOfCareStatus) Code

func (code EpisodeOfCareStatus) Code() string

func (EpisodeOfCareStatus) Definition

func (code EpisodeOfCareStatus) Definition() string

func (EpisodeOfCareStatus) Display

func (code EpisodeOfCareStatus) Display() string

func (EpisodeOfCareStatus) MarshalJSON

func (code EpisodeOfCareStatus) MarshalJSON() ([]byte, error)

func (EpisodeOfCareStatus) String

func (code EpisodeOfCareStatus) String() string

func (*EpisodeOfCareStatus) UnmarshalJSON

func (code *EpisodeOfCareStatus) UnmarshalJSON(input []byte) error

type EpisodeOfCareStatusHistory

type EpisodeOfCareStatusHistory struct {
	Id                *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Status            EpisodeOfCareStatus `bson:"status" json:"status"`
	Period            Period              `bson:"period" json:"period"`
}

The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource).

type EventCapabilityMode

type EventCapabilityMode int

EventCapabilityMode is documented here http://hl7.org/fhir/ValueSet/event-capability-mode

const (
	EventCapabilityModeSender EventCapabilityMode = iota
	EventCapabilityModeReceiver
)

func (EventCapabilityMode) Code

func (code EventCapabilityMode) Code() string

func (EventCapabilityMode) Definition

func (code EventCapabilityMode) Definition() string

func (EventCapabilityMode) Display

func (code EventCapabilityMode) Display() string

func (EventCapabilityMode) MarshalJSON

func (code EventCapabilityMode) MarshalJSON() ([]byte, error)

func (EventCapabilityMode) String

func (code EventCapabilityMode) String() string

func (*EventCapabilityMode) UnmarshalJSON

func (code *EventCapabilityMode) UnmarshalJSON(input []byte) error

type EventDefinition

type EventDefinition struct {
	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"`
	Text                   *Narrative          `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage   `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	Subtitle               *string             `bson:"subtitle,omitempty" json:"subtitle,omitempty"`
	Status                 PublicationStatus   `bson:"status" json:"status"`
	Experimental           *bool               `bson:"experimental,omitempty" json:"experimental,omitempty"`
	SubjectCodeableConcept *CodeableConcept    `bson:"subjectCodeableConcept,omitempty" json:"subjectCodeableConcept,omitempty"`
	SubjectReference       *Reference          `bson:"subjectReference,omitempty" json:"subjectReference,omitempty"`
	Date                   *string             `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"`
	Usage                  *string             `bson:"usage,omitempty" json:"usage,omitempty"`
	Copyright              *string             `bson:"copyright,omitempty" json:"copyright,omitempty"`
	ApprovalDate           *string             `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate         *string             `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod        *Period             `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Topic                  []CodeableConcept   `bson:"topic,omitempty" json:"topic,omitempty"`
	Author                 []ContactDetail     `bson:"author,omitempty" json:"author,omitempty"`
	Editor                 []ContactDetail     `bson:"editor,omitempty" json:"editor,omitempty"`
	Reviewer               []ContactDetail     `bson:"reviewer,omitempty" json:"reviewer,omitempty"`
	Endorser               []ContactDetail     `bson:"endorser,omitempty" json:"endorser,omitempty"`
	RelatedArtifact        []RelatedArtifact   `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Trigger                []TriggerDefinition `bson:"trigger" json:"trigger"`
}

EventDefinition is documented here http://hl7.org/fhir/StructureDefinition/EventDefinition The EventDefinition resource provides a reusable description of when a particular event can occur.

func UnmarshalEventDefinition

func UnmarshalEventDefinition(b []byte) (EventDefinition, error)

UnmarshalEventDefinition unmarshals a EventDefinition.

func (EventDefinition) ContainedResources added in v0.0.6

func (r EventDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (EventDefinition) MarshalJSON

func (r EventDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given EventDefinition as JSON into a byte slice

func (EventDefinition) ResourceRef added in v0.0.4

func (r EventDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type EventStatus

type EventStatus int

EventStatus is documented here http://hl7.org/fhir/ValueSet/event-status

const (
	EventStatusPreparation EventStatus = iota
	EventStatusInProgress
	EventStatusNotDone
	EventStatusOnHold
	EventStatusStopped
	EventStatusCompleted
	EventStatusEnteredInError
	EventStatusUnknown
)

func (EventStatus) Code

func (code EventStatus) Code() string

func (EventStatus) Definition

func (code EventStatus) Definition() string

func (EventStatus) Display

func (code EventStatus) Display() string

func (EventStatus) MarshalJSON

func (code EventStatus) MarshalJSON() ([]byte, error)

func (EventStatus) String

func (code EventStatus) String() string

func (*EventStatus) UnmarshalJSON

func (code *EventStatus) UnmarshalJSON(input []byte) error

type Evidence

type Evidence struct {
	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"`
	Text               *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	ShortTitle         *string           `bson:"shortTitle,omitempty" json:"shortTitle,omitempty"`
	Subtitle           *string           `bson:"subtitle,omitempty" json:"subtitle,omitempty"`
	Status             PublicationStatus `bson:"status" json:"status"`
	Date               *string           `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"`
	Note               []Annotation      `bson:"note,omitempty" json:"note,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"`
	ApprovalDate       *string           `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate     *string           `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod    *Period           `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Topic              []CodeableConcept `bson:"topic,omitempty" json:"topic,omitempty"`
	Author             []ContactDetail   `bson:"author,omitempty" json:"author,omitempty"`
	Editor             []ContactDetail   `bson:"editor,omitempty" json:"editor,omitempty"`
	Reviewer           []ContactDetail   `bson:"reviewer,omitempty" json:"reviewer,omitempty"`
	Endorser           []ContactDetail   `bson:"endorser,omitempty" json:"endorser,omitempty"`
	RelatedArtifact    []RelatedArtifact `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	ExposureBackground Reference         `bson:"exposureBackground" json:"exposureBackground"`
	ExposureVariant    []Reference       `bson:"exposureVariant,omitempty" json:"exposureVariant,omitempty"`
	Outcome            []Reference       `bson:"outcome,omitempty" json:"outcome,omitempty"`
}

Evidence is documented here http://hl7.org/fhir/StructureDefinition/Evidence The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.

func UnmarshalEvidence

func UnmarshalEvidence(b []byte) (Evidence, error)

UnmarshalEvidence unmarshals a Evidence.

func (Evidence) ContainedResources added in v0.0.6

func (r Evidence) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Evidence) MarshalJSON

func (r Evidence) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Evidence as JSON into a byte slice

func (Evidence) ResourceRef added in v0.0.4

func (r Evidence) ResourceRef() (string, *string)

This function returns resource reference information

type EvidenceVariable

type EvidenceVariable struct {
	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"`
	Text              *Narrative                       `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	ShortTitle        *string                          `bson:"shortTitle,omitempty" json:"shortTitle,omitempty"`
	Subtitle          *string                          `bson:"subtitle,omitempty" json:"subtitle,omitempty"`
	Status            PublicationStatus                `bson:"status" json:"status"`
	Date              *string                          `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"`
	Note              []Annotation                     `bson:"note,omitempty" json:"note,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"`
	ApprovalDate      *string                          `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate    *string                          `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod   *Period                          `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Topic             []CodeableConcept                `bson:"topic,omitempty" json:"topic,omitempty"`
	Author            []ContactDetail                  `bson:"author,omitempty" json:"author,omitempty"`
	Editor            []ContactDetail                  `bson:"editor,omitempty" json:"editor,omitempty"`
	Reviewer          []ContactDetail                  `bson:"reviewer,omitempty" json:"reviewer,omitempty"`
	Endorser          []ContactDetail                  `bson:"endorser,omitempty" json:"endorser,omitempty"`
	RelatedArtifact   []RelatedArtifact                `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Type              *EvidenceVariableType            `bson:"type,omitempty" json:"type,omitempty"`
	Characteristic    []EvidenceVariableCharacteristic `bson:"characteristic" json:"characteristic"`
}

EvidenceVariable is documented here http://hl7.org/fhir/StructureDefinition/EvidenceVariable The EvidenceVariable resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.

func UnmarshalEvidenceVariable

func UnmarshalEvidenceVariable(b []byte) (EvidenceVariable, error)

UnmarshalEvidenceVariable unmarshals a EvidenceVariable.

func (EvidenceVariable) ContainedResources added in v0.0.6

func (r EvidenceVariable) ContainedResources() []json.RawMessage

This function returns resource reference information

func (EvidenceVariable) MarshalJSON

func (r EvidenceVariable) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given EvidenceVariable as JSON into a byte slice

func (EvidenceVariable) ResourceRef added in v0.0.4

func (r EvidenceVariable) ResourceRef() (string, *string)

This function returns resource reference information

type EvidenceVariableCharacteristic

type EvidenceVariableCharacteristic struct {
	Id                           *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension                    []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension            []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description                  *string           `bson:"description,omitempty" json:"description,omitempty"`
	DefinitionReference          Reference         `bson:"definitionReference" json:"definitionReference"`
	DefinitionCanonical          string            `bson:"definitionCanonical" json:"definitionCanonical"`
	DefinitionCodeableConcept    CodeableConcept   `bson:"definitionCodeableConcept" json:"definitionCodeableConcept"`
	DefinitionExpression         Expression        `bson:"definitionExpression" json:"definitionExpression"`
	DefinitionDataRequirement    DataRequirement   `bson:"definitionDataRequirement" json:"definitionDataRequirement"`
	DefinitionTriggerDefinition  TriggerDefinition `bson:"definitionTriggerDefinition" json:"definitionTriggerDefinition"`
	UsageContext                 []UsageContext    `bson:"usageContext,omitempty" json:"usageContext,omitempty"`
	Exclude                      *bool             `bson:"exclude,omitempty" json:"exclude,omitempty"`
	ParticipantEffectiveDateTime *string           `bson:"participantEffectiveDateTime,omitempty" json:"participantEffectiveDateTime,omitempty"`
	ParticipantEffectivePeriod   *Period           `bson:"participantEffectivePeriod,omitempty" json:"participantEffectivePeriod,omitempty"`
	ParticipantEffectiveDuration *Duration         `bson:"participantEffectiveDuration,omitempty" json:"participantEffectiveDuration,omitempty"`
	ParticipantEffectiveTiming   *Timing           `bson:"participantEffectiveTiming,omitempty" json:"participantEffectiveTiming,omitempty"`
	TimeFromStart                *Duration         `bson:"timeFromStart,omitempty" json:"timeFromStart,omitempty"`
	GroupMeasure                 *GroupMeasure     `bson:"groupMeasure,omitempty" json:"groupMeasure,omitempty"`
}

A characteristic that defines the members of the evidence element. Multiple characteristics are applied with "and" semantics. Characteristics can be defined flexibly to accommodate different use cases for membership criteria, ranging from simple codes, all the way to using an expression language to express the criteria.

type EvidenceVariableType

type EvidenceVariableType int

EvidenceVariableType is documented here http://hl7.org/fhir/ValueSet/variable-type

const (
	EvidenceVariableTypeDichotomous EvidenceVariableType = iota
	EvidenceVariableTypeContinuous
	EvidenceVariableTypeDescriptive
)

func (EvidenceVariableType) Code

func (code EvidenceVariableType) Code() string

func (EvidenceVariableType) Definition

func (code EvidenceVariableType) Definition() string

func (EvidenceVariableType) Display

func (code EvidenceVariableType) Display() string

func (EvidenceVariableType) MarshalJSON

func (code EvidenceVariableType) MarshalJSON() ([]byte, error)

func (EvidenceVariableType) String

func (code EvidenceVariableType) String() string

func (*EvidenceVariableType) UnmarshalJSON

func (code *EvidenceVariableType) UnmarshalJSON(input []byte) error

type ExampleScenario

type ExampleScenario struct {
	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"`
	Text              *Narrative                `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage         `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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            PublicationStatus         `bson:"status" json:"status"`
	Experimental      *bool                     `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string                   `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"`
	Copyright         *string                   `bson:"copyright,omitempty" json:"copyright,omitempty"`
	Purpose           *string                   `bson:"purpose,omitempty" json:"purpose,omitempty"`
	Actor             []ExampleScenarioActor    `bson:"actor,omitempty" json:"actor,omitempty"`
	Instance          []ExampleScenarioInstance `bson:"instance,omitempty" json:"instance,omitempty"`
	Process           []ExampleScenarioProcess  `bson:"process,omitempty" json:"process,omitempty"`
	Workflow          []string                  `bson:"workflow,omitempty" json:"workflow,omitempty"`
}

ExampleScenario is documented here http://hl7.org/fhir/StructureDefinition/ExampleScenario Example of workflow instance.

func UnmarshalExampleScenario

func UnmarshalExampleScenario(b []byte) (ExampleScenario, error)

UnmarshalExampleScenario unmarshals a ExampleScenario.

func (ExampleScenario) ContainedResources added in v0.0.6

func (r ExampleScenario) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ExampleScenario) MarshalJSON

func (r ExampleScenario) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ExampleScenario as JSON into a byte slice

func (ExampleScenario) ResourceRef added in v0.0.4

func (r ExampleScenario) ResourceRef() (string, *string)

This function returns resource reference information

type ExampleScenarioActor

type ExampleScenarioActor struct {
	Id                *string                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ActorId           string                   `bson:"actorId" json:"actorId"`
	Type              ExampleScenarioActorType `bson:"type" json:"type"`
	Name              *string                  `bson:"name,omitempty" json:"name,omitempty"`
	Description       *string                  `bson:"description,omitempty" json:"description,omitempty"`
}

Actor participating in the resource.

type ExampleScenarioActorType

type ExampleScenarioActorType int

ExampleScenarioActorType is documented here http://hl7.org/fhir/ValueSet/examplescenario-actor-type

const (
	ExampleScenarioActorTypePerson ExampleScenarioActorType = iota
	ExampleScenarioActorTypeEntity
)

func (ExampleScenarioActorType) Code

func (code ExampleScenarioActorType) Code() string

func (ExampleScenarioActorType) Definition

func (code ExampleScenarioActorType) Definition() string

func (ExampleScenarioActorType) Display

func (code ExampleScenarioActorType) Display() string

func (ExampleScenarioActorType) MarshalJSON

func (code ExampleScenarioActorType) MarshalJSON() ([]byte, error)

func (ExampleScenarioActorType) String

func (code ExampleScenarioActorType) String() string

func (*ExampleScenarioActorType) UnmarshalJSON

func (code *ExampleScenarioActorType) UnmarshalJSON(input []byte) error

type ExampleScenarioInstance

type ExampleScenarioInstance struct {
	Id                *string                                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ResourceId        string                                     `bson:"resourceId" json:"resourceId"`
	ResourceType      ResourceType                               `bson:"resourceType" json:"resourceType"`
	Name              *string                                    `bson:"name,omitempty" json:"name,omitempty"`
	Description       *string                                    `bson:"description,omitempty" json:"description,omitempty"`
	Version           []ExampleScenarioInstanceVersion           `bson:"version,omitempty" json:"version,omitempty"`
	ContainedInstance []ExampleScenarioInstanceContainedInstance `bson:"containedInstance,omitempty" json:"containedInstance,omitempty"`
}

Each resource and each version that is present in the workflow.

type ExampleScenarioInstanceContainedInstance

type ExampleScenarioInstanceContainedInstance struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ResourceId        string      `bson:"resourceId" json:"resourceId"`
	VersionId         *string     `bson:"versionId,omitempty" json:"versionId,omitempty"`
}

Resources contained in the instance (e.g. the observations contained in a bundle).

type ExampleScenarioInstanceVersion

type ExampleScenarioInstanceVersion struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	VersionId         string      `bson:"versionId" json:"versionId"`
	Description       string      `bson:"description" json:"description"`
}

A specific version of the resource.

type ExampleScenarioProcess

type ExampleScenarioProcess struct {
	Id                *string                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Title             string                       `bson:"title" json:"title"`
	Description       *string                      `bson:"description,omitempty" json:"description,omitempty"`
	PreConditions     *string                      `bson:"preConditions,omitempty" json:"preConditions,omitempty"`
	PostConditions    *string                      `bson:"postConditions,omitempty" json:"postConditions,omitempty"`
	Step              []ExampleScenarioProcessStep `bson:"step,omitempty" json:"step,omitempty"`
}

Each major process - a group of operations.

type ExampleScenarioProcessStep

type ExampleScenarioProcessStep struct {
	Id                *string                                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Process           []ExampleScenarioProcess                `bson:"process,omitempty" json:"process,omitempty"`
	Pause             *bool                                   `bson:"pause,omitempty" json:"pause,omitempty"`
	Operation         *ExampleScenarioProcessStepOperation    `bson:"operation,omitempty" json:"operation,omitempty"`
	Alternative       []ExampleScenarioProcessStepAlternative `bson:"alternative,omitempty" json:"alternative,omitempty"`
}

Each step of the process.

type ExampleScenarioProcessStepAlternative

type ExampleScenarioProcessStepAlternative struct {
	Id                *string                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Title             string                       `bson:"title" json:"title"`
	Description       *string                      `bson:"description,omitempty" json:"description,omitempty"`
	Step              []ExampleScenarioProcessStep `bson:"step,omitempty" json:"step,omitempty"`
}

Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances.

type ExampleScenarioProcessStepOperation

type ExampleScenarioProcessStepOperation struct {
	Id                *string                                   `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Number            string                                    `bson:"number" json:"number"`
	Type              *string                                   `bson:"type,omitempty" json:"type,omitempty"`
	Name              *string                                   `bson:"name,omitempty" json:"name,omitempty"`
	Initiator         *string                                   `bson:"initiator,omitempty" json:"initiator,omitempty"`
	Receiver          *string                                   `bson:"receiver,omitempty" json:"receiver,omitempty"`
	Description       *string                                   `bson:"description,omitempty" json:"description,omitempty"`
	InitiatorActive   *bool                                     `bson:"initiatorActive,omitempty" json:"initiatorActive,omitempty"`
	ReceiverActive    *bool                                     `bson:"receiverActive,omitempty" json:"receiverActive,omitempty"`
	Request           *ExampleScenarioInstanceContainedInstance `bson:"request,omitempty" json:"request,omitempty"`
	Response          *ExampleScenarioInstanceContainedInstance `bson:"response,omitempty" json:"response,omitempty"`
}

Each interaction or action.

type ExplanationOfBenefit

type ExplanationOfBenefit struct {
	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"`
	Text                  *Narrative                             `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage                      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier            []Identifier                           `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                ExplanationOfBenefitStatus             `bson:"status" json:"status"`
	Type                  CodeableConcept                        `bson:"type" json:"type"`
	SubType               *CodeableConcept                       `bson:"subType,omitempty" json:"subType,omitempty"`
	Use                   Use                                    `bson:"use" json:"use"`
	Patient               Reference                              `bson:"patient" json:"patient"`
	BillablePeriod        *Period                                `bson:"billablePeriod,omitempty" json:"billablePeriod,omitempty"`
	Created               string                                 `bson:"created" json:"created"`
	Enterer               *Reference                             `bson:"enterer,omitempty" json:"enterer,omitempty"`
	Insurer               Reference                              `bson:"insurer" json:"insurer"`
	Provider              Reference                              `bson:"provider" json:"provider"`
	Priority              *CodeableConcept                       `bson:"priority,omitempty" json:"priority,omitempty"`
	FundsReserveRequested *CodeableConcept                       `bson:"fundsReserveRequested,omitempty" json:"fundsReserveRequested,omitempty"`
	FundsReserve          *CodeableConcept                       `bson:"fundsReserve,omitempty" json:"fundsReserve,omitempty"`
	Related               []ExplanationOfBenefitRelated          `bson:"related,omitempty" json:"related,omitempty"`
	Prescription          *Reference                             `bson:"prescription,omitempty" json:"prescription,omitempty"`
	OriginalPrescription  *Reference                             `bson:"originalPrescription,omitempty" json:"originalPrescription,omitempty"`
	Payee                 *ExplanationOfBenefitPayee             `bson:"payee,omitempty" json:"payee,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               ClaimProcessingCodes                   `bson:"outcome" json:"outcome"`
	Disposition           *string                                `bson:"disposition,omitempty" json:"disposition,omitempty"`
	PreAuthRef            []string                               `bson:"preAuthRef,omitempty" json:"preAuthRef,omitempty"`
	PreAuthRefPeriod      []Period                               `bson:"preAuthRefPeriod,omitempty" json:"preAuthRefPeriod,omitempty"`
	CareTeam              []ExplanationOfBenefitCareTeam         `bson:"careTeam,omitempty" json:"careTeam,omitempty"`
	SupportingInfo        []ExplanationOfBenefitSupportingInfo   `bson:"supportingInfo,omitempty" json:"supportingInfo,omitempty"`
	Diagnosis             []ExplanationOfBenefitDiagnosis        `bson:"diagnosis,omitempty" json:"diagnosis,omitempty"`
	Procedure             []ExplanationOfBenefitProcedure        `bson:"procedure,omitempty" json:"procedure,omitempty"`
	Precedence            *int                                   `bson:"precedence,omitempty" json:"precedence,omitempty"`
	Insurance             []ExplanationOfBenefitInsurance        `bson:"insurance" json:"insurance"`
	Accident              *ExplanationOfBenefitAccident          `bson:"accident,omitempty" json:"accident,omitempty"`
	Item                  []ExplanationOfBenefitItem             `bson:"item,omitempty" json:"item,omitempty"`
	AddItem               []ExplanationOfBenefitAddItem          `bson:"addItem,omitempty" json:"addItem,omitempty"`
	Adjudication          []ExplanationOfBenefitItemAdjudication `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	Total                 []ExplanationOfBenefitTotal            `bson:"total,omitempty" json:"total,omitempty"`
	Payment               *ExplanationOfBenefitPayment           `bson:"payment,omitempty" json:"payment,omitempty"`
	FormCode              *CodeableConcept                       `bson:"formCode,omitempty" json:"formCode,omitempty"`
	Form                  *Attachment                            `bson:"form,omitempty" json:"form,omitempty"`
	ProcessNote           []ExplanationOfBenefitProcessNote      `bson:"processNote,omitempty" json:"processNote,omitempty"`
	BenefitPeriod         *Period                                `bson:"benefitPeriod,omitempty" json:"benefitPeriod,omitempty"`
	BenefitBalance        []ExplanationOfBenefitBenefitBalance   `bson:"benefitBalance,omitempty" json:"benefitBalance,omitempty"`
}

ExplanationOfBenefit is documented here http://hl7.org/fhir/StructureDefinition/ExplanationOfBenefit This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.

func UnmarshalExplanationOfBenefit

func UnmarshalExplanationOfBenefit(b []byte) (ExplanationOfBenefit, error)

UnmarshalExplanationOfBenefit unmarshals a ExplanationOfBenefit.

func (ExplanationOfBenefit) ContainedResources added in v0.0.6

func (r ExplanationOfBenefit) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ExplanationOfBenefit) MarshalJSON

func (r ExplanationOfBenefit) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ExplanationOfBenefit as JSON into a byte slice

func (ExplanationOfBenefit) ResourceRef added in v0.0.4

func (r ExplanationOfBenefit) ResourceRef() (string, *string)

This function returns resource reference information

type ExplanationOfBenefitAccident

type ExplanationOfBenefitAccident struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Date              *string          `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"`
}

Details of a accident which resulted in injuries which required the products and services listed in the claim.

type ExplanationOfBenefitAddItem

type ExplanationOfBenefitAddItem struct {
	Id                      *string                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension               []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ItemSequence            []int                                  `bson:"itemSequence,omitempty" json:"itemSequence,omitempty"`
	DetailSequence          []int                                  `bson:"detailSequence,omitempty" json:"detailSequence,omitempty"`
	SubDetailSequence       []int                                  `bson:"subDetailSequence,omitempty" json:"subDetailSequence,omitempty"`
	Provider                []Reference                            `bson:"provider,omitempty" json:"provider,omitempty"`
	ProductOrService        CodeableConcept                        `bson:"productOrService" json:"productOrService"`
	Modifier                []CodeableConcept                      `bson:"modifier,omitempty" json:"modifier,omitempty"`
	ProgramCode             []CodeableConcept                      `bson:"programCode,omitempty" json:"programCode,omitempty"`
	ServicedDate            *string                                `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               *Money                                 `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor                  *json.Number                           `bson:"factor,omitempty" json:"factor,omitempty"`
	Net                     *Money                                 `bson:"net,omitempty" json:"net,omitempty"`
	BodySite                *CodeableConcept                       `bson:"bodySite,omitempty" json:"bodySite,omitempty"`
	SubSite                 []CodeableConcept                      `bson:"subSite,omitempty" json:"subSite,omitempty"`
	NoteNumber              []int                                  `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication            []ExplanationOfBenefitItemAdjudication `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	Detail                  []ExplanationOfBenefitAddItemDetail    `bson:"detail,omitempty" json:"detail,omitempty"`
}

The first-tier service adjudications for payor added product or service lines.

type ExplanationOfBenefitAddItemDetail

type ExplanationOfBenefitAddItemDetail struct {
	Id                *string                                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ProductOrService  CodeableConcept                              `bson:"productOrService" json:"productOrService"`
	Modifier          []CodeableConcept                            `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Quantity          *Quantity                                    `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice         *Money                                       `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor            *json.Number                                 `bson:"factor,omitempty" json:"factor,omitempty"`
	Net               *Money                                       `bson:"net,omitempty" json:"net,omitempty"`
	NoteNumber        []int                                        `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication      []ExplanationOfBenefitItemAdjudication       `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	SubDetail         []ExplanationOfBenefitAddItemDetailSubDetail `bson:"subDetail,omitempty" json:"subDetail,omitempty"`
}

The second-tier service adjudications for payor added services.

type ExplanationOfBenefitAddItemDetailSubDetail

type ExplanationOfBenefitAddItemDetailSubDetail struct {
	Id                *string                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ProductOrService  CodeableConcept                        `bson:"productOrService" json:"productOrService"`
	Modifier          []CodeableConcept                      `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Quantity          *Quantity                              `bson:"quantity,omitempty" json:"quantity,omitempty"`
	UnitPrice         *Money                                 `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor            *json.Number                           `bson:"factor,omitempty" json:"factor,omitempty"`
	Net               *Money                                 `bson:"net,omitempty" json:"net,omitempty"`
	NoteNumber        []int                                  `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication      []ExplanationOfBenefitItemAdjudication `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
}

The third-tier service adjudications for payor added services.

type ExplanationOfBenefitBenefitBalance

type ExplanationOfBenefitBenefitBalance struct {
	Id                *string                                       `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Category          CodeableConcept                               `bson:"category" json:"category"`
	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         []ExplanationOfBenefitBenefitBalanceFinancial `bson:"financial,omitempty" json:"financial,omitempty"`
}

Balance by Benefit Category.

type ExplanationOfBenefitBenefitBalanceFinancial

type ExplanationOfBenefitBenefitBalanceFinancial struct {
	Id                 *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension          []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type               CodeableConcept `bson:"type" json:"type"`
	AllowedUnsignedInt *int            `bson:"allowedUnsignedInt,omitempty" json:"allowedUnsignedInt,omitempty"`
	AllowedString      *string         `bson:"allowedString,omitempty" json:"allowedString,omitempty"`
	AllowedMoney       *Money          `bson:"allowedMoney,omitempty" json:"allowedMoney,omitempty"`
	UsedUnsignedInt    *int            `bson:"usedUnsignedInt,omitempty" json:"usedUnsignedInt,omitempty"`
	UsedMoney          *Money          `bson:"usedMoney,omitempty" json:"usedMoney,omitempty"`
}

Benefits Used to date.

type ExplanationOfBenefitCareTeam

type ExplanationOfBenefitCareTeam struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence          int              `bson:"sequence" json:"sequence"`
	Provider          Reference        `bson:"provider" json:"provider"`
	Responsible       *bool            `bson:"responsible,omitempty" json:"responsible,omitempty"`
	Role              *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Qualification     *CodeableConcept `bson:"qualification,omitempty" json:"qualification,omitempty"`
}

The members of the team who provided the products and services.

type ExplanationOfBenefitDiagnosis

type ExplanationOfBenefitDiagnosis struct {
	Id                       *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence                 int               `bson:"sequence" json:"sequence"`
	DiagnosisCodeableConcept CodeableConcept   `bson:"diagnosisCodeableConcept" json:"diagnosisCodeableConcept"`
	DiagnosisReference       Reference         `bson:"diagnosisReference" json:"diagnosisReference"`
	Type                     []CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	OnAdmission              *CodeableConcept  `bson:"onAdmission,omitempty" json:"onAdmission,omitempty"`
	PackageCode              *CodeableConcept  `bson:"packageCode,omitempty" json:"packageCode,omitempty"`
}

Information about diagnoses relevant to the claim items.

type ExplanationOfBenefitInsurance

type ExplanationOfBenefitInsurance struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Focal             bool        `bson:"focal" json:"focal"`
	Coverage          Reference   `bson:"coverage" json:"coverage"`
	PreAuthRef        []string    `bson:"preAuthRef,omitempty" json:"preAuthRef,omitempty"`
}

Financial instruments for reimbursement for the health care products and services specified on the claim. All insurance coverages for the patient which may be applicable for reimbursement, of the products and services listed in the claim, are typically provided in the claim to allow insurers to confirm the ordering of the insurance coverages relative to local 'coordination of benefit' rules. One coverage (and only one) with 'focal=true' is to be used in the adjudication of this claim. Coverages appearing before the focal Coverage in the list, and where 'Coverage.subrogation=false', should provide a reference to the ClaimResponse containing the adjudication results of the prior claim.

type ExplanationOfBenefitItem

type ExplanationOfBenefitItem struct {
	Id                      *string                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension               []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence                int                                    `bson:"sequence" json:"sequence"`
	CareTeamSequence        []int                                  `bson:"careTeamSequence,omitempty" json:"careTeamSequence,omitempty"`
	DiagnosisSequence       []int                                  `bson:"diagnosisSequence,omitempty" json:"diagnosisSequence,omitempty"`
	ProcedureSequence       []int                                  `bson:"procedureSequence,omitempty" json:"procedureSequence,omitempty"`
	InformationSequence     []int                                  `bson:"informationSequence,omitempty" json:"informationSequence,omitempty"`
	Revenue                 *CodeableConcept                       `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category                *CodeableConcept                       `bson:"category,omitempty" json:"category,omitempty"`
	ProductOrService        CodeableConcept                        `bson:"productOrService" json:"productOrService"`
	Modifier                []CodeableConcept                      `bson:"modifier,omitempty" json:"modifier,omitempty"`
	ProgramCode             []CodeableConcept                      `bson:"programCode,omitempty" json:"programCode,omitempty"`
	ServicedDate            *string                                `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               *Money                                 `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor                  *json.Number                           `bson:"factor,omitempty" json:"factor,omitempty"`
	Net                     *Money                                 `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              []int                                  `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication            []ExplanationOfBenefitItemAdjudication `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	Detail                  []ExplanationOfBenefitItemDetail       `bson:"detail,omitempty" json:"detail,omitempty"`
}

A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details.

type ExplanationOfBenefitItemAdjudication

type ExplanationOfBenefitItemAdjudication struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Category          CodeableConcept  `bson:"category" json:"category"`
	Reason            *CodeableConcept `bson:"reason,omitempty" json:"reason,omitempty"`
	Amount            *Money           `bson:"amount,omitempty" json:"amount,omitempty"`
	Value             *json.Number     `bson:"value,omitempty" json:"value,omitempty"`
}

If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item.

type ExplanationOfBenefitItemDetail

type ExplanationOfBenefitItemDetail struct {
	Id                *string                                   `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence          int                                       `bson:"sequence" json:"sequence"`
	Revenue           *CodeableConcept                          `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category          *CodeableConcept                          `bson:"category,omitempty" json:"category,omitempty"`
	ProductOrService  CodeableConcept                           `bson:"productOrService" json:"productOrService"`
	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         *Money                                    `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor            *json.Number                              `bson:"factor,omitempty" json:"factor,omitempty"`
	Net               *Money                                    `bson:"net,omitempty" json:"net,omitempty"`
	Udi               []Reference                               `bson:"udi,omitempty" json:"udi,omitempty"`
	NoteNumber        []int                                     `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication      []ExplanationOfBenefitItemAdjudication    `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
	SubDetail         []ExplanationOfBenefitItemDetailSubDetail `bson:"subDetail,omitempty" json:"subDetail,omitempty"`
}

Second-tier of goods and services.

type ExplanationOfBenefitItemDetailSubDetail

type ExplanationOfBenefitItemDetailSubDetail struct {
	Id                *string                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence          int                                    `bson:"sequence" json:"sequence"`
	Revenue           *CodeableConcept                       `bson:"revenue,omitempty" json:"revenue,omitempty"`
	Category          *CodeableConcept                       `bson:"category,omitempty" json:"category,omitempty"`
	ProductOrService  CodeableConcept                        `bson:"productOrService" json:"productOrService"`
	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         *Money                                 `bson:"unitPrice,omitempty" json:"unitPrice,omitempty"`
	Factor            *json.Number                           `bson:"factor,omitempty" json:"factor,omitempty"`
	Net               *Money                                 `bson:"net,omitempty" json:"net,omitempty"`
	Udi               []Reference                            `bson:"udi,omitempty" json:"udi,omitempty"`
	NoteNumber        []int                                  `bson:"noteNumber,omitempty" json:"noteNumber,omitempty"`
	Adjudication      []ExplanationOfBenefitItemAdjudication `bson:"adjudication,omitempty" json:"adjudication,omitempty"`
}

Third-tier of goods and services.

type ExplanationOfBenefitPayee

type ExplanationOfBenefitPayee struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Party             *Reference       `bson:"party,omitempty" json:"party,omitempty"`
}

The party to be reimbursed for cost of the products and services according to the terms of the policy. Often providers agree to receive the benefits payable to reduce the near-term costs to the patient. The insurer may decline to pay the provider and may choose to pay the subscriber instead.

type ExplanationOfBenefitPayment

type ExplanationOfBenefitPayment struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Adjustment        *Money           `bson:"adjustment,omitempty" json:"adjustment,omitempty"`
	AdjustmentReason  *CodeableConcept `bson:"adjustmentReason,omitempty" json:"adjustmentReason,omitempty"`
	Date              *string          `bson:"date,omitempty" json:"date,omitempty"`
	Amount            *Money           `bson:"amount,omitempty" json:"amount,omitempty"`
	Identifier        *Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
}

Payment details for the adjudication of the claim.

type ExplanationOfBenefitProcedure

type ExplanationOfBenefitProcedure struct {
	Id                       *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence                 int               `bson:"sequence" json:"sequence"`
	Type                     []CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Date                     *string           `bson:"date,omitempty" json:"date,omitempty"`
	ProcedureCodeableConcept CodeableConcept   `bson:"procedureCodeableConcept" json:"procedureCodeableConcept"`
	ProcedureReference       Reference         `bson:"procedureReference" json:"procedureReference"`
	Udi                      []Reference       `bson:"udi,omitempty" json:"udi,omitempty"`
}

Procedures performed on the patient relevant to the billing items with the claim.

type ExplanationOfBenefitProcessNote

type ExplanationOfBenefitProcessNote struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Number            *int             `bson:"number,omitempty" json:"number,omitempty"`
	Type              *NoteType        `bson:"type,omitempty" json:"type,omitempty"`
	Text              *string          `bson:"text,omitempty" json:"text,omitempty"`
	Language          *CodeableConcept `bson:"language,omitempty" json:"language,omitempty"`
}

A note that describes or explains adjudication results in a human readable form.

type ExplanationOfBenefitRelated

type ExplanationOfBenefitRelated struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Claim             *Reference       `bson:"claim,omitempty" json:"claim,omitempty"`
	Relationship      *CodeableConcept `bson:"relationship,omitempty" json:"relationship,omitempty"`
	Reference         *Identifier      `bson:"reference,omitempty" json:"reference,omitempty"`
}

Other claims which are related to this claim such as prior submissions or claims for related services or for the same event. For example, for the original treatment and follow-up exams.

type ExplanationOfBenefitStatus

type ExplanationOfBenefitStatus int

ExplanationOfBenefitStatus is documented here http://hl7.org/fhir/ValueSet/explanationofbenefit-status

const (
	ExplanationOfBenefitStatusActive ExplanationOfBenefitStatus = iota
	ExplanationOfBenefitStatusCancelled
	ExplanationOfBenefitStatusDraft
	ExplanationOfBenefitStatusEnteredInError
)

func (ExplanationOfBenefitStatus) Code

func (code ExplanationOfBenefitStatus) Code() string

func (ExplanationOfBenefitStatus) Definition

func (code ExplanationOfBenefitStatus) Definition() string

func (ExplanationOfBenefitStatus) Display

func (code ExplanationOfBenefitStatus) Display() string

func (ExplanationOfBenefitStatus) MarshalJSON

func (code ExplanationOfBenefitStatus) MarshalJSON() ([]byte, error)

func (ExplanationOfBenefitStatus) String

func (code ExplanationOfBenefitStatus) String() string

func (*ExplanationOfBenefitStatus) UnmarshalJSON

func (code *ExplanationOfBenefitStatus) UnmarshalJSON(input []byte) error

type ExplanationOfBenefitSupportingInfo

type ExplanationOfBenefitSupportingInfo struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence          int              `bson:"sequence" json:"sequence"`
	Category          CodeableConcept  `bson:"category" json:"category"`
	Code              *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	TimingDate        *string          `bson:"timingDate,omitempty" json:"timingDate,omitempty"`
	TimingPeriod      *Period          `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	ValueBoolean      *bool            `bson:"valueBoolean,omitempty" json:"valueBoolean,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"`
}

Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. Often there are multiple jurisdiction specific valuesets which are required.

type ExplanationOfBenefitTotal

type ExplanationOfBenefitTotal struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Category          CodeableConcept `bson:"category" json:"category"`
	Amount            Money           `bson:"amount" json:"amount"`
}

Categorized monetary totals for the adjudication. Totals for amounts submitted, co-pays, benefits payable etc.

type ExposureState

type ExposureState int

ExposureState is documented here http://hl7.org/fhir/ValueSet/exposure-state

const (
	ExposureStateExposure ExposureState = iota
	ExposureStateExposureAlternative
)

func (ExposureState) Code

func (code ExposureState) Code() string

func (ExposureState) Definition

func (code ExposureState) Definition() string

func (ExposureState) Display

func (code ExposureState) Display() string

func (ExposureState) MarshalJSON

func (code ExposureState) MarshalJSON() ([]byte, error)

func (ExposureState) String

func (code ExposureState) String() string

func (*ExposureState) UnmarshalJSON

func (code *ExposureState) UnmarshalJSON(input []byte) error

type Expression

type Expression struct {
	Id          *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension   []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Description *string     `bson:"description,omitempty" json:"description,omitempty"`
	Name        *string     `bson:"name,omitempty" json:"name,omitempty"`
	Language    string      `bson:"language" json:"language"`
	Expression  *string     `bson:"expression,omitempty" json:"expression,omitempty"`
	Reference   *string     `bson:"reference,omitempty" json:"reference,omitempty"`
}

Expression is documented here http://hl7.org/fhir/StructureDefinition/Expression Base StructureDefinition for Expression Type: A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.

type Extension

type Extension struct {
	Id                       *string              `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension          `bson:"extension,omitempty" json:"extension,omitempty"`
	Url                      string               `bson:"url" json:"url"`
	ValueBase64Binary        *string              `bson:"valueBase64Binary,omitempty" json:"valueBase64Binary,omitempty"`
	ValueBoolean             *bool                `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueCanonical           *string              `bson:"valueCanonical,omitempty" json:"valueCanonical,omitempty"`
	ValueCode                *string              `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
	ValueDate                *string              `bson:"valueDate,omitempty" json:"valueDate,omitempty"`
	ValueDateTime            *string              `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValueDecimal             *json.Number         `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
	ValueId                  *string              `bson:"valueId,omitempty" json:"valueId,omitempty"`
	ValueInstant             *string              `bson:"valueInstant,omitempty" json:"valueInstant,omitempty"`
	ValueInteger             *int                 `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueMarkdown            *string              `bson:"valueMarkdown,omitempty" json:"valueMarkdown,omitempty"`
	ValueOid                 *string              `bson:"valueOid,omitempty" json:"valueOid,omitempty"`
	ValuePositiveInt         *int                 `bson:"valuePositiveInt,omitempty" json:"valuePositiveInt,omitempty"`
	ValueString              *string              `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueTime                *string              `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueUnsignedInt         *int                 `bson:"valueUnsignedInt,omitempty" json:"valueUnsignedInt,omitempty"`
	ValueUri                 *string              `bson:"valueUri,omitempty" json:"valueUri,omitempty"`
	ValueUrl                 *string              `bson:"valueUrl,omitempty" json:"valueUrl,omitempty"`
	ValueUuid                *string              `bson:"valueUuid,omitempty" json:"valueUuid,omitempty"`
	ValueAddress             *Address             `bson:"valueAddress,omitempty" json:"valueAddress,omitempty"`
	ValueAge                 *Age                 `bson:"valueAge,omitempty" json:"valueAge,omitempty"`
	ValueAnnotation          *Annotation          `bson:"valueAnnotation,omitempty" json:"valueAnnotation,omitempty"`
	ValueAttachment          *Attachment          `bson:"valueAttachment,omitempty" json:"valueAttachment,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"`
	ValueCount               *Count               `bson:"valueCount,omitempty" json:"valueCount,omitempty"`
	ValueDistance            *Distance            `bson:"valueDistance,omitempty" json:"valueDistance,omitempty"`
	ValueDuration            *Duration            `bson:"valueDuration,omitempty" json:"valueDuration,omitempty"`
	ValueHumanName           *HumanName           `bson:"valueHumanName,omitempty" json:"valueHumanName,omitempty"`
	ValueIdentifier          *Identifier          `bson:"valueIdentifier,omitempty" json:"valueIdentifier,omitempty"`
	ValueMoney               *Money               `bson:"valueMoney,omitempty" json:"valueMoney,omitempty"`
	ValuePeriod              *Period              `bson:"valuePeriod,omitempty" json:"valuePeriod,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"`
	ValueTiming              *Timing              `bson:"valueTiming,omitempty" json:"valueTiming,omitempty"`
	ValueContactDetail       *ContactDetail       `bson:"valueContactDetail,omitempty" json:"valueContactDetail,omitempty"`
	ValueContributor         *Contributor         `bson:"valueContributor,omitempty" json:"valueContributor,omitempty"`
	ValueDataRequirement     *DataRequirement     `bson:"valueDataRequirement,omitempty" json:"valueDataRequirement,omitempty"`
	ValueExpression          *Expression          `bson:"valueExpression,omitempty" json:"valueExpression,omitempty"`
	ValueParameterDefinition *ParameterDefinition `bson:"valueParameterDefinition,omitempty" json:"valueParameterDefinition,omitempty"`
	ValueRelatedArtifact     *RelatedArtifact     `bson:"valueRelatedArtifact,omitempty" json:"valueRelatedArtifact,omitempty"`
	ValueTriggerDefinition   *TriggerDefinition   `bson:"valueTriggerDefinition,omitempty" json:"valueTriggerDefinition,omitempty"`
	ValueUsageContext        *UsageContext        `bson:"valueUsageContext,omitempty" json:"valueUsageContext,omitempty"`
	ValueDosage              *Dosage              `bson:"valueDosage,omitempty" json:"valueDosage,omitempty"`
	ValueMeta                *Meta                `bson:"valueMeta,omitempty" json:"valueMeta,omitempty"`
}

Extension is documented here http://hl7.org/fhir/StructureDefinition/Extension Base StructureDefinition for Extension Type: Optional Extension Element - found in all resources.

type ExtensionContextType

type ExtensionContextType int

ExtensionContextType is documented here http://hl7.org/fhir/ValueSet/extension-context-type

const (
	ExtensionContextTypeFhirpath ExtensionContextType = iota
	ExtensionContextTypeElement
	ExtensionContextTypeExtension
)

func (ExtensionContextType) Code

func (code ExtensionContextType) Code() string

func (ExtensionContextType) Definition

func (code ExtensionContextType) Definition() string

func (ExtensionContextType) Display

func (code ExtensionContextType) Display() string

func (ExtensionContextType) MarshalJSON

func (code ExtensionContextType) MarshalJSON() ([]byte, error)

func (ExtensionContextType) String

func (code ExtensionContextType) String() string

func (*ExtensionContextType) UnmarshalJSON

func (code *ExtensionContextType) UnmarshalJSON(input []byte) error

type FHIRDeviceStatus

type FHIRDeviceStatus int

FHIRDeviceStatus is documented here http://hl7.org/fhir/ValueSet/device-status

const (
	FHIRDeviceStatusActive FHIRDeviceStatus = iota
	FHIRDeviceStatusInactive
	FHIRDeviceStatusEnteredInError
	FHIRDeviceStatusUnknown
)

func (FHIRDeviceStatus) Code

func (code FHIRDeviceStatus) Code() string

func (FHIRDeviceStatus) Definition

func (code FHIRDeviceStatus) Definition() string

func (FHIRDeviceStatus) Display

func (code FHIRDeviceStatus) Display() string

func (FHIRDeviceStatus) MarshalJSON

func (code FHIRDeviceStatus) MarshalJSON() ([]byte, error)

func (FHIRDeviceStatus) String

func (code FHIRDeviceStatus) String() string

func (*FHIRDeviceStatus) UnmarshalJSON

func (code *FHIRDeviceStatus) UnmarshalJSON(input []byte) error

type FHIRSubstanceStatus

type FHIRSubstanceStatus int

FHIRSubstanceStatus is documented here http://hl7.org/fhir/ValueSet/substance-status

const (
	FHIRSubstanceStatusActive FHIRSubstanceStatus = iota
	FHIRSubstanceStatusInactive
	FHIRSubstanceStatusEnteredInError
)

func (FHIRSubstanceStatus) Code

func (code FHIRSubstanceStatus) Code() string

func (FHIRSubstanceStatus) Definition

func (code FHIRSubstanceStatus) Definition() string

func (FHIRSubstanceStatus) Display

func (code FHIRSubstanceStatus) Display() string

func (FHIRSubstanceStatus) MarshalJSON

func (code FHIRSubstanceStatus) MarshalJSON() ([]byte, error)

func (FHIRSubstanceStatus) String

func (code FHIRSubstanceStatus) String() string

func (*FHIRSubstanceStatus) UnmarshalJSON

func (code *FHIRSubstanceStatus) UnmarshalJSON(input []byte) error

type FHIRVersion

type FHIRVersion int

FHIRVersion is documented here http://hl7.org/fhir/ValueSet/FHIR-version

const (
	FHIRVersion0_01 FHIRVersion = iota
	FHIRVersion0_05
	FHIRVersion0_06
	FHIRVersion0_11
	FHIRVersion0_0_80
	FHIRVersion0_0_81
	FHIRVersion0_0_82
	FHIRVersion0_4_0
	FHIRVersion0_5_0
	FHIRVersion1_0_0
	FHIRVersion1_0_1
	FHIRVersion1_0_2
	FHIRVersion1_1_0
	FHIRVersion1_4_0
	FHIRVersion1_6_0
	FHIRVersion1_8_0
	FHIRVersion3_0_0
	FHIRVersion3_0_1
	FHIRVersion3_3_0
	FHIRVersion3_5_0
	FHIRVersion4_0_0
	FHIRVersion4_0_1
)

func (FHIRVersion) Code

func (code FHIRVersion) Code() string

func (FHIRVersion) Definition

func (code FHIRVersion) Definition() string

func (FHIRVersion) Display

func (code FHIRVersion) Display() string

func (FHIRVersion) MarshalJSON

func (code FHIRVersion) MarshalJSON() ([]byte, error)

func (FHIRVersion) String

func (code FHIRVersion) String() string

func (*FHIRVersion) UnmarshalJSON

func (code *FHIRVersion) UnmarshalJSON(input []byte) error

type FamilyHistoryStatus

type FamilyHistoryStatus int

FamilyHistoryStatus is documented here http://hl7.org/fhir/ValueSet/history-status

const (
	FamilyHistoryStatusPartial FamilyHistoryStatus = iota
	FamilyHistoryStatusCompleted
	FamilyHistoryStatusEnteredInError
	FamilyHistoryStatusHealthUnknown
)

func (FamilyHistoryStatus) Code

func (code FamilyHistoryStatus) Code() string

func (FamilyHistoryStatus) Definition

func (code FamilyHistoryStatus) Definition() string

func (FamilyHistoryStatus) Display

func (code FamilyHistoryStatus) Display() string

func (FamilyHistoryStatus) MarshalJSON

func (code FamilyHistoryStatus) MarshalJSON() ([]byte, error)

func (FamilyHistoryStatus) String

func (code FamilyHistoryStatus) String() string

func (*FamilyHistoryStatus) UnmarshalJSON

func (code *FamilyHistoryStatus) UnmarshalJSON(input []byte) error

type FamilyMemberHistory

type FamilyMemberHistory struct {
	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"`
	Text                  *Narrative                     `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage              `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier            []Identifier                   `bson:"identifier,omitempty" json:"identifier,omitempty"`
	InstantiatesCanonical []string                       `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri       []string                       `bson:"instantiatesUri,omitempty" json:"instantiatesUri,omitempty"`
	Status                FamilyHistoryStatus            `bson:"status" json:"status"`
	DataAbsentReason      *CodeableConcept               `bson:"dataAbsentReason,omitempty" json:"dataAbsentReason,omitempty"`
	Patient               Reference                      `bson:"patient" json:"patient"`
	Date                  *string                        `bson:"date,omitempty" json:"date,omitempty"`
	Name                  *string                        `bson:"name,omitempty" json:"name,omitempty"`
	Relationship          CodeableConcept                `bson:"relationship" json:"relationship"`
	Sex                   *CodeableConcept               `bson:"sex,omitempty" json:"sex,omitempty"`
	BornPeriod            *Period                        `bson:"bornPeriod,omitempty" json:"bornPeriod,omitempty"`
	BornDate              *string                        `bson:"bornDate,omitempty" json:"bornDate,omitempty"`
	BornString            *string                        `bson:"bornString,omitempty" json:"bornString,omitempty"`
	AgeAge                *Age                           `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           *Age                           `bson:"deceasedAge,omitempty" json:"deceasedAge,omitempty"`
	DeceasedRange         *Range                         `bson:"deceasedRange,omitempty" json:"deceasedRange,omitempty"`
	DeceasedDate          *string                        `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             []FamilyMemberHistoryCondition `bson:"condition,omitempty" json:"condition,omitempty"`
}

FamilyMemberHistory is documented here http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory Significant health conditions for a person related to the patient relevant in the context of care for the patient.

func UnmarshalFamilyMemberHistory

func UnmarshalFamilyMemberHistory(b []byte) (FamilyMemberHistory, error)

UnmarshalFamilyMemberHistory unmarshals a FamilyMemberHistory.

func (FamilyMemberHistory) ContainedResources added in v0.0.6

func (r FamilyMemberHistory) ContainedResources() []json.RawMessage

This function returns resource reference information

func (FamilyMemberHistory) MarshalJSON

func (r FamilyMemberHistory) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given FamilyMemberHistory as JSON into a byte slice

func (FamilyMemberHistory) ResourceRef added in v0.0.4

func (r FamilyMemberHistory) ResourceRef() (string, *string)

This function returns resource reference information

type FamilyMemberHistoryCondition

type FamilyMemberHistoryCondition struct {
	Id                 *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension          []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code               CodeableConcept  `bson:"code" json:"code"`
	Outcome            *CodeableConcept `bson:"outcome,omitempty" json:"outcome,omitempty"`
	ContributedToDeath *bool            `bson:"contributedToDeath,omitempty" json:"contributedToDeath,omitempty"`
	OnsetAge           *Age             `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"`
}

The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition.

type FilterOperator

type FilterOperator int

FilterOperator is documented here http://hl7.org/fhir/ValueSet/filter-operator

const (
	FilterOperatorEquals FilterOperator = iota
	FilterOperatorIsA
	FilterOperatorDescendentOf
	FilterOperatorIsNotA
	FilterOperatorRegex
	FilterOperatorIn
	FilterOperatorNotIn
	FilterOperatorGeneralizes
	FilterOperatorExists
)

func (FilterOperator) Code

func (code FilterOperator) Code() string

func (FilterOperator) Definition

func (code FilterOperator) Definition() string

func (FilterOperator) Display

func (code FilterOperator) Display() string

func (FilterOperator) MarshalJSON

func (code FilterOperator) MarshalJSON() ([]byte, error)

func (FilterOperator) String

func (code FilterOperator) String() string

func (*FilterOperator) UnmarshalJSON

func (code *FilterOperator) UnmarshalJSON(input []byte) error

type FinancialResourceStatusCodes

type FinancialResourceStatusCodes int

FinancialResourceStatusCodes is documented here http://hl7.org/fhir/ValueSet/fm-status

const (
	FinancialResourceStatusCodesActive FinancialResourceStatusCodes = iota
	FinancialResourceStatusCodesCancelled
	FinancialResourceStatusCodesDraft
	FinancialResourceStatusCodesEnteredInError
)

func (FinancialResourceStatusCodes) Code

func (FinancialResourceStatusCodes) Definition

func (code FinancialResourceStatusCodes) Definition() string

func (FinancialResourceStatusCodes) Display

func (code FinancialResourceStatusCodes) Display() string

func (FinancialResourceStatusCodes) MarshalJSON

func (code FinancialResourceStatusCodes) MarshalJSON() ([]byte, error)

func (FinancialResourceStatusCodes) String

func (code FinancialResourceStatusCodes) String() string

func (*FinancialResourceStatusCodes) UnmarshalJSON

func (code *FinancialResourceStatusCodes) UnmarshalJSON(input []byte) error

type Flag

type Flag struct {
	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"`
	Text              *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            FlagStatus        `bson:"status" json:"status"`
	Category          []CodeableConcept `bson:"category,omitempty" json:"category,omitempty"`
	Code              CodeableConcept   `bson:"code" json:"code"`
	Subject           Reference         `bson:"subject" json:"subject"`
	Period            *Period           `bson:"period,omitempty" json:"period,omitempty"`
	Encounter         *Reference        `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Author            *Reference        `bson:"author,omitempty" json:"author,omitempty"`
}

Flag is documented here http://hl7.org/fhir/StructureDefinition/Flag Prospective warnings of potential issues when providing care to the patient.

func UnmarshalFlag

func UnmarshalFlag(b []byte) (Flag, error)

UnmarshalFlag unmarshals a Flag.

func (Flag) ContainedResources added in v0.0.6

func (r Flag) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Flag) MarshalJSON

func (r Flag) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Flag as JSON into a byte slice

func (Flag) ResourceRef added in v0.0.4

func (r Flag) ResourceRef() (string, *string)

This function returns resource reference information

type FlagStatus

type FlagStatus int

FlagStatus is documented here http://hl7.org/fhir/ValueSet/flag-status

const (
	FlagStatusActive FlagStatus = iota
	FlagStatusInactive
	FlagStatusEnteredInError
)

func (FlagStatus) Code

func (code FlagStatus) Code() string

func (FlagStatus) Definition

func (code FlagStatus) Definition() string

func (FlagStatus) Display

func (code FlagStatus) Display() string

func (FlagStatus) MarshalJSON

func (code FlagStatus) MarshalJSON() ([]byte, error)

func (FlagStatus) String

func (code FlagStatus) String() string

func (*FlagStatus) UnmarshalJSON

func (code *FlagStatus) UnmarshalJSON(input []byte) error

type Goal

type Goal struct {
	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"`
	Text                 *Narrative          `bson:"text,omitempty" json:"text,omitempty"`
	Contained            []json.RawMessage   `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension            []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier           []Identifier        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	LifecycleStatus      GoalLifecycleStatus `bson:"lifecycleStatus" json:"lifecycleStatus"`
	AchievementStatus    *CodeableConcept    `bson:"achievementStatus,omitempty" json:"achievementStatus,omitempty"`
	Category             []CodeableConcept   `bson:"category,omitempty" json:"category,omitempty"`
	Priority             *CodeableConcept    `bson:"priority,omitempty" json:"priority,omitempty"`
	Description          CodeableConcept     `bson:"description" json:"description"`
	Subject              Reference           `bson:"subject" json:"subject"`
	StartDate            *string             `bson:"startDate,omitempty" json:"startDate,omitempty"`
	StartCodeableConcept *CodeableConcept    `bson:"startCodeableConcept,omitempty" json:"startCodeableConcept,omitempty"`
	Target               []GoalTarget        `bson:"target,omitempty" json:"target,omitempty"`
	StatusDate           *string             `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"`
}

Goal is documented here http://hl7.org/fhir/StructureDefinition/Goal Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.

func UnmarshalGoal

func UnmarshalGoal(b []byte) (Goal, error)

UnmarshalGoal unmarshals a Goal.

func (Goal) ContainedResources added in v0.0.6

func (r Goal) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Goal) MarshalJSON

func (r Goal) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Goal as JSON into a byte slice

func (Goal) ResourceRef added in v0.0.4

func (r Goal) ResourceRef() (string, *string)

This function returns resource reference information

type GoalLifecycleStatus

type GoalLifecycleStatus int

GoalLifecycleStatus is documented here http://hl7.org/fhir/ValueSet/goal-status

const (
	GoalLifecycleStatusProposed GoalLifecycleStatus = iota
	GoalLifecycleStatusPlanned
	GoalLifecycleStatusAccepted
	GoalLifecycleStatusActive
	GoalLifecycleStatusOnHold
	GoalLifecycleStatusCompleted
	GoalLifecycleStatusCancelled
	GoalLifecycleStatusEnteredInError
	GoalLifecycleStatusRejected
)

func (GoalLifecycleStatus) Code

func (code GoalLifecycleStatus) Code() string

func (GoalLifecycleStatus) Definition

func (code GoalLifecycleStatus) Definition() string

func (GoalLifecycleStatus) Display

func (code GoalLifecycleStatus) Display() string

func (GoalLifecycleStatus) MarshalJSON

func (code GoalLifecycleStatus) MarshalJSON() ([]byte, error)

func (GoalLifecycleStatus) String

func (code GoalLifecycleStatus) String() string

func (*GoalLifecycleStatus) UnmarshalJSON

func (code *GoalLifecycleStatus) UnmarshalJSON(input []byte) error

type GoalTarget

type GoalTarget struct {
	Id                    *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension             []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	DetailString          *string          `bson:"detailString,omitempty" json:"detailString,omitempty"`
	DetailBoolean         *bool            `bson:"detailBoolean,omitempty" json:"detailBoolean,omitempty"`
	DetailInteger         *int             `bson:"detailInteger,omitempty" json:"detailInteger,omitempty"`
	DetailRatio           *Ratio           `bson:"detailRatio,omitempty" json:"detailRatio,omitempty"`
	DueDate               *string          `bson:"dueDate,omitempty" json:"dueDate,omitempty"`
	DueDuration           *Duration        `bson:"dueDuration,omitempty" json:"dueDuration,omitempty"`
}

Indicates what should be done by when. When multiple targets are present for a single goal instance, all targets must be met for the overall goal to be met.

type GraphCompartmentRule

type GraphCompartmentRule int

GraphCompartmentRule is documented here http://hl7.org/fhir/ValueSet/graph-compartment-rule

const (
	GraphCompartmentRuleIdentical GraphCompartmentRule = iota
	GraphCompartmentRuleMatching
	GraphCompartmentRuleDifferent
	GraphCompartmentRuleCustom
)

func (GraphCompartmentRule) Code

func (code GraphCompartmentRule) Code() string

func (GraphCompartmentRule) Definition

func (code GraphCompartmentRule) Definition() string

func (GraphCompartmentRule) Display

func (code GraphCompartmentRule) Display() string

func (GraphCompartmentRule) MarshalJSON

func (code GraphCompartmentRule) MarshalJSON() ([]byte, error)

func (GraphCompartmentRule) String

func (code GraphCompartmentRule) String() string

func (*GraphCompartmentRule) UnmarshalJSON

func (code *GraphCompartmentRule) UnmarshalJSON(input []byte) error

type GraphCompartmentUse

type GraphCompartmentUse int

GraphCompartmentUse is documented here http://hl7.org/fhir/ValueSet/graph-compartment-use

const (
	GraphCompartmentUseCondition GraphCompartmentUse = iota
	GraphCompartmentUseRequirement
)

func (GraphCompartmentUse) Code

func (code GraphCompartmentUse) Code() string

func (GraphCompartmentUse) Definition

func (code GraphCompartmentUse) Definition() string

func (GraphCompartmentUse) Display

func (code GraphCompartmentUse) Display() string

func (GraphCompartmentUse) MarshalJSON

func (code GraphCompartmentUse) MarshalJSON() ([]byte, error)

func (GraphCompartmentUse) String

func (code GraphCompartmentUse) String() string

func (*GraphCompartmentUse) UnmarshalJSON

func (code *GraphCompartmentUse) UnmarshalJSON(input []byte) error

type GraphDefinition

type GraphDefinition struct {
	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"`
	Text              *Narrative            `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Url               *string               `bson:"url,omitempty" json:"url,omitempty"`
	Version           *string               `bson:"version,omitempty" json:"version,omitempty"`
	Name              string                `bson:"name" json:"name"`
	Status            PublicationStatus     `bson:"status" json:"status"`
	Experimental      *bool                 `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string               `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             ResourceType          `bson:"start" json:"start"`
	Profile           *string               `bson:"profile,omitempty" json:"profile,omitempty"`
	Link              []GraphDefinitionLink `bson:"link,omitempty" json:"link,omitempty"`
}

GraphDefinition is documented here http://hl7.org/fhir/StructureDefinition/GraphDefinition A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.

func UnmarshalGraphDefinition

func UnmarshalGraphDefinition(b []byte) (GraphDefinition, error)

UnmarshalGraphDefinition unmarshals a GraphDefinition.

func (GraphDefinition) ContainedResources added in v0.0.6

func (r GraphDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (GraphDefinition) MarshalJSON

func (r GraphDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given GraphDefinition as JSON into a byte slice

func (GraphDefinition) ResourceRef added in v0.0.4

func (r GraphDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type GraphDefinitionLink struct {
	Id                *string                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Path              *string                     `bson:"path,omitempty" json:"path,omitempty"`
	SliceName         *string                     `bson:"sliceName,omitempty" json:"sliceName,omitempty"`
	Min               *int                        `bson:"min,omitempty" json:"min,omitempty"`
	Max               *string                     `bson:"max,omitempty" json:"max,omitempty"`
	Description       *string                     `bson:"description,omitempty" json:"description,omitempty"`
	Target            []GraphDefinitionLinkTarget `bson:"target,omitempty" json:"target,omitempty"`
}

Links this graph makes rules about.

type GraphDefinitionLinkTarget

type GraphDefinitionLinkTarget struct {
	Id                *string                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              ResourceType                           `bson:"type" json:"type"`
	Params            *string                                `bson:"params,omitempty" json:"params,omitempty"`
	Profile           *string                                `bson:"profile,omitempty" json:"profile,omitempty"`
	Compartment       []GraphDefinitionLinkTargetCompartment `bson:"compartment,omitempty" json:"compartment,omitempty"`
	Link              []GraphDefinitionLink                  `bson:"link,omitempty" json:"link,omitempty"`
}

Potential target for the link.

type GraphDefinitionLinkTargetCompartment

type GraphDefinitionLinkTargetCompartment struct {
	Id                *string              `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Use               GraphCompartmentUse  `bson:"use" json:"use"`
	Code              CompartmentType      `bson:"code" json:"code"`
	Rule              GraphCompartmentRule `bson:"rule" json:"rule"`
	Expression        *string              `bson:"expression,omitempty" json:"expression,omitempty"`
	Description       *string              `bson:"description,omitempty" json:"description,omitempty"`
}

Compartment Consistency Rules.

type Group

type Group struct {
	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"`
	Text              *Narrative            `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active            *bool                 `bson:"active,omitempty" json:"active,omitempty"`
	Type              GroupType             `bson:"type" json:"type"`
	Actual            bool                  `bson:"actual" json:"actual"`
	Code              *CodeableConcept      `bson:"code,omitempty" json:"code,omitempty"`
	Name              *string               `bson:"name,omitempty" json:"name,omitempty"`
	Quantity          *int                  `bson:"quantity,omitempty" json:"quantity,omitempty"`
	ManagingEntity    *Reference            `bson:"managingEntity,omitempty" json:"managingEntity,omitempty"`
	Characteristic    []GroupCharacteristic `bson:"characteristic,omitempty" json:"characteristic,omitempty"`
	Member            []GroupMember         `bson:"member,omitempty" json:"member,omitempty"`
}

Group is documented here http://hl7.org/fhir/StructureDefinition/Group Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization.

func UnmarshalGroup

func UnmarshalGroup(b []byte) (Group, error)

UnmarshalGroup unmarshals a Group.

func (Group) ContainedResources added in v0.0.6

func (r Group) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Group) MarshalJSON

func (r Group) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Group as JSON into a byte slice

func (Group) ResourceRef added in v0.0.4

func (r Group) ResourceRef() (string, *string)

This function returns resource reference information

type GroupCharacteristic

type GroupCharacteristic struct {
	Id                   *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code                 CodeableConcept `bson:"code" json:"code"`
	ValueCodeableConcept CodeableConcept `bson:"valueCodeableConcept" json:"valueCodeableConcept"`
	ValueBoolean         bool            `bson:"valueBoolean" json:"valueBoolean"`
	ValueQuantity        Quantity        `bson:"valueQuantity" json:"valueQuantity"`
	ValueRange           Range           `bson:"valueRange" json:"valueRange"`
	ValueReference       Reference       `bson:"valueReference" json:"valueReference"`
	Exclude              bool            `bson:"exclude" json:"exclude"`
	Period               *Period         `bson:"period,omitempty" json:"period,omitempty"`
}

Identifies traits whose presence r absence is shared by members of the group. All the identified characteristics must be true for an entity to a member of the group.

type GroupMeasure

type GroupMeasure int

GroupMeasure is documented here http://hl7.org/fhir/ValueSet/group-measure

const (
	GroupMeasureMean GroupMeasure = iota
	GroupMeasureMedian
	GroupMeasureMeanOfMean
	GroupMeasureMeanOfMedian
	GroupMeasureMedianOfMean
	GroupMeasureMedianOfMedian
)

func (GroupMeasure) Code

func (code GroupMeasure) Code() string

func (GroupMeasure) Definition

func (code GroupMeasure) Definition() string

func (GroupMeasure) Display

func (code GroupMeasure) Display() string

func (GroupMeasure) MarshalJSON

func (code GroupMeasure) MarshalJSON() ([]byte, error)

func (GroupMeasure) String

func (code GroupMeasure) String() string

func (*GroupMeasure) UnmarshalJSON

func (code *GroupMeasure) UnmarshalJSON(input []byte) error

type GroupMember

type GroupMember struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Entity            Reference   `bson:"entity" json:"entity"`
	Period            *Period     `bson:"period,omitempty" json:"period,omitempty"`
	Inactive          *bool       `bson:"inactive,omitempty" json:"inactive,omitempty"`
}

Identifies the resource instances that are members of the group.

type GroupType

type GroupType int

GroupType is documented here http://hl7.org/fhir/ValueSet/group-type

const (
	GroupTypePerson GroupType = iota
	GroupTypeAnimal
	GroupTypePractitioner
	GroupTypeDevice
	GroupTypeMedication
	GroupTypeSubstance
)

func (GroupType) Code

func (code GroupType) Code() string

func (GroupType) Definition

func (code GroupType) Definition() string

func (GroupType) Display

func (code GroupType) Display() string

func (GroupType) MarshalJSON

func (code GroupType) MarshalJSON() ([]byte, error)

func (GroupType) String

func (code GroupType) String() string

func (*GroupType) UnmarshalJSON

func (code *GroupType) UnmarshalJSON(input []byte) error

type GuidanceResponse

type GuidanceResponse struct {
	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"`
	Text                  *Narrative             `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	RequestIdentifier     *Identifier            `bson:"requestIdentifier,omitempty" json:"requestIdentifier,omitempty"`
	Identifier            []Identifier           `bson:"identifier,omitempty" json:"identifier,omitempty"`
	ModuleUri             string                 `bson:"moduleUri" json:"moduleUri"`
	ModuleCanonical       string                 `bson:"moduleCanonical" json:"moduleCanonical"`
	ModuleCodeableConcept CodeableConcept        `bson:"moduleCodeableConcept" json:"moduleCodeableConcept"`
	Status                GuidanceResponseStatus `bson:"status" json:"status"`
	Subject               *Reference             `bson:"subject,omitempty" json:"subject,omitempty"`
	Encounter             *Reference             `bson:"encounter,omitempty" json:"encounter,omitempty"`
	OccurrenceDateTime    *string                `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,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"`
	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"`
}

GuidanceResponse is documented here http://hl7.org/fhir/StructureDefinition/GuidanceResponse A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken.

func UnmarshalGuidanceResponse

func UnmarshalGuidanceResponse(b []byte) (GuidanceResponse, error)

UnmarshalGuidanceResponse unmarshals a GuidanceResponse.

func (GuidanceResponse) ContainedResources added in v0.0.6

func (r GuidanceResponse) ContainedResources() []json.RawMessage

This function returns resource reference information

func (GuidanceResponse) MarshalJSON

func (r GuidanceResponse) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given GuidanceResponse as JSON into a byte slice

func (GuidanceResponse) ResourceRef added in v0.0.4

func (r GuidanceResponse) ResourceRef() (string, *string)

This function returns resource reference information

type GuidanceResponseStatus

type GuidanceResponseStatus int

GuidanceResponseStatus is documented here http://hl7.org/fhir/ValueSet/guidance-response-status

const (
	GuidanceResponseStatusSuccess GuidanceResponseStatus = iota
	GuidanceResponseStatusDataRequested
	GuidanceResponseStatusDataRequired
	GuidanceResponseStatusInProgress
	GuidanceResponseStatusFailure
	GuidanceResponseStatusEnteredInError
)

func (GuidanceResponseStatus) Code

func (code GuidanceResponseStatus) Code() string

func (GuidanceResponseStatus) Definition

func (code GuidanceResponseStatus) Definition() string

func (GuidanceResponseStatus) Display

func (code GuidanceResponseStatus) Display() string

func (GuidanceResponseStatus) MarshalJSON

func (code GuidanceResponseStatus) MarshalJSON() ([]byte, error)

func (GuidanceResponseStatus) String

func (code GuidanceResponseStatus) String() string

func (*GuidanceResponseStatus) UnmarshalJSON

func (code *GuidanceResponseStatus) UnmarshalJSON(input []byte) error

type GuidePageGeneration

type GuidePageGeneration int

GuidePageGeneration is documented here http://hl7.org/fhir/ValueSet/guide-page-generation

const (
	GuidePageGenerationHtml GuidePageGeneration = iota
	GuidePageGenerationMarkdown
	GuidePageGenerationXml
	GuidePageGenerationGenerated
)

func (GuidePageGeneration) Code

func (code GuidePageGeneration) Code() string

func (GuidePageGeneration) Definition

func (code GuidePageGeneration) Definition() string

func (GuidePageGeneration) Display

func (code GuidePageGeneration) Display() string

func (GuidePageGeneration) MarshalJSON

func (code GuidePageGeneration) MarshalJSON() ([]byte, error)

func (GuidePageGeneration) String

func (code GuidePageGeneration) String() string

func (*GuidePageGeneration) UnmarshalJSON

func (code *GuidePageGeneration) UnmarshalJSON(input []byte) error

type GuideParameterCode

type GuideParameterCode int

GuideParameterCode is documented here http://hl7.org/fhir/ValueSet/guide-parameter-code

const (
	GuideParameterCodeApply GuideParameterCode = iota
	GuideParameterCodePathResource
	GuideParameterCodePathPages
	GuideParameterCodePathTxCache
	GuideParameterCodeExpansionParameter
	GuideParameterCodeRuleBrokenLinks
	GuideParameterCodeGenerateXml
	GuideParameterCodeGenerateJson
	GuideParameterCodeGenerateTurtle
	GuideParameterCodeHtmlTemplate
)

func (GuideParameterCode) Code

func (code GuideParameterCode) Code() string

func (GuideParameterCode) Definition

func (code GuideParameterCode) Definition() string

func (GuideParameterCode) Display

func (code GuideParameterCode) Display() string

func (GuideParameterCode) MarshalJSON

func (code GuideParameterCode) MarshalJSON() ([]byte, error)

func (GuideParameterCode) String

func (code GuideParameterCode) String() string

func (*GuideParameterCode) UnmarshalJSON

func (code *GuideParameterCode) UnmarshalJSON(input []byte) error

type HTTPVerb

type HTTPVerb int

HTTPVerb is documented here http://hl7.org/fhir/ValueSet/http-verb

const (
	HTTPVerbGET HTTPVerb = iota
	HTTPVerbHEAD
	HTTPVerbPOST
	HTTPVerbPUT
	HTTPVerbDELETE
	HTTPVerbPATCH
)

func (HTTPVerb) Code

func (code HTTPVerb) Code() string

func (HTTPVerb) Definition

func (code HTTPVerb) Definition() string

func (HTTPVerb) Display

func (code HTTPVerb) Display() string

func (HTTPVerb) MarshalJSON

func (code HTTPVerb) MarshalJSON() ([]byte, error)

func (HTTPVerb) String

func (code HTTPVerb) String() string

func (*HTTPVerb) UnmarshalJSON

func (code *HTTPVerb) UnmarshalJSON(input []byte) error

type HealthcareService

type HealthcareService struct {
	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"`
	Text                   *Narrative                       `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage                `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension                      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension                      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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            []HealthcareServiceEligibility   `bson:"eligibility,omitempty" json:"eligibility,omitempty"`
	Program                []CodeableConcept                `bson:"program,omitempty" json:"program,omitempty"`
	Characteristic         []CodeableConcept                `bson:"characteristic,omitempty" json:"characteristic,omitempty"`
	Communication          []CodeableConcept                `bson:"communication,omitempty" json:"communication,omitempty"`
	ReferralMethod         []CodeableConcept                `bson:"referralMethod,omitempty" json:"referralMethod,omitempty"`
	AppointmentRequired    *bool                            `bson:"appointmentRequired,omitempty" json:"appointmentRequired,omitempty"`
	AvailableTime          []HealthcareServiceAvailableTime `bson:"availableTime,omitempty" json:"availableTime,omitempty"`
	NotAvailable           []HealthcareServiceNotAvailable  `bson:"notAvailable,omitempty" json:"notAvailable,omitempty"`
	AvailabilityExceptions *string                          `bson:"availabilityExceptions,omitempty" json:"availabilityExceptions,omitempty"`
	Endpoint               []Reference                      `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
}

HealthcareService is documented here http://hl7.org/fhir/StructureDefinition/HealthcareService The details of a healthcare service available at a location.

func UnmarshalHealthcareService

func UnmarshalHealthcareService(b []byte) (HealthcareService, error)

UnmarshalHealthcareService unmarshals a HealthcareService.

func (HealthcareService) ContainedResources added in v0.0.6

func (r HealthcareService) ContainedResources() []json.RawMessage

This function returns resource reference information

func (HealthcareService) MarshalJSON

func (r HealthcareService) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given HealthcareService as JSON into a byte slice

func (HealthcareService) ResourceRef added in v0.0.4

func (r HealthcareService) ResourceRef() (string, *string)

This function returns resource reference information

type HealthcareServiceAvailableTime

type HealthcareServiceAvailableTime struct {
	Id                 *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension          []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	DaysOfWeek         []DaysOfWeek `bson:"daysOfWeek,omitempty" json:"daysOfWeek,omitempty"`
	AllDay             *bool        `bson:"allDay,omitempty" json:"allDay,omitempty"`
	AvailableStartTime *string      `bson:"availableStartTime,omitempty" json:"availableStartTime,omitempty"`
	AvailableEndTime   *string      `bson:"availableEndTime,omitempty" json:"availableEndTime,omitempty"`
}

A collection of times that the Service Site is available. More detailed availability information may be provided in associated Schedule/Slot resources.

type HealthcareServiceEligibility

type HealthcareServiceEligibility struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Comment           *string          `bson:"comment,omitempty" json:"comment,omitempty"`
}

Does this service have specific eligibility requirements that need to be met in order to use the service?

type HealthcareServiceNotAvailable

type HealthcareServiceNotAvailable struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description       string      `bson:"description" json:"description"`
	During            *Period     `bson:"during,omitempty" json:"during,omitempty"`
}

The HealthcareService is not available during this period of time due to the provided reason.

type HumanName

type HumanName struct {
	Id        *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Use       *NameUse    `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"`
}

HumanName is documented here http://hl7.org/fhir/StructureDefinition/HumanName Base StructureDefinition for HumanName Type: A human's name with the ability to identify parts and usage.

type Identifier

type Identifier struct {
	Id        *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	Use       *IdentifierUse   `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"`
}

Identifier is documented here http://hl7.org/fhir/StructureDefinition/Identifier Base StructureDefinition for Identifier Type: An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

type IdentifierUse

type IdentifierUse int

IdentifierUse is documented here http://hl7.org/fhir/ValueSet/identifier-use

const (
	IdentifierUseUsual IdentifierUse = iota
	IdentifierUseOfficial
	IdentifierUseTemp
	IdentifierUseSecondary
	IdentifierUseOld
)

func (IdentifierUse) Code

func (code IdentifierUse) Code() string

func (IdentifierUse) Definition

func (code IdentifierUse) Definition() string

func (IdentifierUse) Display

func (code IdentifierUse) Display() string

func (IdentifierUse) MarshalJSON

func (code IdentifierUse) MarshalJSON() ([]byte, error)

func (IdentifierUse) String

func (code IdentifierUse) String() string

func (*IdentifierUse) UnmarshalJSON

func (code *IdentifierUse) UnmarshalJSON(input []byte) error

type IdentityAssuranceLevel

type IdentityAssuranceLevel int

IdentityAssuranceLevel is documented here http://hl7.org/fhir/ValueSet/identity-assuranceLevel

const (
	IdentityAssuranceLevelLevel1 IdentityAssuranceLevel = iota
	IdentityAssuranceLevelLevel2
	IdentityAssuranceLevelLevel3
	IdentityAssuranceLevelLevel4
)

func (IdentityAssuranceLevel) Code

func (code IdentityAssuranceLevel) Code() string

func (IdentityAssuranceLevel) Definition

func (code IdentityAssuranceLevel) Definition() string

func (IdentityAssuranceLevel) Display

func (code IdentityAssuranceLevel) Display() string

func (IdentityAssuranceLevel) MarshalJSON

func (code IdentityAssuranceLevel) MarshalJSON() ([]byte, error)

func (IdentityAssuranceLevel) String

func (code IdentityAssuranceLevel) String() string

func (*IdentityAssuranceLevel) UnmarshalJSON

func (code *IdentityAssuranceLevel) UnmarshalJSON(input []byte) error

type ImagingStudy

type ImagingStudy struct {
	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"`
	Text               *Narrative           `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage    `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier         []Identifier         `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status             ImagingStudyStatus   `bson:"status" json:"status"`
	Modality           []Coding             `bson:"modality,omitempty" json:"modality,omitempty"`
	Subject            Reference            `bson:"subject" json:"subject"`
	Encounter          *Reference           `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Started            *string              `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     *int                 `bson:"numberOfSeries,omitempty" json:"numberOfSeries,omitempty"`
	NumberOfInstances  *int                 `bson:"numberOfInstances,omitempty" json:"numberOfInstances,omitempty"`
	ProcedureReference *Reference           `bson:"procedureReference,omitempty" json:"procedureReference,omitempty"`
	ProcedureCode      []CodeableConcept    `bson:"procedureCode,omitempty" json:"procedureCode,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"`
	Note               []Annotation         `bson:"note,omitempty" json:"note,omitempty"`
	Description        *string              `bson:"description,omitempty" json:"description,omitempty"`
	Series             []ImagingStudySeries `bson:"series,omitempty" json:"series,omitempty"`
}

ImagingStudy is documented here http://hl7.org/fhir/StructureDefinition/ImagingStudy Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities.

func UnmarshalImagingStudy

func UnmarshalImagingStudy(b []byte) (ImagingStudy, error)

UnmarshalImagingStudy unmarshals a ImagingStudy.

func (ImagingStudy) ContainedResources added in v0.0.6

func (r ImagingStudy) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ImagingStudy) MarshalJSON

func (r ImagingStudy) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ImagingStudy as JSON into a byte slice

func (ImagingStudy) ResourceRef added in v0.0.4

func (r ImagingStudy) ResourceRef() (string, *string)

This function returns resource reference information

type ImagingStudySeries

type ImagingStudySeries struct {
	Id                *string                       `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Uid               string                        `bson:"uid" json:"uid"`
	Number            *int                          `bson:"number,omitempty" json:"number,omitempty"`
	Modality          Coding                        `bson:"modality" json:"modality"`
	Description       *string                       `bson:"description,omitempty" json:"description,omitempty"`
	NumberOfInstances *int                          `bson:"numberOfInstances,omitempty" json:"numberOfInstances,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"`
	Specimen          []Reference                   `bson:"specimen,omitempty" json:"specimen,omitempty"`
	Started           *string                       `bson:"started,omitempty" json:"started,omitempty"`
	Performer         []ImagingStudySeriesPerformer `bson:"performer,omitempty" json:"performer,omitempty"`
	Instance          []ImagingStudySeriesInstance  `bson:"instance,omitempty" json:"instance,omitempty"`
}

Each study has one or more series of images or other content.

type ImagingStudySeriesInstance

type ImagingStudySeriesInstance struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Uid               string      `bson:"uid" json:"uid"`
	SopClass          Coding      `bson:"sopClass" json:"sopClass"`
	Number            *int        `bson:"number,omitempty" json:"number,omitempty"`
	Title             *string     `bson:"title,omitempty" json:"title,omitempty"`
}

A single SOP instance within the series, e.g. an image, or presentation state.

type ImagingStudySeriesPerformer

type ImagingStudySeriesPerformer struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Function          *CodeableConcept `bson:"function,omitempty" json:"function,omitempty"`
	Actor             Reference        `bson:"actor" json:"actor"`
}

Indicates who or what performed the series and how they were involved. If the person who performed the series is not known, their Organization may be recorded. A patient, or related person, may be the performer, e.g. for patient-captured images.

type ImagingStudyStatus

type ImagingStudyStatus int

ImagingStudyStatus is documented here http://hl7.org/fhir/ValueSet/imagingstudy-status

const (
	ImagingStudyStatusRegistered ImagingStudyStatus = iota
	ImagingStudyStatusAvailable
	ImagingStudyStatusCancelled
	ImagingStudyStatusEnteredInError
	ImagingStudyStatusUnknown
)

func (ImagingStudyStatus) Code

func (code ImagingStudyStatus) Code() string

func (ImagingStudyStatus) Definition

func (code ImagingStudyStatus) Definition() string

func (ImagingStudyStatus) Display

func (code ImagingStudyStatus) Display() string

func (ImagingStudyStatus) MarshalJSON

func (code ImagingStudyStatus) MarshalJSON() ([]byte, error)

func (ImagingStudyStatus) String

func (code ImagingStudyStatus) String() string

func (*ImagingStudyStatus) UnmarshalJSON

func (code *ImagingStudyStatus) UnmarshalJSON(input []byte) error

type Immunization

type Immunization struct {
	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"`
	Text               *Narrative                    `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage             `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier         []Identifier                  `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status             ImmunizationStatusCodes       `bson:"status" json:"status"`
	StatusReason       *CodeableConcept              `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	VaccineCode        CodeableConcept               `bson:"vaccineCode" json:"vaccineCode"`
	Patient            Reference                     `bson:"patient" json:"patient"`
	Encounter          *Reference                    `bson:"encounter,omitempty" json:"encounter,omitempty"`
	OccurrenceDateTime string                        `bson:"occurrenceDateTime" json:"occurrenceDateTime"`
	OccurrenceString   string                        `bson:"occurrenceString" json:"occurrenceString"`
	Recorded           *string                       `bson:"recorded,omitempty" json:"recorded,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     *string                       `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"`
	Performer          []ImmunizationPerformer       `bson:"performer,omitempty" json:"performer,omitempty"`
	Note               []Annotation                  `bson:"note,omitempty" json:"note,omitempty"`
	ReasonCode         []CodeableConcept             `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference    []Reference                   `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	IsSubpotent        *bool                         `bson:"isSubpotent,omitempty" json:"isSubpotent,omitempty"`
	SubpotentReason    []CodeableConcept             `bson:"subpotentReason,omitempty" json:"subpotentReason,omitempty"`
	Education          []ImmunizationEducation       `bson:"education,omitempty" json:"education,omitempty"`
	ProgramEligibility []CodeableConcept             `bson:"programEligibility,omitempty" json:"programEligibility,omitempty"`
	FundingSource      *CodeableConcept              `bson:"fundingSource,omitempty" json:"fundingSource,omitempty"`
	Reaction           []ImmunizationReaction        `bson:"reaction,omitempty" json:"reaction,omitempty"`
	ProtocolApplied    []ImmunizationProtocolApplied `bson:"protocolApplied,omitempty" json:"protocolApplied,omitempty"`
}

Immunization is documented here http://hl7.org/fhir/StructureDefinition/Immunization Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party.

func UnmarshalImmunization

func UnmarshalImmunization(b []byte) (Immunization, error)

UnmarshalImmunization unmarshals a Immunization.

func (Immunization) ContainedResources added in v0.0.6

func (r Immunization) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Immunization) MarshalJSON

func (r Immunization) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Immunization as JSON into a byte slice

func (Immunization) ResourceRef added in v0.0.4

func (r Immunization) ResourceRef() (string, *string)

This function returns resource reference information

type ImmunizationEducation

type ImmunizationEducation struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	DocumentType      *string     `bson:"documentType,omitempty" json:"documentType,omitempty"`
	Reference         *string     `bson:"reference,omitempty" json:"reference,omitempty"`
	PublicationDate   *string     `bson:"publicationDate,omitempty" json:"publicationDate,omitempty"`
	PresentationDate  *string     `bson:"presentationDate,omitempty" json:"presentationDate,omitempty"`
}

Educational material presented to the patient (or guardian) at the time of vaccine administration.

type ImmunizationEvaluation

type ImmunizationEvaluation struct {
	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"`
	Text                   *Narrative                        `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage                 `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension                       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension                       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier             []Identifier                      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                 ImmunizationEvaluationStatusCodes `bson:"status" json:"status"`
	Patient                Reference                         `bson:"patient" json:"patient"`
	Date                   *string                           `bson:"date,omitempty" json:"date,omitempty"`
	Authority              *Reference                        `bson:"authority,omitempty" json:"authority,omitempty"`
	TargetDisease          CodeableConcept                   `bson:"targetDisease" json:"targetDisease"`
	ImmunizationEvent      Reference                         `bson:"immunizationEvent" json:"immunizationEvent"`
	DoseStatus             CodeableConcept                   `bson:"doseStatus" json:"doseStatus"`
	DoseStatusReason       []CodeableConcept                 `bson:"doseStatusReason,omitempty" json:"doseStatusReason,omitempty"`
	Description            *string                           `bson:"description,omitempty" json:"description,omitempty"`
	Series                 *string                           `bson:"series,omitempty" json:"series,omitempty"`
	DoseNumberPositiveInt  *int                              `bson:"doseNumberPositiveInt,omitempty" json:"doseNumberPositiveInt,omitempty"`
	DoseNumberString       *string                           `bson:"doseNumberString,omitempty" json:"doseNumberString,omitempty"`
	SeriesDosesPositiveInt *int                              `bson:"seriesDosesPositiveInt,omitempty" json:"seriesDosesPositiveInt,omitempty"`
	SeriesDosesString      *string                           `bson:"seriesDosesString,omitempty" json:"seriesDosesString,omitempty"`
}

ImmunizationEvaluation is documented here http://hl7.org/fhir/StructureDefinition/ImmunizationEvaluation Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those recommendations.

func UnmarshalImmunizationEvaluation

func UnmarshalImmunizationEvaluation(b []byte) (ImmunizationEvaluation, error)

UnmarshalImmunizationEvaluation unmarshals a ImmunizationEvaluation.

func (ImmunizationEvaluation) ContainedResources added in v0.0.6

func (r ImmunizationEvaluation) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ImmunizationEvaluation) MarshalJSON

func (r ImmunizationEvaluation) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ImmunizationEvaluation as JSON into a byte slice

func (ImmunizationEvaluation) ResourceRef added in v0.0.4

func (r ImmunizationEvaluation) ResourceRef() (string, *string)

This function returns resource reference information

type ImmunizationEvaluationStatusCodes

type ImmunizationEvaluationStatusCodes int

ImmunizationEvaluationStatusCodes is documented here http://hl7.org/fhir/ValueSet/immunization-evaluation-status

const (
	ImmunizationEvaluationStatusCodesInProgress ImmunizationEvaluationStatusCodes = iota
	ImmunizationEvaluationStatusCodesNotDone
	ImmunizationEvaluationStatusCodesOnHold
	ImmunizationEvaluationStatusCodesCompleted
	ImmunizationEvaluationStatusCodesEnteredInError
	ImmunizationEvaluationStatusCodesStopped
	ImmunizationEvaluationStatusCodesUnknown
)

func (ImmunizationEvaluationStatusCodes) Code

func (ImmunizationEvaluationStatusCodes) Definition

func (code ImmunizationEvaluationStatusCodes) Definition() string

func (ImmunizationEvaluationStatusCodes) Display

func (ImmunizationEvaluationStatusCodes) MarshalJSON

func (code ImmunizationEvaluationStatusCodes) MarshalJSON() ([]byte, error)

func (ImmunizationEvaluationStatusCodes) String

func (*ImmunizationEvaluationStatusCodes) UnmarshalJSON

func (code *ImmunizationEvaluationStatusCodes) UnmarshalJSON(input []byte) error

type ImmunizationPerformer

type ImmunizationPerformer struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Function          *CodeableConcept `bson:"function,omitempty" json:"function,omitempty"`
	Actor             Reference        `bson:"actor" json:"actor"`
}

Indicates who performed the immunization event.

type ImmunizationProtocolApplied

type ImmunizationProtocolApplied struct {
	Id                     *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension              []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Series                 *string           `bson:"series,omitempty" json:"series,omitempty"`
	Authority              *Reference        `bson:"authority,omitempty" json:"authority,omitempty"`
	TargetDisease          []CodeableConcept `bson:"targetDisease,omitempty" json:"targetDisease,omitempty"`
	DoseNumberPositiveInt  int               `bson:"doseNumberPositiveInt" json:"doseNumberPositiveInt"`
	DoseNumberString       string            `bson:"doseNumberString" json:"doseNumberString"`
	SeriesDosesPositiveInt *int              `bson:"seriesDosesPositiveInt,omitempty" json:"seriesDosesPositiveInt,omitempty"`
	SeriesDosesString      *string           `bson:"seriesDosesString,omitempty" json:"seriesDosesString,omitempty"`
}

The protocol (set of recommendations) being followed by the provider who administered the dose.

type ImmunizationReaction

type ImmunizationReaction struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Date              *string     `bson:"date,omitempty" json:"date,omitempty"`
	Detail            *Reference  `bson:"detail,omitempty" json:"detail,omitempty"`
	Reported          *bool       `bson:"reported,omitempty" json:"reported,omitempty"`
}

Categorical data indicating that an adverse event is associated in time to an immunization. A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case, it should be recorded as a new AllergyIntolerance resource instance as most systems will not query against past Immunization.reaction elements.

type ImmunizationRecommendation

type ImmunizationRecommendation struct {
	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"`
	Text              *Narrative                                 `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                          `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                               `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Patient           Reference                                  `bson:"patient" json:"patient"`
	Date              string                                     `bson:"date" json:"date"`
	Authority         *Reference                                 `bson:"authority,omitempty" json:"authority,omitempty"`
	Recommendation    []ImmunizationRecommendationRecommendation `bson:"recommendation" json:"recommendation"`
}

ImmunizationRecommendation is documented here http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.

func UnmarshalImmunizationRecommendation

func UnmarshalImmunizationRecommendation(b []byte) (ImmunizationRecommendation, error)

UnmarshalImmunizationRecommendation unmarshals a ImmunizationRecommendation.

func (ImmunizationRecommendation) ContainedResources added in v0.0.6

func (r ImmunizationRecommendation) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ImmunizationRecommendation) MarshalJSON

func (r ImmunizationRecommendation) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ImmunizationRecommendation as JSON into a byte slice

func (ImmunizationRecommendation) ResourceRef added in v0.0.4

func (r ImmunizationRecommendation) ResourceRef() (string, *string)

This function returns resource reference information

type ImmunizationRecommendationRecommendation

type ImmunizationRecommendationRecommendation struct {
	Id                           *string                                                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension                    []Extension                                             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension            []Extension                                             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	VaccineCode                  []CodeableConcept                                       `bson:"vaccineCode,omitempty" json:"vaccineCode,omitempty"`
	TargetDisease                *CodeableConcept                                        `bson:"targetDisease,omitempty" json:"targetDisease,omitempty"`
	ContraindicatedVaccineCode   []CodeableConcept                                       `bson:"contraindicatedVaccineCode,omitempty" json:"contraindicatedVaccineCode,omitempty"`
	ForecastStatus               CodeableConcept                                         `bson:"forecastStatus" json:"forecastStatus"`
	ForecastReason               []CodeableConcept                                       `bson:"forecastReason,omitempty" json:"forecastReason,omitempty"`
	DateCriterion                []ImmunizationRecommendationRecommendationDateCriterion `bson:"dateCriterion,omitempty" json:"dateCriterion,omitempty"`
	Description                  *string                                                 `bson:"description,omitempty" json:"description,omitempty"`
	Series                       *string                                                 `bson:"series,omitempty" json:"series,omitempty"`
	DoseNumberPositiveInt        *int                                                    `bson:"doseNumberPositiveInt,omitempty" json:"doseNumberPositiveInt,omitempty"`
	DoseNumberString             *string                                                 `bson:"doseNumberString,omitempty" json:"doseNumberString,omitempty"`
	SeriesDosesPositiveInt       *int                                                    `bson:"seriesDosesPositiveInt,omitempty" json:"seriesDosesPositiveInt,omitempty"`
	SeriesDosesString            *string                                                 `bson:"seriesDosesString,omitempty" json:"seriesDosesString,omitempty"`
	SupportingImmunization       []Reference                                             `bson:"supportingImmunization,omitempty" json:"supportingImmunization,omitempty"`
	SupportingPatientInformation []Reference                                             `bson:"supportingPatientInformation,omitempty" json:"supportingPatientInformation,omitempty"`
}

Vaccine administration recommendations.

type ImmunizationRecommendationRecommendationDateCriterion

type ImmunizationRecommendationRecommendationDateCriterion struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              CodeableConcept `bson:"code" json:"code"`
	Value             string          `bson:"value" json:"value"`
}

Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc.

type ImmunizationStatusCodes

type ImmunizationStatusCodes int

ImmunizationStatusCodes is documented here http://hl7.org/fhir/ValueSet/immunization-status

const (
	ImmunizationStatusCodesPreparation ImmunizationStatusCodes = iota
	ImmunizationStatusCodesInProgress
	ImmunizationStatusCodesNotDone
	ImmunizationStatusCodesOnHold
	ImmunizationStatusCodesStopped
	ImmunizationStatusCodesCompleted
	ImmunizationStatusCodesEnteredInError
	ImmunizationStatusCodesUnknown
)

func (ImmunizationStatusCodes) Code

func (code ImmunizationStatusCodes) Code() string

func (ImmunizationStatusCodes) Definition

func (code ImmunizationStatusCodes) Definition() string

func (ImmunizationStatusCodes) Display

func (code ImmunizationStatusCodes) Display() string

func (ImmunizationStatusCodes) MarshalJSON

func (code ImmunizationStatusCodes) MarshalJSON() ([]byte, error)

func (ImmunizationStatusCodes) String

func (code ImmunizationStatusCodes) String() string

func (*ImmunizationStatusCodes) UnmarshalJSON

func (code *ImmunizationStatusCodes) UnmarshalJSON(input []byte) error

type ImplementationGuide

type ImplementationGuide struct {
	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"`
	Text              *Narrative                     `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage              `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Url               string                         `bson:"url" json:"url"`
	Version           *string                        `bson:"version,omitempty" json:"version,omitempty"`
	Name              string                         `bson:"name" json:"name"`
	Title             *string                        `bson:"title,omitempty" json:"title,omitempty"`
	Status            PublicationStatus              `bson:"status" json:"status"`
	Experimental      *bool                          `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string                        `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"`
	PackageId         string                         `bson:"packageId" json:"packageId"`
	License           *SPDXLicense                   `bson:"license,omitempty" json:"license,omitempty"`
	FhirVersion       []FHIRVersion                  `bson:"fhirVersion" json:"fhirVersion"`
	DependsOn         []ImplementationGuideDependsOn `bson:"dependsOn,omitempty" json:"dependsOn,omitempty"`
	Global            []ImplementationGuideGlobal    `bson:"global,omitempty" json:"global,omitempty"`
	Definition        *ImplementationGuideDefinition `bson:"definition,omitempty" json:"definition,omitempty"`
	Manifest          *ImplementationGuideManifest   `bson:"manifest,omitempty" json:"manifest,omitempty"`
}

ImplementationGuide is documented here http://hl7.org/fhir/StructureDefinition/ImplementationGuide A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func UnmarshalImplementationGuide

func UnmarshalImplementationGuide(b []byte) (ImplementationGuide, error)

UnmarshalImplementationGuide unmarshals a ImplementationGuide.

func (ImplementationGuide) ContainedResources added in v0.0.6

func (r ImplementationGuide) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ImplementationGuide) MarshalJSON

func (r ImplementationGuide) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ImplementationGuide as JSON into a byte slice

func (ImplementationGuide) ResourceRef added in v0.0.4

func (r ImplementationGuide) ResourceRef() (string, *string)

This function returns resource reference information

type ImplementationGuideDefinition

type ImplementationGuideDefinition struct {
	Id                *string                                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Grouping          []ImplementationGuideDefinitionGrouping  `bson:"grouping,omitempty" json:"grouping,omitempty"`
	Resource          []ImplementationGuideDefinitionResource  `bson:"resource" json:"resource"`
	Page              *ImplementationGuideDefinitionPage       `bson:"page,omitempty" json:"page,omitempty"`
	Parameter         []ImplementationGuideDefinitionParameter `bson:"parameter,omitempty" json:"parameter,omitempty"`
	Template          []ImplementationGuideDefinitionTemplate  `bson:"template,omitempty" json:"template,omitempty"`
}

The information needed by an IG publisher tool to publish the whole implementation guide. Principally, this consists of information abuot source resource and file locations, and build parameters and templates.

type ImplementationGuideDefinitionGrouping

type ImplementationGuideDefinitionGrouping struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string      `bson:"name" json:"name"`
	Description       *string     `bson:"description,omitempty" json:"description,omitempty"`
}

A logical group of resources. Logical groups can be used when building pages. Groupings are arbitrary sub-divisions of content. Typically, they are used to help build Table of Contents automatically.

type ImplementationGuideDefinitionPage

type ImplementationGuideDefinitionPage struct {
	Id                *string                             `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	NameUrl           string                              `bson:"nameUrl" json:"nameUrl"`
	NameReference     Reference                           `bson:"nameReference" json:"nameReference"`
	Title             string                              `bson:"title" json:"title"`
	Generation        GuidePageGeneration                 `bson:"generation" json:"generation"`
	Page              []ImplementationGuideDefinitionPage `bson:"page,omitempty" json:"page,omitempty"`
}

A page / section in the implementation guide. The root page is the implementation guide home page. Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html.

type ImplementationGuideDefinitionParameter

type ImplementationGuideDefinitionParameter struct {
	Id                *string            `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              GuideParameterCode `bson:"code" json:"code"`
	Value             string             `bson:"value" json:"value"`
}

Defines how IG is built by tools.

type ImplementationGuideDefinitionResource

type ImplementationGuideDefinitionResource struct {
	Id                *string       `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Reference         Reference     `bson:"reference" json:"reference"`
	FhirVersion       []FHIRVersion `bson:"fhirVersion,omitempty" json:"fhirVersion,omitempty"`
	Name              *string       `bson:"name,omitempty" json:"name,omitempty"`
	Description       *string       `bson:"description,omitempty" json:"description,omitempty"`
	ExampleBoolean    *bool         `bson:"exampleBoolean,omitempty" json:"exampleBoolean,omitempty"`
	ExampleCanonical  *string       `bson:"exampleCanonical,omitempty" json:"exampleCanonical,omitempty"`
	GroupingId        *string       `bson:"groupingId,omitempty" json:"groupingId,omitempty"`
}

A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.

type ImplementationGuideDefinitionTemplate

type ImplementationGuideDefinitionTemplate struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              string      `bson:"code" json:"code"`
	Source            string      `bson:"source" json:"source"`
	Scope             *string     `bson:"scope,omitempty" json:"scope,omitempty"`
}

A template for building resources.

type ImplementationGuideDependsOn

type ImplementationGuideDependsOn struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Uri               string      `bson:"uri" json:"uri"`
	PackageId         *string     `bson:"packageId,omitempty" json:"packageId,omitempty"`
	Version           *string     `bson:"version,omitempty" json:"version,omitempty"`
}

Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.

type ImplementationGuideGlobal

type ImplementationGuideGlobal struct {
	Id                *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              ResourceType `bson:"type" json:"type"`
	Profile           string       `bson:"profile" json:"profile"`
}

A set of profiles that all resources covered by this implementation guide must conform to. See [Default Profiles](implementationguide.html#default) for a discussion of which resources are 'covered' by an implementation guide.

type ImplementationGuideManifest

type ImplementationGuideManifest struct {
	Id                *string                               `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Rendering         *string                               `bson:"rendering,omitempty" json:"rendering,omitempty"`
	Resource          []ImplementationGuideManifestResource `bson:"resource" json:"resource"`
	Page              []ImplementationGuideManifestPage     `bson:"page,omitempty" json:"page,omitempty"`
	Image             []string                              `bson:"image,omitempty" json:"image,omitempty"`
	Other             []string                              `bson:"other,omitempty" json:"other,omitempty"`
}

Information about an assembled implementation guide, created by the publication tooling.

type ImplementationGuideManifestPage

type ImplementationGuideManifestPage struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string      `bson:"name" json:"name"`
	Title             *string     `bson:"title,omitempty" json:"title,omitempty"`
	Anchor            []string    `bson:"anchor,omitempty" json:"anchor,omitempty"`
}

Information about a page within the IG.

type ImplementationGuideManifestResource

type ImplementationGuideManifestResource struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Reference         Reference   `bson:"reference" json:"reference"`
	ExampleBoolean    *bool       `bson:"exampleBoolean,omitempty" json:"exampleBoolean,omitempty"`
	ExampleCanonical  *string     `bson:"exampleCanonical,omitempty" json:"exampleCanonical,omitempty"`
	RelativePath      *string     `bson:"relativePath,omitempty" json:"relativePath,omitempty"`
}

A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.

type InsurancePlan

type InsurancePlan struct {
	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"`
	Text              *Narrative              `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage       `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            *PublicationStatus      `bson:"status,omitempty" json:"status,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"`
	Period            *Period                 `bson:"period,omitempty" json:"period,omitempty"`
	OwnedBy           *Reference              `bson:"ownedBy,omitempty" json:"ownedBy,omitempty"`
	AdministeredBy    *Reference              `bson:"administeredBy,omitempty" json:"administeredBy,omitempty"`
	CoverageArea      []Reference             `bson:"coverageArea,omitempty" json:"coverageArea,omitempty"`
	Contact           []InsurancePlanContact  `bson:"contact,omitempty" json:"contact,omitempty"`
	Endpoint          []Reference             `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
	Network           []Reference             `bson:"network,omitempty" json:"network,omitempty"`
	Coverage          []InsurancePlanCoverage `bson:"coverage,omitempty" json:"coverage,omitempty"`
	Plan              []InsurancePlanPlan     `bson:"plan,omitempty" json:"plan,omitempty"`
}

InsurancePlan is documented here http://hl7.org/fhir/StructureDefinition/InsurancePlan Details of a Health Insurance product/plan provided by an organization.

func UnmarshalInsurancePlan

func UnmarshalInsurancePlan(b []byte) (InsurancePlan, error)

UnmarshalInsurancePlan unmarshals a InsurancePlan.

func (InsurancePlan) ContainedResources added in v0.0.6

func (r InsurancePlan) ContainedResources() []json.RawMessage

This function returns resource reference information

func (InsurancePlan) MarshalJSON

func (r InsurancePlan) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given InsurancePlan as JSON into a byte slice

func (InsurancePlan) ResourceRef added in v0.0.4

func (r InsurancePlan) ResourceRef() (string, *string)

This function returns resource reference information

type InsurancePlanContact

type InsurancePlanContact struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
}

The contact for the health insurance product for a certain purpose. Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use.

type InsurancePlanCoverage

type InsurancePlanCoverage struct {
	Id                *string                        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept                `bson:"type" json:"type"`
	Network           []Reference                    `bson:"network,omitempty" json:"network,omitempty"`
	Benefit           []InsurancePlanCoverageBenefit `bson:"benefit" json:"benefit"`
}

Details about the coverage offered by the insurance product.

type InsurancePlanCoverageBenefit

type InsurancePlanCoverageBenefit struct {
	Id                *string                             `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept                     `bson:"type" json:"type"`
	Requirement       *string                             `bson:"requirement,omitempty" json:"requirement,omitempty"`
	Limit             []InsurancePlanCoverageBenefitLimit `bson:"limit,omitempty" json:"limit,omitempty"`
}

Specific benefits under this type of coverage.

type InsurancePlanCoverageBenefitLimit

type InsurancePlanCoverageBenefitLimit struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Value             *Quantity        `bson:"value,omitempty" json:"value,omitempty"`
	Code              *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
}

The specific limits on the benefit.

type InsurancePlanPlan

type InsurancePlanPlan struct {
	Id                *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                    `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type              *CodeableConcept                `bson:"type,omitempty" json:"type,omitempty"`
	CoverageArea      []Reference                     `bson:"coverageArea,omitempty" json:"coverageArea,omitempty"`
	Network           []Reference                     `bson:"network,omitempty" json:"network,omitempty"`
	GeneralCost       []InsurancePlanPlanGeneralCost  `bson:"generalCost,omitempty" json:"generalCost,omitempty"`
	SpecificCost      []InsurancePlanPlanSpecificCost `bson:"specificCost,omitempty" json:"specificCost,omitempty"`
}

Details about an insurance plan.

type InsurancePlanPlanGeneralCost

type InsurancePlanPlanGeneralCost struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	GroupSize         *int             `bson:"groupSize,omitempty" json:"groupSize,omitempty"`
	Cost              *Money           `bson:"cost,omitempty" json:"cost,omitempty"`
	Comment           *string          `bson:"comment,omitempty" json:"comment,omitempty"`
}

Overall costs associated with the plan.

type InsurancePlanPlanSpecificCost

type InsurancePlanPlanSpecificCost struct {
	Id                *string                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Category          CodeableConcept                        `bson:"category" json:"category"`
	Benefit           []InsurancePlanPlanSpecificCostBenefit `bson:"benefit,omitempty" json:"benefit,omitempty"`
}

Costs associated with the coverage provided by the product.

type InsurancePlanPlanSpecificCostBenefit

type InsurancePlanPlanSpecificCostBenefit struct {
	Id                *string                                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept                            `bson:"type" json:"type"`
	Cost              []InsurancePlanPlanSpecificCostBenefitCost `bson:"cost,omitempty" json:"cost,omitempty"`
}

List of the specific benefits under this category of benefit.

type InsurancePlanPlanSpecificCostBenefitCost

type InsurancePlanPlanSpecificCostBenefitCost struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept   `bson:"type" json:"type"`
	Applicability     *CodeableConcept  `bson:"applicability,omitempty" json:"applicability,omitempty"`
	Qualifiers        []CodeableConcept `bson:"qualifiers,omitempty" json:"qualifiers,omitempty"`
	Value             *Quantity         `bson:"value,omitempty" json:"value,omitempty"`
}

List of the costs associated with a specific benefit.

type Invoice

type Invoice struct {
	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"`
	Text                *Narrative                      `bson:"text,omitempty" json:"text,omitempty"`
	Contained           []json.RawMessage               `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension           []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier          []Identifier                    `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status              InvoiceStatus                   `bson:"status" json:"status"`
	CancelledReason     *string                         `bson:"cancelledReason,omitempty" json:"cancelledReason,omitempty"`
	Type                *CodeableConcept                `bson:"type,omitempty" json:"type,omitempty"`
	Subject             *Reference                      `bson:"subject,omitempty" json:"subject,omitempty"`
	Recipient           *Reference                      `bson:"recipient,omitempty" json:"recipient,omitempty"`
	Date                *string                         `bson:"date,omitempty" json:"date,omitempty"`
	Participant         []InvoiceParticipant            `bson:"participant,omitempty" json:"participant,omitempty"`
	Issuer              *Reference                      `bson:"issuer,omitempty" json:"issuer,omitempty"`
	Account             *Reference                      `bson:"account,omitempty" json:"account,omitempty"`
	LineItem            []InvoiceLineItem               `bson:"lineItem,omitempty" json:"lineItem,omitempty"`
	TotalPriceComponent []InvoiceLineItemPriceComponent `bson:"totalPriceComponent,omitempty" json:"totalPriceComponent,omitempty"`
	TotalNet            *Money                          `bson:"totalNet,omitempty" json:"totalNet,omitempty"`
	TotalGross          *Money                          `bson:"totalGross,omitempty" json:"totalGross,omitempty"`
	PaymentTerms        *string                         `bson:"paymentTerms,omitempty" json:"paymentTerms,omitempty"`
	Note                []Annotation                    `bson:"note,omitempty" json:"note,omitempty"`
}

Invoice is documented here http://hl7.org/fhir/StructureDefinition/Invoice Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.

func UnmarshalInvoice

func UnmarshalInvoice(b []byte) (Invoice, error)

UnmarshalInvoice unmarshals a Invoice.

func (Invoice) ContainedResources added in v0.0.6

func (r Invoice) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Invoice) MarshalJSON

func (r Invoice) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Invoice as JSON into a byte slice

func (Invoice) ResourceRef added in v0.0.4

func (r Invoice) ResourceRef() (string, *string)

This function returns resource reference information

type InvoiceLineItem

type InvoiceLineItem struct {
	Id                        *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension                 []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Sequence                  *int                            `bson:"sequence,omitempty" json:"sequence,omitempty"`
	ChargeItemReference       Reference                       `bson:"chargeItemReference" json:"chargeItemReference"`
	ChargeItemCodeableConcept CodeableConcept                 `bson:"chargeItemCodeableConcept" json:"chargeItemCodeableConcept"`
	PriceComponent            []InvoiceLineItemPriceComponent `bson:"priceComponent,omitempty" json:"priceComponent,omitempty"`
}

Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource.

type InvoiceLineItemPriceComponent

type InvoiceLineItemPriceComponent struct {
	Id                *string                   `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              InvoicePriceComponentType `bson:"type" json:"type"`
	Code              *CodeableConcept          `bson:"code,omitempty" json:"code,omitempty"`
	Factor            *json.Number              `bson:"factor,omitempty" json:"factor,omitempty"`
	Amount            *Money                    `bson:"amount,omitempty" json:"amount,omitempty"`
}

The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated.

type InvoiceParticipant

type InvoiceParticipant struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Role              *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Actor             Reference        `bson:"actor" json:"actor"`
}

Indicates who or what performed or participated in the charged service.

type InvoicePriceComponentType

type InvoicePriceComponentType int

InvoicePriceComponentType is documented here http://hl7.org/fhir/ValueSet/invoice-priceComponentType

const (
	InvoicePriceComponentTypeBase InvoicePriceComponentType = iota
	InvoicePriceComponentTypeSurcharge
	InvoicePriceComponentTypeDeduction
	InvoicePriceComponentTypeDiscount
	InvoicePriceComponentTypeTax
	InvoicePriceComponentTypeInformational
)

func (InvoicePriceComponentType) Code

func (code InvoicePriceComponentType) Code() string

func (InvoicePriceComponentType) Definition

func (code InvoicePriceComponentType) Definition() string

func (InvoicePriceComponentType) Display

func (code InvoicePriceComponentType) Display() string

func (InvoicePriceComponentType) MarshalJSON

func (code InvoicePriceComponentType) MarshalJSON() ([]byte, error)

func (InvoicePriceComponentType) String

func (code InvoicePriceComponentType) String() string

func (*InvoicePriceComponentType) UnmarshalJSON

func (code *InvoicePriceComponentType) UnmarshalJSON(input []byte) error

type InvoiceStatus

type InvoiceStatus int

InvoiceStatus is documented here http://hl7.org/fhir/ValueSet/invoice-status

const (
	InvoiceStatusDraft InvoiceStatus = iota
	InvoiceStatusIssued
	InvoiceStatusBalanced
	InvoiceStatusCancelled
	InvoiceStatusEnteredInError
)

func (InvoiceStatus) Code

func (code InvoiceStatus) Code() string

func (InvoiceStatus) Definition

func (code InvoiceStatus) Definition() string

func (InvoiceStatus) Display

func (code InvoiceStatus) Display() string

func (InvoiceStatus) MarshalJSON

func (code InvoiceStatus) MarshalJSON() ([]byte, error)

func (InvoiceStatus) String

func (code InvoiceStatus) String() string

func (*InvoiceStatus) UnmarshalJSON

func (code *InvoiceStatus) UnmarshalJSON(input []byte) error

type IssueSeverity

type IssueSeverity int

IssueSeverity is documented here http://hl7.org/fhir/ValueSet/issue-severity

const (
	IssueSeverityFatal IssueSeverity = iota
	IssueSeverityError
	IssueSeverityWarning
	IssueSeverityInformation
)

func (IssueSeverity) Code

func (code IssueSeverity) Code() string

func (IssueSeverity) Definition

func (code IssueSeverity) Definition() string

func (IssueSeverity) Display

func (code IssueSeverity) Display() string

func (IssueSeverity) MarshalJSON

func (code IssueSeverity) MarshalJSON() ([]byte, error)

func (IssueSeverity) String

func (code IssueSeverity) String() string

func (*IssueSeverity) UnmarshalJSON

func (code *IssueSeverity) UnmarshalJSON(input []byte) error

type IssueType

type IssueType int

IssueType is documented here http://hl7.org/fhir/ValueSet/issue-type

const (
	IssueTypeInvalid IssueType = iota
	IssueTypeStructure
	IssueTypeRequired
	IssueTypeValue
	IssueTypeInvariant
	IssueTypeSecurity
	IssueTypeLogin
	IssueTypeUnknown
	IssueTypeExpired
	IssueTypeForbidden
	IssueTypeSuppressed
	IssueTypeProcessing
	IssueTypeNotSupported
	IssueTypeDuplicate
	IssueTypeMultipleMatches
	IssueTypeNotFound
	IssueTypeDeleted
	IssueTypeTooLong
	IssueTypeCodeInvalid
	IssueTypeExtension
	IssueTypeTooCostly
	IssueTypeBusinessRule
	IssueTypeConflict
	IssueTypeTransient
	IssueTypeLockError
	IssueTypeNoStore
	IssueTypeException
	IssueTypeTimeout
	IssueTypeIncomplete
	IssueTypeThrottled
	IssueTypeInformational
)

func (IssueType) Code

func (code IssueType) Code() string

func (IssueType) Definition

func (code IssueType) Definition() string

func (IssueType) Display

func (code IssueType) Display() string

func (IssueType) MarshalJSON

func (code IssueType) MarshalJSON() ([]byte, error)

func (IssueType) String

func (code IssueType) String() string

func (*IssueType) UnmarshalJSON

func (code *IssueType) UnmarshalJSON(input []byte) error

type Library

type Library struct {
	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"`
	Text                   *Narrative            `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	Subtitle               *string               `bson:"subtitle,omitempty" json:"subtitle,omitempty"`
	Status                 PublicationStatus     `bson:"status" json:"status"`
	Experimental           *bool                 `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Type                   CodeableConcept       `bson:"type" json:"type"`
	SubjectCodeableConcept *CodeableConcept      `bson:"subjectCodeableConcept,omitempty" json:"subjectCodeableConcept,omitempty"`
	SubjectReference       *Reference            `bson:"subjectReference,omitempty" json:"subjectReference,omitempty"`
	Date                   *string               `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"`
	Usage                  *string               `bson:"usage,omitempty" json:"usage,omitempty"`
	Copyright              *string               `bson:"copyright,omitempty" json:"copyright,omitempty"`
	ApprovalDate           *string               `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate         *string               `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod        *Period               `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Topic                  []CodeableConcept     `bson:"topic,omitempty" json:"topic,omitempty"`
	Author                 []ContactDetail       `bson:"author,omitempty" json:"author,omitempty"`
	Editor                 []ContactDetail       `bson:"editor,omitempty" json:"editor,omitempty"`
	Reviewer               []ContactDetail       `bson:"reviewer,omitempty" json:"reviewer,omitempty"`
	Endorser               []ContactDetail       `bson:"endorser,omitempty" json:"endorser,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"`
}

Library is documented here http://hl7.org/fhir/StructureDefinition/Library The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets.

func UnmarshalLibrary

func UnmarshalLibrary(b []byte) (Library, error)

UnmarshalLibrary unmarshals a Library.

func (Library) ContainedResources added in v0.0.6

func (r Library) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Library) MarshalJSON

func (r Library) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Library as JSON into a byte slice

func (Library) ResourceRef added in v0.0.4

func (r Library) ResourceRef() (string, *string)

This function returns resource reference information

type LinkType

type LinkType int

LinkType is documented here http://hl7.org/fhir/ValueSet/link-type

const (
	LinkTypeReplacedBy LinkType = iota
	LinkTypeReplaces
	LinkTypeRefer
	LinkTypeSeealso
)

func (LinkType) Code

func (code LinkType) Code() string

func (LinkType) Definition

func (code LinkType) Definition() string

func (LinkType) Display

func (code LinkType) Display() string

func (LinkType) MarshalJSON

func (code LinkType) MarshalJSON() ([]byte, error)

func (LinkType) String

func (code LinkType) String() string

func (*LinkType) UnmarshalJSON

func (code *LinkType) UnmarshalJSON(input []byte) error

type Linkage

type Linkage struct {
	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"`
	Text              *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Active            *bool             `bson:"active,omitempty" json:"active,omitempty"`
	Author            *Reference        `bson:"author,omitempty" json:"author,omitempty"`
	Item              []LinkageItem     `bson:"item" json:"item"`
}

Linkage is documented here http://hl7.org/fhir/StructureDefinition/Linkage Identifies two or more records (resource instances) that refer to the same real-world "occurrence".

func UnmarshalLinkage

func UnmarshalLinkage(b []byte) (Linkage, error)

UnmarshalLinkage unmarshals a Linkage.

func (Linkage) ContainedResources added in v0.0.6

func (r Linkage) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Linkage) MarshalJSON

func (r Linkage) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Linkage as JSON into a byte slice

func (Linkage) ResourceRef added in v0.0.4

func (r Linkage) ResourceRef() (string, *string)

This function returns resource reference information

type LinkageItem

type LinkageItem struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              LinkageType `bson:"type" json:"type"`
	Resource          Reference   `bson:"resource" json:"resource"`
}

Identifies which record considered as the reference to the same real-world occurrence as well as how the items should be evaluated within the collection of linked items.

type LinkageType

type LinkageType int

LinkageType is documented here http://hl7.org/fhir/ValueSet/linkage-type

const (
	LinkageTypeSource LinkageType = iota
	LinkageTypeAlternate
	LinkageTypeHistorical
)

func (LinkageType) Code

func (code LinkageType) Code() string

func (LinkageType) Definition

func (code LinkageType) Definition() string

func (LinkageType) Display

func (code LinkageType) Display() string

func (LinkageType) MarshalJSON

func (code LinkageType) MarshalJSON() ([]byte, error)

func (LinkageType) String

func (code LinkageType) String() string

func (*LinkageType) UnmarshalJSON

func (code *LinkageType) UnmarshalJSON(input []byte) error

type List

type List struct {
	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"`
	Text              *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            ListStatus        `bson:"status" json:"status"`
	Mode              ListMode          `bson:"mode" json:"mode"`
	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              *string           `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             []ListEntry       `bson:"entry,omitempty" json:"entry,omitempty"`
	EmptyReason       *CodeableConcept  `bson:"emptyReason,omitempty" json:"emptyReason,omitempty"`
}

List is documented here http://hl7.org/fhir/StructureDefinition/List A list is a curated collection of resources.

func UnmarshalList

func UnmarshalList(b []byte) (List, error)

UnmarshalList unmarshals a List.

func (List) ContainedResources added in v0.0.6

func (r List) ContainedResources() []json.RawMessage

This function returns resource reference information

func (List) MarshalJSON

func (r List) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given List as JSON into a byte slice

func (List) ResourceRef added in v0.0.4

func (r List) ResourceRef() (string, *string)

This function returns resource reference information

type ListEntry

type ListEntry struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Flag              *CodeableConcept `bson:"flag,omitempty" json:"flag,omitempty"`
	Deleted           *bool            `bson:"deleted,omitempty" json:"deleted,omitempty"`
	Date              *string          `bson:"date,omitempty" json:"date,omitempty"`
	Item              Reference        `bson:"item" json:"item"`
}

Entries in this list. If there are no entries in the list, an emptyReason SHOULD be provided.

type ListMode

type ListMode int

ListMode is documented here http://hl7.org/fhir/ValueSet/list-mode

const (
	ListModeWorking ListMode = iota
	ListModeSnapshot
	ListModeChanges
)

func (ListMode) Code

func (code ListMode) Code() string

func (ListMode) Definition

func (code ListMode) Definition() string

func (ListMode) Display

func (code ListMode) Display() string

func (ListMode) MarshalJSON

func (code ListMode) MarshalJSON() ([]byte, error)

func (ListMode) String

func (code ListMode) String() string

func (*ListMode) UnmarshalJSON

func (code *ListMode) UnmarshalJSON(input []byte) error

type ListStatus

type ListStatus int

ListStatus is documented here http://hl7.org/fhir/ValueSet/list-status

const (
	ListStatusCurrent ListStatus = iota
	ListStatusRetired
	ListStatusEnteredInError
)

func (ListStatus) Code

func (code ListStatus) Code() string

func (ListStatus) Definition

func (code ListStatus) Definition() string

func (ListStatus) Display

func (code ListStatus) Display() string

func (ListStatus) MarshalJSON

func (code ListStatus) MarshalJSON() ([]byte, error)

func (ListStatus) String

func (code ListStatus) String() string

func (*ListStatus) UnmarshalJSON

func (code *ListStatus) UnmarshalJSON(input []byte) error

type Location

type Location struct {
	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"`
	Text                   *Narrative                 `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage          `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier             []Identifier               `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                 *LocationStatus            `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                   *LocationMode              `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               *LocationPosition          `bson:"position,omitempty" json:"position,omitempty"`
	ManagingOrganization   *Reference                 `bson:"managingOrganization,omitempty" json:"managingOrganization,omitempty"`
	PartOf                 *Reference                 `bson:"partOf,omitempty" json:"partOf,omitempty"`
	HoursOfOperation       []LocationHoursOfOperation `bson:"hoursOfOperation,omitempty" json:"hoursOfOperation,omitempty"`
	AvailabilityExceptions *string                    `bson:"availabilityExceptions,omitempty" json:"availabilityExceptions,omitempty"`
	Endpoint               []Reference                `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
}

Location is documented here http://hl7.org/fhir/StructureDefinition/Location Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.

func UnmarshalLocation

func UnmarshalLocation(b []byte) (Location, error)

UnmarshalLocation unmarshals a Location.

func (Location) ContainedResources added in v0.0.6

func (r Location) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Location) MarshalJSON

func (r Location) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Location as JSON into a byte slice

func (Location) ResourceRef added in v0.0.4

func (r Location) ResourceRef() (string, *string)

This function returns resource reference information

type LocationHoursOfOperation

type LocationHoursOfOperation struct {
	Id                *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	DaysOfWeek        []DaysOfWeek `bson:"daysOfWeek,omitempty" json:"daysOfWeek,omitempty"`
	AllDay            *bool        `bson:"allDay,omitempty" json:"allDay,omitempty"`
	OpeningTime       *string      `bson:"openingTime,omitempty" json:"openingTime,omitempty"`
	ClosingTime       *string      `bson:"closingTime,omitempty" json:"closingTime,omitempty"`
}

What days/times during a week is this location usually open.

This type of information is commonly found published in directories and on websites informing customers when the facility is available.

Specific services within the location may have their own hours which could be shorter (or longer) than the locations hours.

type LocationMode

type LocationMode int

LocationMode is documented here http://hl7.org/fhir/ValueSet/location-mode

const (
	LocationModeInstance LocationMode = iota
	LocationModeKind
)

func (LocationMode) Code

func (code LocationMode) Code() string

func (LocationMode) Definition

func (code LocationMode) Definition() string

func (LocationMode) Display

func (code LocationMode) Display() string

func (LocationMode) MarshalJSON

func (code LocationMode) MarshalJSON() ([]byte, error)

func (LocationMode) String

func (code LocationMode) String() string

func (*LocationMode) UnmarshalJSON

func (code *LocationMode) UnmarshalJSON(input []byte) error

type LocationPosition

type LocationPosition struct {
	Id                *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Longitude         json.Number  `bson:"longitude" json:"longitude"`
	Latitude          json.Number  `bson:"latitude" json:"latitude"`
	Altitude          *json.Number `bson:"altitude,omitempty" json:"altitude,omitempty"`
}

The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).

type LocationStatus

type LocationStatus int

LocationStatus is documented here http://hl7.org/fhir/ValueSet/location-status

const (
	LocationStatusActive LocationStatus = iota
	LocationStatusSuspended
	LocationStatusInactive
)

func (LocationStatus) Code

func (code LocationStatus) Code() string

func (LocationStatus) Definition

func (code LocationStatus) Definition() string

func (LocationStatus) Display

func (code LocationStatus) Display() string

func (LocationStatus) MarshalJSON

func (code LocationStatus) MarshalJSON() ([]byte, error)

func (LocationStatus) String

func (code LocationStatus) String() string

func (*LocationStatus) UnmarshalJSON

func (code *LocationStatus) UnmarshalJSON(input []byte) error

type MarketingStatus

type MarketingStatus struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Country           CodeableConcept  `bson:"country" json:"country"`
	Jurisdiction      *CodeableConcept `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Status            CodeableConcept  `bson:"status" json:"status"`
	DateRange         Period           `bson:"dateRange" json:"dateRange"`
	RestoreDate       *string          `bson:"restoreDate,omitempty" json:"restoreDate,omitempty"`
}

MarketingStatus is documented here http://hl7.org/fhir/StructureDefinition/MarketingStatus Base StructureDefinition for MarketingStatus Type: The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.

type Measure

type Measure struct {
	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"`
	Text                            *Narrative                `bson:"text,omitempty" json:"text,omitempty"`
	Contained                       []json.RawMessage         `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                       []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension               []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	Subtitle                        *string                   `bson:"subtitle,omitempty" json:"subtitle,omitempty"`
	Status                          PublicationStatus         `bson:"status" json:"status"`
	Experimental                    *bool                     `bson:"experimental,omitempty" json:"experimental,omitempty"`
	SubjectCodeableConcept          *CodeableConcept          `bson:"subjectCodeableConcept,omitempty" json:"subjectCodeableConcept,omitempty"`
	SubjectReference                *Reference                `bson:"subjectReference,omitempty" json:"subjectReference,omitempty"`
	Date                            *string                   `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"`
	Usage                           *string                   `bson:"usage,omitempty" json:"usage,omitempty"`
	Copyright                       *string                   `bson:"copyright,omitempty" json:"copyright,omitempty"`
	ApprovalDate                    *string                   `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate                  *string                   `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod                 *Period                   `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Topic                           []CodeableConcept         `bson:"topic,omitempty" json:"topic,omitempty"`
	Author                          []ContactDetail           `bson:"author,omitempty" json:"author,omitempty"`
	Editor                          []ContactDetail           `bson:"editor,omitempty" json:"editor,omitempty"`
	Reviewer                        []ContactDetail           `bson:"reviewer,omitempty" json:"reviewer,omitempty"`
	Endorser                        []ContactDetail           `bson:"endorser,omitempty" json:"endorser,omitempty"`
	RelatedArtifact                 []RelatedArtifact         `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Library                         []string                  `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             *CodeableConcept          `bson:"improvementNotation,omitempty" json:"improvementNotation,omitempty"`
	Definition                      []string                  `bson:"definition,omitempty" json:"definition,omitempty"`
	Guidance                        *string                   `bson:"guidance,omitempty" json:"guidance,omitempty"`
	Group                           []MeasureGroup            `bson:"group,omitempty" json:"group,omitempty"`
	SupplementalData                []MeasureSupplementalData `bson:"supplementalData,omitempty" json:"supplementalData,omitempty"`
}

Measure is documented here http://hl7.org/fhir/StructureDefinition/Measure The Measure resource provides the definition of a quality measure.

func UnmarshalMeasure

func UnmarshalMeasure(b []byte) (Measure, error)

UnmarshalMeasure unmarshals a Measure.

func (Measure) ContainedResources added in v0.0.6

func (r Measure) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Measure) MarshalJSON

func (r Measure) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Measure as JSON into a byte slice

func (Measure) ResourceRef added in v0.0.4

func (r Measure) ResourceRef() (string, *string)

This function returns resource reference information

type MeasureGroup

type MeasureGroup struct {
	Id                *string                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *CodeableConcept         `bson:"code,omitempty" json:"code,omitempty"`
	Description       *string                  `bson:"description,omitempty" json:"description,omitempty"`
	Population        []MeasureGroupPopulation `bson:"population,omitempty" json:"population,omitempty"`
	Stratifier        []MeasureGroupStratifier `bson:"stratifier,omitempty" json:"stratifier,omitempty"`
}

A group of population criteria for the measure.

type MeasureGroupPopulation

type MeasureGroupPopulation struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Description       *string          `bson:"description,omitempty" json:"description,omitempty"`
	Criteria          Expression       `bson:"criteria" json:"criteria"`
}

A population criteria for the measure.

type MeasureGroupStratifier

type MeasureGroupStratifier struct {
	Id                *string                           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *CodeableConcept                  `bson:"code,omitempty" json:"code,omitempty"`
	Description       *string                           `bson:"description,omitempty" json:"description,omitempty"`
	Criteria          *Expression                       `bson:"criteria,omitempty" json:"criteria,omitempty"`
	Component         []MeasureGroupStratifierComponent `bson:"component,omitempty" json:"component,omitempty"`
}

The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library or a valid FHIR Resource Path.

type MeasureGroupStratifierComponent

type MeasureGroupStratifierComponent struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Description       *string          `bson:"description,omitempty" json:"description,omitempty"`
	Criteria          Expression       `bson:"criteria" json:"criteria"`
}

A component of the stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library or a valid FHIR Resource Path. Stratifiers are defined either as a single criteria, or as a set of component criteria.

type MeasureReport

type MeasureReport struct {
	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"`
	Text                *Narrative           `bson:"text,omitempty" json:"text,omitempty"`
	Contained           []json.RawMessage    `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension           []Extension          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier          []Identifier         `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status              MeasureReportStatus  `bson:"status" json:"status"`
	Type                MeasureReportType    `bson:"type" json:"type"`
	Measure             string               `bson:"measure" json:"measure"`
	Subject             *Reference           `bson:"subject,omitempty" json:"subject,omitempty"`
	Date                *string              `bson:"date,omitempty" json:"date,omitempty"`
	Reporter            *Reference           `bson:"reporter,omitempty" json:"reporter,omitempty"`
	Period              Period               `bson:"period" json:"period"`
	ImprovementNotation *CodeableConcept     `bson:"improvementNotation,omitempty" json:"improvementNotation,omitempty"`
	Group               []MeasureReportGroup `bson:"group,omitempty" json:"group,omitempty"`
	EvaluatedResource   []Reference          `bson:"evaluatedResource,omitempty" json:"evaluatedResource,omitempty"`
}

MeasureReport is documented here http://hl7.org/fhir/StructureDefinition/MeasureReport The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.

func UnmarshalMeasureReport

func UnmarshalMeasureReport(b []byte) (MeasureReport, error)

UnmarshalMeasureReport unmarshals a MeasureReport.

func (MeasureReport) ContainedResources added in v0.0.6

func (r MeasureReport) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MeasureReport) MarshalJSON

func (r MeasureReport) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MeasureReport as JSON into a byte slice

func (MeasureReport) ResourceRef added in v0.0.4

func (r MeasureReport) ResourceRef() (string, *string)

This function returns resource reference information

type MeasureReportGroup

type MeasureReportGroup struct {
	Id                *string                        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *CodeableConcept               `bson:"code,omitempty" json:"code,omitempty"`
	Population        []MeasureReportGroupPopulation `bson:"population,omitempty" json:"population,omitempty"`
	MeasureScore      *Quantity                      `bson:"measureScore,omitempty" json:"measureScore,omitempty"`
	Stratifier        []MeasureReportGroupStratifier `bson:"stratifier,omitempty" json:"stratifier,omitempty"`
}

The results of the calculation, one for each population group in the measure.

type MeasureReportGroupPopulation

type MeasureReportGroupPopulation struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Count             *int             `bson:"count,omitempty" json:"count,omitempty"`
	SubjectResults    *Reference       `bson:"subjectResults,omitempty" json:"subjectResults,omitempty"`
}

The populations that make up the population group, one for each type of population appropriate for the measure.

type MeasureReportGroupStratifier

type MeasureReportGroupStratifier struct {
	Id                *string                               `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              []CodeableConcept                     `bson:"code,omitempty" json:"code,omitempty"`
	Stratum           []MeasureReportGroupStratifierStratum `bson:"stratum,omitempty" json:"stratum,omitempty"`
}

When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure.

type MeasureReportGroupStratifierStratum

type MeasureReportGroupStratifierStratum struct {
	Id                *string                                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Value             *CodeableConcept                                `bson:"value,omitempty" json:"value,omitempty"`
	Component         []MeasureReportGroupStratifierStratumComponent  `bson:"component,omitempty" json:"component,omitempty"`
	Population        []MeasureReportGroupStratifierStratumPopulation `bson:"population,omitempty" json:"population,omitempty"`
	MeasureScore      *Quantity                                       `bson:"measureScore,omitempty" json:"measureScore,omitempty"`
}

This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value.

type MeasureReportGroupStratifierStratumComponent

type MeasureReportGroupStratifierStratumComponent struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              CodeableConcept `bson:"code" json:"code"`
	Value             CodeableConcept `bson:"value" json:"value"`
}

A stratifier component value.

type MeasureReportGroupStratifierStratumPopulation

type MeasureReportGroupStratifierStratumPopulation struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Count             *int             `bson:"count,omitempty" json:"count,omitempty"`
	SubjectResults    *Reference       `bson:"subjectResults,omitempty" json:"subjectResults,omitempty"`
}

The populations that make up the stratum, one for each type of population appropriate to the measure.

type MeasureReportStatus

type MeasureReportStatus int

MeasureReportStatus is documented here http://hl7.org/fhir/ValueSet/measure-report-status

const (
	MeasureReportStatusComplete MeasureReportStatus = iota
	MeasureReportStatusPending
	MeasureReportStatusError
)

func (MeasureReportStatus) Code

func (code MeasureReportStatus) Code() string

func (MeasureReportStatus) Definition

func (code MeasureReportStatus) Definition() string

func (MeasureReportStatus) Display

func (code MeasureReportStatus) Display() string

func (MeasureReportStatus) MarshalJSON

func (code MeasureReportStatus) MarshalJSON() ([]byte, error)

func (MeasureReportStatus) String

func (code MeasureReportStatus) String() string

func (*MeasureReportStatus) UnmarshalJSON

func (code *MeasureReportStatus) UnmarshalJSON(input []byte) error

type MeasureReportType

type MeasureReportType int

MeasureReportType is documented here http://hl7.org/fhir/ValueSet/measure-report-type

const (
	MeasureReportTypeIndividual MeasureReportType = iota
	MeasureReportTypeSubjectList
	MeasureReportTypeSummary
	MeasureReportTypeDataCollection
)

func (MeasureReportType) Code

func (code MeasureReportType) Code() string

func (MeasureReportType) Definition

func (code MeasureReportType) Definition() string

func (MeasureReportType) Display

func (code MeasureReportType) Display() string

func (MeasureReportType) MarshalJSON

func (code MeasureReportType) MarshalJSON() ([]byte, error)

func (MeasureReportType) String

func (code MeasureReportType) String() string

func (*MeasureReportType) UnmarshalJSON

func (code *MeasureReportType) UnmarshalJSON(input []byte) error

type MeasureSupplementalData

type MeasureSupplementalData struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *CodeableConcept  `bson:"code,omitempty" json:"code,omitempty"`
	Usage             []CodeableConcept `bson:"usage,omitempty" json:"usage,omitempty"`
	Description       *string           `bson:"description,omitempty" json:"description,omitempty"`
	Criteria          Expression        `bson:"criteria" json:"criteria"`
}

The supplemental data criteria for the measure report, specified as either the name of a valid CQL expression within a referenced library, or a valid FHIR Resource Path. Note that supplemental data are reported as observations for each patient and included in the evaluatedResources bundle. See the MeasureReport resource or the Quality Reporting topic for more information.

type Media

type Media struct {
	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"`
	Text              *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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            EventStatus       `bson:"status" json:"status"`
	Type              *CodeableConcept  `bson:"type,omitempty" json:"type,omitempty"`
	Modality          *CodeableConcept  `bson:"modality,omitempty" json:"modality,omitempty"`
	View              *CodeableConcept  `bson:"view,omitempty" json:"view,omitempty"`
	Subject           *Reference        `bson:"subject,omitempty" json:"subject,omitempty"`
	Encounter         *Reference        `bson:"encounter,omitempty" json:"encounter,omitempty"`
	CreatedDateTime   *string           `bson:"createdDateTime,omitempty" json:"createdDateTime,omitempty"`
	CreatedPeriod     *Period           `bson:"createdPeriod,omitempty" json:"createdPeriod,omitempty"`
	Issued            *string           `bson:"issued,omitempty" json:"issued,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"`
	DeviceName        *string           `bson:"deviceName,omitempty" json:"deviceName,omitempty"`
	Device            *Reference        `bson:"device,omitempty" json:"device,omitempty"`
	Height            *int              `bson:"height,omitempty" json:"height,omitempty"`
	Width             *int              `bson:"width,omitempty" json:"width,omitempty"`
	Frames            *int              `bson:"frames,omitempty" json:"frames,omitempty"`
	Duration          *json.Number      `bson:"duration,omitempty" json:"duration,omitempty"`
	Content           Attachment        `bson:"content" json:"content"`
	Note              []Annotation      `bson:"note,omitempty" json:"note,omitempty"`
}

Media is documented here http://hl7.org/fhir/StructureDefinition/Media A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.

func UnmarshalMedia

func UnmarshalMedia(b []byte) (Media, error)

UnmarshalMedia unmarshals a Media.

func (Media) ContainedResources added in v0.0.6

func (r Media) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Media) MarshalJSON

func (r Media) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Media as JSON into a byte slice

func (Media) ResourceRef added in v0.0.4

func (r Media) ResourceRef() (string, *string)

This function returns resource reference information

type Medication

type Medication struct {
	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"`
	Text              *Narrative             `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier           `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Code              *CodeableConcept       `bson:"code,omitempty" json:"code,omitempty"`
	Status            *string                `bson:"status,omitempty" json:"status,omitempty"`
	Manufacturer      *Reference             `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
	Form              *CodeableConcept       `bson:"form,omitempty" json:"form,omitempty"`
	Amount            *Ratio                 `bson:"amount,omitempty" json:"amount,omitempty"`
	Ingredient        []MedicationIngredient `bson:"ingredient,omitempty" json:"ingredient,omitempty"`
	Batch             *MedicationBatch       `bson:"batch,omitempty" json:"batch,omitempty"`
}

Medication is documented here http://hl7.org/fhir/StructureDefinition/Medication This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.

func UnmarshalMedication

func UnmarshalMedication(b []byte) (Medication, error)

UnmarshalMedication unmarshals a Medication.

func (Medication) ContainedResources added in v0.0.6

func (r Medication) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Medication) MarshalJSON

func (r Medication) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Medication as JSON into a byte slice

func (Medication) ResourceRef added in v0.0.4

func (r Medication) ResourceRef() (string, *string)

This function returns resource reference information

type MedicationAdministration

type MedicationAdministration struct {
	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"`
	Text                      *Narrative                          `bson:"text,omitempty" json:"text,omitempty"`
	Contained                 []json.RawMessage                   `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                 []Extension                         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension                         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier                []Identifier                        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Instantiates              []string                            `bson:"instantiates,omitempty" json:"instantiates,omitempty"`
	PartOf                    []Reference                         `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Status                    string                              `bson:"status" json:"status"`
	StatusReason              []CodeableConcept                   `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	Category                  *CodeableConcept                    `bson:"category,omitempty" json:"category,omitempty"`
	MedicationCodeableConcept CodeableConcept                     `bson:"medicationCodeableConcept" json:"medicationCodeableConcept"`
	MedicationReference       Reference                           `bson:"medicationReference" json:"medicationReference"`
	Subject                   Reference                           `bson:"subject" json:"subject"`
	Context                   *Reference                          `bson:"context,omitempty" json:"context,omitempty"`
	SupportingInformation     []Reference                         `bson:"supportingInformation,omitempty" json:"supportingInformation,omitempty"`
	EffectiveDateTime         string                              `bson:"effectiveDateTime" json:"effectiveDateTime"`
	EffectivePeriod           Period                              `bson:"effectivePeriod" json:"effectivePeriod"`
	Performer                 []MedicationAdministrationPerformer `bson:"performer,omitempty" json:"performer,omitempty"`
	ReasonCode                []CodeableConcept                   `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference           []Reference                         `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Request                   *Reference                          `bson:"request,omitempty" json:"request,omitempty"`
	Device                    []Reference                         `bson:"device,omitempty" json:"device,omitempty"`
	Note                      []Annotation                        `bson:"note,omitempty" json:"note,omitempty"`
	Dosage                    *MedicationAdministrationDosage     `bson:"dosage,omitempty" json:"dosage,omitempty"`
	EventHistory              []Reference                         `bson:"eventHistory,omitempty" json:"eventHistory,omitempty"`
}

MedicationAdministration is documented here http://hl7.org/fhir/StructureDefinition/MedicationAdministration Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.

func UnmarshalMedicationAdministration

func UnmarshalMedicationAdministration(b []byte) (MedicationAdministration, error)

UnmarshalMedicationAdministration unmarshals a MedicationAdministration.

func (MedicationAdministration) ContainedResources added in v0.0.6

func (r MedicationAdministration) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicationAdministration) MarshalJSON

func (r MedicationAdministration) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicationAdministration as JSON into a byte slice

func (MedicationAdministration) ResourceRef added in v0.0.4

func (r MedicationAdministration) ResourceRef() (string, *string)

This function returns resource reference information

type MedicationAdministrationDosage

type MedicationAdministrationDosage struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	RateQuantity      *Quantity        `bson:"rateQuantity,omitempty" json:"rateQuantity,omitempty"`
}

Describes the medication dosage information details e.g. dose, rate, site, route, etc.

type MedicationAdministrationPerformer

type MedicationAdministrationPerformer struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Function          *CodeableConcept `bson:"function,omitempty" json:"function,omitempty"`
	Actor             Reference        `bson:"actor" json:"actor"`
}

Indicates who or what performed the medication administration and how they were involved.

type MedicationBatch

type MedicationBatch struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	LotNumber         *string     `bson:"lotNumber,omitempty" json:"lotNumber,omitempty"`
	ExpirationDate    *string     `bson:"expirationDate,omitempty" json:"expirationDate,omitempty"`
}

Information that only applies to packages (not products).

type MedicationDispense

type MedicationDispense struct {
	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"`
	Text                        *Narrative                      `bson:"text,omitempty" json:"text,omitempty"`
	Contained                   []json.RawMessage               `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                   []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension           []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier                  []Identifier                    `bson:"identifier,omitempty" json:"identifier,omitempty"`
	PartOf                      []Reference                     `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Status                      string                          `bson:"status" json:"status"`
	StatusReasonCodeableConcept *CodeableConcept                `bson:"statusReasonCodeableConcept,omitempty" json:"statusReasonCodeableConcept,omitempty"`
	StatusReasonReference       *Reference                      `bson:"statusReasonReference,omitempty" json:"statusReasonReference,omitempty"`
	Category                    *CodeableConcept                `bson:"category,omitempty" json:"category,omitempty"`
	MedicationCodeableConcept   CodeableConcept                 `bson:"medicationCodeableConcept" json:"medicationCodeableConcept"`
	MedicationReference         Reference                       `bson:"medicationReference" json:"medicationReference"`
	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                   []MedicationDispensePerformer   `bson:"performer,omitempty" json:"performer,omitempty"`
	Location                    *Reference                      `bson:"location,omitempty" json:"location,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                *string                         `bson:"whenPrepared,omitempty" json:"whenPrepared,omitempty"`
	WhenHandedOver              *string                         `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                *MedicationDispenseSubstitution `bson:"substitution,omitempty" json:"substitution,omitempty"`
	DetectedIssue               []Reference                     `bson:"detectedIssue,omitempty" json:"detectedIssue,omitempty"`
	EventHistory                []Reference                     `bson:"eventHistory,omitempty" json:"eventHistory,omitempty"`
}

MedicationDispense is documented here http://hl7.org/fhir/StructureDefinition/MedicationDispense Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order.

func UnmarshalMedicationDispense

func UnmarshalMedicationDispense(b []byte) (MedicationDispense, error)

UnmarshalMedicationDispense unmarshals a MedicationDispense.

func (MedicationDispense) ContainedResources added in v0.0.6

func (r MedicationDispense) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicationDispense) MarshalJSON

func (r MedicationDispense) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicationDispense as JSON into a byte slice

func (MedicationDispense) ResourceRef added in v0.0.4

func (r MedicationDispense) ResourceRef() (string, *string)

This function returns resource reference information

type MedicationDispensePerformer

type MedicationDispensePerformer struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Function          *CodeableConcept `bson:"function,omitempty" json:"function,omitempty"`
	Actor             Reference        `bson:"actor" json:"actor"`
}

Indicates who or what performed the event.

type MedicationDispenseSubstitution

type MedicationDispenseSubstitution struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	WasSubstituted    bool              `bson:"wasSubstituted" json:"wasSubstituted"`
	Type              *CodeableConcept  `bson:"type,omitempty" json:"type,omitempty"`
	Reason            []CodeableConcept `bson:"reason,omitempty" json:"reason,omitempty"`
	ResponsibleParty  []Reference       `bson:"responsibleParty,omitempty" json:"responsibleParty,omitempty"`
}

Indicates whether or not substitution was made as part of the dispense. In some cases, substitution will be expected but does not happen, in other cases substitution is not expected but does happen. This block explains what substitution did or did not happen and why. If nothing is specified, substitution was not done.

type MedicationIngredient

type MedicationIngredient struct {
	Id                  *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ItemCodeableConcept CodeableConcept `bson:"itemCodeableConcept" json:"itemCodeableConcept"`
	ItemReference       Reference       `bson:"itemReference" json:"itemReference"`
	IsActive            *bool           `bson:"isActive,omitempty" json:"isActive,omitempty"`
	Strength            *Ratio          `bson:"strength,omitempty" json:"strength,omitempty"`
}

Identifies a particular constituent of interest in the product. The ingredients need not be a complete list. If an ingredient is not specified, this does not indicate whether an ingredient is present or absent. If an ingredient is specified it does not mean that all ingredients are specified. It is possible to specify both inactive and active ingredients.

type MedicationKnowledge

type MedicationKnowledge struct {
	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"`
	Text                       *Narrative                                      `bson:"text,omitempty" json:"text,omitempty"`
	Contained                  []json.RawMessage                               `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                  []Extension                                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension          []Extension                                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code                       *CodeableConcept                                `bson:"code,omitempty" json:"code,omitempty"`
	Status                     *string                                         `bson:"status,omitempty" json:"status,omitempty"`
	Manufacturer               *Reference                                      `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
	DoseForm                   *CodeableConcept                                `bson:"doseForm,omitempty" json:"doseForm,omitempty"`
	Amount                     *Quantity                                       `bson:"amount,omitempty" json:"amount,omitempty"`
	Synonym                    []string                                        `bson:"synonym,omitempty" json:"synonym,omitempty"`
	RelatedMedicationKnowledge []MedicationKnowledgeRelatedMedicationKnowledge `bson:"relatedMedicationKnowledge,omitempty" json:"relatedMedicationKnowledge,omitempty"`
	AssociatedMedication       []Reference                                     `bson:"associatedMedication,omitempty" json:"associatedMedication,omitempty"`
	ProductType                []CodeableConcept                               `bson:"productType,omitempty" json:"productType,omitempty"`
	Monograph                  []MedicationKnowledgeMonograph                  `bson:"monograph,omitempty" json:"monograph,omitempty"`
	Ingredient                 []MedicationKnowledgeIngredient                 `bson:"ingredient,omitempty" json:"ingredient,omitempty"`
	PreparationInstruction     *string                                         `bson:"preparationInstruction,omitempty" json:"preparationInstruction,omitempty"`
	IntendedRoute              []CodeableConcept                               `bson:"intendedRoute,omitempty" json:"intendedRoute,omitempty"`
	Cost                       []MedicationKnowledgeCost                       `bson:"cost,omitempty" json:"cost,omitempty"`
	MonitoringProgram          []MedicationKnowledgeMonitoringProgram          `bson:"monitoringProgram,omitempty" json:"monitoringProgram,omitempty"`
	AdministrationGuidelines   []MedicationKnowledgeAdministrationGuidelines   `bson:"administrationGuidelines,omitempty" json:"administrationGuidelines,omitempty"`
	MedicineClassification     []MedicationKnowledgeMedicineClassification     `bson:"medicineClassification,omitempty" json:"medicineClassification,omitempty"`
	Packaging                  *MedicationKnowledgePackaging                   `bson:"packaging,omitempty" json:"packaging,omitempty"`
	DrugCharacteristic         []MedicationKnowledgeDrugCharacteristic         `bson:"drugCharacteristic,omitempty" json:"drugCharacteristic,omitempty"`
	Contraindication           []Reference                                     `bson:"contraindication,omitempty" json:"contraindication,omitempty"`
	Regulatory                 []MedicationKnowledgeRegulatory                 `bson:"regulatory,omitempty" json:"regulatory,omitempty"`
	Kinetics                   []MedicationKnowledgeKinetics                   `bson:"kinetics,omitempty" json:"kinetics,omitempty"`
}

MedicationKnowledge is documented here http://hl7.org/fhir/StructureDefinition/MedicationKnowledge Information about a medication that is used to support knowledge.

func UnmarshalMedicationKnowledge

func UnmarshalMedicationKnowledge(b []byte) (MedicationKnowledge, error)

UnmarshalMedicationKnowledge unmarshals a MedicationKnowledge.

func (MedicationKnowledge) ContainedResources added in v0.0.6

func (r MedicationKnowledge) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicationKnowledge) MarshalJSON

func (r MedicationKnowledge) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicationKnowledge as JSON into a byte slice

func (MedicationKnowledge) ResourceRef added in v0.0.4

func (r MedicationKnowledge) ResourceRef() (string, *string)

This function returns resource reference information

type MedicationKnowledgeAdministrationGuidelines

type MedicationKnowledgeAdministrationGuidelines struct {
	Id                        *string                                                             `bson:"id,omitempty" json:"id,omitempty"`
	Extension                 []Extension                                                         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension                                                         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Dosage                    []MedicationKnowledgeAdministrationGuidelinesDosage                 `bson:"dosage,omitempty" json:"dosage,omitempty"`
	IndicationCodeableConcept *CodeableConcept                                                    `bson:"indicationCodeableConcept,omitempty" json:"indicationCodeableConcept,omitempty"`
	IndicationReference       *Reference                                                          `bson:"indicationReference,omitempty" json:"indicationReference,omitempty"`
	PatientCharacteristics    []MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics `bson:"patientCharacteristics,omitempty" json:"patientCharacteristics,omitempty"`
}

Guidelines for the administration of the medication.

type MedicationKnowledgeAdministrationGuidelinesDosage

type MedicationKnowledgeAdministrationGuidelinesDosage struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept `bson:"type" json:"type"`
	Dosage            []Dosage        `bson:"dosage" json:"dosage"`
}

Dosage for the medication for the specific guidelines.

type MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics

type MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics struct {
	Id                            *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension                     []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension             []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	CharacteristicCodeableConcept CodeableConcept `bson:"characteristicCodeableConcept" json:"characteristicCodeableConcept"`
	CharacteristicQuantity        Quantity        `bson:"characteristicQuantity" json:"characteristicQuantity"`
	Value                         []string        `bson:"value,omitempty" json:"value,omitempty"`
}

Characteristics of the patient that are relevant to the administration guidelines (for example, height, weight, gender, etc.).

type MedicationKnowledgeCost

type MedicationKnowledgeCost struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept `bson:"type" json:"type"`
	Source            *string         `bson:"source,omitempty" json:"source,omitempty"`
	Cost              Money           `bson:"cost" json:"cost"`
}

The price of the medication.

type MedicationKnowledgeDrugCharacteristic

type MedicationKnowledgeDrugCharacteristic struct {
	Id                   *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type                 *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	ValueCodeableConcept *CodeableConcept `bson:"valueCodeableConcept,omitempty" json:"valueCodeableConcept,omitempty"`
	ValueString          *string          `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueQuantity        *Quantity        `bson:"valueQuantity,omitempty" json:"valueQuantity,omitempty"`
	ValueBase64Binary    *string          `bson:"valueBase64Binary,omitempty" json:"valueBase64Binary,omitempty"`
}

Specifies descriptive properties of the medicine, such as color, shape, imprints, etc.

type MedicationKnowledgeIngredient

type MedicationKnowledgeIngredient struct {
	Id                  *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ItemCodeableConcept CodeableConcept `bson:"itemCodeableConcept" json:"itemCodeableConcept"`
	ItemReference       Reference       `bson:"itemReference" json:"itemReference"`
	IsActive            *bool           `bson:"isActive,omitempty" json:"isActive,omitempty"`
	Strength            *Ratio          `bson:"strength,omitempty" json:"strength,omitempty"`
}

Identifies a particular constituent of interest in the product.

type MedicationKnowledgeKinetics

type MedicationKnowledgeKinetics struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	AreaUnderCurve    []Quantity  `bson:"areaUnderCurve,omitempty" json:"areaUnderCurve,omitempty"`
	LethalDose50      []Quantity  `bson:"lethalDose50,omitempty" json:"lethalDose50,omitempty"`
	HalfLifePeriod    *Duration   `bson:"halfLifePeriod,omitempty" json:"halfLifePeriod,omitempty"`
}

The time course of drug absorption, distribution, metabolism and excretion of a medication from the body.

type MedicationKnowledgeMedicineClassification

type MedicationKnowledgeMedicineClassification struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept   `bson:"type" json:"type"`
	Classification    []CodeableConcept `bson:"classification,omitempty" json:"classification,omitempty"`
}

Categorization of the medication within a formulary or classification system.

type MedicationKnowledgeMonitoringProgram

type MedicationKnowledgeMonitoringProgram struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Name              *string          `bson:"name,omitempty" json:"name,omitempty"`
}

The program under which the medication is reviewed.

type MedicationKnowledgeMonograph

type MedicationKnowledgeMonograph struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Source            *Reference       `bson:"source,omitempty" json:"source,omitempty"`
}

Associated documentation about the medication.

type MedicationKnowledgePackaging

type MedicationKnowledgePackaging struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Quantity          *Quantity        `bson:"quantity,omitempty" json:"quantity,omitempty"`
}

Information that only applies to packages (not products).

type MedicationKnowledgeRegulatory

type MedicationKnowledgeRegulatory struct {
	Id                  *string                                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension                                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension                                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	RegulatoryAuthority Reference                                   `bson:"regulatoryAuthority" json:"regulatoryAuthority"`
	Substitution        []MedicationKnowledgeRegulatorySubstitution `bson:"substitution,omitempty" json:"substitution,omitempty"`
	Schedule            []MedicationKnowledgeRegulatorySchedule     `bson:"schedule,omitempty" json:"schedule,omitempty"`
	MaxDispense         *MedicationKnowledgeRegulatoryMaxDispense   `bson:"maxDispense,omitempty" json:"maxDispense,omitempty"`
}

Regulatory information about a medication.

type MedicationKnowledgeRegulatoryMaxDispense

type MedicationKnowledgeRegulatoryMaxDispense struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Quantity          Quantity    `bson:"quantity" json:"quantity"`
	Period            *Duration   `bson:"period,omitempty" json:"period,omitempty"`
}

The maximum number of units of the medication that can be dispensed in a period.

type MedicationKnowledgeRegulatorySchedule

type MedicationKnowledgeRegulatorySchedule struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Schedule          CodeableConcept `bson:"schedule" json:"schedule"`
}

Specifies the schedule of a medication in jurisdiction.

type MedicationKnowledgeRegulatorySubstitution

type MedicationKnowledgeRegulatorySubstitution struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept `bson:"type" json:"type"`
	Allowed           bool            `bson:"allowed" json:"allowed"`
}

Specifies if changes are allowed when dispensing a medication from a regulatory perspective.

type MedicationKnowledgeRelatedMedicationKnowledge

type MedicationKnowledgeRelatedMedicationKnowledge struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              CodeableConcept `bson:"type" json:"type"`
	Reference         []Reference     `bson:"reference" json:"reference"`
}

Associated or related knowledge about a medication.

type MedicationRequest

type MedicationRequest struct {
	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"`
	Text                      *Narrative                        `bson:"text,omitempty" json:"text,omitempty"`
	Contained                 []json.RawMessage                 `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                 []Extension                       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension                       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier                []Identifier                      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status                    string                            `bson:"status" json:"status"`
	StatusReason              *CodeableConcept                  `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	Intent                    string                            `bson:"intent" json:"intent"`
	Category                  []CodeableConcept                 `bson:"category,omitempty" json:"category,omitempty"`
	Priority                  *RequestPriority                  `bson:"priority,omitempty" json:"priority,omitempty"`
	DoNotPerform              *bool                             `bson:"doNotPerform,omitempty" json:"doNotPerform,omitempty"`
	ReportedBoolean           *bool                             `bson:"reportedBoolean,omitempty" json:"reportedBoolean,omitempty"`
	ReportedReference         *Reference                        `bson:"reportedReference,omitempty" json:"reportedReference,omitempty"`
	MedicationCodeableConcept CodeableConcept                   `bson:"medicationCodeableConcept" json:"medicationCodeableConcept"`
	MedicationReference       Reference                         `bson:"medicationReference" json:"medicationReference"`
	Subject                   Reference                         `bson:"subject" json:"subject"`
	Encounter                 *Reference                        `bson:"encounter,omitempty" json:"encounter,omitempty"`
	SupportingInformation     []Reference                       `bson:"supportingInformation,omitempty" json:"supportingInformation,omitempty"`
	AuthoredOn                *string                           `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Requester                 *Reference                        `bson:"requester,omitempty" json:"requester,omitempty"`
	Performer                 *Reference                        `bson:"performer,omitempty" json:"performer,omitempty"`
	PerformerType             *CodeableConcept                  `bson:"performerType,omitempty" json:"performerType,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"`
	InstantiatesCanonical     []string                          `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri           []string                          `bson:"instantiatesUri,omitempty" json:"instantiatesUri,omitempty"`
	BasedOn                   []Reference                       `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	GroupIdentifier           *Identifier                       `bson:"groupIdentifier,omitempty" json:"groupIdentifier,omitempty"`
	CourseOfTherapyType       *CodeableConcept                  `bson:"courseOfTherapyType,omitempty" json:"courseOfTherapyType,omitempty"`
	Insurance                 []Reference                       `bson:"insurance,omitempty" json:"insurance,omitempty"`
	Note                      []Annotation                      `bson:"note,omitempty" json:"note,omitempty"`
	DosageInstruction         []Dosage                          `bson:"dosageInstruction,omitempty" json:"dosageInstruction,omitempty"`
	DispenseRequest           *MedicationRequestDispenseRequest `bson:"dispenseRequest,omitempty" json:"dispenseRequest,omitempty"`
	Substitution              *MedicationRequestSubstitution    `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"`
}

MedicationRequest is documented here http://hl7.org/fhir/StructureDefinition/MedicationRequest An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.

func UnmarshalMedicationRequest

func UnmarshalMedicationRequest(b []byte) (MedicationRequest, error)

UnmarshalMedicationRequest unmarshals a MedicationRequest.

func (MedicationRequest) ContainedResources added in v0.0.6

func (r MedicationRequest) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicationRequest) MarshalJSON

func (r MedicationRequest) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicationRequest as JSON into a byte slice

func (MedicationRequest) ResourceRef added in v0.0.4

func (r MedicationRequest) ResourceRef() (string, *string)

This function returns resource reference information

type MedicationRequestDispenseRequest

type MedicationRequestDispenseRequest struct {
	Id                     *string                                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension              []Extension                                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension                                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	InitialFill            *MedicationRequestDispenseRequestInitialFill `bson:"initialFill,omitempty" json:"initialFill,omitempty"`
	DispenseInterval       *Duration                                    `bson:"dispenseInterval,omitempty" json:"dispenseInterval,omitempty"`
	ValidityPeriod         *Period                                      `bson:"validityPeriod,omitempty" json:"validityPeriod,omitempty"`
	NumberOfRepeatsAllowed *int                                         `bson:"numberOfRepeatsAllowed,omitempty" json:"numberOfRepeatsAllowed,omitempty"`
	Quantity               *Quantity                                    `bson:"quantity,omitempty" json:"quantity,omitempty"`
	ExpectedSupplyDuration *Duration                                    `bson:"expectedSupplyDuration,omitempty" json:"expectedSupplyDuration,omitempty"`
	Performer              *Reference                                   `bson:"performer,omitempty" json:"performer,omitempty"`
}

Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order). Note that this information is not always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department.

type MedicationRequestDispenseRequestInitialFill

type MedicationRequestDispenseRequestInitialFill struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Quantity          *Quantity   `bson:"quantity,omitempty" json:"quantity,omitempty"`
	Duration          *Duration   `bson:"duration,omitempty" json:"duration,omitempty"`
}

Indicates the quantity or duration for the first dispense of the medication. If populating this element, either the quantity or the duration must be included.

type MedicationRequestSubstitution

type MedicationRequestSubstitution struct {
	Id                     *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension              []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	AllowedBoolean         bool             `bson:"allowedBoolean" json:"allowedBoolean"`
	AllowedCodeableConcept CodeableConcept  `bson:"allowedCodeableConcept" json:"allowedCodeableConcept"`
	Reason                 *CodeableConcept `bson:"reason,omitempty" json:"reason,omitempty"`
}

Indicates whether or not substitution can or should be part of the dispense. In some cases, substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done.

type MedicationStatement

type MedicationStatement struct {
	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"`
	Text                      *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained                 []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                 []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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" json:"status"`
	StatusReason              []CodeableConcept `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	Category                  *CodeableConcept  `bson:"category,omitempty" json:"category,omitempty"`
	MedicationCodeableConcept CodeableConcept   `bson:"medicationCodeableConcept" json:"medicationCodeableConcept"`
	MedicationReference       Reference         `bson:"medicationReference" json:"medicationReference"`
	Subject                   Reference         `bson:"subject" json:"subject"`
	Context                   *Reference        `bson:"context,omitempty" json:"context,omitempty"`
	EffectiveDateTime         *string           `bson:"effectiveDateTime,omitempty" json:"effectiveDateTime,omitempty"`
	EffectivePeriod           *Period           `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	DateAsserted              *string           `bson:"dateAsserted,omitempty" json:"dateAsserted,omitempty"`
	InformationSource         *Reference        `bson:"informationSource,omitempty" json:"informationSource,omitempty"`
	DerivedFrom               []Reference       `bson:"derivedFrom,omitempty" json:"derivedFrom,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"`
}

MedicationStatement is documented here http://hl7.org/fhir/StructureDefinition/MedicationStatement

A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains.

The primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information.

func UnmarshalMedicationStatement

func UnmarshalMedicationStatement(b []byte) (MedicationStatement, error)

UnmarshalMedicationStatement unmarshals a MedicationStatement.

func (MedicationStatement) ContainedResources added in v0.0.6

func (r MedicationStatement) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicationStatement) MarshalJSON

func (r MedicationStatement) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicationStatement as JSON into a byte slice

func (MedicationStatement) ResourceRef added in v0.0.4

func (r MedicationStatement) ResourceRef() (string, *string)

This function returns resource reference information

type MedicinalProduct

type MedicinalProduct struct {
	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"`
	Text                           *Narrative                                       `bson:"text,omitempty" json:"text,omitempty"`
	Contained                      []json.RawMessage                                `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                      []Extension                                      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension              []Extension                                      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier                     []Identifier                                     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type                           *CodeableConcept                                 `bson:"type,omitempty" json:"type,omitempty"`
	Domain                         *Coding                                          `bson:"domain,omitempty" json:"domain,omitempty"`
	CombinedPharmaceuticalDoseForm *CodeableConcept                                 `bson:"combinedPharmaceuticalDoseForm,omitempty" json:"combinedPharmaceuticalDoseForm,omitempty"`
	LegalStatusOfSupply            *CodeableConcept                                 `bson:"legalStatusOfSupply,omitempty" json:"legalStatusOfSupply,omitempty"`
	AdditionalMonitoringIndicator  *CodeableConcept                                 `bson:"additionalMonitoringIndicator,omitempty" json:"additionalMonitoringIndicator,omitempty"`
	SpecialMeasures                []string                                         `bson:"specialMeasures,omitempty" json:"specialMeasures,omitempty"`
	PaediatricUseIndicator         *CodeableConcept                                 `bson:"paediatricUseIndicator,omitempty" json:"paediatricUseIndicator,omitempty"`
	ProductClassification          []CodeableConcept                                `bson:"productClassification,omitempty" json:"productClassification,omitempty"`
	MarketingStatus                []MarketingStatus                                `bson:"marketingStatus,omitempty" json:"marketingStatus,omitempty"`
	PharmaceuticalProduct          []Reference                                      `bson:"pharmaceuticalProduct,omitempty" json:"pharmaceuticalProduct,omitempty"`
	PackagedMedicinalProduct       []Reference                                      `bson:"packagedMedicinalProduct,omitempty" json:"packagedMedicinalProduct,omitempty"`
	AttachedDocument               []Reference                                      `bson:"attachedDocument,omitempty" json:"attachedDocument,omitempty"`
	MasterFile                     []Reference                                      `bson:"masterFile,omitempty" json:"masterFile,omitempty"`
	Contact                        []Reference                                      `bson:"contact,omitempty" json:"contact,omitempty"`
	ClinicalTrial                  []Reference                                      `bson:"clinicalTrial,omitempty" json:"clinicalTrial,omitempty"`
	Name                           []MedicinalProductName                           `bson:"name" json:"name"`
	CrossReference                 []Identifier                                     `bson:"crossReference,omitempty" json:"crossReference,omitempty"`
	ManufacturingBusinessOperation []MedicinalProductManufacturingBusinessOperation `bson:"manufacturingBusinessOperation,omitempty" json:"manufacturingBusinessOperation,omitempty"`
	SpecialDesignation             []MedicinalProductSpecialDesignation             `bson:"specialDesignation,omitempty" json:"specialDesignation,omitempty"`
}

MedicinalProduct is documented here http://hl7.org/fhir/StructureDefinition/MedicinalProduct Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).

func UnmarshalMedicinalProduct

func UnmarshalMedicinalProduct(b []byte) (MedicinalProduct, error)

UnmarshalMedicinalProduct unmarshals a MedicinalProduct.

func (MedicinalProduct) ContainedResources added in v0.0.6

func (r MedicinalProduct) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicinalProduct) MarshalJSON

func (r MedicinalProduct) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicinalProduct as JSON into a byte slice

func (MedicinalProduct) ResourceRef added in v0.0.4

func (r MedicinalProduct) ResourceRef() (string, *string)

This function returns resource reference information

type MedicinalProductAuthorization

type MedicinalProductAuthorization struct {
	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"`
	Text                        *Narrative                                                 `bson:"text,omitempty" json:"text,omitempty"`
	Contained                   []json.RawMessage                                          `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                   []Extension                                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension           []Extension                                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier                  []Identifier                                               `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Subject                     *Reference                                                 `bson:"subject,omitempty" json:"subject,omitempty"`
	Country                     []CodeableConcept                                          `bson:"country,omitempty" json:"country,omitempty"`
	Jurisdiction                []CodeableConcept                                          `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Status                      *CodeableConcept                                           `bson:"status,omitempty" json:"status,omitempty"`
	StatusDate                  *string                                                    `bson:"statusDate,omitempty" json:"statusDate,omitempty"`
	RestoreDate                 *string                                                    `bson:"restoreDate,omitempty" json:"restoreDate,omitempty"`
	ValidityPeriod              *Period                                                    `bson:"validityPeriod,omitempty" json:"validityPeriod,omitempty"`
	DataExclusivityPeriod       *Period                                                    `bson:"dataExclusivityPeriod,omitempty" json:"dataExclusivityPeriod,omitempty"`
	DateOfFirstAuthorization    *string                                                    `bson:"dateOfFirstAuthorization,omitempty" json:"dateOfFirstAuthorization,omitempty"`
	InternationalBirthDate      *string                                                    `bson:"internationalBirthDate,omitempty" json:"internationalBirthDate,omitempty"`
	LegalBasis                  *CodeableConcept                                           `bson:"legalBasis,omitempty" json:"legalBasis,omitempty"`
	JurisdictionalAuthorization []MedicinalProductAuthorizationJurisdictionalAuthorization `bson:"jurisdictionalAuthorization,omitempty" json:"jurisdictionalAuthorization,omitempty"`
	Holder                      *Reference                                                 `bson:"holder,omitempty" json:"holder,omitempty"`
	Regulator                   *Reference                                                 `bson:"regulator,omitempty" json:"regulator,omitempty"`
	Procedure                   *MedicinalProductAuthorizationProcedure                    `bson:"procedure,omitempty" json:"procedure,omitempty"`
}

MedicinalProductAuthorization is documented here http://hl7.org/fhir/StructureDefinition/MedicinalProductAuthorization The regulatory authorization of a medicinal product.

func UnmarshalMedicinalProductAuthorization

func UnmarshalMedicinalProductAuthorization(b []byte) (MedicinalProductAuthorization, error)

UnmarshalMedicinalProductAuthorization unmarshals a MedicinalProductAuthorization.

func (MedicinalProductAuthorization) ContainedResources added in v0.0.6

func (r MedicinalProductAuthorization) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicinalProductAuthorization) MarshalJSON

func (r MedicinalProductAuthorization) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicinalProductAuthorization as JSON into a byte slice

func (MedicinalProductAuthorization) ResourceRef added in v0.0.4

func (r MedicinalProductAuthorization) ResourceRef() (string, *string)

This function returns resource reference information

type MedicinalProductAuthorizationJurisdictionalAuthorization

type MedicinalProductAuthorizationJurisdictionalAuthorization struct {
	Id                  *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier          []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Country             *CodeableConcept  `bson:"country,omitempty" json:"country,omitempty"`
	Jurisdiction        []CodeableConcept `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	LegalStatusOfSupply *CodeableConcept  `bson:"legalStatusOfSupply,omitempty" json:"legalStatusOfSupply,omitempty"`
	ValidityPeriod      *Period           `bson:"validityPeriod,omitempty" json:"validityPeriod,omitempty"`
}

Authorization in areas within a country.

type MedicinalProductAuthorizationProcedure

type MedicinalProductAuthorizationProcedure struct {
	Id                *string                                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        *Identifier                              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type              CodeableConcept                          `bson:"type" json:"type"`
	DatePeriod        *Period                                  `bson:"datePeriod,omitempty" json:"datePeriod,omitempty"`
	DateDateTime      *string                                  `bson:"dateDateTime,omitempty" json:"dateDateTime,omitempty"`
	Application       []MedicinalProductAuthorizationProcedure `bson:"application,omitempty" json:"application,omitempty"`
}

The regulatory procedure for granting or amending a marketing authorization.

type MedicinalProductContraindication

type MedicinalProductContraindication struct {
	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"`
	Text                  *Narrative                                     `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage                              `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension                                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension                                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Subject               []Reference                                    `bson:"subject,omitempty" json:"subject,omitempty"`
	Disease               *CodeableConcept                               `bson:"disease,omitempty" json:"disease,omitempty"`
	DiseaseStatus         *CodeableConcept                               `bson:"diseaseStatus,omitempty" json:"diseaseStatus,omitempty"`
	Comorbidity           []CodeableConcept                              `bson:"comorbidity,omitempty" json:"comorbidity,omitempty"`
	TherapeuticIndication []Reference                                    `bson:"therapeuticIndication,omitempty" json:"therapeuticIndication,omitempty"`
	OtherTherapy          []MedicinalProductContraindicationOtherTherapy `bson:"otherTherapy,omitempty" json:"otherTherapy,omitempty"`
	Population            []Population                                   `bson:"population,omitempty" json:"population,omitempty"`
}

MedicinalProductContraindication is documented here http://hl7.org/fhir/StructureDefinition/MedicinalProductContraindication The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.

func UnmarshalMedicinalProductContraindication

func UnmarshalMedicinalProductContraindication(b []byte) (MedicinalProductContraindication, error)

UnmarshalMedicinalProductContraindication unmarshals a MedicinalProductContraindication.

func (MedicinalProductContraindication) ContainedResources added in v0.0.6

func (r MedicinalProductContraindication) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicinalProductContraindication) MarshalJSON

func (r MedicinalProductContraindication) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicinalProductContraindication as JSON into a byte slice

func (MedicinalProductContraindication) ResourceRef added in v0.0.4

func (r MedicinalProductContraindication) ResourceRef() (string, *string)

This function returns resource reference information

type MedicinalProductContraindicationOtherTherapy

type MedicinalProductContraindicationOtherTherapy struct {
	Id                        *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension                 []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	TherapyRelationshipType   CodeableConcept `bson:"therapyRelationshipType" json:"therapyRelationshipType"`
	MedicationCodeableConcept CodeableConcept `bson:"medicationCodeableConcept" json:"medicationCodeableConcept"`
	MedicationReference       Reference       `bson:"medicationReference" json:"medicationReference"`
}

Information about the use of the medicinal product in relation to other therapies described as part of the indication.

type MedicinalProductIndication

type MedicinalProductIndication struct {
	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"`
	Text                    *Narrative                               `bson:"text,omitempty" json:"text,omitempty"`
	Contained               []json.RawMessage                        `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension               []Extension                              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension                              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Subject                 []Reference                              `bson:"subject,omitempty" json:"subject,omitempty"`
	DiseaseSymptomProcedure *CodeableConcept                         `bson:"diseaseSymptomProcedure,omitempty" json:"diseaseSymptomProcedure,omitempty"`
	DiseaseStatus           *CodeableConcept                         `bson:"diseaseStatus,omitempty" json:"diseaseStatus,omitempty"`
	Comorbidity             []CodeableConcept                        `bson:"comorbidity,omitempty" json:"comorbidity,omitempty"`
	IntendedEffect          *CodeableConcept                         `bson:"intendedEffect,omitempty" json:"intendedEffect,omitempty"`
	Duration                *Quantity                                `bson:"duration,omitempty" json:"duration,omitempty"`
	OtherTherapy            []MedicinalProductIndicationOtherTherapy `bson:"otherTherapy,omitempty" json:"otherTherapy,omitempty"`
	UndesirableEffect       []Reference                              `bson:"undesirableEffect,omitempty" json:"undesirableEffect,omitempty"`
	Population              []Population                             `bson:"population,omitempty" json:"population,omitempty"`
}

MedicinalProductIndication is documented here http://hl7.org/fhir/StructureDefinition/MedicinalProductIndication Indication for the Medicinal Product.

func UnmarshalMedicinalProductIndication

func UnmarshalMedicinalProductIndication(b []byte) (MedicinalProductIndication, error)

UnmarshalMedicinalProductIndication unmarshals a MedicinalProductIndication.

func (MedicinalProductIndication) ContainedResources added in v0.0.6

func (r MedicinalProductIndication) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicinalProductIndication) MarshalJSON

func (r MedicinalProductIndication) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicinalProductIndication as JSON into a byte slice

func (MedicinalProductIndication) ResourceRef added in v0.0.4

func (r MedicinalProductIndication) ResourceRef() (string, *string)

This function returns resource reference information

type MedicinalProductIndicationOtherTherapy

type MedicinalProductIndicationOtherTherapy struct {
	Id                        *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension                 []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	TherapyRelationshipType   CodeableConcept `bson:"therapyRelationshipType" json:"therapyRelationshipType"`
	MedicationCodeableConcept CodeableConcept `bson:"medicationCodeableConcept" json:"medicationCodeableConcept"`
	MedicationReference       Reference       `bson:"medicationReference" json:"medicationReference"`
}

Information about the use of the medicinal product in relation to other therapies described as part of the indication.

type MedicinalProductIngredient

type MedicinalProductIngredient struct {
	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"`
	Text                *Narrative                                     `bson:"text,omitempty" json:"text,omitempty"`
	Contained           []json.RawMessage                              `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension           []Extension                                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension                                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier          *Identifier                                    `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Role                CodeableConcept                                `bson:"role" json:"role"`
	AllergenicIndicator *bool                                          `bson:"allergenicIndicator,omitempty" json:"allergenicIndicator,omitempty"`
	Manufacturer        []Reference                                    `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
	SpecifiedSubstance  []MedicinalProductIngredientSpecifiedSubstance `bson:"specifiedSubstance,omitempty" json:"specifiedSubstance,omitempty"`
	Substance           *MedicinalProductIngredientSubstance           `bson:"substance,omitempty" json:"substance,omitempty"`
}

MedicinalProductIngredient is documented here http://hl7.org/fhir/StructureDefinition/MedicinalProductIngredient An ingredient of a manufactured item or pharmaceutical product.

func UnmarshalMedicinalProductIngredient

func UnmarshalMedicinalProductIngredient(b []byte) (MedicinalProductIngredient, error)

UnmarshalMedicinalProductIngredient unmarshals a MedicinalProductIngredient.

func (MedicinalProductIngredient) ContainedResources added in v0.0.6

func (r MedicinalProductIngredient) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicinalProductIngredient) MarshalJSON

func (r MedicinalProductIngredient) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicinalProductIngredient as JSON into a byte slice

func (MedicinalProductIngredient) ResourceRef added in v0.0.4

func (r MedicinalProductIngredient) ResourceRef() (string, *string)

This function returns resource reference information

type MedicinalProductIngredientSpecifiedSubstance

type MedicinalProductIngredientSpecifiedSubstance struct {
	Id                *string                                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              CodeableConcept                                        `bson:"code" json:"code"`
	Group             CodeableConcept                                        `bson:"group" json:"group"`
	Confidentiality   *CodeableConcept                                       `bson:"confidentiality,omitempty" json:"confidentiality,omitempty"`
	Strength          []MedicinalProductIngredientSpecifiedSubstanceStrength `bson:"strength,omitempty" json:"strength,omitempty"`
}

A specified substance that comprises this ingredient.

type MedicinalProductIngredientSpecifiedSubstanceStrength

type MedicinalProductIngredientSpecifiedSubstanceStrength struct {
	Id                    *string                                                                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension             []Extension                                                             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension                                                             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Presentation          Ratio                                                                   `bson:"presentation" json:"presentation"`
	PresentationLowLimit  *Ratio                                                                  `bson:"presentationLowLimit,omitempty" json:"presentationLowLimit,omitempty"`
	Concentration         *Ratio                                                                  `bson:"concentration,omitempty" json:"concentration,omitempty"`
	ConcentrationLowLimit *Ratio                                                                  `bson:"concentrationLowLimit,omitempty" json:"concentrationLowLimit,omitempty"`
	MeasurementPoint      *string                                                                 `bson:"measurementPoint,omitempty" json:"measurementPoint,omitempty"`
	Country               []CodeableConcept                                                       `bson:"country,omitempty" json:"country,omitempty"`
	ReferenceStrength     []MedicinalProductIngredientSpecifiedSubstanceStrengthReferenceStrength `bson:"referenceStrength,omitempty" json:"referenceStrength,omitempty"`
}

Quantity of the substance or specified substance present in the manufactured item or pharmaceutical product.

type MedicinalProductIngredientSpecifiedSubstanceStrengthReferenceStrength

type MedicinalProductIngredientSpecifiedSubstanceStrengthReferenceStrength struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Substance         *CodeableConcept  `bson:"substance,omitempty" json:"substance,omitempty"`
	Strength          Ratio             `bson:"strength" json:"strength"`
	StrengthLowLimit  *Ratio            `bson:"strengthLowLimit,omitempty" json:"strengthLowLimit,omitempty"`
	MeasurementPoint  *string           `bson:"measurementPoint,omitempty" json:"measurementPoint,omitempty"`
	Country           []CodeableConcept `bson:"country,omitempty" json:"country,omitempty"`
}

Strength expressed in terms of a reference substance.

type MedicinalProductIngredientSubstance

type MedicinalProductIngredientSubstance struct {
	Id                *string                                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              CodeableConcept                                        `bson:"code" json:"code"`
	Strength          []MedicinalProductIngredientSpecifiedSubstanceStrength `bson:"strength,omitempty" json:"strength,omitempty"`
}

The ingredient substance.

type MedicinalProductInteraction

type MedicinalProductInteraction struct {
	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"`
	Text              *Narrative                               `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                        `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Subject           []Reference                              `bson:"subject,omitempty" json:"subject,omitempty"`
	Description       *string                                  `bson:"description,omitempty" json:"description,omitempty"`
	Interactant       []MedicinalProductInteractionInteractant `bson:"interactant,omitempty" json:"interactant,omitempty"`
	Type              *CodeableConcept                         `bson:"type,omitempty" json:"type,omitempty"`
	Effect            *CodeableConcept                         `bson:"effect,omitempty" json:"effect,omitempty"`
	Incidence         *CodeableConcept                         `bson:"incidence,omitempty" json:"incidence,omitempty"`
	Management        *CodeableConcept                         `bson:"management,omitempty" json:"management,omitempty"`
}

MedicinalProductInteraction is documented here http://hl7.org/fhir/StructureDefinition/MedicinalProductInteraction The interactions of the medicinal product with other medicinal products, or other forms of interactions.

func UnmarshalMedicinalProductInteraction

func UnmarshalMedicinalProductInteraction(b []byte) (MedicinalProductInteraction, error)

UnmarshalMedicinalProductInteraction unmarshals a MedicinalProductInteraction.

func (MedicinalProductInteraction) ContainedResources added in v0.0.6

func (r MedicinalProductInteraction) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicinalProductInteraction) MarshalJSON

func (r MedicinalProductInteraction) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicinalProductInteraction as JSON into a byte slice

func (MedicinalProductInteraction) ResourceRef added in v0.0.4

func (r MedicinalProductInteraction) ResourceRef() (string, *string)

This function returns resource reference information

type MedicinalProductInteractionInteractant

type MedicinalProductInteractionInteractant struct {
	Id                  *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ItemReference       Reference       `bson:"itemReference" json:"itemReference"`
	ItemCodeableConcept CodeableConcept `bson:"itemCodeableConcept" json:"itemCodeableConcept"`
}

The specific medication, food or laboratory test that interacts.

type MedicinalProductManufactured

type MedicinalProductManufactured struct {
	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"`
	Text                    *Narrative          `bson:"text,omitempty" json:"text,omitempty"`
	Contained               []json.RawMessage   `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension               []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ManufacturedDoseForm    CodeableConcept     `bson:"manufacturedDoseForm" json:"manufacturedDoseForm"`
	UnitOfPresentation      *CodeableConcept    `bson:"unitOfPresentation,omitempty" json:"unitOfPresentation,omitempty"`
	Quantity                Quantity            `bson:"quantity" json:"quantity"`
	Manufacturer            []Reference         `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
	Ingredient              []Reference         `bson:"ingredient,omitempty" json:"ingredient,omitempty"`
	PhysicalCharacteristics *ProdCharacteristic `bson:"physicalCharacteristics,omitempty" json:"physicalCharacteristics,omitempty"`
	OtherCharacteristics    []CodeableConcept   `bson:"otherCharacteristics,omitempty" json:"otherCharacteristics,omitempty"`
}

MedicinalProductManufactured is documented here http://hl7.org/fhir/StructureDefinition/MedicinalProductManufactured The manufactured item as contained in the packaged medicinal product.

func UnmarshalMedicinalProductManufactured

func UnmarshalMedicinalProductManufactured(b []byte) (MedicinalProductManufactured, error)

UnmarshalMedicinalProductManufactured unmarshals a MedicinalProductManufactured.

func (MedicinalProductManufactured) ContainedResources added in v0.0.6

func (r MedicinalProductManufactured) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicinalProductManufactured) MarshalJSON

func (r MedicinalProductManufactured) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicinalProductManufactured as JSON into a byte slice

func (MedicinalProductManufactured) ResourceRef added in v0.0.4

func (r MedicinalProductManufactured) ResourceRef() (string, *string)

This function returns resource reference information

type MedicinalProductManufacturingBusinessOperation

type MedicinalProductManufacturingBusinessOperation struct {
	Id                           *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension                    []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension            []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	OperationType                *CodeableConcept `bson:"operationType,omitempty" json:"operationType,omitempty"`
	AuthorisationReferenceNumber *Identifier      `bson:"authorisationReferenceNumber,omitempty" json:"authorisationReferenceNumber,omitempty"`
	EffectiveDate                *string          `bson:"effectiveDate,omitempty" json:"effectiveDate,omitempty"`
	ConfidentialityIndicator     *CodeableConcept `bson:"confidentialityIndicator,omitempty" json:"confidentialityIndicator,omitempty"`
	Manufacturer                 []Reference      `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
	Regulator                    *Reference       `bson:"regulator,omitempty" json:"regulator,omitempty"`
}

An operation applied to the product, for manufacturing or adminsitrative purpose.

type MedicinalProductName

type MedicinalProductName struct {
	Id                *string                               `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ProductName       string                                `bson:"productName" json:"productName"`
	NamePart          []MedicinalProductNameNamePart        `bson:"namePart,omitempty" json:"namePart,omitempty"`
	CountryLanguage   []MedicinalProductNameCountryLanguage `bson:"countryLanguage,omitempty" json:"countryLanguage,omitempty"`
}

The product's name, including full name and possibly coded parts.

type MedicinalProductNameCountryLanguage

type MedicinalProductNameCountryLanguage struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Country           CodeableConcept  `bson:"country" json:"country"`
	Jurisdiction      *CodeableConcept `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Language          CodeableConcept  `bson:"language" json:"language"`
}

Country where the name applies.

type MedicinalProductNameNamePart

type MedicinalProductNameNamePart struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Part              string      `bson:"part" json:"part"`
	Type              Coding      `bson:"type" json:"type"`
}

Coding words or phrases of the name.

type MedicinalProductPackaged

type MedicinalProductPackaged struct {
	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"`
	Text                   *Narrative                                `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage                         `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension                               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension                               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier             []Identifier                              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Subject                []Reference                               `bson:"subject,omitempty" json:"subject,omitempty"`
	Description            *string                                   `bson:"description,omitempty" json:"description,omitempty"`
	LegalStatusOfSupply    *CodeableConcept                          `bson:"legalStatusOfSupply,omitempty" json:"legalStatusOfSupply,omitempty"`
	MarketingStatus        []MarketingStatus                         `bson:"marketingStatus,omitempty" json:"marketingStatus,omitempty"`
	MarketingAuthorization *Reference                                `bson:"marketingAuthorization,omitempty" json:"marketingAuthorization,omitempty"`
	Manufacturer           []Reference                               `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
	BatchIdentifier        []MedicinalProductPackagedBatchIdentifier `bson:"batchIdentifier,omitempty" json:"batchIdentifier,omitempty"`
	PackageItem            []MedicinalProductPackagedPackageItem     `bson:"packageItem" json:"packageItem"`
}

MedicinalProductPackaged is documented here http://hl7.org/fhir/StructureDefinition/MedicinalProductPackaged A medicinal product in a container or package.

func UnmarshalMedicinalProductPackaged

func UnmarshalMedicinalProductPackaged(b []byte) (MedicinalProductPackaged, error)

UnmarshalMedicinalProductPackaged unmarshals a MedicinalProductPackaged.

func (MedicinalProductPackaged) ContainedResources added in v0.0.6

func (r MedicinalProductPackaged) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicinalProductPackaged) MarshalJSON

func (r MedicinalProductPackaged) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicinalProductPackaged as JSON into a byte slice

func (MedicinalProductPackaged) ResourceRef added in v0.0.4

func (r MedicinalProductPackaged) ResourceRef() (string, *string)

This function returns resource reference information

type MedicinalProductPackagedBatchIdentifier

type MedicinalProductPackagedBatchIdentifier struct {
	Id                 *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension          []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	OuterPackaging     Identifier  `bson:"outerPackaging" json:"outerPackaging"`
	ImmediatePackaging *Identifier `bson:"immediatePackaging,omitempty" json:"immediatePackaging,omitempty"`
}

Batch numbering.

type MedicinalProductPackagedPackageItem

type MedicinalProductPackagedPackageItem struct {
	Id                      *string                               `bson:"id,omitempty" json:"id,omitempty"`
	Extension               []Extension                           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension                           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier              []Identifier                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type                    CodeableConcept                       `bson:"type" json:"type"`
	Quantity                Quantity                              `bson:"quantity" json:"quantity"`
	Material                []CodeableConcept                     `bson:"material,omitempty" json:"material,omitempty"`
	AlternateMaterial       []CodeableConcept                     `bson:"alternateMaterial,omitempty" json:"alternateMaterial,omitempty"`
	Device                  []Reference                           `bson:"device,omitempty" json:"device,omitempty"`
	ManufacturedItem        []Reference                           `bson:"manufacturedItem,omitempty" json:"manufacturedItem,omitempty"`
	PackageItem             []MedicinalProductPackagedPackageItem `bson:"packageItem,omitempty" json:"packageItem,omitempty"`
	PhysicalCharacteristics *ProdCharacteristic                   `bson:"physicalCharacteristics,omitempty" json:"physicalCharacteristics,omitempty"`
	OtherCharacteristics    []CodeableConcept                     `bson:"otherCharacteristics,omitempty" json:"otherCharacteristics,omitempty"`
	ShelfLifeStorage        []ProductShelfLife                    `bson:"shelfLifeStorage,omitempty" json:"shelfLifeStorage,omitempty"`
	Manufacturer            []Reference                           `bson:"manufacturer,omitempty" json:"manufacturer,omitempty"`
}

A packaging item, as a contained for medicine, possibly with other packaging items within.

type MedicinalProductPharmaceutical

type MedicinalProductPharmaceutical struct {
	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"`
	Text                  *Narrative                                            `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage                                     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension                                           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension                                           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier            []Identifier                                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	AdministrableDoseForm CodeableConcept                                       `bson:"administrableDoseForm" json:"administrableDoseForm"`
	UnitOfPresentation    *CodeableConcept                                      `bson:"unitOfPresentation,omitempty" json:"unitOfPresentation,omitempty"`
	Ingredient            []Reference                                           `bson:"ingredient,omitempty" json:"ingredient,omitempty"`
	Device                []Reference                                           `bson:"device,omitempty" json:"device,omitempty"`
	Characteristics       []MedicinalProductPharmaceuticalCharacteristics       `bson:"characteristics,omitempty" json:"characteristics,omitempty"`
	RouteOfAdministration []MedicinalProductPharmaceuticalRouteOfAdministration `bson:"routeOfAdministration" json:"routeOfAdministration"`
}

MedicinalProductPharmaceutical is documented here http://hl7.org/fhir/StructureDefinition/MedicinalProductPharmaceutical A pharmaceutical product described in terms of its composition and dose form.

func UnmarshalMedicinalProductPharmaceutical

func UnmarshalMedicinalProductPharmaceutical(b []byte) (MedicinalProductPharmaceutical, error)

UnmarshalMedicinalProductPharmaceutical unmarshals a MedicinalProductPharmaceutical.

func (MedicinalProductPharmaceutical) ContainedResources added in v0.0.6

func (r MedicinalProductPharmaceutical) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicinalProductPharmaceutical) MarshalJSON

func (r MedicinalProductPharmaceutical) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicinalProductPharmaceutical as JSON into a byte slice

func (MedicinalProductPharmaceutical) ResourceRef added in v0.0.4

func (r MedicinalProductPharmaceutical) ResourceRef() (string, *string)

This function returns resource reference information

type MedicinalProductPharmaceuticalCharacteristics

type MedicinalProductPharmaceuticalCharacteristics struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              CodeableConcept  `bson:"code" json:"code"`
	Status            *CodeableConcept `bson:"status,omitempty" json:"status,omitempty"`
}

Characteristics e.g. a products onset of action.

type MedicinalProductPharmaceuticalRouteOfAdministration

type MedicinalProductPharmaceuticalRouteOfAdministration struct {
	Id                        *string                                                            `bson:"id,omitempty" json:"id,omitempty"`
	Extension                 []Extension                                                        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension                                                        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code                      CodeableConcept                                                    `bson:"code" json:"code"`
	FirstDose                 *Quantity                                                          `bson:"firstDose,omitempty" json:"firstDose,omitempty"`
	MaxSingleDose             *Quantity                                                          `bson:"maxSingleDose,omitempty" json:"maxSingleDose,omitempty"`
	MaxDosePerDay             *Quantity                                                          `bson:"maxDosePerDay,omitempty" json:"maxDosePerDay,omitempty"`
	MaxDosePerTreatmentPeriod *Ratio                                                             `bson:"maxDosePerTreatmentPeriod,omitempty" json:"maxDosePerTreatmentPeriod,omitempty"`
	MaxTreatmentPeriod        *Duration                                                          `bson:"maxTreatmentPeriod,omitempty" json:"maxTreatmentPeriod,omitempty"`
	TargetSpecies             []MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpecies `bson:"targetSpecies,omitempty" json:"targetSpecies,omitempty"`
}

The path by which the pharmaceutical product is taken into or makes contact with the body.

type MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpecies

type MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpecies struct {
	Id                *string                                                                            `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                                                        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                                                        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              CodeableConcept                                                                    `bson:"code" json:"code"`
	WithdrawalPeriod  []MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpeciesWithdrawalPeriod `bson:"withdrawalPeriod,omitempty" json:"withdrawalPeriod,omitempty"`
}

A species for which this route applies.

type MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpeciesWithdrawalPeriod

type MedicinalProductPharmaceuticalRouteOfAdministrationTargetSpeciesWithdrawalPeriod struct {
	Id                    *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension             []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Tissue                CodeableConcept `bson:"tissue" json:"tissue"`
	Value                 Quantity        `bson:"value" json:"value"`
	SupportingInformation *string         `bson:"supportingInformation,omitempty" json:"supportingInformation,omitempty"`
}

A species specific time during which consumption of animal product is not appropriate.

type MedicinalProductSpecialDesignation

type MedicinalProductSpecialDesignation struct {
	Id                        *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension                 []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier                []Identifier     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type                      *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	IntendedUse               *CodeableConcept `bson:"intendedUse,omitempty" json:"intendedUse,omitempty"`
	IndicationCodeableConcept *CodeableConcept `bson:"indicationCodeableConcept,omitempty" json:"indicationCodeableConcept,omitempty"`
	IndicationReference       *Reference       `bson:"indicationReference,omitempty" json:"indicationReference,omitempty"`
	Status                    *CodeableConcept `bson:"status,omitempty" json:"status,omitempty"`
	Date                      *string          `bson:"date,omitempty" json:"date,omitempty"`
	Species                   *CodeableConcept `bson:"species,omitempty" json:"species,omitempty"`
}

Indicates if the medicinal product has an orphan designation for the treatment of a rare disease.

type MedicinalProductUndesirableEffect

type MedicinalProductUndesirableEffect struct {
	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"`
	Text                   *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Subject                []Reference       `bson:"subject,omitempty" json:"subject,omitempty"`
	SymptomConditionEffect *CodeableConcept  `bson:"symptomConditionEffect,omitempty" json:"symptomConditionEffect,omitempty"`
	Classification         *CodeableConcept  `bson:"classification,omitempty" json:"classification,omitempty"`
	FrequencyOfOccurrence  *CodeableConcept  `bson:"frequencyOfOccurrence,omitempty" json:"frequencyOfOccurrence,omitempty"`
	Population             []Population      `bson:"population,omitempty" json:"population,omitempty"`
}

MedicinalProductUndesirableEffect is documented here http://hl7.org/fhir/StructureDefinition/MedicinalProductUndesirableEffect Describe the undesirable effects of the medicinal product.

func UnmarshalMedicinalProductUndesirableEffect

func UnmarshalMedicinalProductUndesirableEffect(b []byte) (MedicinalProductUndesirableEffect, error)

UnmarshalMedicinalProductUndesirableEffect unmarshals a MedicinalProductUndesirableEffect.

func (MedicinalProductUndesirableEffect) ContainedResources added in v0.0.6

func (r MedicinalProductUndesirableEffect) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MedicinalProductUndesirableEffect) MarshalJSON

func (r MedicinalProductUndesirableEffect) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MedicinalProductUndesirableEffect as JSON into a byte slice

func (MedicinalProductUndesirableEffect) ResourceRef added in v0.0.4

func (r MedicinalProductUndesirableEffect) ResourceRef() (string, *string)

This function returns resource reference information

type MessageDefinition

type MessageDefinition struct {
	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"`
	Text              *Narrative                         `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                  `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	Replaces          []string                           `bson:"replaces,omitempty" json:"replaces,omitempty"`
	Status            PublicationStatus                  `bson:"status" json:"status"`
	Experimental      *bool                              `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              string                             `bson:"date" json:"date"`
	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              *string                            `bson:"base,omitempty" json:"base,omitempty"`
	Parent            []string                           `bson:"parent,omitempty" json:"parent,omitempty"`
	EventCoding       Coding                             `bson:"eventCoding" json:"eventCoding"`
	EventUri          string                             `bson:"eventUri" json:"eventUri"`
	Category          *MessageSignificanceCategory       `bson:"category,omitempty" json:"category,omitempty"`
	Focus             []MessageDefinitionFocus           `bson:"focus,omitempty" json:"focus,omitempty"`
	ResponseRequired  *string                            `bson:"responseRequired,omitempty" json:"responseRequired,omitempty"`
	AllowedResponse   []MessageDefinitionAllowedResponse `bson:"allowedResponse,omitempty" json:"allowedResponse,omitempty"`
	Graph             []string                           `bson:"graph,omitempty" json:"graph,omitempty"`
}

MessageDefinition is documented here http://hl7.org/fhir/StructureDefinition/MessageDefinition Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.

func UnmarshalMessageDefinition

func UnmarshalMessageDefinition(b []byte) (MessageDefinition, error)

UnmarshalMessageDefinition unmarshals a MessageDefinition.

func (MessageDefinition) ContainedResources added in v0.0.6

func (r MessageDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MessageDefinition) MarshalJSON

func (r MessageDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MessageDefinition as JSON into a byte slice

func (MessageDefinition) ResourceRef added in v0.0.4

func (r MessageDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type MessageDefinitionAllowedResponse

type MessageDefinitionAllowedResponse struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Message           string      `bson:"message" json:"message"`
	Situation         *string     `bson:"situation,omitempty" json:"situation,omitempty"`
}

Indicates what types of messages may be sent as an application-level response to this message. This indicates an application level response to "close" a transaction implicit in a particular request message. To define a complete workflow scenario, look to the [PlanDefinition] resource which allows the definition of complex orchestrations, conditionality, etc.

type MessageDefinitionFocus

type MessageDefinitionFocus struct {
	Id                *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              ResourceType `bson:"code" json:"code"`
	Profile           *string      `bson:"profile,omitempty" json:"profile,omitempty"`
	Min               int          `bson:"min" json:"min"`
	Max               *string      `bson:"max,omitempty" json:"max,omitempty"`
}

Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge.

type MessageHeader

type MessageHeader struct {
	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"`
	Text              *Narrative                 `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage          `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	EventCoding       Coding                     `bson:"eventCoding" json:"eventCoding"`
	EventUri          string                     `bson:"eventUri" json:"eventUri"`
	Destination       []MessageHeaderDestination `bson:"destination,omitempty" json:"destination,omitempty"`
	Sender            *Reference                 `bson:"sender,omitempty" json:"sender,omitempty"`
	Enterer           *Reference                 `bson:"enterer,omitempty" json:"enterer,omitempty"`
	Author            *Reference                 `bson:"author,omitempty" json:"author,omitempty"`
	Source            MessageHeaderSource        `bson:"source" json:"source"`
	Responsible       *Reference                 `bson:"responsible,omitempty" json:"responsible,omitempty"`
	Reason            *CodeableConcept           `bson:"reason,omitempty" json:"reason,omitempty"`
	Response          *MessageHeaderResponse     `bson:"response,omitempty" json:"response,omitempty"`
	Focus             []Reference                `bson:"focus,omitempty" json:"focus,omitempty"`
	Definition        *string                    `bson:"definition,omitempty" json:"definition,omitempty"`
}

MessageHeader is documented here http://hl7.org/fhir/StructureDefinition/MessageHeader The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.

func UnmarshalMessageHeader

func UnmarshalMessageHeader(b []byte) (MessageHeader, error)

UnmarshalMessageHeader unmarshals a MessageHeader.

func (MessageHeader) ContainedResources added in v0.0.6

func (r MessageHeader) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MessageHeader) MarshalJSON

func (r MessageHeader) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MessageHeader as JSON into a byte slice

func (MessageHeader) ResourceRef added in v0.0.4

func (r MessageHeader) ResourceRef() (string, *string)

This function returns resource reference information

type MessageHeaderDestination

type MessageHeaderDestination struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              *string     `bson:"name,omitempty" json:"name,omitempty"`
	Target            *Reference  `bson:"target,omitempty" json:"target,omitempty"`
	Endpoint          string      `bson:"endpoint" json:"endpoint"`
	Receiver          *Reference  `bson:"receiver,omitempty" json:"receiver,omitempty"`
}

The destination application which the message is intended for. There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system.

type MessageHeaderResponse

type MessageHeaderResponse struct {
	Id                *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        string       `bson:"identifier" json:"identifier"`
	Code              ResponseType `bson:"code" json:"code"`
	Details           *Reference   `bson:"details,omitempty" json:"details,omitempty"`
}

Information about the message that this message is a response to. Only present if this message is a response.

type MessageHeaderSource

type MessageHeaderSource struct {
	Id                *string       `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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" json:"endpoint"`
}

The source application from which this message originated.

type MessageSignificanceCategory

type MessageSignificanceCategory int

MessageSignificanceCategory is documented here http://hl7.org/fhir/ValueSet/message-significance-category

const (
	MessageSignificanceCategoryConsequence MessageSignificanceCategory = iota
	MessageSignificanceCategoryCurrency
	MessageSignificanceCategoryNotification
)

func (MessageSignificanceCategory) Code

func (code MessageSignificanceCategory) Code() string

func (MessageSignificanceCategory) Definition

func (code MessageSignificanceCategory) Definition() string

func (MessageSignificanceCategory) Display

func (code MessageSignificanceCategory) Display() string

func (MessageSignificanceCategory) MarshalJSON

func (code MessageSignificanceCategory) MarshalJSON() ([]byte, error)

func (MessageSignificanceCategory) String

func (code MessageSignificanceCategory) String() string

func (*MessageSignificanceCategory) UnmarshalJSON

func (code *MessageSignificanceCategory) UnmarshalJSON(input []byte) error

type Meta

type Meta struct {
	Id          *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension   []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	VersionId   *string     `bson:"versionId,omitempty" json:"versionId,omitempty"`
	LastUpdated *string     `bson:"lastUpdated,omitempty" json:"lastUpdated,omitempty"`
	Source      *string     `bson:"source,omitempty" json:"source,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"`
}

Meta is documented here http://hl7.org/fhir/StructureDefinition/Meta Base StructureDefinition for Meta Type: The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

type MolecularSequence

type MolecularSequence struct {
	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"`
	Text              *Narrative                          `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                   `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                        `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type              *string                             `bson:"type,omitempty" json:"type,omitempty"`
	CoordinateSystem  int                                 `bson:"coordinateSystem" json:"coordinateSystem"`
	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      *MolecularSequenceReferenceSeq      `bson:"referenceSeq,omitempty" json:"referenceSeq,omitempty"`
	Variant           []MolecularSequenceVariant          `bson:"variant,omitempty" json:"variant,omitempty"`
	ObservedSeq       *string                             `bson:"observedSeq,omitempty" json:"observedSeq,omitempty"`
	Quality           []MolecularSequenceQuality          `bson:"quality,omitempty" json:"quality,omitempty"`
	ReadCoverage      *int                                `bson:"readCoverage,omitempty" json:"readCoverage,omitempty"`
	Repository        []MolecularSequenceRepository       `bson:"repository,omitempty" json:"repository,omitempty"`
	Pointer           []Reference                         `bson:"pointer,omitempty" json:"pointer,omitempty"`
	StructureVariant  []MolecularSequenceStructureVariant `bson:"structureVariant,omitempty" json:"structureVariant,omitempty"`
}

MolecularSequence is documented here http://hl7.org/fhir/StructureDefinition/MolecularSequence Raw data describing a biological sequence.

func UnmarshalMolecularSequence

func UnmarshalMolecularSequence(b []byte) (MolecularSequence, error)

UnmarshalMolecularSequence unmarshals a MolecularSequence.

func (MolecularSequence) ContainedResources added in v0.0.6

func (r MolecularSequence) ContainedResources() []json.RawMessage

This function returns resource reference information

func (MolecularSequence) MarshalJSON

func (r MolecularSequence) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given MolecularSequence as JSON into a byte slice

func (MolecularSequence) ResourceRef added in v0.0.4

func (r MolecularSequence) ResourceRef() (string, *string)

This function returns resource reference information

type MolecularSequenceQuality

type MolecularSequenceQuality struct {
	Id                *string                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              string                       `bson:"type" json:"type"`
	StandardSequence  *CodeableConcept             `bson:"standardSequence,omitempty" json:"standardSequence,omitempty"`
	Start             *int                         `bson:"start,omitempty" json:"start,omitempty"`
	End               *int                         `bson:"end,omitempty" json:"end,omitempty"`
	Score             *Quantity                    `bson:"score,omitempty" json:"score,omitempty"`
	Method            *CodeableConcept             `bson:"method,omitempty" json:"method,omitempty"`
	TruthTP           *json.Number                 `bson:"truthTP,omitempty" json:"truthTP,omitempty"`
	QueryTP           *json.Number                 `bson:"queryTP,omitempty" json:"queryTP,omitempty"`
	TruthFN           *json.Number                 `bson:"truthFN,omitempty" json:"truthFN,omitempty"`
	QueryFP           *json.Number                 `bson:"queryFP,omitempty" json:"queryFP,omitempty"`
	GtFP              *json.Number                 `bson:"gtFP,omitempty" json:"gtFP,omitempty"`
	Precision         *json.Number                 `bson:"precision,omitempty" json:"precision,omitempty"`
	Recall            *json.Number                 `bson:"recall,omitempty" json:"recall,omitempty"`
	FScore            *json.Number                 `bson:"fScore,omitempty" json:"fScore,omitempty"`
	Roc               *MolecularSequenceQualityRoc `bson:"roc,omitempty" json:"roc,omitempty"`
}

An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686)).

type MolecularSequenceQualityRoc

type MolecularSequenceQualityRoc struct {
	Id                *string       `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Score             []int         `bson:"score,omitempty" json:"score,omitempty"`
	NumTP             []int         `bson:"numTP,omitempty" json:"numTP,omitempty"`
	NumFP             []int         `bson:"numFP,omitempty" json:"numFP,omitempty"`
	NumFN             []int         `bson:"numFN,omitempty" json:"numFN,omitempty"`
	Precision         []json.Number `bson:"precision,omitempty" json:"precision,omitempty"`
	Sensitivity       []json.Number `bson:"sensitivity,omitempty" json:"sensitivity,omitempty"`
	FMeasure          []json.Number `bson:"fMeasure,omitempty" json:"fMeasure,omitempty"`
}

Receiver Operator Characteristic (ROC) Curve to give sensitivity/specificity tradeoff.

type MolecularSequenceReferenceSeq

type MolecularSequenceReferenceSeq struct {
	Id                  *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Chromosome          *CodeableConcept `bson:"chromosome,omitempty" json:"chromosome,omitempty"`
	GenomeBuild         *string          `bson:"genomeBuild,omitempty" json:"genomeBuild,omitempty"`
	Orientation         *string          `bson:"orientation,omitempty" json:"orientation,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              *string          `bson:"strand,omitempty" json:"strand,omitempty"`
	WindowStart         *int             `bson:"windowStart,omitempty" json:"windowStart,omitempty"`
	WindowEnd           *int             `bson:"windowEnd,omitempty" json:"windowEnd,omitempty"`
}

A sequence that is used as a reference to describe variants that are present in a sequence analyzed.

type MolecularSequenceRepository

type MolecularSequenceRepository struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              string      `bson:"type" json:"type"`
	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"`
}

Configurations of the external repository. The repository shall store target's observedSeq or records related with target's observedSeq.

type MolecularSequenceStructureVariant

type MolecularSequenceStructureVariant struct {
	Id                *string                                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	VariantType       *CodeableConcept                        `bson:"variantType,omitempty" json:"variantType,omitempty"`
	Exact             *bool                                   `bson:"exact,omitempty" json:"exact,omitempty"`
	Length            *int                                    `bson:"length,omitempty" json:"length,omitempty"`
	Outer             *MolecularSequenceStructureVariantOuter `bson:"outer,omitempty" json:"outer,omitempty"`
	Inner             *MolecularSequenceStructureVariantInner `bson:"inner,omitempty" json:"inner,omitempty"`
}

Information about chromosome structure variation.

type MolecularSequenceStructureVariantInner

type MolecularSequenceStructureVariantInner struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Start             *int        `bson:"start,omitempty" json:"start,omitempty"`
	End               *int        `bson:"end,omitempty" json:"end,omitempty"`
}

Structural variant inner.

type MolecularSequenceStructureVariantOuter

type MolecularSequenceStructureVariantOuter struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Start             *int        `bson:"start,omitempty" json:"start,omitempty"`
	End               *int        `bson:"end,omitempty" json:"end,omitempty"`
}

Structural variant outer.

type MolecularSequenceVariant

type MolecularSequenceVariant struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Start             *int        `bson:"start,omitempty" json:"start,omitempty"`
	End               *int        `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"`
}

The definition of variant here originates from Sequence ontology ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element can represent amino acid or nucleic sequence change(including insertion,deletion,SNP,etc.) It can represent some complex mutation or segment variation with the assist of CIGAR string.

type Money

type Money struct {
	Id        *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	Value     *json.Number `bson:"value,omitempty" json:"value,omitempty"`
	Currency  *string      `bson:"currency,omitempty" json:"currency,omitempty"`
}

Money is documented here http://hl7.org/fhir/StructureDefinition/Money Base StructureDefinition for Money Type: An amount of economic utility in some recognized currency.

type NameUse

type NameUse int

NameUse is documented here http://hl7.org/fhir/ValueSet/name-use

const (
	NameUseUsual NameUse = iota
	NameUseOfficial
	NameUseTemp
	NameUseNickname
	NameUseAnonymous
	NameUseOld
	NameUseMaiden
)

func (NameUse) Code

func (code NameUse) Code() string

func (NameUse) Definition

func (code NameUse) Definition() string

func (NameUse) Display

func (code NameUse) Display() string

func (NameUse) MarshalJSON

func (code NameUse) MarshalJSON() ([]byte, error)

func (NameUse) String

func (code NameUse) String() string

func (*NameUse) UnmarshalJSON

func (code *NameUse) UnmarshalJSON(input []byte) error

type NamingSystem

type NamingSystem struct {
	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"`
	Text              *Narrative             `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string                 `bson:"name" json:"name"`
	Status            PublicationStatus      `bson:"status" json:"status"`
	Kind              NamingSystemType       `bson:"kind" json:"kind"`
	Date              string                 `bson:"date" json:"date"`
	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          []NamingSystemUniqueId `bson:"uniqueId" json:"uniqueId"`
}

NamingSystem is documented here http://hl7.org/fhir/StructureDefinition/NamingSystem A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a "System" used within the Identifier and Coding data types.

func UnmarshalNamingSystem

func UnmarshalNamingSystem(b []byte) (NamingSystem, error)

UnmarshalNamingSystem unmarshals a NamingSystem.

func (NamingSystem) ContainedResources added in v0.0.6

func (r NamingSystem) ContainedResources() []json.RawMessage

This function returns resource reference information

func (NamingSystem) MarshalJSON

func (r NamingSystem) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given NamingSystem as JSON into a byte slice

func (NamingSystem) ResourceRef added in v0.0.4

func (r NamingSystem) ResourceRef() (string, *string)

This function returns resource reference information

type NamingSystemIdentifierType

type NamingSystemIdentifierType int

NamingSystemIdentifierType is documented here http://hl7.org/fhir/ValueSet/namingsystem-identifier-type

const (
	NamingSystemIdentifierTypeOid NamingSystemIdentifierType = iota
	NamingSystemIdentifierTypeUuid
	NamingSystemIdentifierTypeUri
	NamingSystemIdentifierTypeOther
)

func (NamingSystemIdentifierType) Code

func (code NamingSystemIdentifierType) Code() string

func (NamingSystemIdentifierType) Definition

func (code NamingSystemIdentifierType) Definition() string

func (NamingSystemIdentifierType) Display

func (code NamingSystemIdentifierType) Display() string

func (NamingSystemIdentifierType) MarshalJSON

func (code NamingSystemIdentifierType) MarshalJSON() ([]byte, error)

func (NamingSystemIdentifierType) String

func (code NamingSystemIdentifierType) String() string

func (*NamingSystemIdentifierType) UnmarshalJSON

func (code *NamingSystemIdentifierType) UnmarshalJSON(input []byte) error

type NamingSystemType

type NamingSystemType int

NamingSystemType is documented here http://hl7.org/fhir/ValueSet/namingsystem-type

const (
	NamingSystemTypeCodesystem NamingSystemType = iota
	NamingSystemTypeIdentifier
	NamingSystemTypeRoot
)

func (NamingSystemType) Code

func (code NamingSystemType) Code() string

func (NamingSystemType) Definition

func (code NamingSystemType) Definition() string

func (NamingSystemType) Display

func (code NamingSystemType) Display() string

func (NamingSystemType) MarshalJSON

func (code NamingSystemType) MarshalJSON() ([]byte, error)

func (NamingSystemType) String

func (code NamingSystemType) String() string

func (*NamingSystemType) UnmarshalJSON

func (code *NamingSystemType) UnmarshalJSON(input []byte) error

type NamingSystemUniqueId

type NamingSystemUniqueId struct {
	Id                *string                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              NamingSystemIdentifierType `bson:"type" json:"type"`
	Value             string                     `bson:"value" json:"value"`
	Preferred         *bool                      `bson:"preferred,omitempty" json:"preferred,omitempty"`
	Comment           *string                    `bson:"comment,omitempty" json:"comment,omitempty"`
	Period            *Period                    `bson:"period,omitempty" json:"period,omitempty"`
}

Indicates how the system may be identified when referenced in electronic exchange. Multiple identifiers may exist, either due to duplicate registration, regional rules, needs of different communication technologies, etc.

type Narrative

type Narrative struct {
	Id        *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	Status    NarrativeStatus `bson:"status" json:"status"`
	Div       string          `bson:"div" json:"div"`
}

Narrative is documented here http://hl7.org/fhir/StructureDefinition/Narrative Base StructureDefinition for Narrative Type: A human-readable summary of the resource conveying the essential clinical and business information for the resource.

type NarrativeStatus

type NarrativeStatus int

NarrativeStatus is documented here http://hl7.org/fhir/ValueSet/narrative-status

const (
	NarrativeStatusGenerated NarrativeStatus = iota
	NarrativeStatusExtensions
	NarrativeStatusAdditional
	NarrativeStatusEmpty
)

func (NarrativeStatus) Code

func (code NarrativeStatus) Code() string

func (NarrativeStatus) Definition

func (code NarrativeStatus) Definition() string

func (NarrativeStatus) Display

func (code NarrativeStatus) Display() string

func (NarrativeStatus) MarshalJSON

func (code NarrativeStatus) MarshalJSON() ([]byte, error)

func (NarrativeStatus) String

func (code NarrativeStatus) String() string

func (*NarrativeStatus) UnmarshalJSON

func (code *NarrativeStatus) UnmarshalJSON(input []byte) error

type NoteType

type NoteType int

NoteType is documented here http://hl7.org/fhir/ValueSet/note-type

const (
	NoteTypeDisplay NoteType = iota
	NoteTypePrint
	NoteTypePrintoper
)

func (NoteType) Code

func (code NoteType) Code() string

func (NoteType) Definition

func (code NoteType) Definition() string

func (NoteType) Display

func (code NoteType) Display() string

func (NoteType) MarshalJSON

func (code NoteType) MarshalJSON() ([]byte, error)

func (NoteType) String

func (code NoteType) String() string

func (*NoteType) UnmarshalJSON

func (code *NoteType) UnmarshalJSON(input []byte) error

type NutritionOrder

type NutritionOrder struct {
	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"`
	Text                   *Narrative                    `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage             `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier             []Identifier                  `bson:"identifier,omitempty" json:"identifier,omitempty"`
	InstantiatesCanonical  []string                      `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri        []string                      `bson:"instantiatesUri,omitempty" json:"instantiatesUri,omitempty"`
	Instantiates           []string                      `bson:"instantiates,omitempty" json:"instantiates,omitempty"`
	Status                 RequestStatus                 `bson:"status" json:"status"`
	Intent                 RequestIntent                 `bson:"intent" json:"intent"`
	Patient                Reference                     `bson:"patient" json:"patient"`
	Encounter              *Reference                    `bson:"encounter,omitempty" json:"encounter,omitempty"`
	DateTime               string                        `bson:"dateTime" json:"dateTime"`
	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               *NutritionOrderOralDiet       `bson:"oralDiet,omitempty" json:"oralDiet,omitempty"`
	Supplement             []NutritionOrderSupplement    `bson:"supplement,omitempty" json:"supplement,omitempty"`
	EnteralFormula         *NutritionOrderEnteralFormula `bson:"enteralFormula,omitempty" json:"enteralFormula,omitempty"`
	Note                   []Annotation                  `bson:"note,omitempty" json:"note,omitempty"`
}

NutritionOrder is documented here http://hl7.org/fhir/StructureDefinition/NutritionOrder A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.

func UnmarshalNutritionOrder

func UnmarshalNutritionOrder(b []byte) (NutritionOrder, error)

UnmarshalNutritionOrder unmarshals a NutritionOrder.

func (NutritionOrder) ContainedResources added in v0.0.6

func (r NutritionOrder) ContainedResources() []json.RawMessage

This function returns resource reference information

func (NutritionOrder) MarshalJSON

func (r NutritionOrder) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given NutritionOrder as JSON into a byte slice

func (NutritionOrder) ResourceRef added in v0.0.4

func (r NutritionOrder) ResourceRef() (string, *string)

This function returns resource reference information

type NutritionOrderEnteralFormula

type NutritionOrderEnteralFormula struct {
	Id                        *string                                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension                 []Extension                                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension                                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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            []NutritionOrderEnteralFormulaAdministration `bson:"administration,omitempty" json:"administration,omitempty"`
	MaxVolumeToDeliver        *Quantity                                    `bson:"maxVolumeToDeliver,omitempty" json:"maxVolumeToDeliver,omitempty"`
	AdministrationInstruction *string                                      `bson:"administrationInstruction,omitempty" json:"administrationInstruction,omitempty"`
}

Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity.

type NutritionOrderEnteralFormulaAdministration

type NutritionOrderEnteralFormulaAdministration struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Schedule          *Timing     `bson:"schedule,omitempty" json:"schedule,omitempty"`
	Quantity          *Quantity   `bson:"quantity,omitempty" json:"quantity,omitempty"`
	RateQuantity      *Quantity   `bson:"rateQuantity,omitempty" json:"rateQuantity,omitempty"`
	RateRatio         *Ratio      `bson:"rateRatio,omitempty" json:"rateRatio,omitempty"`
}

Formula administration instructions as structured data. This repeating structure allows for changing the administration rate or volume over time for both bolus and continuous feeding. An example of this would be an instruction to increase the rate of continuous feeding every 2 hours. See implementation notes below for further discussion on how to order continuous vs bolus enteral feeding using this resource.

type NutritionOrderOralDiet

type NutritionOrderOralDiet struct {
	Id                   *string                          `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension                      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension                      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type                 []CodeableConcept                `bson:"type,omitempty" json:"type,omitempty"`
	Schedule             []Timing                         `bson:"schedule,omitempty" json:"schedule,omitempty"`
	Nutrient             []NutritionOrderOralDietNutrient `bson:"nutrient,omitempty" json:"nutrient,omitempty"`
	Texture              []NutritionOrderOralDietTexture  `bson:"texture,omitempty" json:"texture,omitempty"`
	FluidConsistencyType []CodeableConcept                `bson:"fluidConsistencyType,omitempty" json:"fluidConsistencyType,omitempty"`
	Instruction          *string                          `bson:"instruction,omitempty" json:"instruction,omitempty"`
}

Diet given orally in contrast to enteral (tube) feeding.

type NutritionOrderOralDietNutrient

type NutritionOrderOralDietNutrient struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Modifier          *CodeableConcept `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Amount            *Quantity        `bson:"amount,omitempty" json:"amount,omitempty"`
}

Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet.

type NutritionOrderOralDietTexture

type NutritionOrderOralDietTexture struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Modifier          *CodeableConcept `bson:"modifier,omitempty" json:"modifier,omitempty"`
	FoodType          *CodeableConcept `bson:"foodType,omitempty" json:"foodType,omitempty"`
}

Class that describes any texture modifications required for the patient to safely consume various types of solid foods.

type NutritionOrderSupplement

type NutritionOrderSupplement struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
}

Oral nutritional products given in order to add further nutritional value to the patient's diet.

type Observation

type Observation struct {
	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"`
	Text                 *Narrative                  `bson:"text,omitempty" json:"text,omitempty"`
	Contained            []json.RawMessage           `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension            []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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               ObservationStatus           `bson:"status" json:"status"`
	Category             []CodeableConcept           `bson:"category,omitempty" json:"category,omitempty"`
	Code                 CodeableConcept             `bson:"code" json:"code"`
	Subject              *Reference                  `bson:"subject,omitempty" json:"subject,omitempty"`
	Focus                []Reference                 `bson:"focus,omitempty" json:"focus,omitempty"`
	Encounter            *Reference                  `bson:"encounter,omitempty" json:"encounter,omitempty"`
	EffectiveDateTime    *string                     `bson:"effectiveDateTime,omitempty" json:"effectiveDateTime,omitempty"`
	EffectivePeriod      *Period                     `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	EffectiveTiming      *Timing                     `bson:"effectiveTiming,omitempty" json:"effectiveTiming,omitempty"`
	EffectiveInstant     *string                     `bson:"effectiveInstant,omitempty" json:"effectiveInstant,omitempty"`
	Issued               *string                     `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"`
	ValueInteger         *int                        `bson:"valueInteger,omitempty" json:"valueInteger,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"`
	ValueTime            *string                     `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueDateTime        *string                     `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"`
	Note                 []Annotation                `bson:"note,omitempty" json:"note,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       []ObservationReferenceRange `bson:"referenceRange,omitempty" json:"referenceRange,omitempty"`
	HasMember            []Reference                 `bson:"hasMember,omitempty" json:"hasMember,omitempty"`
	DerivedFrom          []Reference                 `bson:"derivedFrom,omitempty" json:"derivedFrom,omitempty"`
	Component            []ObservationComponent      `bson:"component,omitempty" json:"component,omitempty"`
}

Observation is documented here http://hl7.org/fhir/StructureDefinition/Observation Measurements and simple assertions made about a patient, device or other subject.

func UnmarshalObservation

func UnmarshalObservation(b []byte) (Observation, error)

UnmarshalObservation unmarshals a Observation.

func (Observation) ContainedResources added in v0.0.6

func (r Observation) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Observation) MarshalJSON

func (r Observation) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Observation as JSON into a byte slice

func (Observation) ResourceRef added in v0.0.4

func (r Observation) ResourceRef() (string, *string)

This function returns resource reference information

type ObservationComponent

type ObservationComponent struct {
	Id                   *string                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code                 CodeableConcept             `bson:"code" json:"code"`
	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"`
	ValueInteger         *int                        `bson:"valueInteger,omitempty" json:"valueInteger,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"`
	ValueTime            *string                     `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueDateTime        *string                     `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       []ObservationReferenceRange `bson:"referenceRange,omitempty" json:"referenceRange,omitempty"`
}

Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations. For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.

type ObservationDataType

type ObservationDataType int

ObservationDataType is documented here http://hl7.org/fhir/ValueSet/permitted-data-type

const (
	ObservationDataTypeQuantity ObservationDataType = iota
	ObservationDataTypeCodeableConcept
	ObservationDataTypeString
	ObservationDataTypeBoolean
	ObservationDataTypeInteger
	ObservationDataTypeRange
	ObservationDataTypeRatio
	ObservationDataTypeSampledData
	ObservationDataTypeTime
	ObservationDataTypeDateTime
	ObservationDataTypePeriod
)

func (ObservationDataType) Code

func (code ObservationDataType) Code() string

func (ObservationDataType) Definition

func (code ObservationDataType) Definition() string

func (ObservationDataType) Display

func (code ObservationDataType) Display() string

func (ObservationDataType) MarshalJSON

func (code ObservationDataType) MarshalJSON() ([]byte, error)

func (ObservationDataType) String

func (code ObservationDataType) String() string

func (*ObservationDataType) UnmarshalJSON

func (code *ObservationDataType) UnmarshalJSON(input []byte) error

type ObservationDefinition

type ObservationDefinition struct {
	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"`
	Text                   *Narrative                                `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage                         `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension                               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension                               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Category               []CodeableConcept                         `bson:"category,omitempty" json:"category,omitempty"`
	Code                   CodeableConcept                           `bson:"code" json:"code"`
	Identifier             []Identifier                              `bson:"identifier,omitempty" json:"identifier,omitempty"`
	PermittedDataType      []ObservationDataType                     `bson:"permittedDataType,omitempty" json:"permittedDataType,omitempty"`
	MultipleResultsAllowed *bool                                     `bson:"multipleResultsAllowed,omitempty" json:"multipleResultsAllowed,omitempty"`
	Method                 *CodeableConcept                          `bson:"method,omitempty" json:"method,omitempty"`
	PreferredReportName    *string                                   `bson:"preferredReportName,omitempty" json:"preferredReportName,omitempty"`
	QuantitativeDetails    *ObservationDefinitionQuantitativeDetails `bson:"quantitativeDetails,omitempty" json:"quantitativeDetails,omitempty"`
	QualifiedInterval      []ObservationDefinitionQualifiedInterval  `bson:"qualifiedInterval,omitempty" json:"qualifiedInterval,omitempty"`
	ValidCodedValueSet     *Reference                                `bson:"validCodedValueSet,omitempty" json:"validCodedValueSet,omitempty"`
	NormalCodedValueSet    *Reference                                `bson:"normalCodedValueSet,omitempty" json:"normalCodedValueSet,omitempty"`
	AbnormalCodedValueSet  *Reference                                `bson:"abnormalCodedValueSet,omitempty" json:"abnormalCodedValueSet,omitempty"`
	CriticalCodedValueSet  *Reference                                `bson:"criticalCodedValueSet,omitempty" json:"criticalCodedValueSet,omitempty"`
}

ObservationDefinition is documented here http://hl7.org/fhir/StructureDefinition/ObservationDefinition Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.

func UnmarshalObservationDefinition

func UnmarshalObservationDefinition(b []byte) (ObservationDefinition, error)

UnmarshalObservationDefinition unmarshals a ObservationDefinition.

func (ObservationDefinition) ContainedResources added in v0.0.6

func (r ObservationDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ObservationDefinition) MarshalJSON

func (r ObservationDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ObservationDefinition as JSON into a byte slice

func (ObservationDefinition) ResourceRef added in v0.0.4

func (r ObservationDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type ObservationDefinitionQualifiedInterval

type ObservationDefinitionQualifiedInterval struct {
	Id                *string                   `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Category          *ObservationRangeCategory `bson:"category,omitempty" json:"category,omitempty"`
	Range             *Range                    `bson:"range,omitempty" json:"range,omitempty"`
	Context           *CodeableConcept          `bson:"context,omitempty" json:"context,omitempty"`
	AppliesTo         []CodeableConcept         `bson:"appliesTo,omitempty" json:"appliesTo,omitempty"`
	Gender            *AdministrativeGender     `bson:"gender,omitempty" json:"gender,omitempty"`
	Age               *Range                    `bson:"age,omitempty" json:"age,omitempty"`
	GestationalAge    *Range                    `bson:"gestationalAge,omitempty" json:"gestationalAge,omitempty"`
	Condition         *string                   `bson:"condition,omitempty" json:"condition,omitempty"`
}

Multiple ranges of results qualified by different contexts for ordinal or continuous observations conforming to this ObservationDefinition.

type ObservationDefinitionQuantitativeDetails

type ObservationDefinitionQuantitativeDetails struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	CustomaryUnit     *CodeableConcept `bson:"customaryUnit,omitempty" json:"customaryUnit,omitempty"`
	Unit              *CodeableConcept `bson:"unit,omitempty" json:"unit,omitempty"`
	ConversionFactor  *json.Number     `bson:"conversionFactor,omitempty" json:"conversionFactor,omitempty"`
	DecimalPrecision  *int             `bson:"decimalPrecision,omitempty" json:"decimalPrecision,omitempty"`
}

Characteristics for quantitative results of this observation.

type ObservationRangeCategory

type ObservationRangeCategory int

ObservationRangeCategory is documented here http://hl7.org/fhir/ValueSet/observation-range-category

const (
	ObservationRangeCategoryReference ObservationRangeCategory = iota
	ObservationRangeCategoryCritical
	ObservationRangeCategoryAbsolute
)

func (ObservationRangeCategory) Code

func (code ObservationRangeCategory) Code() string

func (ObservationRangeCategory) Definition

func (code ObservationRangeCategory) Definition() string

func (ObservationRangeCategory) Display

func (code ObservationRangeCategory) Display() string

func (ObservationRangeCategory) MarshalJSON

func (code ObservationRangeCategory) MarshalJSON() ([]byte, error)

func (ObservationRangeCategory) String

func (code ObservationRangeCategory) String() string

func (*ObservationRangeCategory) UnmarshalJSON

func (code *ObservationRangeCategory) UnmarshalJSON(input []byte) error

type ObservationReferenceRange

type ObservationReferenceRange struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
}

Guidance on how to interpret the value by comparison to a normal or recommended range. Multiple reference ranges are interpreted as an "OR". In other words, to represent two distinct target populations, two `referenceRange` elements would be used. Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.

type ObservationStatus

type ObservationStatus int

ObservationStatus is documented here http://hl7.org/fhir/ValueSet/observation-status

const (
	ObservationStatusRegistered ObservationStatus = iota
	ObservationStatusPreliminary
	ObservationStatusFinal
	ObservationStatusAmended
	ObservationStatusCorrected
	ObservationStatusCancelled
	ObservationStatusEnteredInError
	ObservationStatusUnknown
)

func (ObservationStatus) Code

func (code ObservationStatus) Code() string

func (ObservationStatus) Definition

func (code ObservationStatus) Definition() string

func (ObservationStatus) Display

func (code ObservationStatus) Display() string

func (ObservationStatus) MarshalJSON

func (code ObservationStatus) MarshalJSON() ([]byte, error)

func (ObservationStatus) String

func (code ObservationStatus) String() string

func (*ObservationStatus) UnmarshalJSON

func (code *ObservationStatus) UnmarshalJSON(input []byte) error

type OperationDefinition

type OperationDefinition struct {
	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"`
	Text              *Narrative                     `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage              `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Url               *string                        `bson:"url,omitempty" json:"url,omitempty"`
	Version           *string                        `bson:"version,omitempty" json:"version,omitempty"`
	Name              string                         `bson:"name" json:"name"`
	Title             *string                        `bson:"title,omitempty" json:"title,omitempty"`
	Status            PublicationStatus              `bson:"status" json:"status"`
	Kind              OperationKind                  `bson:"kind" json:"kind"`
	Experimental      *bool                          `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string                        `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"`
	AffectsState      *bool                          `bson:"affectsState,omitempty" json:"affectsState,omitempty"`
	Code              string                         `bson:"code" json:"code"`
	Comment           *string                        `bson:"comment,omitempty" json:"comment,omitempty"`
	Base              *string                        `bson:"base,omitempty" json:"base,omitempty"`
	Resource          []ResourceType                 `bson:"resource,omitempty" json:"resource,omitempty"`
	System            bool                           `bson:"system" json:"system"`
	Type              bool                           `bson:"type" json:"type"`
	Instance          bool                           `bson:"instance" json:"instance"`
	InputProfile      *string                        `bson:"inputProfile,omitempty" json:"inputProfile,omitempty"`
	OutputProfile     *string                        `bson:"outputProfile,omitempty" json:"outputProfile,omitempty"`
	Parameter         []OperationDefinitionParameter `bson:"parameter,omitempty" json:"parameter,omitempty"`
	Overload          []OperationDefinitionOverload  `bson:"overload,omitempty" json:"overload,omitempty"`
}

OperationDefinition is documented here http://hl7.org/fhir/StructureDefinition/OperationDefinition A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).

func UnmarshalOperationDefinition

func UnmarshalOperationDefinition(b []byte) (OperationDefinition, error)

UnmarshalOperationDefinition unmarshals a OperationDefinition.

func (OperationDefinition) ContainedResources added in v0.0.6

func (r OperationDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (OperationDefinition) MarshalJSON

func (r OperationDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given OperationDefinition as JSON into a byte slice

func (OperationDefinition) ResourceRef added in v0.0.4

func (r OperationDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type OperationDefinitionOverload

type OperationDefinitionOverload struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ParameterName     []string    `bson:"parameterName,omitempty" json:"parameterName,omitempty"`
	Comment           *string     `bson:"comment,omitempty" json:"comment,omitempty"`
}

Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation. The combinations are suggestions as to which sets of parameters to use together, but the combinations are not intended to be authoritative.

type OperationDefinitionParameter

type OperationDefinitionParameter struct {
	Id                *string                                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string                                       `bson:"name" json:"name"`
	Use               OperationParameterUse                        `bson:"use" json:"use"`
	Min               int                                          `bson:"min" json:"min"`
	Max               string                                       `bson:"max" json:"max"`
	Documentation     *string                                      `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Type              *string                                      `bson:"type,omitempty" json:"type,omitempty"`
	TargetProfile     []string                                     `bson:"targetProfile,omitempty" json:"targetProfile,omitempty"`
	SearchType        *SearchParamType                             `bson:"searchType,omitempty" json:"searchType,omitempty"`
	Binding           *OperationDefinitionParameterBinding         `bson:"binding,omitempty" json:"binding,omitempty"`
	ReferencedFrom    []OperationDefinitionParameterReferencedFrom `bson:"referencedFrom,omitempty" json:"referencedFrom,omitempty"`
	Part              []OperationDefinitionParameter               `bson:"part,omitempty" json:"part,omitempty"`
}

The parameters for the operation/query. Query Definitions only have one output parameter, named "result". This might not be described, but can be to allow a profile to be defined.

type OperationDefinitionParameterBinding

type OperationDefinitionParameterBinding struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Strength          BindingStrength `bson:"strength" json:"strength"`
	ValueSet          string          `bson:"valueSet" json:"valueSet"`
}

Binds to a value set if this parameter is coded (code, Coding, CodeableConcept).

type OperationDefinitionParameterReferencedFrom

type OperationDefinitionParameterReferencedFrom struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Source            string      `bson:"source" json:"source"`
	SourceId          *string     `bson:"sourceId,omitempty" json:"sourceId,omitempty"`
}

Identifies other resource parameters within the operation invocation that are expected to resolve to this resource. Resolution applies if the referenced parameter exists.

type OperationKind

type OperationKind int

OperationKind is documented here http://hl7.org/fhir/ValueSet/operation-kind

const (
	OperationKindOperation OperationKind = iota
	OperationKindQuery
)

func (OperationKind) Code

func (code OperationKind) Code() string

func (OperationKind) Definition

func (code OperationKind) Definition() string

func (OperationKind) Display

func (code OperationKind) Display() string

func (OperationKind) MarshalJSON

func (code OperationKind) MarshalJSON() ([]byte, error)

func (OperationKind) String

func (code OperationKind) String() string

func (*OperationKind) UnmarshalJSON

func (code *OperationKind) UnmarshalJSON(input []byte) error

type OperationOutcome

type OperationOutcome struct {
	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"`
	Text              *Narrative              `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage       `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Issue             []OperationOutcomeIssue `bson:"issue" json:"issue"`
}

OperationOutcome is documented here http://hl7.org/fhir/StructureDefinition/OperationOutcome A collection of error, warning, or information messages that result from a system action.

func UnmarshalOperationOutcome

func UnmarshalOperationOutcome(b []byte) (OperationOutcome, error)

UnmarshalOperationOutcome unmarshals a OperationOutcome.

func (OperationOutcome) ContainedResources added in v0.0.6

func (r OperationOutcome) ContainedResources() []json.RawMessage

This function returns resource reference information

func (OperationOutcome) MarshalJSON

func (r OperationOutcome) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given OperationOutcome as JSON into a byte slice

func (OperationOutcome) ResourceRef added in v0.0.4

func (r OperationOutcome) ResourceRef() (string, *string)

This function returns resource reference information

type OperationOutcomeIssue

type OperationOutcomeIssue struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Severity          IssueSeverity    `bson:"severity" json:"severity"`
	Code              IssueType        `bson:"code" json:"code"`
	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"`
}

An error, warning, or information message that results from a system action.

type OperationParameterUse

type OperationParameterUse int

OperationParameterUse is documented here http://hl7.org/fhir/ValueSet/operation-parameter-use

const (
	OperationParameterUseIn OperationParameterUse = iota
	OperationParameterUseOut
)

func (OperationParameterUse) Code

func (code OperationParameterUse) Code() string

func (OperationParameterUse) Definition

func (code OperationParameterUse) Definition() string

func (OperationParameterUse) Display

func (code OperationParameterUse) Display() string

func (OperationParameterUse) MarshalJSON

func (code OperationParameterUse) MarshalJSON() ([]byte, error)

func (OperationParameterUse) String

func (code OperationParameterUse) String() string

func (*OperationParameterUse) UnmarshalJSON

func (code *OperationParameterUse) UnmarshalJSON(input []byte) error

type Organization

type Organization struct {
	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"`
	Text              *Narrative            `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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           []OrganizationContact `bson:"contact,omitempty" json:"contact,omitempty"`
	Endpoint          []Reference           `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
}

Organization is documented here http://hl7.org/fhir/StructureDefinition/Organization A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.

func UnmarshalOrganization

func UnmarshalOrganization(b []byte) (Organization, error)

UnmarshalOrganization unmarshals a Organization.

func (Organization) ContainedResources added in v0.0.6

func (r Organization) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Organization) MarshalJSON

func (r Organization) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Organization as JSON into a byte slice

func (Organization) ResourceRef added in v0.0.4

func (r Organization) ResourceRef() (string, *string)

This function returns resource reference information

type OrganizationAffiliation

type OrganizationAffiliation struct {
	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"`
	Text                      *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained                 []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension                 []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier                []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active                    *bool             `bson:"active,omitempty" json:"active,omitempty"`
	Period                    *Period           `bson:"period,omitempty" json:"period,omitempty"`
	Organization              *Reference        `bson:"organization,omitempty" json:"organization,omitempty"`
	ParticipatingOrganization *Reference        `bson:"participatingOrganization,omitempty" json:"participatingOrganization,omitempty"`
	Network                   []Reference       `bson:"network,omitempty" json:"network,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"`
	Endpoint                  []Reference       `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
}

OrganizationAffiliation is documented here http://hl7.org/fhir/StructureDefinition/OrganizationAffiliation Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.

func UnmarshalOrganizationAffiliation

func UnmarshalOrganizationAffiliation(b []byte) (OrganizationAffiliation, error)

UnmarshalOrganizationAffiliation unmarshals a OrganizationAffiliation.

func (OrganizationAffiliation) ContainedResources added in v0.0.6

func (r OrganizationAffiliation) ContainedResources() []json.RawMessage

This function returns resource reference information

func (OrganizationAffiliation) MarshalJSON

func (r OrganizationAffiliation) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given OrganizationAffiliation as JSON into a byte slice

func (OrganizationAffiliation) ResourceRef added in v0.0.4

func (r OrganizationAffiliation) ResourceRef() (string, *string)

This function returns resource reference information

type OrganizationContact

type OrganizationContact struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
}

Contact for the organization for a certain purpose. Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use.

type OtherAccount

type OtherAccount Account

type OtherActivityDefinition

type OtherActivityDefinition ActivityDefinition

type OtherAdverseEvent

type OtherAdverseEvent AdverseEvent

type OtherAllergyIntolerance

type OtherAllergyIntolerance AllergyIntolerance

type OtherAppointment

type OtherAppointment Appointment

type OtherAppointmentResponse

type OtherAppointmentResponse AppointmentResponse

type OtherAuditEvent

type OtherAuditEvent AuditEvent

type OtherBasic

type OtherBasic Basic

type OtherBinary

type OtherBinary Binary

type OtherBiologicallyDerivedProduct

type OtherBiologicallyDerivedProduct BiologicallyDerivedProduct

type OtherBodyStructure

type OtherBodyStructure BodyStructure

type OtherBundle

type OtherBundle Bundle

type OtherCapabilityStatement

type OtherCapabilityStatement CapabilityStatement

type OtherCarePlan

type OtherCarePlan CarePlan

type OtherCareTeam

type OtherCareTeam CareTeam

type OtherCatalogEntry

type OtherCatalogEntry CatalogEntry

type OtherChargeItem

type OtherChargeItem ChargeItem

type OtherChargeItemDefinition

type OtherChargeItemDefinition ChargeItemDefinition

type OtherClaim

type OtherClaim Claim

type OtherClaimResponse

type OtherClaimResponse ClaimResponse

type OtherClinicalImpression

type OtherClinicalImpression ClinicalImpression

type OtherCodeSystem

type OtherCodeSystem CodeSystem

type OtherCommunication

type OtherCommunication Communication

type OtherCommunicationRequest

type OtherCommunicationRequest CommunicationRequest

type OtherCompartmentDefinition

type OtherCompartmentDefinition CompartmentDefinition

type OtherComposition

type OtherComposition Composition

type OtherConceptMap

type OtherConceptMap ConceptMap

type OtherCondition

type OtherCondition Condition

type OtherConsent

type OtherConsent Consent

type OtherContract

type OtherContract Contract

type OtherCoverage

type OtherCoverage Coverage

type OtherCoverageEligibilityRequest

type OtherCoverageEligibilityRequest CoverageEligibilityRequest

type OtherCoverageEligibilityResponse

type OtherCoverageEligibilityResponse CoverageEligibilityResponse

type OtherDetectedIssue

type OtherDetectedIssue DetectedIssue

type OtherDevice

type OtherDevice Device

type OtherDeviceDefinition

type OtherDeviceDefinition DeviceDefinition

type OtherDeviceMetric

type OtherDeviceMetric DeviceMetric

type OtherDeviceRequest

type OtherDeviceRequest DeviceRequest

type OtherDeviceUseStatement

type OtherDeviceUseStatement DeviceUseStatement

type OtherDiagnosticReport

type OtherDiagnosticReport DiagnosticReport

type OtherDocumentManifest

type OtherDocumentManifest DocumentManifest

type OtherDocumentReference

type OtherDocumentReference DocumentReference

type OtherDomainResource

type OtherDomainResource DomainResource

type OtherEffectEvidenceSynthesis

type OtherEffectEvidenceSynthesis EffectEvidenceSynthesis

type OtherEncounter

type OtherEncounter Encounter

type OtherEndpoint

type OtherEndpoint Endpoint

type OtherEnrollmentRequest

type OtherEnrollmentRequest EnrollmentRequest

type OtherEnrollmentResponse

type OtherEnrollmentResponse EnrollmentResponse

type OtherEpisodeOfCare

type OtherEpisodeOfCare EpisodeOfCare

type OtherEventDefinition

type OtherEventDefinition EventDefinition

type OtherEvidence

type OtherEvidence Evidence

type OtherEvidenceVariable

type OtherEvidenceVariable EvidenceVariable

type OtherExampleScenario

type OtherExampleScenario ExampleScenario

type OtherExplanationOfBenefit

type OtherExplanationOfBenefit ExplanationOfBenefit

type OtherFamilyMemberHistory

type OtherFamilyMemberHistory FamilyMemberHistory

type OtherFlag

type OtherFlag Flag

type OtherGoal

type OtherGoal Goal

type OtherGraphDefinition

type OtherGraphDefinition GraphDefinition

type OtherGroup

type OtherGroup Group

type OtherGuidanceResponse

type OtherGuidanceResponse GuidanceResponse

type OtherHealthcareService

type OtherHealthcareService HealthcareService

type OtherImagingStudy

type OtherImagingStudy ImagingStudy

type OtherImmunization

type OtherImmunization Immunization

type OtherImmunizationEvaluation

type OtherImmunizationEvaluation ImmunizationEvaluation

type OtherImmunizationRecommendation

type OtherImmunizationRecommendation ImmunizationRecommendation

type OtherImplementationGuide

type OtherImplementationGuide ImplementationGuide

type OtherInsurancePlan

type OtherInsurancePlan InsurancePlan

type OtherInvoice

type OtherInvoice Invoice

type OtherLibrary

type OtherLibrary Library

type OtherLinkage

type OtherLinkage Linkage

type OtherList

type OtherList List

type OtherLocation

type OtherLocation Location

type OtherMeasure

type OtherMeasure Measure

type OtherMeasureReport

type OtherMeasureReport MeasureReport

type OtherMedia

type OtherMedia Media

type OtherMedication

type OtherMedication Medication

type OtherMedicationAdministration

type OtherMedicationAdministration MedicationAdministration

type OtherMedicationDispense

type OtherMedicationDispense MedicationDispense

type OtherMedicationKnowledge

type OtherMedicationKnowledge MedicationKnowledge

type OtherMedicationRequest

type OtherMedicationRequest MedicationRequest

type OtherMedicationStatement

type OtherMedicationStatement MedicationStatement

type OtherMedicinalProduct

type OtherMedicinalProduct MedicinalProduct

type OtherMedicinalProductAuthorization

type OtherMedicinalProductAuthorization MedicinalProductAuthorization

type OtherMedicinalProductContraindication

type OtherMedicinalProductContraindication MedicinalProductContraindication

type OtherMedicinalProductIndication

type OtherMedicinalProductIndication MedicinalProductIndication

type OtherMedicinalProductIngredient

type OtherMedicinalProductIngredient MedicinalProductIngredient

type OtherMedicinalProductInteraction

type OtherMedicinalProductInteraction MedicinalProductInteraction

type OtherMedicinalProductManufactured

type OtherMedicinalProductManufactured MedicinalProductManufactured

type OtherMedicinalProductPackaged

type OtherMedicinalProductPackaged MedicinalProductPackaged

type OtherMedicinalProductPharmaceutical

type OtherMedicinalProductPharmaceutical MedicinalProductPharmaceutical

type OtherMedicinalProductUndesirableEffect

type OtherMedicinalProductUndesirableEffect MedicinalProductUndesirableEffect

type OtherMessageDefinition

type OtherMessageDefinition MessageDefinition

type OtherMessageHeader

type OtherMessageHeader MessageHeader

type OtherMolecularSequence

type OtherMolecularSequence MolecularSequence

type OtherNamingSystem

type OtherNamingSystem NamingSystem

type OtherNutritionOrder

type OtherNutritionOrder NutritionOrder

type OtherObservation

type OtherObservation Observation

type OtherObservationDefinition

type OtherObservationDefinition ObservationDefinition

type OtherOperationDefinition

type OtherOperationDefinition OperationDefinition

type OtherOperationOutcome

type OtherOperationOutcome OperationOutcome

type OtherOrganization

type OtherOrganization Organization

type OtherOrganizationAffiliation

type OtherOrganizationAffiliation OrganizationAffiliation

type OtherParameters

type OtherParameters Parameters

type OtherPatient

type OtherPatient Patient

type OtherPaymentNotice

type OtherPaymentNotice PaymentNotice

type OtherPaymentReconciliation

type OtherPaymentReconciliation PaymentReconciliation

type OtherPerson

type OtherPerson Person

type OtherPlanDefinition

type OtherPlanDefinition PlanDefinition

type OtherPractitioner

type OtherPractitioner Practitioner

type OtherPractitionerRole

type OtherPractitionerRole PractitionerRole

type OtherProcedure

type OtherProcedure Procedure

type OtherProvenance

type OtherProvenance Provenance

type OtherQuestionnaire

type OtherQuestionnaire Questionnaire

type OtherQuestionnaireResponse

type OtherQuestionnaireResponse QuestionnaireResponse

type OtherRelatedPerson

type OtherRelatedPerson RelatedPerson

type OtherRequestGroup

type OtherRequestGroup RequestGroup

type OtherResearchDefinition

type OtherResearchDefinition ResearchDefinition

type OtherResearchElementDefinition

type OtherResearchElementDefinition ResearchElementDefinition

type OtherResearchStudy

type OtherResearchStudy ResearchStudy

type OtherResearchSubject

type OtherResearchSubject ResearchSubject

type OtherResource

type OtherResource Resource

type OtherRiskAssessment

type OtherRiskAssessment RiskAssessment

type OtherRiskEvidenceSynthesis

type OtherRiskEvidenceSynthesis RiskEvidenceSynthesis

type OtherSchedule

type OtherSchedule Schedule

type OtherSearchParameter

type OtherSearchParameter SearchParameter

type OtherServiceRequest

type OtherServiceRequest ServiceRequest

type OtherSlot

type OtherSlot Slot

type OtherSpecimen

type OtherSpecimen Specimen

type OtherSpecimenDefinition

type OtherSpecimenDefinition SpecimenDefinition

type OtherStructureDefinition

type OtherStructureDefinition StructureDefinition

type OtherStructureMap

type OtherStructureMap StructureMap

type OtherSubscription

type OtherSubscription Subscription

type OtherSubstance

type OtherSubstance Substance

type OtherSubstanceNucleicAcid

type OtherSubstanceNucleicAcid SubstanceNucleicAcid

type OtherSubstancePolymer

type OtherSubstancePolymer SubstancePolymer

type OtherSubstanceProtein

type OtherSubstanceProtein SubstanceProtein

type OtherSubstanceReferenceInformation

type OtherSubstanceReferenceInformation SubstanceReferenceInformation

type OtherSubstanceSourceMaterial

type OtherSubstanceSourceMaterial SubstanceSourceMaterial

type OtherSubstanceSpecification

type OtherSubstanceSpecification SubstanceSpecification

type OtherSupplyDelivery

type OtherSupplyDelivery SupplyDelivery

type OtherSupplyRequest

type OtherSupplyRequest SupplyRequest

type OtherTask

type OtherTask Task

type OtherTerminologyCapabilities

type OtherTerminologyCapabilities TerminologyCapabilities

type OtherTestReport

type OtherTestReport TestReport

type OtherTestScript

type OtherTestScript TestScript

type OtherValueSet

type OtherValueSet ValueSet

type OtherVerificationResult

type OtherVerificationResult VerificationResult

type OtherVisionPrescription

type OtherVisionPrescription VisionPrescription

type ParameterDefinition

type ParameterDefinition struct {
	Id            *string               `bson:"id,omitempty" json:"id,omitempty"`
	Extension     []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	Name          *string               `bson:"name,omitempty" json:"name,omitempty"`
	Use           OperationParameterUse `bson:"use" json:"use"`
	Min           *int                  `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" json:"type"`
	Profile       *string               `bson:"profile,omitempty" json:"profile,omitempty"`
}

ParameterDefinition is documented here http://hl7.org/fhir/StructureDefinition/ParameterDefinition Base StructureDefinition for ParameterDefinition Type: The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse.

type Parameters

type Parameters struct {
	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"`
	Parameter     []ParametersParameter `bson:"parameter,omitempty" json:"parameter,omitempty"`
}

Parameters is documented here http://hl7.org/fhir/StructureDefinition/Parameters This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.

func UnmarshalParameters

func UnmarshalParameters(b []byte) (Parameters, error)

UnmarshalParameters unmarshals a Parameters.

func (Parameters) ContainedResources added in v0.0.6

func (r Parameters) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Parameters) MarshalJSON

func (r Parameters) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Parameters as JSON into a byte slice

func (Parameters) ResourceRef added in v0.0.4

func (r Parameters) ResourceRef() (string, *string)

This function returns resource reference information

type ParametersParameter

type ParametersParameter struct {
	Id                       *string               `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name                     string                `bson:"name" json:"name"`
	ValueBase64Binary        *string               `bson:"valueBase64Binary,omitempty" json:"valueBase64Binary,omitempty"`
	ValueBoolean             *bool                 `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueCanonical           *string               `bson:"valueCanonical,omitempty" json:"valueCanonical,omitempty"`
	ValueCode                *string               `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
	ValueDate                *string               `bson:"valueDate,omitempty" json:"valueDate,omitempty"`
	ValueDateTime            *string               `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValueDecimal             *json.Number          `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
	ValueId                  *string               `bson:"valueId,omitempty" json:"valueId,omitempty"`
	ValueInstant             *string               `bson:"valueInstant,omitempty" json:"valueInstant,omitempty"`
	ValueInteger             *int                  `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueMarkdown            *string               `bson:"valueMarkdown,omitempty" json:"valueMarkdown,omitempty"`
	ValueOid                 *string               `bson:"valueOid,omitempty" json:"valueOid,omitempty"`
	ValuePositiveInt         *int                  `bson:"valuePositiveInt,omitempty" json:"valuePositiveInt,omitempty"`
	ValueString              *string               `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueTime                *string               `bson:"valueTime,omitempty" json:"valueTime,omitempty"`
	ValueUnsignedInt         *int                  `bson:"valueUnsignedInt,omitempty" json:"valueUnsignedInt,omitempty"`
	ValueUri                 *string               `bson:"valueUri,omitempty" json:"valueUri,omitempty"`
	ValueUrl                 *string               `bson:"valueUrl,omitempty" json:"valueUrl,omitempty"`
	ValueUuid                *string               `bson:"valueUuid,omitempty" json:"valueUuid,omitempty"`
	ValueAddress             *Address              `bson:"valueAddress,omitempty" json:"valueAddress,omitempty"`
	ValueAge                 *Age                  `bson:"valueAge,omitempty" json:"valueAge,omitempty"`
	ValueAnnotation          *Annotation           `bson:"valueAnnotation,omitempty" json:"valueAnnotation,omitempty"`
	ValueAttachment          *Attachment           `bson:"valueAttachment,omitempty" json:"valueAttachment,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"`
	ValueCount               *Count                `bson:"valueCount,omitempty" json:"valueCount,omitempty"`
	ValueDistance            *Distance             `bson:"valueDistance,omitempty" json:"valueDistance,omitempty"`
	ValueDuration            *Duration             `bson:"valueDuration,omitempty" json:"valueDuration,omitempty"`
	ValueHumanName           *HumanName            `bson:"valueHumanName,omitempty" json:"valueHumanName,omitempty"`
	ValueIdentifier          *Identifier           `bson:"valueIdentifier,omitempty" json:"valueIdentifier,omitempty"`
	ValueMoney               *Money                `bson:"valueMoney,omitempty" json:"valueMoney,omitempty"`
	ValuePeriod              *Period               `bson:"valuePeriod,omitempty" json:"valuePeriod,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"`
	ValueTiming              *Timing               `bson:"valueTiming,omitempty" json:"valueTiming,omitempty"`
	ValueContactDetail       *ContactDetail        `bson:"valueContactDetail,omitempty" json:"valueContactDetail,omitempty"`
	ValueContributor         *Contributor          `bson:"valueContributor,omitempty" json:"valueContributor,omitempty"`
	ValueDataRequirement     *DataRequirement      `bson:"valueDataRequirement,omitempty" json:"valueDataRequirement,omitempty"`
	ValueExpression          *Expression           `bson:"valueExpression,omitempty" json:"valueExpression,omitempty"`
	ValueParameterDefinition *ParameterDefinition  `bson:"valueParameterDefinition,omitempty" json:"valueParameterDefinition,omitempty"`
	ValueRelatedArtifact     *RelatedArtifact      `bson:"valueRelatedArtifact,omitempty" json:"valueRelatedArtifact,omitempty"`
	ValueTriggerDefinition   *TriggerDefinition    `bson:"valueTriggerDefinition,omitempty" json:"valueTriggerDefinition,omitempty"`
	ValueUsageContext        *UsageContext         `bson:"valueUsageContext,omitempty" json:"valueUsageContext,omitempty"`
	ValueDosage              *Dosage               `bson:"valueDosage,omitempty" json:"valueDosage,omitempty"`
	ValueMeta                *Meta                 `bson:"valueMeta,omitempty" json:"valueMeta,omitempty"`
	Resource                 json.RawMessage       `bson:"resource,omitempty" json:"resource,omitempty"`
	Part                     []ParametersParameter `bson:"part,omitempty" json:"part,omitempty"`
}

A parameter passed to or received from the operation.

type ParticipantRequired

type ParticipantRequired int

ParticipantRequired is documented here http://hl7.org/fhir/ValueSet/participantrequired

const (
	ParticipantRequiredRequired ParticipantRequired = iota
	ParticipantRequiredOptional
	ParticipantRequiredInformationOnly
)

func (ParticipantRequired) Code

func (code ParticipantRequired) Code() string

func (ParticipantRequired) Definition

func (code ParticipantRequired) Definition() string

func (ParticipantRequired) Display

func (code ParticipantRequired) Display() string

func (ParticipantRequired) MarshalJSON

func (code ParticipantRequired) MarshalJSON() ([]byte, error)

func (ParticipantRequired) String

func (code ParticipantRequired) String() string

func (*ParticipantRequired) UnmarshalJSON

func (code *ParticipantRequired) UnmarshalJSON(input []byte) error

type ParticipationStatus

type ParticipationStatus int

ParticipationStatus is documented here http://hl7.org/fhir/ValueSet/participationstatus

const (
	ParticipationStatusAccepted ParticipationStatus = iota
	ParticipationStatusDeclined
	ParticipationStatusTentative
	ParticipationStatusNeedsAction
)

func (ParticipationStatus) Code

func (code ParticipationStatus) Code() string

func (ParticipationStatus) Definition

func (code ParticipationStatus) Definition() string

func (ParticipationStatus) Display

func (code ParticipationStatus) Display() string

func (ParticipationStatus) MarshalJSON

func (code ParticipationStatus) MarshalJSON() ([]byte, error)

func (ParticipationStatus) String

func (code ParticipationStatus) String() string

func (*ParticipationStatus) UnmarshalJSON

func (code *ParticipationStatus) UnmarshalJSON(input []byte) error

type Patient

type Patient struct {
	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"`
	Text                 *Narrative             `bson:"text,omitempty" json:"text,omitempty"`
	Contained            []json.RawMessage      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension            []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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               *AdministrativeGender  `bson:"gender,omitempty" json:"gender,omitempty"`
	BirthDate            *string                `bson:"birthDate,omitempty" json:"birthDate,omitempty"`
	DeceasedBoolean      *bool                  `bson:"deceasedBoolean,omitempty" json:"deceasedBoolean,omitempty"`
	DeceasedDateTime     *string                `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 *int                   `bson:"multipleBirthInteger,omitempty" json:"multipleBirthInteger,omitempty"`
	Photo                []Attachment           `bson:"photo,omitempty" json:"photo,omitempty"`
	Contact              []PatientContact       `bson:"contact,omitempty" json:"contact,omitempty"`
	Communication        []PatientCommunication `bson:"communication,omitempty" json:"communication,omitempty"`
	GeneralPractitioner  []Reference            `bson:"generalPractitioner,omitempty" json:"generalPractitioner,omitempty"`
	ManagingOrganization *Reference             `bson:"managingOrganization,omitempty" json:"managingOrganization,omitempty"`
	Link                 []PatientLink          `bson:"link,omitempty" json:"link,omitempty"`
}

Patient is documented here http://hl7.org/fhir/StructureDefinition/Patient Demographics and other administrative information about an individual or animal receiving care or other health-related services.

func UnmarshalPatient

func UnmarshalPatient(b []byte) (Patient, error)

UnmarshalPatient unmarshals a Patient.

func (Patient) ContainedResources added in v0.0.6

func (r Patient) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Patient) MarshalJSON

func (r Patient) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Patient as JSON into a byte slice

func (Patient) ResourceRef added in v0.0.4

func (r Patient) ResourceRef() (string, *string)

This function returns resource reference information

type PatientCommunication

type PatientCommunication struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Language          CodeableConcept `bson:"language" json:"language"`
	Preferred         *bool           `bson:"preferred,omitempty" json:"preferred,omitempty"`
}

A language which may be used to communicate with the patient about his or her health. If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.

type PatientContact

type PatientContact struct {
	Id                *string               `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,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"`
	Address           *Address              `bson:"address,omitempty" json:"address,omitempty"`
	Gender            *AdministrativeGender `bson:"gender,omitempty" json:"gender,omitempty"`
	Organization      *Reference            `bson:"organization,omitempty" json:"organization,omitempty"`
	Period            *Period               `bson:"period,omitempty" json:"period,omitempty"`
}

A contact party (e.g. guardian, partner, friend) for the patient. Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact.

type PatientLink struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Other             Reference   `bson:"other" json:"other"`
	Type              LinkType    `bson:"type" json:"type"`
}

Link to another patient resource that concerns the same actual patient. There is no assumption that linked patient records have mutual links.

type PaymentNotice

type PaymentNotice struct {
	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"`
	Text              *Narrative                   `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage            `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            FinancialResourceStatusCodes `bson:"status" json:"status"`
	Request           *Reference                   `bson:"request,omitempty" json:"request,omitempty"`
	Response          *Reference                   `bson:"response,omitempty" json:"response,omitempty"`
	Created           string                       `bson:"created" json:"created"`
	Provider          *Reference                   `bson:"provider,omitempty" json:"provider,omitempty"`
	Payment           Reference                    `bson:"payment" json:"payment"`
	PaymentDate       *string                      `bson:"paymentDate,omitempty" json:"paymentDate,omitempty"`
	Payee             *Reference                   `bson:"payee,omitempty" json:"payee,omitempty"`
	Recipient         Reference                    `bson:"recipient" json:"recipient"`
	Amount            Money                        `bson:"amount" json:"amount"`
	PaymentStatus     *CodeableConcept             `bson:"paymentStatus,omitempty" json:"paymentStatus,omitempty"`
}

PaymentNotice is documented here http://hl7.org/fhir/StructureDefinition/PaymentNotice This resource provides the status of the payment for goods and services rendered, and the request and response resource references.

func UnmarshalPaymentNotice

func UnmarshalPaymentNotice(b []byte) (PaymentNotice, error)

UnmarshalPaymentNotice unmarshals a PaymentNotice.

func (PaymentNotice) ContainedResources added in v0.0.6

func (r PaymentNotice) ContainedResources() []json.RawMessage

This function returns resource reference information

func (PaymentNotice) MarshalJSON

func (r PaymentNotice) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given PaymentNotice as JSON into a byte slice

func (PaymentNotice) ResourceRef added in v0.0.4

func (r PaymentNotice) ResourceRef() (string, *string)

This function returns resource reference information

type PaymentReconciliation

type PaymentReconciliation struct {
	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"`
	Text              *Narrative                         `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                  `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            FinancialResourceStatusCodes       `bson:"status" json:"status"`
	Period            *Period                            `bson:"period,omitempty" json:"period,omitempty"`
	Created           string                             `bson:"created" json:"created"`
	PaymentIssuer     *Reference                         `bson:"paymentIssuer,omitempty" json:"paymentIssuer,omitempty"`
	Request           *Reference                         `bson:"request,omitempty" json:"request,omitempty"`
	Requestor         *Reference                         `bson:"requestor,omitempty" json:"requestor,omitempty"`
	Outcome           *ClaimProcessingCodes              `bson:"outcome,omitempty" json:"outcome,omitempty"`
	Disposition       *string                            `bson:"disposition,omitempty" json:"disposition,omitempty"`
	PaymentDate       string                             `bson:"paymentDate" json:"paymentDate"`
	PaymentAmount     Money                              `bson:"paymentAmount" json:"paymentAmount"`
	PaymentIdentifier *Identifier                        `bson:"paymentIdentifier,omitempty" json:"paymentIdentifier,omitempty"`
	Detail            []PaymentReconciliationDetail      `bson:"detail,omitempty" json:"detail,omitempty"`
	FormCode          *CodeableConcept                   `bson:"formCode,omitempty" json:"formCode,omitempty"`
	ProcessNote       []PaymentReconciliationProcessNote `bson:"processNote,omitempty" json:"processNote,omitempty"`
}

PaymentReconciliation is documented here http://hl7.org/fhir/StructureDefinition/PaymentReconciliation This resource provides the details including amount of a payment and allocates the payment items being paid.

func UnmarshalPaymentReconciliation

func UnmarshalPaymentReconciliation(b []byte) (PaymentReconciliation, error)

UnmarshalPaymentReconciliation unmarshals a PaymentReconciliation.

func (PaymentReconciliation) ContainedResources added in v0.0.6

func (r PaymentReconciliation) ContainedResources() []json.RawMessage

This function returns resource reference information

func (PaymentReconciliation) MarshalJSON

func (r PaymentReconciliation) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given PaymentReconciliation as JSON into a byte slice

func (PaymentReconciliation) ResourceRef added in v0.0.4

func (r PaymentReconciliation) ResourceRef() (string, *string)

This function returns resource reference information

type PaymentReconciliationDetail

type PaymentReconciliationDetail struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        *Identifier     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Predecessor       *Identifier     `bson:"predecessor,omitempty" json:"predecessor,omitempty"`
	Type              CodeableConcept `bson:"type" json:"type"`
	Request           *Reference      `bson:"request,omitempty" json:"request,omitempty"`
	Submitter         *Reference      `bson:"submitter,omitempty" json:"submitter,omitempty"`
	Response          *Reference      `bson:"response,omitempty" json:"response,omitempty"`
	Date              *string         `bson:"date,omitempty" json:"date,omitempty"`
	Responsible       *Reference      `bson:"responsible,omitempty" json:"responsible,omitempty"`
	Payee             *Reference      `bson:"payee,omitempty" json:"payee,omitempty"`
	Amount            *Money          `bson:"amount,omitempty" json:"amount,omitempty"`
}

Distribution of the payment amount for a previously acknowledged payable.

type PaymentReconciliationProcessNote

type PaymentReconciliationProcessNote struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *NoteType   `bson:"type,omitempty" json:"type,omitempty"`
	Text              *string     `bson:"text,omitempty" json:"text,omitempty"`
}

A note that describes or explains the processing in a human readable form.

type Period

type Period struct {
	Id        *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Start     *string     `bson:"start,omitempty" json:"start,omitempty"`
	End       *string     `bson:"end,omitempty" json:"end,omitempty"`
}

Period is documented here http://hl7.org/fhir/StructureDefinition/Period Base StructureDefinition for Period Type: A time period defined by a start and end date and optionally time.

type Person

type Person struct {
	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"`
	Text                 *Narrative            `bson:"text,omitempty" json:"text,omitempty"`
	Contained            []json.RawMessage     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension            []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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               *AdministrativeGender `bson:"gender,omitempty" json:"gender,omitempty"`
	BirthDate            *string               `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                 []PersonLink          `bson:"link,omitempty" json:"link,omitempty"`
}

Person is documented here http://hl7.org/fhir/StructureDefinition/Person Demographics and administrative information about a person independent of a specific health-related context.

func UnmarshalPerson

func UnmarshalPerson(b []byte) (Person, error)

UnmarshalPerson unmarshals a Person.

func (Person) ContainedResources added in v0.0.6

func (r Person) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Person) MarshalJSON

func (r Person) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Person as JSON into a byte slice

func (Person) ResourceRef added in v0.0.4

func (r Person) ResourceRef() (string, *string)

This function returns resource reference information

type PersonLink struct {
	Id                *string                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Target            Reference               `bson:"target" json:"target"`
	Assurance         *IdentityAssuranceLevel `bson:"assurance,omitempty" json:"assurance,omitempty"`
}

Link to a resource that concerns the same actual person.

type PlanDefinition

type PlanDefinition struct {
	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"`
	Text                   *Narrative             `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	Subtitle               *string                `bson:"subtitle,omitempty" json:"subtitle,omitempty"`
	Type                   *CodeableConcept       `bson:"type,omitempty" json:"type,omitempty"`
	Status                 PublicationStatus      `bson:"status" json:"status"`
	Experimental           *bool                  `bson:"experimental,omitempty" json:"experimental,omitempty"`
	SubjectCodeableConcept *CodeableConcept       `bson:"subjectCodeableConcept,omitempty" json:"subjectCodeableConcept,omitempty"`
	SubjectReference       *Reference             `bson:"subjectReference,omitempty" json:"subjectReference,omitempty"`
	Date                   *string                `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"`
	Usage                  *string                `bson:"usage,omitempty" json:"usage,omitempty"`
	Copyright              *string                `bson:"copyright,omitempty" json:"copyright,omitempty"`
	ApprovalDate           *string                `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate         *string                `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod        *Period                `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Topic                  []CodeableConcept      `bson:"topic,omitempty" json:"topic,omitempty"`
	Author                 []ContactDetail        `bson:"author,omitempty" json:"author,omitempty"`
	Editor                 []ContactDetail        `bson:"editor,omitempty" json:"editor,omitempty"`
	Reviewer               []ContactDetail        `bson:"reviewer,omitempty" json:"reviewer,omitempty"`
	Endorser               []ContactDetail        `bson:"endorser,omitempty" json:"endorser,omitempty"`
	RelatedArtifact        []RelatedArtifact      `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Library                []string               `bson:"library,omitempty" json:"library,omitempty"`
	Goal                   []PlanDefinitionGoal   `bson:"goal,omitempty" json:"goal,omitempty"`
	Action                 []PlanDefinitionAction `bson:"action,omitempty" json:"action,omitempty"`
}

PlanDefinition is documented here http://hl7.org/fhir/StructureDefinition/PlanDefinition This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.

func UnmarshalPlanDefinition

func UnmarshalPlanDefinition(b []byte) (PlanDefinition, error)

UnmarshalPlanDefinition unmarshals a PlanDefinition.

func (PlanDefinition) ContainedResources added in v0.0.6

func (r PlanDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (PlanDefinition) MarshalJSON

func (r PlanDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given PlanDefinition as JSON into a byte slice

func (PlanDefinition) ResourceRef added in v0.0.4

func (r PlanDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type PlanDefinitionAction

type PlanDefinitionAction struct {
	Id                     *string                             `bson:"id,omitempty" json:"id,omitempty"`
	Extension              []Extension                         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension                         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Prefix                 *string                             `bson:"prefix,omitempty" json:"prefix,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"`
	Priority               *RequestPriority                    `bson:"priority,omitempty" json:"priority,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"`
	SubjectCodeableConcept *CodeableConcept                    `bson:"subjectCodeableConcept,omitempty" json:"subjectCodeableConcept,omitempty"`
	SubjectReference       *Reference                          `bson:"subjectReference,omitempty" json:"subjectReference,omitempty"`
	Trigger                []TriggerDefinition                 `bson:"trigger,omitempty" json:"trigger,omitempty"`
	Condition              []PlanDefinitionActionCondition     `bson:"condition,omitempty" json:"condition,omitempty"`
	Input                  []DataRequirement                   `bson:"input,omitempty" json:"input,omitempty"`
	Output                 []DataRequirement                   `bson:"output,omitempty" json:"output,omitempty"`
	RelatedAction          []PlanDefinitionActionRelatedAction `bson:"relatedAction,omitempty" json:"relatedAction,omitempty"`
	TimingDateTime         *string                             `bson:"timingDateTime,omitempty" json:"timingDateTime,omitempty"`
	TimingAge              *Age                                `bson:"timingAge,omitempty" json:"timingAge,omitempty"`
	TimingPeriod           *Period                             `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	TimingDuration         *Duration                           `bson:"timingDuration,omitempty" json:"timingDuration,omitempty"`
	TimingRange            *Range                              `bson:"timingRange,omitempty" json:"timingRange,omitempty"`
	TimingTiming           *Timing                             `bson:"timingTiming,omitempty" json:"timingTiming,omitempty"`
	Participant            []PlanDefinitionActionParticipant   `bson:"participant,omitempty" json:"participant,omitempty"`
	Type                   *CodeableConcept                    `bson:"type,omitempty" json:"type,omitempty"`
	GroupingBehavior       *ActionGroupingBehavior             `bson:"groupingBehavior,omitempty" json:"groupingBehavior,omitempty"`
	SelectionBehavior      *ActionSelectionBehavior            `bson:"selectionBehavior,omitempty" json:"selectionBehavior,omitempty"`
	RequiredBehavior       *ActionRequiredBehavior             `bson:"requiredBehavior,omitempty" json:"requiredBehavior,omitempty"`
	PrecheckBehavior       *ActionPrecheckBehavior             `bson:"precheckBehavior,omitempty" json:"precheckBehavior,omitempty"`
	CardinalityBehavior    *ActionCardinalityBehavior          `bson:"cardinalityBehavior,omitempty" json:"cardinalityBehavior,omitempty"`
	DefinitionCanonical    *string                             `bson:"definitionCanonical,omitempty" json:"definitionCanonical,omitempty"`
	DefinitionUri          *string                             `bson:"definitionUri,omitempty" json:"definitionUri,omitempty"`
	Transform              *string                             `bson:"transform,omitempty" json:"transform,omitempty"`
	DynamicValue           []PlanDefinitionActionDynamicValue  `bson:"dynamicValue,omitempty" json:"dynamicValue,omitempty"`
	Action                 []PlanDefinitionAction              `bson:"action,omitempty" json:"action,omitempty"`
}

An action or group of actions to be taken as part of the plan. Note that there is overlap between many of the elements defined here and the ActivityDefinition resource. When an ActivityDefinition is referenced (using the definition element), the overlapping elements in the plan override the content of the referenced ActivityDefinition unless otherwise documented in the specific elements. See the PlanDefinition resource for more detailed information.

type PlanDefinitionActionCondition

type PlanDefinitionActionCondition struct {
	Id                *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Kind              ActionConditionKind `bson:"kind" json:"kind"`
	Expression        *Expression         `bson:"expression,omitempty" json:"expression,omitempty"`
}

An expression that describes applicability criteria or start/stop conditions for the action. When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all the conditions are true.

type PlanDefinitionActionDynamicValue

type PlanDefinitionActionDynamicValue struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Path              *string     `bson:"path,omitempty" json:"path,omitempty"`
	Expression        *Expression `bson:"expression,omitempty" json:"expression,omitempty"`
}

Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result. Dynamic values are applied in the order in which they are defined in the PlanDefinition resource. Note that when dynamic values are also specified by a referenced ActivityDefinition, the dynamicValues from the ActivityDefinition are applied first, followed by the dynamicValues specified here. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform.

type PlanDefinitionActionParticipant

type PlanDefinitionActionParticipant struct {
	Id                *string               `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              ActionParticipantType `bson:"type" json:"type"`
	Role              *CodeableConcept      `bson:"role,omitempty" json:"role,omitempty"`
}

Indicates who should participate in performing the action described.

type PlanDefinitionActionRelatedAction

type PlanDefinitionActionRelatedAction struct {
	Id                *string                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ActionId          string                 `bson:"actionId" json:"actionId"`
	Relationship      ActionRelationshipType `bson:"relationship" json:"relationship"`
	OffsetDuration    *Duration              `bson:"offsetDuration,omitempty" json:"offsetDuration,omitempty"`
	OffsetRange       *Range                 `bson:"offsetRange,omitempty" json:"offsetRange,omitempty"`
}

A relationship to another action such as "before" or "30-60 minutes after start of". When an action depends on multiple actions, the meaning is that all actions are dependencies, rather than that any of the actions are a dependency.

type PlanDefinitionGoal

type PlanDefinitionGoal struct {
	Id                *string                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Category          *CodeableConcept           `bson:"category,omitempty" json:"category,omitempty"`
	Description       CodeableConcept            `bson:"description" json:"description"`
	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            []PlanDefinitionGoalTarget `bson:"target,omitempty" json:"target,omitempty"`
}

Goals that describe what the activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.

type PlanDefinitionGoalTarget

type PlanDefinitionGoalTarget struct {
	Id                    *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension             []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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                   *Duration        `bson:"due,omitempty" json:"due,omitempty"`
}

Indicates what should be done and within what timeframe.

type Population

type Population struct {
	Id                     *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension              []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	AgeRange               *Range           `bson:"ageRange,omitempty" json:"ageRange,omitempty"`
	AgeCodeableConcept     *CodeableConcept `bson:"ageCodeableConcept,omitempty" json:"ageCodeableConcept,omitempty"`
	Gender                 *CodeableConcept `bson:"gender,omitempty" json:"gender,omitempty"`
	Race                   *CodeableConcept `bson:"race,omitempty" json:"race,omitempty"`
	PhysiologicalCondition *CodeableConcept `bson:"physiologicalCondition,omitempty" json:"physiologicalCondition,omitempty"`
}

Population is documented here http://hl7.org/fhir/StructureDefinition/Population Base StructureDefinition for Population Type: A populatioof people with some set of grouping criteria.

type Practitioner

type Practitioner struct {
	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"`
	Text              *Narrative                  `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage           `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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            *AdministrativeGender       `bson:"gender,omitempty" json:"gender,omitempty"`
	BirthDate         *string                     `bson:"birthDate,omitempty" json:"birthDate,omitempty"`
	Photo             []Attachment                `bson:"photo,omitempty" json:"photo,omitempty"`
	Qualification     []PractitionerQualification `bson:"qualification,omitempty" json:"qualification,omitempty"`
	Communication     []CodeableConcept           `bson:"communication,omitempty" json:"communication,omitempty"`
}

Practitioner is documented here http://hl7.org/fhir/StructureDefinition/Practitioner A person who is directly or indirectly involved in the provisioning of healthcare.

func UnmarshalPractitioner

func UnmarshalPractitioner(b []byte) (Practitioner, error)

UnmarshalPractitioner unmarshals a Practitioner.

func (Practitioner) ContainedResources added in v0.0.6

func (r Practitioner) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Practitioner) MarshalJSON

func (r Practitioner) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Practitioner as JSON into a byte slice

func (Practitioner) ResourceRef added in v0.0.4

func (r Practitioner) ResourceRef() (string, *string)

This function returns resource reference information

type PractitionerQualification

type PractitionerQualification struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier    `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Code              CodeableConcept `bson:"code" json:"code"`
	Period            *Period         `bson:"period,omitempty" json:"period,omitempty"`
	Issuer            *Reference      `bson:"issuer,omitempty" json:"issuer,omitempty"`
}

The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality.

type PractitionerRole

type PractitionerRole struct {
	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"`
	Text                   *Narrative                      `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage               `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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          []PractitionerRoleAvailableTime `bson:"availableTime,omitempty" json:"availableTime,omitempty"`
	NotAvailable           []PractitionerRoleNotAvailable  `bson:"notAvailable,omitempty" json:"notAvailable,omitempty"`
	AvailabilityExceptions *string                         `bson:"availabilityExceptions,omitempty" json:"availabilityExceptions,omitempty"`
	Endpoint               []Reference                     `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
}

PractitionerRole is documented here http://hl7.org/fhir/StructureDefinition/PractitionerRole A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.

func UnmarshalPractitionerRole

func UnmarshalPractitionerRole(b []byte) (PractitionerRole, error)

UnmarshalPractitionerRole unmarshals a PractitionerRole.

func (PractitionerRole) ContainedResources added in v0.0.6

func (r PractitionerRole) ContainedResources() []json.RawMessage

This function returns resource reference information

func (PractitionerRole) MarshalJSON

func (r PractitionerRole) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given PractitionerRole as JSON into a byte slice

func (PractitionerRole) ResourceRef added in v0.0.4

func (r PractitionerRole) ResourceRef() (string, *string)

This function returns resource reference information

type PractitionerRoleAvailableTime

type PractitionerRoleAvailableTime struct {
	Id                 *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension          []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	DaysOfWeek         []DaysOfWeek `bson:"daysOfWeek,omitempty" json:"daysOfWeek,omitempty"`
	AllDay             *bool        `bson:"allDay,omitempty" json:"allDay,omitempty"`
	AvailableStartTime *string      `bson:"availableStartTime,omitempty" json:"availableStartTime,omitempty"`
	AvailableEndTime   *string      `bson:"availableEndTime,omitempty" json:"availableEndTime,omitempty"`
}

A collection of times the practitioner is available or performing this role at the location and/or healthcareservice. More detailed availability information may be provided in associated Schedule/Slot resources.

type PractitionerRoleNotAvailable

type PractitionerRoleNotAvailable struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description       string      `bson:"description" json:"description"`
	During            *Period     `bson:"during,omitempty" json:"during,omitempty"`
}

The practitioner is not available or performing this role during this period of time due to the provided reason.

type Procedure

type Procedure struct {
	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"`
	Text                  *Narrative             `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier            []Identifier           `bson:"identifier,omitempty" json:"identifier,omitempty"`
	InstantiatesCanonical []string               `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri       []string               `bson:"instantiatesUri,omitempty" json:"instantiatesUri,omitempty"`
	BasedOn               []Reference            `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	PartOf                []Reference            `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Status                EventStatus            `bson:"status" json:"status"`
	StatusReason          *CodeableConcept       `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	Category              *CodeableConcept       `bson:"category,omitempty" json:"category,omitempty"`
	Code                  *CodeableConcept       `bson:"code,omitempty" json:"code,omitempty"`
	Subject               Reference              `bson:"subject" json:"subject"`
	Encounter             *Reference             `bson:"encounter,omitempty" json:"encounter,omitempty"`
	PerformedDateTime     *string                `bson:"performedDateTime,omitempty" json:"performedDateTime,omitempty"`
	PerformedPeriod       *Period                `bson:"performedPeriod,omitempty" json:"performedPeriod,omitempty"`
	PerformedString       *string                `bson:"performedString,omitempty" json:"performedString,omitempty"`
	PerformedAge          *Age                   `bson:"performedAge,omitempty" json:"performedAge,omitempty"`
	PerformedRange        *Range                 `bson:"performedRange,omitempty" json:"performedRange,omitempty"`
	Recorder              *Reference             `bson:"recorder,omitempty" json:"recorder,omitempty"`
	Asserter              *Reference             `bson:"asserter,omitempty" json:"asserter,omitempty"`
	Performer             []ProcedurePerformer   `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           []ProcedureFocalDevice `bson:"focalDevice,omitempty" json:"focalDevice,omitempty"`
	UsedReference         []Reference            `bson:"usedReference,omitempty" json:"usedReference,omitempty"`
	UsedCode              []CodeableConcept      `bson:"usedCode,omitempty" json:"usedCode,omitempty"`
}

Procedure is documented here http://hl7.org/fhir/StructureDefinition/Procedure An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.

func UnmarshalProcedure

func UnmarshalProcedure(b []byte) (Procedure, error)

UnmarshalProcedure unmarshals a Procedure.

func (Procedure) ContainedResources added in v0.0.6

func (r Procedure) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Procedure) MarshalJSON

func (r Procedure) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Procedure as JSON into a byte slice

func (Procedure) ResourceRef added in v0.0.4

func (r Procedure) ResourceRef() (string, *string)

This function returns resource reference information

type ProcedureFocalDevice

type ProcedureFocalDevice struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Action            *CodeableConcept `bson:"action,omitempty" json:"action,omitempty"`
	Manipulated       Reference        `bson:"manipulated" json:"manipulated"`
}

A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure.

type ProcedurePerformer

type ProcedurePerformer struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Function          *CodeableConcept `bson:"function,omitempty" json:"function,omitempty"`
	Actor             Reference        `bson:"actor" json:"actor"`
	OnBehalfOf        *Reference       `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

Limited to "real" people rather than equipment.

type ProdCharacteristic

type ProdCharacteristic struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Height            *Quantity        `bson:"height,omitempty" json:"height,omitempty"`
	Width             *Quantity        `bson:"width,omitempty" json:"width,omitempty"`
	Depth             *Quantity        `bson:"depth,omitempty" json:"depth,omitempty"`
	Weight            *Quantity        `bson:"weight,omitempty" json:"weight,omitempty"`
	NominalVolume     *Quantity        `bson:"nominalVolume,omitempty" json:"nominalVolume,omitempty"`
	ExternalDiameter  *Quantity        `bson:"externalDiameter,omitempty" json:"externalDiameter,omitempty"`
	Shape             *string          `bson:"shape,omitempty" json:"shape,omitempty"`
	Color             []string         `bson:"color,omitempty" json:"color,omitempty"`
	Imprint           []string         `bson:"imprint,omitempty" json:"imprint,omitempty"`
	Image             []Attachment     `bson:"image,omitempty" json:"image,omitempty"`
	Scoring           *CodeableConcept `bson:"scoring,omitempty" json:"scoring,omitempty"`
}

ProdCharacteristic is documented here http://hl7.org/fhir/StructureDefinition/ProdCharacteristic Base StructureDefinition for ProdCharacteristic Type: The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.

type ProductShelfLife

type ProductShelfLife struct {
	Id                           *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension                    []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension            []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier                   *Identifier       `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type                         CodeableConcept   `bson:"type" json:"type"`
	Period                       Quantity          `bson:"period" json:"period"`
	SpecialPrecautionsForStorage []CodeableConcept `bson:"specialPrecautionsForStorage,omitempty" json:"specialPrecautionsForStorage,omitempty"`
}

ProductShelfLife is documented here http://hl7.org/fhir/StructureDefinition/ProductShelfLife Base StructureDefinition for ProductShelfLife Type: The shelf-life and storage information for a medicinal product item or container can be described using this class.

type PropertyRepresentation

type PropertyRepresentation int

PropertyRepresentation is documented here http://hl7.org/fhir/ValueSet/property-representation

const (
	PropertyRepresentationXmlAttr PropertyRepresentation = iota
	PropertyRepresentationXmlText
	PropertyRepresentationTypeAttr
	PropertyRepresentationCdaText
	PropertyRepresentationXhtml
)

func (PropertyRepresentation) Code

func (code PropertyRepresentation) Code() string

func (PropertyRepresentation) Definition

func (code PropertyRepresentation) Definition() string

func (PropertyRepresentation) Display

func (code PropertyRepresentation) Display() string

func (PropertyRepresentation) MarshalJSON

func (code PropertyRepresentation) MarshalJSON() ([]byte, error)

func (PropertyRepresentation) String

func (code PropertyRepresentation) String() string

func (*PropertyRepresentation) UnmarshalJSON

func (code *PropertyRepresentation) UnmarshalJSON(input []byte) error

type PropertyType

type PropertyType int

PropertyType is documented here http://hl7.org/fhir/ValueSet/concept-property-type

const (
	PropertyTypeCode PropertyType = iota
	PropertyTypeCoding
	PropertyTypeString
	PropertyTypeInteger
	PropertyTypeBoolean
	PropertyTypeDateTime
	PropertyTypeDecimal
)

func (PropertyType) Code

func (code PropertyType) Code() string

func (PropertyType) Definition

func (code PropertyType) Definition() string

func (PropertyType) Display

func (code PropertyType) Display() string

func (PropertyType) MarshalJSON

func (code PropertyType) MarshalJSON() ([]byte, error)

func (PropertyType) String

func (code PropertyType) String() string

func (*PropertyType) UnmarshalJSON

func (code *PropertyType) UnmarshalJSON(input []byte) error

type Provenance

type Provenance struct {
	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"`
	Text              *Narrative         `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage  `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Target            []Reference        `bson:"target" json:"target"`
	OccurredPeriod    *Period            `bson:"occurredPeriod,omitempty" json:"occurredPeriod,omitempty"`
	OccurredDateTime  *string            `bson:"occurredDateTime,omitempty" json:"occurredDateTime,omitempty"`
	Recorded          string             `bson:"recorded" json:"recorded"`
	Policy            []string           `bson:"policy,omitempty" json:"policy,omitempty"`
	Location          *Reference         `bson:"location,omitempty" json:"location,omitempty"`
	Reason            []CodeableConcept  `bson:"reason,omitempty" json:"reason,omitempty"`
	Activity          *CodeableConcept   `bson:"activity,omitempty" json:"activity,omitempty"`
	Agent             []ProvenanceAgent  `bson:"agent" json:"agent"`
	Entity            []ProvenanceEntity `bson:"entity,omitempty" json:"entity,omitempty"`
	Signature         []Signature        `bson:"signature,omitempty" json:"signature,omitempty"`
}

Provenance is documented here http://hl7.org/fhir/StructureDefinition/Provenance Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.

func UnmarshalProvenance

func UnmarshalProvenance(b []byte) (Provenance, error)

UnmarshalProvenance unmarshals a Provenance.

func (Provenance) ContainedResources added in v0.0.6

func (r Provenance) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Provenance) MarshalJSON

func (r Provenance) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Provenance as JSON into a byte slice

func (Provenance) ResourceRef added in v0.0.4

func (r Provenance) ResourceRef() (string, *string)

This function returns resource reference information

type ProvenanceAgent

type ProvenanceAgent struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept  `bson:"type,omitempty" json:"type,omitempty"`
	Role              []CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Who               Reference         `bson:"who" json:"who"`
	OnBehalfOf        *Reference        `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
}

An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place. Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.

type ProvenanceEntity

type ProvenanceEntity struct {
	Id                *string              `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Role              ProvenanceEntityRole `bson:"role" json:"role"`
	What              Reference            `bson:"what" json:"what"`
	Agent             []ProvenanceAgent    `bson:"agent,omitempty" json:"agent,omitempty"`
}

An entity used in this activity.

type ProvenanceEntityRole

type ProvenanceEntityRole int

ProvenanceEntityRole is documented here http://hl7.org/fhir/ValueSet/provenance-entity-role

const (
	ProvenanceEntityRoleDerivation ProvenanceEntityRole = iota
	ProvenanceEntityRoleRevision
	ProvenanceEntityRoleQuotation
	ProvenanceEntityRoleSource
	ProvenanceEntityRoleRemoval
)

func (ProvenanceEntityRole) Code

func (code ProvenanceEntityRole) Code() string

func (ProvenanceEntityRole) Definition

func (code ProvenanceEntityRole) Definition() string

func (ProvenanceEntityRole) Display

func (code ProvenanceEntityRole) Display() string

func (ProvenanceEntityRole) MarshalJSON

func (code ProvenanceEntityRole) MarshalJSON() ([]byte, error)

func (ProvenanceEntityRole) String

func (code ProvenanceEntityRole) String() string

func (*ProvenanceEntityRole) UnmarshalJSON

func (code *ProvenanceEntityRole) UnmarshalJSON(input []byte) error

type PublicationStatus

type PublicationStatus int

PublicationStatus is documented here http://hl7.org/fhir/ValueSet/publication-status

const (
	PublicationStatusDraft PublicationStatus = iota
	PublicationStatusActive
	PublicationStatusRetired
	PublicationStatusUnknown
)

func (PublicationStatus) Code

func (code PublicationStatus) Code() string

func (PublicationStatus) Definition

func (code PublicationStatus) Definition() string

func (PublicationStatus) Display

func (code PublicationStatus) Display() string

func (PublicationStatus) MarshalJSON

func (code PublicationStatus) MarshalJSON() ([]byte, error)

func (PublicationStatus) String

func (code PublicationStatus) String() string

func (*PublicationStatus) UnmarshalJSON

func (code *PublicationStatus) UnmarshalJSON(input []byte) error

type Quantity

type Quantity struct {
	Id         *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension  []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	Value      *json.Number        `bson:"value,omitempty" json:"value,omitempty"`
	Comparator *QuantityComparator `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"`
}

Quantity is documented here http://hl7.org/fhir/StructureDefinition/Quantity Base StructureDefinition for Quantity Type: A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.

type QuantityComparator

type QuantityComparator int

QuantityComparator is documented here http://hl7.org/fhir/ValueSet/quantity-comparator

const (
	QuantityComparatorLessThan QuantityComparator = iota
	QuantityComparatorLessOrEquals
	QuantityComparatorGreaterOrEquals
	QuantityComparatorGreaterThan
)

func (QuantityComparator) Code

func (code QuantityComparator) Code() string

func (QuantityComparator) Definition

func (code QuantityComparator) Definition() string

func (QuantityComparator) Display

func (code QuantityComparator) Display() string

func (QuantityComparator) MarshalJSON

func (code QuantityComparator) MarshalJSON() ([]byte, error)

func (QuantityComparator) String

func (code QuantityComparator) String() string

func (*QuantityComparator) UnmarshalJSON

func (code *QuantityComparator) UnmarshalJSON(input []byte) error

type Questionnaire

type Questionnaire struct {
	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"`
	Text              *Narrative          `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage   `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	DerivedFrom       []string            `bson:"derivedFrom,omitempty" json:"derivedFrom,omitempty"`
	Status            PublicationStatus   `bson:"status" json:"status"`
	Experimental      *bool               `bson:"experimental,omitempty" json:"experimental,omitempty"`
	SubjectType       []ResourceType      `bson:"subjectType,omitempty" json:"subjectType,omitempty"`
	Date              *string             `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"`
	ApprovalDate      *string             `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate    *string             `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod   *Period             `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Code              []Coding            `bson:"code,omitempty" json:"code,omitempty"`
	Item              []QuestionnaireItem `bson:"item,omitempty" json:"item,omitempty"`
}

Questionnaire is documented here http://hl7.org/fhir/StructureDefinition/Questionnaire A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.

func UnmarshalQuestionnaire

func UnmarshalQuestionnaire(b []byte) (Questionnaire, error)

UnmarshalQuestionnaire unmarshals a Questionnaire.

func (Questionnaire) ContainedResources added in v0.0.6

func (r Questionnaire) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Questionnaire) MarshalJSON

func (r Questionnaire) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Questionnaire as JSON into a byte slice

func (Questionnaire) ResourceRef added in v0.0.4

func (r Questionnaire) ResourceRef() (string, *string)

This function returns resource reference information

type QuestionnaireItem

type QuestionnaireItem struct {
	Id                *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	LinkId            string                          `bson:"linkId" json:"linkId"`
	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              QuestionnaireItemType           `bson:"type" json:"type"`
	EnableWhen        []QuestionnaireItemEnableWhen   `bson:"enableWhen,omitempty" json:"enableWhen,omitempty"`
	EnableBehavior    *EnableWhenBehavior             `bson:"enableBehavior,omitempty" json:"enableBehavior,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         *int                            `bson:"maxLength,omitempty" json:"maxLength,omitempty"`
	AnswerValueSet    *string                         `bson:"answerValueSet,omitempty" json:"answerValueSet,omitempty"`
	AnswerOption      []QuestionnaireItemAnswerOption `bson:"answerOption,omitempty" json:"answerOption,omitempty"`
	Initial           []QuestionnaireItemInitial      `bson:"initial,omitempty" json:"initial,omitempty"`
	Item              []QuestionnaireItem             `bson:"item,omitempty" json:"item,omitempty"`
}

A particular question, question grouping or display text that is part of the questionnaire. The content of the questionnaire is constructed from an ordered, hierarchical collection of items.

type QuestionnaireItemAnswerOption

type QuestionnaireItemAnswerOption struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ValueInteger      int         `bson:"valueInteger" json:"valueInteger"`
	ValueDate         string      `bson:"valueDate" json:"valueDate"`
	ValueTime         string      `bson:"valueTime" json:"valueTime"`
	ValueString       string      `bson:"valueString" json:"valueString"`
	ValueCoding       Coding      `bson:"valueCoding" json:"valueCoding"`
	ValueReference    Reference   `bson:"valueReference" json:"valueReference"`
	InitialSelected   *bool       `bson:"initialSelected,omitempty" json:"initialSelected,omitempty"`
}

One of the permitted answers for a "choice" or "open-choice" question. This element can be used when the value set machinery of answerValueSet is deemed too cumbersome or when there's a need to capture possible answers that are not codes.

type QuestionnaireItemEnableWhen

type QuestionnaireItemEnableWhen struct {
	Id                *string                   `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Question          string                    `bson:"question" json:"question"`
	Operator          QuestionnaireItemOperator `bson:"operator" json:"operator"`
	AnswerBoolean     bool                      `bson:"answerBoolean" json:"answerBoolean"`
	AnswerDecimal     json.Number               `bson:"answerDecimal" json:"answerDecimal"`
	AnswerInteger     int                       `bson:"answerInteger" json:"answerInteger"`
	AnswerDate        string                    `bson:"answerDate" json:"answerDate"`
	AnswerDateTime    string                    `bson:"answerDateTime" json:"answerDateTime"`
	AnswerTime        string                    `bson:"answerTime" json:"answerTime"`
	AnswerString      string                    `bson:"answerString" json:"answerString"`
	AnswerCoding      Coding                    `bson:"answerCoding" json:"answerCoding"`
	AnswerQuantity    Quantity                  `bson:"answerQuantity" json:"answerQuantity"`
	AnswerReference   Reference                 `bson:"answerReference" json:"answerReference"`
}

A constraint indicating that this item should only be enabled (displayed/allow answers to be captured) when the specified condition is true. If multiple repetitions of this extension are present, the item should be enabled when the condition for *any* of the repetitions is true. I.e. treat "enableWhen"s as being joined by an "or" clause. This element is a modifier because if enableWhen is present for an item, "required" is ignored unless one of the enableWhen conditions is met. When an item is disabled, all of its descendants are disabled, regardless of what their own enableWhen logic might evaluate to.

type QuestionnaireItemInitial

type QuestionnaireItemInitial struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ValueBoolean      bool        `bson:"valueBoolean" json:"valueBoolean"`
	ValueDecimal      json.Number `bson:"valueDecimal" json:"valueDecimal"`
	ValueInteger      int         `bson:"valueInteger" json:"valueInteger"`
	ValueDate         string      `bson:"valueDate" json:"valueDate"`
	ValueDateTime     string      `bson:"valueDateTime" json:"valueDateTime"`
	ValueTime         string      `bson:"valueTime" json:"valueTime"`
	ValueString       string      `bson:"valueString" json:"valueString"`
	ValueUri          string      `bson:"valueUri" json:"valueUri"`
	ValueAttachment   Attachment  `bson:"valueAttachment" json:"valueAttachment"`
	ValueCoding       Coding      `bson:"valueCoding" json:"valueCoding"`
	ValueQuantity     Quantity    `bson:"valueQuantity" json:"valueQuantity"`
	ValueReference    Reference   `bson:"valueReference" json:"valueReference"`
}

One or more values that should be pre-populated in the answer when initially rendering the questionnaire for user input. The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that initial values can influence results. The data type of initial[x] must agree with the item.type, and only repeating items can have more then one initial value.

type QuestionnaireItemOperator

type QuestionnaireItemOperator int

QuestionnaireItemOperator is documented here http://hl7.org/fhir/ValueSet/questionnaire-enable-operator

const (
	QuestionnaireItemOperatorExists QuestionnaireItemOperator = iota
	QuestionnaireItemOperatorEquals
	QuestionnaireItemOperatorNotEquals
	QuestionnaireItemOperatorGreaterThan
	QuestionnaireItemOperatorLessThan
	QuestionnaireItemOperatorGreaterOrEquals
	QuestionnaireItemOperatorLessOrEquals
)

func (QuestionnaireItemOperator) Code

func (code QuestionnaireItemOperator) Code() string

func (QuestionnaireItemOperator) Definition

func (code QuestionnaireItemOperator) Definition() string

func (QuestionnaireItemOperator) Display

func (code QuestionnaireItemOperator) Display() string

func (QuestionnaireItemOperator) MarshalJSON

func (code QuestionnaireItemOperator) MarshalJSON() ([]byte, error)

func (QuestionnaireItemOperator) String

func (code QuestionnaireItemOperator) String() string

func (*QuestionnaireItemOperator) UnmarshalJSON

func (code *QuestionnaireItemOperator) UnmarshalJSON(input []byte) error

type QuestionnaireItemType

type QuestionnaireItemType int

QuestionnaireItemType is documented here http://hl7.org/fhir/ValueSet/item-type

const (
	QuestionnaireItemTypeGroup QuestionnaireItemType = iota
	QuestionnaireItemTypeDisplay
	QuestionnaireItemTypeQuestion
	QuestionnaireItemTypeBoolean
	QuestionnaireItemTypeDecimal
	QuestionnaireItemTypeInteger
	QuestionnaireItemTypeDate
	QuestionnaireItemTypeDateTime
	QuestionnaireItemTypeTime
	QuestionnaireItemTypeString
	QuestionnaireItemTypeText
	QuestionnaireItemTypeUrl
	QuestionnaireItemTypeChoice
	QuestionnaireItemTypeOpenChoice
	QuestionnaireItemTypeAttachment
	QuestionnaireItemTypeReference
	QuestionnaireItemTypeQuantity
)

func (QuestionnaireItemType) Code

func (code QuestionnaireItemType) Code() string

func (QuestionnaireItemType) Definition

func (code QuestionnaireItemType) Definition() string

func (QuestionnaireItemType) Display

func (code QuestionnaireItemType) Display() string

func (QuestionnaireItemType) MarshalJSON

func (code QuestionnaireItemType) MarshalJSON() ([]byte, error)

func (QuestionnaireItemType) String

func (code QuestionnaireItemType) String() string

func (*QuestionnaireItemType) UnmarshalJSON

func (code *QuestionnaireItemType) UnmarshalJSON(input []byte) error

type QuestionnaireResponse

type QuestionnaireResponse struct {
	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"`
	Text              *Narrative                  `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage           `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        *Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	BasedOn           []Reference                 `bson:"basedOn,omitempty" json:"basedOn,omitempty"`
	PartOf            []Reference                 `bson:"partOf,omitempty" json:"partOf,omitempty"`
	Questionnaire     *string                     `bson:"questionnaire,omitempty" json:"questionnaire,omitempty"`
	Status            QuestionnaireResponseStatus `bson:"status" json:"status"`
	Subject           *Reference                  `bson:"subject,omitempty" json:"subject,omitempty"`
	Encounter         *Reference                  `bson:"encounter,omitempty" json:"encounter,omitempty"`
	Authored          *string                     `bson:"authored,omitempty" json:"authored,omitempty"`
	Author            *Reference                  `bson:"author,omitempty" json:"author,omitempty"`
	Source            *Reference                  `bson:"source,omitempty" json:"source,omitempty"`
	Item              []QuestionnaireResponseItem `bson:"item,omitempty" json:"item,omitempty"`
}

QuestionnaireResponse is documented here http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to.

func UnmarshalQuestionnaireResponse

func UnmarshalQuestionnaireResponse(b []byte) (QuestionnaireResponse, error)

UnmarshalQuestionnaireResponse unmarshals a QuestionnaireResponse.

func (QuestionnaireResponse) ContainedResources added in v0.0.6

func (r QuestionnaireResponse) ContainedResources() []json.RawMessage

This function returns resource reference information

func (QuestionnaireResponse) MarshalJSON

func (r QuestionnaireResponse) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given QuestionnaireResponse as JSON into a byte slice

func (QuestionnaireResponse) ResourceRef added in v0.0.4

func (r QuestionnaireResponse) ResourceRef() (string, *string)

This function returns resource reference information

type QuestionnaireResponseItem

type QuestionnaireResponseItem struct {
	Id                *string                           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	LinkId            string                            `bson:"linkId" json:"linkId"`
	Definition        *string                           `bson:"definition,omitempty" json:"definition,omitempty"`
	Text              *string                           `bson:"text,omitempty" json:"text,omitempty"`
	Answer            []QuestionnaireResponseItemAnswer `bson:"answer,omitempty" json:"answer,omitempty"`
	Item              []QuestionnaireResponseItem       `bson:"item,omitempty" json:"item,omitempty"`
}

A group or question item from the original questionnaire for which answers are provided. Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer).

type QuestionnaireResponseItemAnswer

type QuestionnaireResponseItemAnswer struct {
	Id                *string                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ValueBoolean      *bool                       `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueDecimal      *json.Number                `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
	ValueInteger      *int                        `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueDate         *string                     `bson:"valueDate,omitempty" json:"valueDate,omitempty"`
	ValueDateTime     *string                     `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
	ValueTime         *string                     `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              []QuestionnaireResponseItem `bson:"item,omitempty" json:"item,omitempty"`
}

The respondent's answer(s) to the question. The value is nested because we cannot have a repeating structure that has variable type.

type QuestionnaireResponseStatus

type QuestionnaireResponseStatus int

QuestionnaireResponseStatus is documented here http://hl7.org/fhir/ValueSet/questionnaire-answers-status

const (
	QuestionnaireResponseStatusInProgress QuestionnaireResponseStatus = iota
	QuestionnaireResponseStatusCompleted
	QuestionnaireResponseStatusAmended
	QuestionnaireResponseStatusEnteredInError
	QuestionnaireResponseStatusStopped
)

func (QuestionnaireResponseStatus) Code

func (code QuestionnaireResponseStatus) Code() string

func (QuestionnaireResponseStatus) Definition

func (code QuestionnaireResponseStatus) Definition() string

func (QuestionnaireResponseStatus) Display

func (code QuestionnaireResponseStatus) Display() string

func (QuestionnaireResponseStatus) MarshalJSON

func (code QuestionnaireResponseStatus) MarshalJSON() ([]byte, error)

func (QuestionnaireResponseStatus) String

func (code QuestionnaireResponseStatus) String() string

func (*QuestionnaireResponseStatus) UnmarshalJSON

func (code *QuestionnaireResponseStatus) UnmarshalJSON(input []byte) error

type Range

type Range struct {
	Id        *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Low       *Quantity   `bson:"low,omitempty" json:"low,omitempty"`
	High      *Quantity   `bson:"high,omitempty" json:"high,omitempty"`
}

Range is documented here http://hl7.org/fhir/StructureDefinition/Range Base StructureDefinition for Range Type: A set of ordered Quantities defined by a low and high limit.

type Ratio

type Ratio struct {
	Id          *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension   []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Numerator   *Quantity   `bson:"numerator,omitempty" json:"numerator,omitempty"`
	Denominator *Quantity   `bson:"denominator,omitempty" json:"denominator,omitempty"`
}

Ratio is documented here http://hl7.org/fhir/StructureDefinition/Ratio Base StructureDefinition for Ratio Type: A relationship of two Quantity values - expressed as a numerator and a denominator.

type Reference

type Reference struct {
	Id         *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension  []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Reference  *string     `bson:"reference,omitempty" json:"reference,omitempty"`
	Type       *string     `bson:"type,omitempty" json:"type,omitempty"`
	Identifier *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Display    *string     `bson:"display,omitempty" json:"display,omitempty"`
}

Reference is documented here http://hl7.org/fhir/StructureDefinition/Reference Base StructureDefinition for Reference Type: A reference from one resource to another.

type ReferenceHandlingPolicy

type ReferenceHandlingPolicy int

ReferenceHandlingPolicy is documented here http://hl7.org/fhir/ValueSet/reference-handling-policy

const (
	ReferenceHandlingPolicyLiteral ReferenceHandlingPolicy = iota
	ReferenceHandlingPolicyLogical
	ReferenceHandlingPolicyResolves
	ReferenceHandlingPolicyEnforced
	ReferenceHandlingPolicyLocal
)

func (ReferenceHandlingPolicy) Code

func (code ReferenceHandlingPolicy) Code() string

func (ReferenceHandlingPolicy) Definition

func (code ReferenceHandlingPolicy) Definition() string

func (ReferenceHandlingPolicy) Display

func (code ReferenceHandlingPolicy) Display() string

func (ReferenceHandlingPolicy) MarshalJSON

func (code ReferenceHandlingPolicy) MarshalJSON() ([]byte, error)

func (ReferenceHandlingPolicy) String

func (code ReferenceHandlingPolicy) String() string

func (*ReferenceHandlingPolicy) UnmarshalJSON

func (code *ReferenceHandlingPolicy) UnmarshalJSON(input []byte) error

type ReferenceVersionRules

type ReferenceVersionRules int

ReferenceVersionRules is documented here http://hl7.org/fhir/ValueSet/reference-version-rules

const (
	ReferenceVersionRulesEither ReferenceVersionRules = iota
	ReferenceVersionRulesIndependent
	ReferenceVersionRulesSpecific
)

func (ReferenceVersionRules) Code

func (code ReferenceVersionRules) Code() string

func (ReferenceVersionRules) Definition

func (code ReferenceVersionRules) Definition() string

func (ReferenceVersionRules) Display

func (code ReferenceVersionRules) Display() string

func (ReferenceVersionRules) MarshalJSON

func (code ReferenceVersionRules) MarshalJSON() ([]byte, error)

func (ReferenceVersionRules) String

func (code ReferenceVersionRules) String() string

func (*ReferenceVersionRules) UnmarshalJSON

func (code *ReferenceVersionRules) UnmarshalJSON(input []byte) error

type RelatedArtifact

type RelatedArtifact struct {
	Id        *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	Type      RelatedArtifactType `bson:"type" json:"type"`
	Label     *string             `bson:"label,omitempty" json:"label,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  *string             `bson:"resource,omitempty" json:"resource,omitempty"`
}

RelatedArtifact is documented here http://hl7.org/fhir/StructureDefinition/RelatedArtifact Base StructureDefinition for RelatedArtifact Type: Related artifacts such as additional documentation, justification, or bibliographic references.

type RelatedArtifactType

type RelatedArtifactType int

RelatedArtifactType is documented here http://hl7.org/fhir/ValueSet/related-artifact-type

const (
	RelatedArtifactTypeDocumentation RelatedArtifactType = iota
	RelatedArtifactTypeJustification
	RelatedArtifactTypeCitation
	RelatedArtifactTypePredecessor
	RelatedArtifactTypeSuccessor
	RelatedArtifactTypeDerivedFrom
	RelatedArtifactTypeDependsOn
	RelatedArtifactTypeComposedOf
)

func (RelatedArtifactType) Code

func (code RelatedArtifactType) Code() string

func (RelatedArtifactType) Definition

func (code RelatedArtifactType) Definition() string

func (RelatedArtifactType) Display

func (code RelatedArtifactType) Display() string

func (RelatedArtifactType) MarshalJSON

func (code RelatedArtifactType) MarshalJSON() ([]byte, error)

func (RelatedArtifactType) String

func (code RelatedArtifactType) String() string

func (*RelatedArtifactType) UnmarshalJSON

func (code *RelatedArtifactType) UnmarshalJSON(input []byte) error

type RelatedPerson

type RelatedPerson struct {
	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"`
	Text              *Narrative                   `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage            `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                 `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Active            *bool                        `bson:"active,omitempty" json:"active,omitempty"`
	Patient           Reference                    `bson:"patient" json:"patient"`
	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            *AdministrativeGender        `bson:"gender,omitempty" json:"gender,omitempty"`
	BirthDate         *string                      `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"`
	Communication     []RelatedPersonCommunication `bson:"communication,omitempty" json:"communication,omitempty"`
}

RelatedPerson is documented here http://hl7.org/fhir/StructureDefinition/RelatedPerson Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.

func UnmarshalRelatedPerson

func UnmarshalRelatedPerson(b []byte) (RelatedPerson, error)

UnmarshalRelatedPerson unmarshals a RelatedPerson.

func (RelatedPerson) ContainedResources added in v0.0.6

func (r RelatedPerson) ContainedResources() []json.RawMessage

This function returns resource reference information

func (RelatedPerson) MarshalJSON

func (r RelatedPerson) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given RelatedPerson as JSON into a byte slice

func (RelatedPerson) ResourceRef added in v0.0.4

func (r RelatedPerson) ResourceRef() (string, *string)

This function returns resource reference information

type RelatedPersonCommunication

type RelatedPersonCommunication struct {
	Id                *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Language          CodeableConcept `bson:"language" json:"language"`
	Preferred         *bool           `bson:"preferred,omitempty" json:"preferred,omitempty"`
}

A language which may be used to communicate with about the patient's health. If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple RelatedPerson.Communication associations. If the RelatedPerson does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.

type RequestGroup

type RequestGroup struct {
	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"`
	Text                  *Narrative           `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage    `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier            []Identifier         `bson:"identifier,omitempty" json:"identifier,omitempty"`
	InstantiatesCanonical []string             `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri       []string             `bson:"instantiatesUri,omitempty" json:"instantiatesUri,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                RequestStatus        `bson:"status" json:"status"`
	Intent                RequestIntent        `bson:"intent" json:"intent"`
	Priority              *RequestPriority     `bson:"priority,omitempty" json:"priority,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"`
	AuthoredOn            *string              `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Author                *Reference           `bson:"author,omitempty" json:"author,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"`
	Action                []RequestGroupAction `bson:"action,omitempty" json:"action,omitempty"`
}

RequestGroup is documented here http://hl7.org/fhir/StructureDefinition/RequestGroup A group of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one".

func UnmarshalRequestGroup

func UnmarshalRequestGroup(b []byte) (RequestGroup, error)

UnmarshalRequestGroup unmarshals a RequestGroup.

func (RequestGroup) ContainedResources added in v0.0.6

func (r RequestGroup) ContainedResources() []json.RawMessage

This function returns resource reference information

func (RequestGroup) MarshalJSON

func (r RequestGroup) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given RequestGroup as JSON into a byte slice

func (RequestGroup) ResourceRef added in v0.0.4

func (r RequestGroup) ResourceRef() (string, *string)

This function returns resource reference information

type RequestGroupAction

type RequestGroupAction struct {
	Id                  *string                           `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension                       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension                       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Prefix              *string                           `bson:"prefix,omitempty" json:"prefix,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"`
	Priority            *RequestPriority                  `bson:"priority,omitempty" json:"priority,omitempty"`
	Code                []CodeableConcept                 `bson:"code,omitempty" json:"code,omitempty"`
	Documentation       []RelatedArtifact                 `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Condition           []RequestGroupActionCondition     `bson:"condition,omitempty" json:"condition,omitempty"`
	RelatedAction       []RequestGroupActionRelatedAction `bson:"relatedAction,omitempty" json:"relatedAction,omitempty"`
	TimingDateTime      *string                           `bson:"timingDateTime,omitempty" json:"timingDateTime,omitempty"`
	TimingAge           *Age                              `bson:"timingAge,omitempty" json:"timingAge,omitempty"`
	TimingPeriod        *Period                           `bson:"timingPeriod,omitempty" json:"timingPeriod,omitempty"`
	TimingDuration      *Duration                         `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                *CodeableConcept                  `bson:"type,omitempty" json:"type,omitempty"`
	GroupingBehavior    *ActionGroupingBehavior           `bson:"groupingBehavior,omitempty" json:"groupingBehavior,omitempty"`
	SelectionBehavior   *ActionSelectionBehavior          `bson:"selectionBehavior,omitempty" json:"selectionBehavior,omitempty"`
	RequiredBehavior    *ActionRequiredBehavior           `bson:"requiredBehavior,omitempty" json:"requiredBehavior,omitempty"`
	PrecheckBehavior    *ActionPrecheckBehavior           `bson:"precheckBehavior,omitempty" json:"precheckBehavior,omitempty"`
	CardinalityBehavior *ActionCardinalityBehavior        `bson:"cardinalityBehavior,omitempty" json:"cardinalityBehavior,omitempty"`
	Resource            *Reference                        `bson:"resource,omitempty" json:"resource,omitempty"`
	Action              []RequestGroupAction              `bson:"action,omitempty" json:"action,omitempty"`
}

The actions, if any, produced by the evaluation of the artifact.

type RequestGroupActionCondition

type RequestGroupActionCondition struct {
	Id                *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Kind              ActionConditionKind `bson:"kind" json:"kind"`
	Expression        *Expression         `bson:"expression,omitempty" json:"expression,omitempty"`
}

An expression that describes applicability criteria, or start/stop conditions for the action. When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all of the conditions are true.

type RequestGroupActionRelatedAction

type RequestGroupActionRelatedAction struct {
	Id                *string                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ActionId          string                 `bson:"actionId" json:"actionId"`
	Relationship      ActionRelationshipType `bson:"relationship" json:"relationship"`
	OffsetDuration    *Duration              `bson:"offsetDuration,omitempty" json:"offsetDuration,omitempty"`
	OffsetRange       *Range                 `bson:"offsetRange,omitempty" json:"offsetRange,omitempty"`
}

A relationship to another action such as "before" or "30-60 minutes after start of".

type RequestIntent

type RequestIntent int

RequestIntent is documented here http://hl7.org/fhir/ValueSet/request-intent

const (
	RequestIntentProposal RequestIntent = iota
	RequestIntentPlan
	RequestIntentDirective
	RequestIntentOrder
	RequestIntentOriginalOrder
	RequestIntentReflexOrder
	RequestIntentFillerOrder
	RequestIntentInstanceOrder
	RequestIntentOption
)

func (RequestIntent) Code

func (code RequestIntent) Code() string

func (RequestIntent) Definition

func (code RequestIntent) Definition() string

func (RequestIntent) Display

func (code RequestIntent) Display() string

func (RequestIntent) MarshalJSON

func (code RequestIntent) MarshalJSON() ([]byte, error)

func (RequestIntent) String

func (code RequestIntent) String() string

func (*RequestIntent) UnmarshalJSON

func (code *RequestIntent) UnmarshalJSON(input []byte) error

type RequestPriority

type RequestPriority int

RequestPriority is documented here http://hl7.org/fhir/ValueSet/request-priority

const (
	RequestPriorityRoutine RequestPriority = iota
	RequestPriorityUrgent
	RequestPriorityAsap
	RequestPriorityStat
)

func (RequestPriority) Code

func (code RequestPriority) Code() string

func (RequestPriority) Definition

func (code RequestPriority) Definition() string

func (RequestPriority) Display

func (code RequestPriority) Display() string

func (RequestPriority) MarshalJSON

func (code RequestPriority) MarshalJSON() ([]byte, error)

func (RequestPriority) String

func (code RequestPriority) String() string

func (*RequestPriority) UnmarshalJSON

func (code *RequestPriority) UnmarshalJSON(input []byte) error

type RequestResourceType

type RequestResourceType int

RequestResourceType is documented here http://hl7.org/fhir/ValueSet/request-resource-types

const (
	RequestResourceTypeAppointment RequestResourceType = iota
	RequestResourceTypeAppointmentResponse
	RequestResourceTypeCarePlan
	RequestResourceTypeClaim
	RequestResourceTypeCommunicationRequest
	RequestResourceTypeContract
	RequestResourceTypeDeviceRequest
	RequestResourceTypeEnrollmentRequest
	RequestResourceTypeImmunizationRecommendation
	RequestResourceTypeMedicationRequest
	RequestResourceTypeNutritionOrder
	RequestResourceTypeServiceRequest
	RequestResourceTypeSupplyRequest
	RequestResourceTypeTask
	RequestResourceTypeVisionPrescription
)

func (RequestResourceType) Code

func (code RequestResourceType) Code() string

func (RequestResourceType) Definition

func (code RequestResourceType) Definition() string

func (RequestResourceType) Display

func (code RequestResourceType) Display() string

func (RequestResourceType) MarshalJSON

func (code RequestResourceType) MarshalJSON() ([]byte, error)

func (RequestResourceType) String

func (code RequestResourceType) String() string

func (*RequestResourceType) UnmarshalJSON

func (code *RequestResourceType) UnmarshalJSON(input []byte) error

type RequestStatus

type RequestStatus int

RequestStatus is documented here http://hl7.org/fhir/ValueSet/request-status

const (
	RequestStatusDraft RequestStatus = iota
	RequestStatusActive
	RequestStatusOnHold
	RequestStatusRevoked
	RequestStatusCompleted
	RequestStatusEnteredInError
	RequestStatusUnknown
)

func (RequestStatus) Code

func (code RequestStatus) Code() string

func (RequestStatus) Definition

func (code RequestStatus) Definition() string

func (RequestStatus) Display

func (code RequestStatus) Display() string

func (RequestStatus) MarshalJSON

func (code RequestStatus) MarshalJSON() ([]byte, error)

func (RequestStatus) String

func (code RequestStatus) String() string

func (*RequestStatus) UnmarshalJSON

func (code *RequestStatus) UnmarshalJSON(input []byte) error

type ResearchDefinition

type ResearchDefinition struct {
	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"`
	Text                   *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	ShortTitle             *string           `bson:"shortTitle,omitempty" json:"shortTitle,omitempty"`
	Subtitle               *string           `bson:"subtitle,omitempty" json:"subtitle,omitempty"`
	Status                 PublicationStatus `bson:"status" json:"status"`
	Experimental           *bool             `bson:"experimental,omitempty" json:"experimental,omitempty"`
	SubjectCodeableConcept *CodeableConcept  `bson:"subjectCodeableConcept,omitempty" json:"subjectCodeableConcept,omitempty"`
	SubjectReference       *Reference        `bson:"subjectReference,omitempty" json:"subjectReference,omitempty"`
	Date                   *string           `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"`
	Comment                []string          `bson:"comment,omitempty" json:"comment,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"`
	Usage                  *string           `bson:"usage,omitempty" json:"usage,omitempty"`
	Copyright              *string           `bson:"copyright,omitempty" json:"copyright,omitempty"`
	ApprovalDate           *string           `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate         *string           `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod        *Period           `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Topic                  []CodeableConcept `bson:"topic,omitempty" json:"topic,omitempty"`
	Author                 []ContactDetail   `bson:"author,omitempty" json:"author,omitempty"`
	Editor                 []ContactDetail   `bson:"editor,omitempty" json:"editor,omitempty"`
	Reviewer               []ContactDetail   `bson:"reviewer,omitempty" json:"reviewer,omitempty"`
	Endorser               []ContactDetail   `bson:"endorser,omitempty" json:"endorser,omitempty"`
	RelatedArtifact        []RelatedArtifact `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Library                []string          `bson:"library,omitempty" json:"library,omitempty"`
	Population             Reference         `bson:"population" json:"population"`
	Exposure               *Reference        `bson:"exposure,omitempty" json:"exposure,omitempty"`
	ExposureAlternative    *Reference        `bson:"exposureAlternative,omitempty" json:"exposureAlternative,omitempty"`
	Outcome                *Reference        `bson:"outcome,omitempty" json:"outcome,omitempty"`
}

ResearchDefinition is documented here http://hl7.org/fhir/StructureDefinition/ResearchDefinition The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.

func UnmarshalResearchDefinition

func UnmarshalResearchDefinition(b []byte) (ResearchDefinition, error)

UnmarshalResearchDefinition unmarshals a ResearchDefinition.

func (ResearchDefinition) ContainedResources added in v0.0.6

func (r ResearchDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ResearchDefinition) MarshalJSON

func (r ResearchDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ResearchDefinition as JSON into a byte slice

func (ResearchDefinition) ResourceRef added in v0.0.4

func (r ResearchDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type ResearchElementDefinition

type ResearchElementDefinition struct {
	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"`
	Text                   *Narrative                                `bson:"text,omitempty" json:"text,omitempty"`
	Contained              []json.RawMessage                         `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension              []Extension                               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension      []Extension                               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
	ShortTitle             *string                                   `bson:"shortTitle,omitempty" json:"shortTitle,omitempty"`
	Subtitle               *string                                   `bson:"subtitle,omitempty" json:"subtitle,omitempty"`
	Status                 PublicationStatus                         `bson:"status" json:"status"`
	Experimental           *bool                                     `bson:"experimental,omitempty" json:"experimental,omitempty"`
	SubjectCodeableConcept *CodeableConcept                          `bson:"subjectCodeableConcept,omitempty" json:"subjectCodeableConcept,omitempty"`
	SubjectReference       *Reference                                `bson:"subjectReference,omitempty" json:"subjectReference,omitempty"`
	Date                   *string                                   `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"`
	Comment                []string                                  `bson:"comment,omitempty" json:"comment,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"`
	Usage                  *string                                   `bson:"usage,omitempty" json:"usage,omitempty"`
	Copyright              *string                                   `bson:"copyright,omitempty" json:"copyright,omitempty"`
	ApprovalDate           *string                                   `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate         *string                                   `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod        *Period                                   `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Topic                  []CodeableConcept                         `bson:"topic,omitempty" json:"topic,omitempty"`
	Author                 []ContactDetail                           `bson:"author,omitempty" json:"author,omitempty"`
	Editor                 []ContactDetail                           `bson:"editor,omitempty" json:"editor,omitempty"`
	Reviewer               []ContactDetail                           `bson:"reviewer,omitempty" json:"reviewer,omitempty"`
	Endorser               []ContactDetail                           `bson:"endorser,omitempty" json:"endorser,omitempty"`
	RelatedArtifact        []RelatedArtifact                         `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	Library                []string                                  `bson:"library,omitempty" json:"library,omitempty"`
	Type                   ResearchElementType                       `bson:"type" json:"type"`
	VariableType           *EvidenceVariableType                     `bson:"variableType,omitempty" json:"variableType,omitempty"`
	Characteristic         []ResearchElementDefinitionCharacteristic `bson:"characteristic" json:"characteristic"`
}

ResearchElementDefinition is documented here http://hl7.org/fhir/StructureDefinition/ResearchElementDefinition The ResearchElementDefinition resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.

func UnmarshalResearchElementDefinition

func UnmarshalResearchElementDefinition(b []byte) (ResearchElementDefinition, error)

UnmarshalResearchElementDefinition unmarshals a ResearchElementDefinition.

func (ResearchElementDefinition) ContainedResources added in v0.0.6

func (r ResearchElementDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ResearchElementDefinition) MarshalJSON

func (r ResearchElementDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ResearchElementDefinition as JSON into a byte slice

func (ResearchElementDefinition) ResourceRef added in v0.0.4

func (r ResearchElementDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type ResearchElementDefinitionCharacteristic

type ResearchElementDefinitionCharacteristic struct {
	Id                                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension                         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension                 []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	DefinitionCodeableConcept         CodeableConcept  `bson:"definitionCodeableConcept" json:"definitionCodeableConcept"`
	DefinitionCanonical               string           `bson:"definitionCanonical" json:"definitionCanonical"`
	DefinitionExpression              Expression       `bson:"definitionExpression" json:"definitionExpression"`
	DefinitionDataRequirement         DataRequirement  `bson:"definitionDataRequirement" json:"definitionDataRequirement"`
	UsageContext                      []UsageContext   `bson:"usageContext,omitempty" json:"usageContext,omitempty"`
	Exclude                           *bool            `bson:"exclude,omitempty" json:"exclude,omitempty"`
	UnitOfMeasure                     *CodeableConcept `bson:"unitOfMeasure,omitempty" json:"unitOfMeasure,omitempty"`
	StudyEffectiveDescription         *string          `bson:"studyEffectiveDescription,omitempty" json:"studyEffectiveDescription,omitempty"`
	StudyEffectiveDateTime            *string          `bson:"studyEffectiveDateTime,omitempty" json:"studyEffectiveDateTime,omitempty"`
	StudyEffectivePeriod              *Period          `bson:"studyEffectivePeriod,omitempty" json:"studyEffectivePeriod,omitempty"`
	StudyEffectiveDuration            *Duration        `bson:"studyEffectiveDuration,omitempty" json:"studyEffectiveDuration,omitempty"`
	StudyEffectiveTiming              *Timing          `bson:"studyEffectiveTiming,omitempty" json:"studyEffectiveTiming,omitempty"`
	StudyEffectiveTimeFromStart       *Duration        `bson:"studyEffectiveTimeFromStart,omitempty" json:"studyEffectiveTimeFromStart,omitempty"`
	StudyEffectiveGroupMeasure        *GroupMeasure    `bson:"studyEffectiveGroupMeasure,omitempty" json:"studyEffectiveGroupMeasure,omitempty"`
	ParticipantEffectiveDescription   *string          `bson:"participantEffectiveDescription,omitempty" json:"participantEffectiveDescription,omitempty"`
	ParticipantEffectiveDateTime      *string          `bson:"participantEffectiveDateTime,omitempty" json:"participantEffectiveDateTime,omitempty"`
	ParticipantEffectivePeriod        *Period          `bson:"participantEffectivePeriod,omitempty" json:"participantEffectivePeriod,omitempty"`
	ParticipantEffectiveDuration      *Duration        `bson:"participantEffectiveDuration,omitempty" json:"participantEffectiveDuration,omitempty"`
	ParticipantEffectiveTiming        *Timing          `bson:"participantEffectiveTiming,omitempty" json:"participantEffectiveTiming,omitempty"`
	ParticipantEffectiveTimeFromStart *Duration        `bson:"participantEffectiveTimeFromStart,omitempty" json:"participantEffectiveTimeFromStart,omitempty"`
	ParticipantEffectiveGroupMeasure  *GroupMeasure    `bson:"participantEffectiveGroupMeasure,omitempty" json:"participantEffectiveGroupMeasure,omitempty"`
}

A characteristic that defines the members of the research element. Multiple characteristics are applied with "and" semantics. Characteristics can be defined flexibly to accommodate different use cases for membership criteria, ranging from simple codes, all the way to using an expression language to express the criteria.

type ResearchElementType

type ResearchElementType int

ResearchElementType is documented here http://hl7.org/fhir/ValueSet/research-element-type

const (
	ResearchElementTypePopulation ResearchElementType = iota
	ResearchElementTypeExposure
	ResearchElementTypeOutcome
)

func (ResearchElementType) Code

func (code ResearchElementType) Code() string

func (ResearchElementType) Definition

func (code ResearchElementType) Definition() string

func (ResearchElementType) Display

func (code ResearchElementType) Display() string

func (ResearchElementType) MarshalJSON

func (code ResearchElementType) MarshalJSON() ([]byte, error)

func (ResearchElementType) String

func (code ResearchElementType) String() string

func (*ResearchElementType) UnmarshalJSON

func (code *ResearchElementType) UnmarshalJSON(input []byte) error

type ResearchStudy

type ResearchStudy struct {
	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"`
	Text                  *Narrative               `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage        `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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                ResearchStudyStatus      `bson:"status" json:"status"`
	PrimaryPurposeType    *CodeableConcept         `bson:"primaryPurposeType,omitempty" json:"primaryPurposeType,omitempty"`
	Phase                 *CodeableConcept         `bson:"phase,omitempty" json:"phase,omitempty"`
	Category              []CodeableConcept        `bson:"category,omitempty" json:"category,omitempty"`
	Focus                 []CodeableConcept        `bson:"focus,omitempty" json:"focus,omitempty"`
	Condition             []CodeableConcept        `bson:"condition,omitempty" json:"condition,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"`
	Location              []CodeableConcept        `bson:"location,omitempty" json:"location,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                   []ResearchStudyArm       `bson:"arm,omitempty" json:"arm,omitempty"`
	Objective             []ResearchStudyObjective `bson:"objective,omitempty" json:"objective,omitempty"`
}

ResearchStudy is documented here http://hl7.org/fhir/StructureDefinition/ResearchStudy A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects.

func UnmarshalResearchStudy

func UnmarshalResearchStudy(b []byte) (ResearchStudy, error)

UnmarshalResearchStudy unmarshals a ResearchStudy.

func (ResearchStudy) ContainedResources added in v0.0.6

func (r ResearchStudy) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ResearchStudy) MarshalJSON

func (r ResearchStudy) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ResearchStudy as JSON into a byte slice

func (ResearchStudy) ResourceRef added in v0.0.4

func (r ResearchStudy) ResourceRef() (string, *string)

This function returns resource reference information

type ResearchStudyArm

type ResearchStudyArm struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string           `bson:"name" json:"name"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Description       *string          `bson:"description,omitempty" json:"description,omitempty"`
}

Describes an expected sequence of events for one of the participants of a study. E.g. Exposure to drug A, wash-out, exposure to drug B, wash-out, follow-up.

type ResearchStudyObjective

type ResearchStudyObjective struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              *string          `bson:"name,omitempty" json:"name,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
}

A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study.

type ResearchStudyStatus

type ResearchStudyStatus int

ResearchStudyStatus is documented here http://hl7.org/fhir/ValueSet/research-study-status

const (
	ResearchStudyStatusActive ResearchStudyStatus = iota
	ResearchStudyStatusAdministrativelyCompleted
	ResearchStudyStatusApproved
	ResearchStudyStatusClosedToAccrual
	ResearchStudyStatusClosedToAccrualAndIntervention
	ResearchStudyStatusCompleted
	ResearchStudyStatusDisapproved
	ResearchStudyStatusInReview
	ResearchStudyStatusTemporarilyClosedToAccrual
	ResearchStudyStatusTemporarilyClosedToAccrualAndIntervention
	ResearchStudyStatusWithdrawn
)

func (ResearchStudyStatus) Code

func (code ResearchStudyStatus) Code() string

func (ResearchStudyStatus) Definition

func (code ResearchStudyStatus) Definition() string

func (ResearchStudyStatus) Display

func (code ResearchStudyStatus) Display() string

func (ResearchStudyStatus) MarshalJSON

func (code ResearchStudyStatus) MarshalJSON() ([]byte, error)

func (ResearchStudyStatus) String

func (code ResearchStudyStatus) String() string

func (*ResearchStudyStatus) UnmarshalJSON

func (code *ResearchStudyStatus) UnmarshalJSON(input []byte) error

type ResearchSubject

type ResearchSubject struct {
	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"`
	Text              *Narrative            `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            ResearchSubjectStatus `bson:"status" json:"status"`
	Period            *Period               `bson:"period,omitempty" json:"period,omitempty"`
	Study             Reference             `bson:"study" json:"study"`
	Individual        Reference             `bson:"individual" json:"individual"`
	AssignedArm       *string               `bson:"assignedArm,omitempty" json:"assignedArm,omitempty"`
	ActualArm         *string               `bson:"actualArm,omitempty" json:"actualArm,omitempty"`
	Consent           *Reference            `bson:"consent,omitempty" json:"consent,omitempty"`
}

ResearchSubject is documented here http://hl7.org/fhir/StructureDefinition/ResearchSubject A physical entity which is the primary unit of operational and/or administrative interest in a study.

func UnmarshalResearchSubject

func UnmarshalResearchSubject(b []byte) (ResearchSubject, error)

UnmarshalResearchSubject unmarshals a ResearchSubject.

func (ResearchSubject) ContainedResources added in v0.0.6

func (r ResearchSubject) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ResearchSubject) MarshalJSON

func (r ResearchSubject) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ResearchSubject as JSON into a byte slice

func (ResearchSubject) ResourceRef added in v0.0.4

func (r ResearchSubject) ResourceRef() (string, *string)

This function returns resource reference information

type ResearchSubjectStatus

type ResearchSubjectStatus int

ResearchSubjectStatus is documented here http://hl7.org/fhir/ValueSet/research-subject-status

const (
	ResearchSubjectStatusCandidate ResearchSubjectStatus = iota
	ResearchSubjectStatusEligible
	ResearchSubjectStatusFollowUp
	ResearchSubjectStatusIneligible
	ResearchSubjectStatusNotRegistered
	ResearchSubjectStatusOffStudy
	ResearchSubjectStatusOnStudy
	ResearchSubjectStatusOnStudyIntervention
	ResearchSubjectStatusOnStudyObservation
	ResearchSubjectStatusPendingOnStudy
	ResearchSubjectStatusPotentialCandidate
	ResearchSubjectStatusScreening
	ResearchSubjectStatusWithdrawn
)

func (ResearchSubjectStatus) Code

func (code ResearchSubjectStatus) Code() string

func (ResearchSubjectStatus) Definition

func (code ResearchSubjectStatus) Definition() string

func (ResearchSubjectStatus) Display

func (code ResearchSubjectStatus) Display() string

func (ResearchSubjectStatus) MarshalJSON

func (code ResearchSubjectStatus) MarshalJSON() ([]byte, error)

func (ResearchSubjectStatus) String

func (code ResearchSubjectStatus) String() string

func (*ResearchSubjectStatus) UnmarshalJSON

func (code *ResearchSubjectStatus) UnmarshalJSON(input []byte) error

type Resource

type Resource struct {
	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"`
}

Resource is documented here http://hl7.org/fhir/StructureDefinition/Resource This is the base resource type for everything.

func UnmarshalResource

func UnmarshalResource(b []byte) (Resource, error)

UnmarshalResource unmarshals a Resource.

func (Resource) ContainedResources added in v0.0.6

func (r Resource) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Resource) MarshalJSON

func (r Resource) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Resource as JSON into a byte slice

func (Resource) ResourceRef added in v0.0.4

func (r Resource) ResourceRef() (string, *string)

This function returns resource reference information

type ResourceType

type ResourceType int

ResourceType is documented here http://hl7.org/fhir/ValueSet/resource-types

const (
	ResourceTypeAccount ResourceType = iota
	ResourceTypeActivityDefinition
	ResourceTypeAdverseEvent
	ResourceTypeAllergyIntolerance
	ResourceTypeAppointment
	ResourceTypeAppointmentResponse
	ResourceTypeAuditEvent
	ResourceTypeBasic
	ResourceTypeBinary
	ResourceTypeBiologicallyDerivedProduct
	ResourceTypeBodyStructure
	ResourceTypeBundle
	ResourceTypeCapabilityStatement
	ResourceTypeCarePlan
	ResourceTypeCareTeam
	ResourceTypeCatalogEntry
	ResourceTypeChargeItem
	ResourceTypeChargeItemDefinition
	ResourceTypeClaim
	ResourceTypeClaimResponse
	ResourceTypeClinicalImpression
	ResourceTypeCodeSystem
	ResourceTypeCommunication
	ResourceTypeCommunicationRequest
	ResourceTypeCompartmentDefinition
	ResourceTypeComposition
	ResourceTypeConceptMap
	ResourceTypeCondition
	ResourceTypeConsent
	ResourceTypeContract
	ResourceTypeCoverage
	ResourceTypeCoverageEligibilityRequest
	ResourceTypeCoverageEligibilityResponse
	ResourceTypeDetectedIssue
	ResourceTypeDevice
	ResourceTypeDeviceDefinition
	ResourceTypeDeviceMetric
	ResourceTypeDeviceRequest
	ResourceTypeDeviceUseStatement
	ResourceTypeDiagnosticReport
	ResourceTypeDocumentManifest
	ResourceTypeDocumentReference
	ResourceTypeDomainResource
	ResourceTypeEffectEvidenceSynthesis
	ResourceTypeEncounter
	ResourceTypeEndpoint
	ResourceTypeEnrollmentRequest
	ResourceTypeEnrollmentResponse
	ResourceTypeEpisodeOfCare
	ResourceTypeEventDefinition
	ResourceTypeEvidence
	ResourceTypeEvidenceVariable
	ResourceTypeExampleScenario
	ResourceTypeExplanationOfBenefit
	ResourceTypeFamilyMemberHistory
	ResourceTypeFlag
	ResourceTypeGoal
	ResourceTypeGraphDefinition
	ResourceTypeGroup
	ResourceTypeGuidanceResponse
	ResourceTypeHealthcareService
	ResourceTypeImagingStudy
	ResourceTypeImmunization
	ResourceTypeImmunizationEvaluation
	ResourceTypeImmunizationRecommendation
	ResourceTypeImplementationGuide
	ResourceTypeInsurancePlan
	ResourceTypeInvoice
	ResourceTypeLibrary
	ResourceTypeLinkage
	ResourceTypeList
	ResourceTypeLocation
	ResourceTypeMeasure
	ResourceTypeMeasureReport
	ResourceTypeMedia
	ResourceTypeMedication
	ResourceTypeMedicationAdministration
	ResourceTypeMedicationDispense
	ResourceTypeMedicationKnowledge
	ResourceTypeMedicationRequest
	ResourceTypeMedicationStatement
	ResourceTypeMedicinalProduct
	ResourceTypeMedicinalProductAuthorization
	ResourceTypeMedicinalProductContraindication
	ResourceTypeMedicinalProductIndication
	ResourceTypeMedicinalProductIngredient
	ResourceTypeMedicinalProductInteraction
	ResourceTypeMedicinalProductManufactured
	ResourceTypeMedicinalProductPackaged
	ResourceTypeMedicinalProductPharmaceutical
	ResourceTypeMedicinalProductUndesirableEffect
	ResourceTypeMessageDefinition
	ResourceTypeMessageHeader
	ResourceTypeMolecularSequence
	ResourceTypeNamingSystem
	ResourceTypeNutritionOrder
	ResourceTypeObservation
	ResourceTypeObservationDefinition
	ResourceTypeOperationDefinition
	ResourceTypeOperationOutcome
	ResourceTypeOrganization
	ResourceTypeOrganizationAffiliation
	ResourceTypeParameters
	ResourceTypePatient
	ResourceTypePaymentNotice
	ResourceTypePaymentReconciliation
	ResourceTypePerson
	ResourceTypePlanDefinition
	ResourceTypePractitioner
	ResourceTypePractitionerRole
	ResourceTypeProcedure
	ResourceTypeProvenance
	ResourceTypeQuestionnaire
	ResourceTypeQuestionnaireResponse
	ResourceTypeRelatedPerson
	ResourceTypeRequestGroup
	ResourceTypeResearchDefinition
	ResourceTypeResearchElementDefinition
	ResourceTypeResearchStudy
	ResourceTypeResearchSubject
	ResourceTypeResource
	ResourceTypeRiskAssessment
	ResourceTypeRiskEvidenceSynthesis
	ResourceTypeSchedule
	ResourceTypeSearchParameter
	ResourceTypeServiceRequest
	ResourceTypeSlot
	ResourceTypeSpecimen
	ResourceTypeSpecimenDefinition
	ResourceTypeStructureDefinition
	ResourceTypeStructureMap
	ResourceTypeSubscription
	ResourceTypeSubstance
	ResourceTypeSubstanceNucleicAcid
	ResourceTypeSubstancePolymer
	ResourceTypeSubstanceProtein
	ResourceTypeSubstanceReferenceInformation
	ResourceTypeSubstanceSourceMaterial
	ResourceTypeSubstanceSpecification
	ResourceTypeSupplyDelivery
	ResourceTypeSupplyRequest
	ResourceTypeTask
	ResourceTypeTerminologyCapabilities
	ResourceTypeTestReport
	ResourceTypeTestScript
	ResourceTypeValueSet
	ResourceTypeVerificationResult
	ResourceTypeVisionPrescription
)

func (ResourceType) Code

func (code ResourceType) Code() string

func (ResourceType) Definition

func (code ResourceType) Definition() string

func (ResourceType) Display

func (code ResourceType) Display() string

func (ResourceType) MarshalJSON

func (code ResourceType) MarshalJSON() ([]byte, error)

func (ResourceType) String

func (code ResourceType) String() string

func (*ResourceType) UnmarshalJSON

func (code *ResourceType) UnmarshalJSON(input []byte) error

type ResourceVersionPolicy

type ResourceVersionPolicy int

ResourceVersionPolicy is documented here http://hl7.org/fhir/ValueSet/versioning-policy

const (
	ResourceVersionPolicyNoVersion ResourceVersionPolicy = iota
	ResourceVersionPolicyVersioned
	ResourceVersionPolicyVersionedUpdate
)

func (ResourceVersionPolicy) Code

func (code ResourceVersionPolicy) Code() string

func (ResourceVersionPolicy) Definition

func (code ResourceVersionPolicy) Definition() string

func (ResourceVersionPolicy) Display

func (code ResourceVersionPolicy) Display() string

func (ResourceVersionPolicy) MarshalJSON

func (code ResourceVersionPolicy) MarshalJSON() ([]byte, error)

func (ResourceVersionPolicy) String

func (code ResourceVersionPolicy) String() string

func (*ResourceVersionPolicy) UnmarshalJSON

func (code *ResourceVersionPolicy) UnmarshalJSON(input []byte) error

type ResponseType

type ResponseType int

ResponseType is documented here http://hl7.org/fhir/ValueSet/response-code

const (
	ResponseTypeOk ResponseType = iota
	ResponseTypeTransientError
	ResponseTypeFatalError
)

func (ResponseType) Code

func (code ResponseType) Code() string

func (ResponseType) Definition

func (code ResponseType) Definition() string

func (ResponseType) Display

func (code ResponseType) Display() string

func (ResponseType) MarshalJSON

func (code ResponseType) MarshalJSON() ([]byte, error)

func (ResponseType) String

func (code ResponseType) String() string

func (*ResponseType) UnmarshalJSON

func (code *ResponseType) UnmarshalJSON(input []byte) error

type RestfulCapabilityMode

type RestfulCapabilityMode int

RestfulCapabilityMode is documented here http://hl7.org/fhir/ValueSet/restful-capability-mode

const (
	RestfulCapabilityModeClient RestfulCapabilityMode = iota
	RestfulCapabilityModeServer
)

func (RestfulCapabilityMode) Code

func (code RestfulCapabilityMode) Code() string

func (RestfulCapabilityMode) Definition

func (code RestfulCapabilityMode) Definition() string

func (RestfulCapabilityMode) Display

func (code RestfulCapabilityMode) Display() string

func (RestfulCapabilityMode) MarshalJSON

func (code RestfulCapabilityMode) MarshalJSON() ([]byte, error)

func (RestfulCapabilityMode) String

func (code RestfulCapabilityMode) String() string

func (*RestfulCapabilityMode) UnmarshalJSON

func (code *RestfulCapabilityMode) UnmarshalJSON(input []byte) error

type RiskAssessment

type RiskAssessment struct {
	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"`
	Text               *Narrative                 `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage          `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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             ObservationStatus          `bson:"status" json:"status"`
	Method             *CodeableConcept           `bson:"method,omitempty" json:"method,omitempty"`
	Code               *CodeableConcept           `bson:"code,omitempty" json:"code,omitempty"`
	Subject            Reference                  `bson:"subject" json:"subject"`
	Encounter          *Reference                 `bson:"encounter,omitempty" json:"encounter,omitempty"`
	OccurrenceDateTime *string                    `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"`
	ReasonCode         []CodeableConcept          `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference    []Reference                `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Basis              []Reference                `bson:"basis,omitempty" json:"basis,omitempty"`
	Prediction         []RiskAssessmentPrediction `bson:"prediction,omitempty" json:"prediction,omitempty"`
	Mitigation         *string                    `bson:"mitigation,omitempty" json:"mitigation,omitempty"`
	Note               []Annotation               `bson:"note,omitempty" json:"note,omitempty"`
}

RiskAssessment is documented here http://hl7.org/fhir/StructureDefinition/RiskAssessment An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.

func UnmarshalRiskAssessment

func UnmarshalRiskAssessment(b []byte) (RiskAssessment, error)

UnmarshalRiskAssessment unmarshals a RiskAssessment.

func (RiskAssessment) ContainedResources added in v0.0.6

func (r RiskAssessment) ContainedResources() []json.RawMessage

This function returns resource reference information

func (RiskAssessment) MarshalJSON

func (r RiskAssessment) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given RiskAssessment as JSON into a byte slice

func (RiskAssessment) ResourceRef added in v0.0.4

func (r RiskAssessment) ResourceRef() (string, *string)

This function returns resource reference information

type RiskAssessmentPrediction

type RiskAssessmentPrediction struct {
	Id                 *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension          []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Outcome            *CodeableConcept `bson:"outcome,omitempty" json:"outcome,omitempty"`
	ProbabilityDecimal *json.Number     `bson:"probabilityDecimal,omitempty" json:"probabilityDecimal,omitempty"`
	ProbabilityRange   *Range           `bson:"probabilityRange,omitempty" json:"probabilityRange,omitempty"`
	QualitativeRisk    *CodeableConcept `bson:"qualitativeRisk,omitempty" json:"qualitativeRisk,omitempty"`
	RelativeRisk       *json.Number     `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"`
}

Describes the expected outcome for the subject. Multiple repetitions can be used to identify the same type of outcome in different timeframes as well as different types of outcomes.

type RiskEvidenceSynthesis

type RiskEvidenceSynthesis struct {
	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"`
	Text              *Narrative                         `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                  `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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            PublicationStatus                  `bson:"status" json:"status"`
	Date              *string                            `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"`
	Note              []Annotation                       `bson:"note,omitempty" json:"note,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"`
	ApprovalDate      *string                            `bson:"approvalDate,omitempty" json:"approvalDate,omitempty"`
	LastReviewDate    *string                            `bson:"lastReviewDate,omitempty" json:"lastReviewDate,omitempty"`
	EffectivePeriod   *Period                            `bson:"effectivePeriod,omitempty" json:"effectivePeriod,omitempty"`
	Topic             []CodeableConcept                  `bson:"topic,omitempty" json:"topic,omitempty"`
	Author            []ContactDetail                    `bson:"author,omitempty" json:"author,omitempty"`
	Editor            []ContactDetail                    `bson:"editor,omitempty" json:"editor,omitempty"`
	Reviewer          []ContactDetail                    `bson:"reviewer,omitempty" json:"reviewer,omitempty"`
	Endorser          []ContactDetail                    `bson:"endorser,omitempty" json:"endorser,omitempty"`
	RelatedArtifact   []RelatedArtifact                  `bson:"relatedArtifact,omitempty" json:"relatedArtifact,omitempty"`
	SynthesisType     *CodeableConcept                   `bson:"synthesisType,omitempty" json:"synthesisType,omitempty"`
	StudyType         *CodeableConcept                   `bson:"studyType,omitempty" json:"studyType,omitempty"`
	Population        Reference                          `bson:"population" json:"population"`
	Exposure          *Reference                         `bson:"exposure,omitempty" json:"exposure,omitempty"`
	Outcome           Reference                          `bson:"outcome" json:"outcome"`
	SampleSize        *RiskEvidenceSynthesisSampleSize   `bson:"sampleSize,omitempty" json:"sampleSize,omitempty"`
	RiskEstimate      *RiskEvidenceSynthesisRiskEstimate `bson:"riskEstimate,omitempty" json:"riskEstimate,omitempty"`
	Certainty         []RiskEvidenceSynthesisCertainty   `bson:"certainty,omitempty" json:"certainty,omitempty"`
}

RiskEvidenceSynthesis is documented here http://hl7.org/fhir/StructureDefinition/RiskEvidenceSynthesis The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies.

func UnmarshalRiskEvidenceSynthesis

func UnmarshalRiskEvidenceSynthesis(b []byte) (RiskEvidenceSynthesis, error)

UnmarshalRiskEvidenceSynthesis unmarshals a RiskEvidenceSynthesis.

func (RiskEvidenceSynthesis) ContainedResources added in v0.0.6

func (r RiskEvidenceSynthesis) ContainedResources() []json.RawMessage

This function returns resource reference information

func (RiskEvidenceSynthesis) MarshalJSON

func (r RiskEvidenceSynthesis) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given RiskEvidenceSynthesis as JSON into a byte slice

func (RiskEvidenceSynthesis) ResourceRef added in v0.0.4

func (r RiskEvidenceSynthesis) ResourceRef() (string, *string)

This function returns resource reference information

type RiskEvidenceSynthesisCertainty

type RiskEvidenceSynthesisCertainty struct {
	Id                    *string                                               `bson:"id,omitempty" json:"id,omitempty"`
	Extension             []Extension                                           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension                                           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Rating                []CodeableConcept                                     `bson:"rating,omitempty" json:"rating,omitempty"`
	Note                  []Annotation                                          `bson:"note,omitempty" json:"note,omitempty"`
	CertaintySubcomponent []RiskEvidenceSynthesisCertaintyCertaintySubcomponent `bson:"certaintySubcomponent,omitempty" json:"certaintySubcomponent,omitempty"`
}

A description of the certainty of the risk estimate.

type RiskEvidenceSynthesisCertaintyCertaintySubcomponent

type RiskEvidenceSynthesisCertaintyCertaintySubcomponent struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept  `bson:"type,omitempty" json:"type,omitempty"`
	Rating            []CodeableConcept `bson:"rating,omitempty" json:"rating,omitempty"`
	Note              []Annotation      `bson:"note,omitempty" json:"note,omitempty"`
}

A description of a component of the overall certainty.

type RiskEvidenceSynthesisRiskEstimate

type RiskEvidenceSynthesisRiskEstimate struct {
	Id                *string                                              `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description       *string                                              `bson:"description,omitempty" json:"description,omitempty"`
	Type              *CodeableConcept                                     `bson:"type,omitempty" json:"type,omitempty"`
	Value             *json.Number                                         `bson:"value,omitempty" json:"value,omitempty"`
	UnitOfMeasure     *CodeableConcept                                     `bson:"unitOfMeasure,omitempty" json:"unitOfMeasure,omitempty"`
	DenominatorCount  *int                                                 `bson:"denominatorCount,omitempty" json:"denominatorCount,omitempty"`
	NumeratorCount    *int                                                 `bson:"numeratorCount,omitempty" json:"numeratorCount,omitempty"`
	PrecisionEstimate []RiskEvidenceSynthesisRiskEstimatePrecisionEstimate `bson:"precisionEstimate,omitempty" json:"precisionEstimate,omitempty"`
}

The estimated risk of the outcome.

type RiskEvidenceSynthesisRiskEstimatePrecisionEstimate

type RiskEvidenceSynthesisRiskEstimatePrecisionEstimate struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Level             *json.Number     `bson:"level,omitempty" json:"level,omitempty"`
	From              *json.Number     `bson:"from,omitempty" json:"from,omitempty"`
	To                *json.Number     `bson:"to,omitempty" json:"to,omitempty"`
}

A description of the precision of the estimate for the effect.

type RiskEvidenceSynthesisSampleSize

type RiskEvidenceSynthesisSampleSize struct {
	Id                   *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description          *string     `bson:"description,omitempty" json:"description,omitempty"`
	NumberOfStudies      *int        `bson:"numberOfStudies,omitempty" json:"numberOfStudies,omitempty"`
	NumberOfParticipants *int        `bson:"numberOfParticipants,omitempty" json:"numberOfParticipants,omitempty"`
}

A description of the size of the sample involved in the synthesis.

type SPDXLicense

type SPDXLicense int

SPDXLicense is documented here http://hl7.org/fhir/ValueSet/spdx-license

const (
	SPDXLicenseNotOpenSource SPDXLicense = iota
	SPDXLicense0BSD
	SPDXLicenseAAL
	SPDXLicenseAbstyles
	SPDXLicenseAdobe2006
	SPDXLicenseAdobeGlyph
	SPDXLicenseADSL
	SPDXLicenseAFL1_1
	SPDXLicenseAFL1_2
	SPDXLicenseAFL2_0
	SPDXLicenseAFL2_1
	SPDXLicenseAFL3_0
	SPDXLicenseAfmparse
	SPDXLicenseAGPL1_0Only
	SPDXLicenseAGPL1_0OrLater
	SPDXLicenseAGPL3_0Only
	SPDXLicenseAGPL3_0OrLater
	SPDXLicenseAladdin
	SPDXLicenseAMDPLPA
	SPDXLicenseAML
	SPDXLicenseAMPAS
	SPDXLicenseANTLRPD
	SPDXLicenseApache1_0
	SPDXLicenseApache1_1
	SPDXLicenseApache2_0
	SPDXLicenseAPAFML
	SPDXLicenseAPL1_0
	SPDXLicenseAPSL1_0
	SPDXLicenseAPSL1_1
	SPDXLicenseAPSL1_2
	SPDXLicenseAPSL2_0
	SPDXLicenseArtistic1_0Cl8
	SPDXLicenseArtistic1_0Perl
	SPDXLicenseArtistic1_0
	SPDXLicenseArtistic2_0
	SPDXLicenseBahyph
	SPDXLicenseBarr
	SPDXLicenseBeerware
	SPDXLicenseBitTorrent1_0
	SPDXLicenseBitTorrent1_1
	SPDXLicenseBorceux
	SPDXLicenseBSD1Clause
	SPDXLicenseBSD2ClauseFreeBSD
	SPDXLicenseBSD2ClauseNetBSD
	SPDXLicenseBSD2ClausePatent
	SPDXLicenseBSD2Clause
	SPDXLicenseBSD3ClauseAttribution
	SPDXLicenseBSD3ClauseClear
	SPDXLicenseBSD3ClauseLBNL
	SPDXLicenseBSD3ClauseNoNuclearLicense2014
	SPDXLicenseBSD3ClauseNoNuclearLicense
	SPDXLicenseBSD3ClauseNoNuclearWarranty
	SPDXLicenseBSD3Clause
	SPDXLicenseBSD4ClauseUC
	SPDXLicenseBSD4Clause
	SPDXLicenseBSDProtection
	SPDXLicenseBSDSourceCode
	SPDXLicenseBSL1_0
	SPDXLicenseBzip21_0_5
	SPDXLicenseBzip21_0_6
	SPDXLicenseCaldera
	SPDXLicenseCATOSL1_1
	SPDXLicenseCCBY1_0
	SPDXLicenseCCBY2_0
	SPDXLicenseCCBY2_5
	SPDXLicenseCCBY3_0
	SPDXLicenseCCBY4_0
	SPDXLicenseCCBYNC1_0
	SPDXLicenseCCBYNC2_0
	SPDXLicenseCCBYNC2_5
	SPDXLicenseCCBYNC3_0
	SPDXLicenseCCBYNC4_0
	SPDXLicenseCCBYNCND1_0
	SPDXLicenseCCBYNCND2_0
	SPDXLicenseCCBYNCND2_5
	SPDXLicenseCCBYNCND3_0
	SPDXLicenseCCBYNCND4_0
	SPDXLicenseCCBYNCSA1_0
	SPDXLicenseCCBYNCSA2_0
	SPDXLicenseCCBYNCSA2_5
	SPDXLicenseCCBYNCSA3_0
	SPDXLicenseCCBYNCSA4_0
	SPDXLicenseCCBYND1_0
	SPDXLicenseCCBYND2_0
	SPDXLicenseCCBYND2_5
	SPDXLicenseCCBYND3_0
	SPDXLicenseCCBYND4_0
	SPDXLicenseCCBYSA1_0
	SPDXLicenseCCBYSA2_0
	SPDXLicenseCCBYSA2_5
	SPDXLicenseCCBYSA3_0
	SPDXLicenseCCBYSA4_0
	SPDXLicenseCC01_0
	SPDXLicenseCDDL1_0
	SPDXLicenseCDDL1_1
	SPDXLicenseCDLAPermissive1_0
	SPDXLicenseCDLASharing1_0
	SPDXLicenseCECILL1_0
	SPDXLicenseCECILL1_1
	SPDXLicenseCECILL2_0
	SPDXLicenseCECILL2_1
	SPDXLicenseCECILLB
	SPDXLicenseCECILLC
	SPDXLicenseClArtistic
	SPDXLicenseCNRIJython
	SPDXLicenseCNRIPythonGPLCompatible
	SPDXLicenseCNRIPython
	SPDXLicenseCondor1_1
	SPDXLicenseCPAL1_0
	SPDXLicenseCPL1_0
	SPDXLicenseCPOL1_02
	SPDXLicenseCrossword
	SPDXLicenseCrystalStacker
	SPDXLicenseCUAOPL1_0
	SPDXLicenseCube
	SPDXLicenseCurl
	SPDXLicenseDFSL1_0
	SPDXLicenseDiffmark
	SPDXLicenseDOC
	SPDXLicenseDotseqn
	SPDXLicenseDSDP
	SPDXLicenseDvipdfm
	SPDXLicenseECL1_0
	SPDXLicenseECL2_0
	SPDXLicenseEFL1_0
	SPDXLicenseEFL2_0
	SPDXLicenseEGenix
	SPDXLicenseEntessa
	SPDXLicenseEPL1_0
	SPDXLicenseEPL2_0
	SPDXLicenseErlPL1_1
	SPDXLicenseEUDatagrid
	SPDXLicenseEUPL1_0
	SPDXLicenseEUPL1_1
	SPDXLicenseEUPL1_2
	SPDXLicenseEurosym
	SPDXLicenseFair
	SPDXLicenseFrameworx1_0
	SPDXLicenseFreeImage
	SPDXLicenseFSFAP
	SPDXLicenseFSFUL
	SPDXLicenseFSFULLR
	SPDXLicenseFTL
	SPDXLicenseGFDL1_1Only
	SPDXLicenseGFDL1_1OrLater
	SPDXLicenseGFDL1_2Only
	SPDXLicenseGFDL1_2OrLater
	SPDXLicenseGFDL1_3Only
	SPDXLicenseGFDL1_3OrLater
	SPDXLicenseGiftware
	SPDXLicenseGL2PS
	SPDXLicenseGlide
	SPDXLicenseGlulxe
	SPDXLicenseGnuplot
	SPDXLicenseGPL1_0Only
	SPDXLicenseGPL1_0OrLater
	SPDXLicenseGPL2_0Only
	SPDXLicenseGPL2_0OrLater
	SPDXLicenseGPL3_0Only
	SPDXLicenseGPL3_0OrLater
	SPDXLicenseGSOAP1_3b
	SPDXLicenseHaskellReport
	SPDXLicenseHPND
	SPDXLicenseIBMPibs
	SPDXLicenseICU
	SPDXLicenseIJG
	SPDXLicenseImageMagick
	SPDXLicenseIMatix
	SPDXLicenseImlib2
	SPDXLicenseInfoZIP
	SPDXLicenseIntelACPI
	SPDXLicenseIntel
	SPDXLicenseInterbase1_0
	SPDXLicenseIPA
	SPDXLicenseIPL1_0
	SPDXLicenseISC
	SPDXLicenseJasPer2_0
	SPDXLicenseJSON
	SPDXLicenseLAL1_2
	SPDXLicenseLAL1_3
	SPDXLicenseLatex2e
	SPDXLicenseLeptonica
	SPDXLicenseLGPL2_0Only
	SPDXLicenseLGPL2_0OrLater
	SPDXLicenseLGPL2_1Only
	SPDXLicenseLGPL2_1OrLater
	SPDXLicenseLGPL3_0Only
	SPDXLicenseLGPL3_0OrLater
	SPDXLicenseLGPLLR
	SPDXLicenseLibpng
	SPDXLicenseLibtiff
	SPDXLicenseLiLiQP1_1
	SPDXLicenseLiLiQR1_1
	SPDXLicenseLiLiQRplus1_1
	SPDXLicenseLinuxOpenIB
	SPDXLicenseLPL1_0
	SPDXLicenseLPL1_02
	SPDXLicenseLPPL1_0
	SPDXLicenseLPPL1_1
	SPDXLicenseLPPL1_2
	SPDXLicenseLPPL1_3a
	SPDXLicenseLPPL1_3c
	SPDXLicenseMakeIndex
	SPDXLicenseMirOS
	SPDXLicenseMIT0
	SPDXLicenseMITAdvertising
	SPDXLicenseMITCMU
	SPDXLicenseMITEnna
	SPDXLicenseMITFeh
	SPDXLicenseMIT
	SPDXLicenseMITNFA
	SPDXLicenseMotosoto
	SPDXLicenseMpich2
	SPDXLicenseMPL1_0
	SPDXLicenseMPL1_1
	SPDXLicenseMPL2_0NoCopyleftException
	SPDXLicenseMPL2_0
	SPDXLicenseMSPL
	SPDXLicenseMSRL
	SPDXLicenseMTLL
	SPDXLicenseMultics
	SPDXLicenseMup
	SPDXLicenseNASA1_3
	SPDXLicenseNaumen
	SPDXLicenseNBPL1_0
	SPDXLicenseNCSA
	SPDXLicenseNetSNMP
	SPDXLicenseNetCDF
	SPDXLicenseNewsletr
	SPDXLicenseNGPL
	SPDXLicenseNLOD1_0
	SPDXLicenseNLPL
	SPDXLicenseNokia
	SPDXLicenseNOSL
	SPDXLicenseNoweb
	SPDXLicenseNPL1_0
	SPDXLicenseNPL1_1
	SPDXLicenseNPOSL3_0
	SPDXLicenseNRL
	SPDXLicenseNTP
	SPDXLicenseOCCTPL
	SPDXLicenseOCLC2_0
	SPDXLicenseODbL1_0
	SPDXLicenseOFL1_0
	SPDXLicenseOFL1_1
	SPDXLicenseOGTSL
	SPDXLicenseOLDAP1_1
	SPDXLicenseOLDAP1_2
	SPDXLicenseOLDAP1_3
	SPDXLicenseOLDAP1_4
	SPDXLicenseOLDAP2_0_1
	SPDXLicenseOLDAP2_0
	SPDXLicenseOLDAP2_1
	SPDXLicenseOLDAP2_2_1
	SPDXLicenseOLDAP2_2_2
	SPDXLicenseOLDAP2_2
	SPDXLicenseOLDAP2_3
	SPDXLicenseOLDAP2_4
	SPDXLicenseOLDAP2_5
	SPDXLicenseOLDAP2_6
	SPDXLicenseOLDAP2_7
	SPDXLicenseOLDAP2_8
	SPDXLicenseOML
	SPDXLicenseOpenSSL
	SPDXLicenseOPL1_0
	SPDXLicenseOSETPL2_1
	SPDXLicenseOSL1_0
	SPDXLicenseOSL1_1
	SPDXLicenseOSL2_0
	SPDXLicenseOSL2_1
	SPDXLicenseOSL3_0
	SPDXLicensePDDL1_0
	SPDXLicensePHP3_0
	SPDXLicensePHP3_01
	SPDXLicensePlexus
	SPDXLicensePostgreSQL
	SPDXLicensePsfrag
	SPDXLicensePsutils
	SPDXLicensePython2_0
	SPDXLicenseQhull
	SPDXLicenseQPL1_0
	SPDXLicenseRdisc
	SPDXLicenseRHeCos1_1
	SPDXLicenseRPL1_1
	SPDXLicenseRPL1_5
	SPDXLicenseRPSL1_0
	SPDXLicenseRSAMD
	SPDXLicenseRSCPL
	SPDXLicenseRuby
	SPDXLicenseSAXPD
	SPDXLicenseSaxpath
	SPDXLicenseSCEA
	SPDXLicenseSendmail
	SPDXLicenseSGIB1_0
	SPDXLicenseSGIB1_1
	SPDXLicenseSGIB2_0
	SPDXLicenseSimPL2_0
	SPDXLicenseSISSL1_2
	SPDXLicenseSISSL
	SPDXLicenseSleepycat
	SPDXLicenseSMLNJ
	SPDXLicenseSMPPL
	SPDXLicenseSNIA
	SPDXLicenseSpencer86
	SPDXLicenseSpencer94
	SPDXLicenseSpencer99
	SPDXLicenseSPL1_0
	SPDXLicenseSugarCRM1_1_3
	SPDXLicenseSWL
	SPDXLicenseTCL
	SPDXLicenseTCPWrappers
	SPDXLicenseTMate
	SPDXLicenseTORQUE1_1
	SPDXLicenseTOSL
	SPDXLicenseUnicodeDFS2015
	SPDXLicenseUnicodeDFS2016
	SPDXLicenseUnicodeTOU
	SPDXLicenseUnlicense
	SPDXLicenseUPL1_0
	SPDXLicenseVim
	SPDXLicenseVOSTROM
	SPDXLicenseVSL1_0
	SPDXLicenseW3C19980720
	SPDXLicenseW3C20150513
	SPDXLicenseW3C
	SPDXLicenseWatcom1_0
	SPDXLicenseWsuipa
	SPDXLicenseWTFPL
	SPDXLicenseX11
	SPDXLicenseXerox
	SPDXLicenseXFree861_1
	SPDXLicenseXinetd
	SPDXLicenseXnet
	SPDXLicenseXpp
	SPDXLicenseXSkat
	SPDXLicenseYPL1_0
	SPDXLicenseYPL1_1
	SPDXLicenseZed
	SPDXLicenseZend2_0
	SPDXLicenseZimbra1_3
	SPDXLicenseZimbra1_4
	SPDXLicenseZlibAcknowledgement
	SPDXLicenseZlib
	SPDXLicenseZPL1_1
	SPDXLicenseZPL2_0
	SPDXLicenseZPL2_1
)

func (SPDXLicense) Code

func (code SPDXLicense) Code() string

func (SPDXLicense) Definition

func (code SPDXLicense) Definition() string

func (SPDXLicense) Display

func (code SPDXLicense) Display() string

func (SPDXLicense) MarshalJSON

func (code SPDXLicense) MarshalJSON() ([]byte, error)

func (SPDXLicense) String

func (code SPDXLicense) String() string

func (*SPDXLicense) UnmarshalJSON

func (code *SPDXLicense) UnmarshalJSON(input []byte) error

type SampledData added in v0.0.5

type SampledData struct {
	Id         *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension  []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	Origin     Quantity     `bson:"origin" json:"origin"`
	Period     json.Number  `bson:"period" json:"period"`
	Factor     *json.Number `bson:"factor,omitempty" json:"factor,omitempty"`
	LowerLimit *json.Number `bson:"lowerLimit,omitempty" json:"lowerLimit,omitempty"`
	UpperLimit *json.Number `bson:"upperLimit,omitempty" json:"upperLimit,omitempty"`
	Dimensions int          `bson:"dimensions" json:"dimensions"`
	Data       *string      `bson:"data,omitempty" json:"data,omitempty"`
}

SampledData is documented here http://hl7.org/fhir/StructureDefinition/SampledData Base StructureDefinition for SampledData Type: A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.

type Schedule

type Schedule struct {
	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"`
	Text              *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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" json:"actor"`
	PlanningHorizon   *Period           `bson:"planningHorizon,omitempty" json:"planningHorizon,omitempty"`
	Comment           *string           `bson:"comment,omitempty" json:"comment,omitempty"`
}

Schedule is documented here http://hl7.org/fhir/StructureDefinition/Schedule A container for slots of time that may be available for booking appointments.

func UnmarshalSchedule

func UnmarshalSchedule(b []byte) (Schedule, error)

UnmarshalSchedule unmarshals a Schedule.

func (Schedule) ContainedResources added in v0.0.6

func (r Schedule) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Schedule) MarshalJSON

func (r Schedule) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Schedule as JSON into a byte slice

func (Schedule) ResourceRef added in v0.0.4

func (r Schedule) ResourceRef() (string, *string)

This function returns resource reference information

type SearchComparator

type SearchComparator int

SearchComparator is documented here http://hl7.org/fhir/ValueSet/search-comparator

const (
	SearchComparatorEq SearchComparator = iota
	SearchComparatorNe
	SearchComparatorGt
	SearchComparatorLt
	SearchComparatorGe
	SearchComparatorLe
	SearchComparatorSa
	SearchComparatorEb
	SearchComparatorAp
)

func (SearchComparator) Code

func (code SearchComparator) Code() string

func (SearchComparator) Definition

func (code SearchComparator) Definition() string

func (SearchComparator) Display

func (code SearchComparator) Display() string

func (SearchComparator) MarshalJSON

func (code SearchComparator) MarshalJSON() ([]byte, error)

func (SearchComparator) String

func (code SearchComparator) String() string

func (*SearchComparator) UnmarshalJSON

func (code *SearchComparator) UnmarshalJSON(input []byte) error

type SearchEntryMode

type SearchEntryMode int

SearchEntryMode is documented here http://hl7.org/fhir/ValueSet/search-entry-mode

const (
	SearchEntryModeMatch SearchEntryMode = iota
	SearchEntryModeInclude
	SearchEntryModeOutcome
)

func (SearchEntryMode) Code

func (code SearchEntryMode) Code() string

func (SearchEntryMode) Definition

func (code SearchEntryMode) Definition() string

func (SearchEntryMode) Display

func (code SearchEntryMode) Display() string

func (SearchEntryMode) MarshalJSON

func (code SearchEntryMode) MarshalJSON() ([]byte, error)

func (SearchEntryMode) String

func (code SearchEntryMode) String() string

func (*SearchEntryMode) UnmarshalJSON

func (code *SearchEntryMode) UnmarshalJSON(input []byte) error

type SearchModifierCode

type SearchModifierCode int

SearchModifierCode is documented here http://hl7.org/fhir/ValueSet/search-modifier-code

const (
	SearchModifierCodeMissing SearchModifierCode = iota
	SearchModifierCodeExact
	SearchModifierCodeContains
	SearchModifierCodeNot
	SearchModifierCodeText
	SearchModifierCodeIn
	SearchModifierCodeNotIn
	SearchModifierCodeBelow
	SearchModifierCodeAbove
	SearchModifierCodeType
	SearchModifierCodeIdentifier
	SearchModifierCodeOfType
)

func (SearchModifierCode) Code

func (code SearchModifierCode) Code() string

func (SearchModifierCode) Definition

func (code SearchModifierCode) Definition() string

func (SearchModifierCode) Display

func (code SearchModifierCode) Display() string

func (SearchModifierCode) MarshalJSON

func (code SearchModifierCode) MarshalJSON() ([]byte, error)

func (SearchModifierCode) String

func (code SearchModifierCode) String() string

func (*SearchModifierCode) UnmarshalJSON

func (code *SearchModifierCode) UnmarshalJSON(input []byte) error

type SearchParamType

type SearchParamType int

SearchParamType is documented here http://hl7.org/fhir/ValueSet/search-param-type

const (
	SearchParamTypeNumber SearchParamType = iota
	SearchParamTypeDate
	SearchParamTypeString
	SearchParamTypeToken
	SearchParamTypeReference
	SearchParamTypeComposite
	SearchParamTypeQuantity
	SearchParamTypeUri
	SearchParamTypeSpecial
)

func (SearchParamType) Code

func (code SearchParamType) Code() string

func (SearchParamType) Definition

func (code SearchParamType) Definition() string

func (SearchParamType) Display

func (code SearchParamType) Display() string

func (SearchParamType) MarshalJSON

func (code SearchParamType) MarshalJSON() ([]byte, error)

func (SearchParamType) String

func (code SearchParamType) String() string

func (*SearchParamType) UnmarshalJSON

func (code *SearchParamType) UnmarshalJSON(input []byte) error

type SearchParameter

type SearchParameter struct {
	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"`
	Text              *Narrative                 `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage          `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Url               string                     `bson:"url" json:"url"`
	Version           *string                    `bson:"version,omitempty" json:"version,omitempty"`
	Name              string                     `bson:"name" json:"name"`
	DerivedFrom       *string                    `bson:"derivedFrom,omitempty" json:"derivedFrom,omitempty"`
	Status            PublicationStatus          `bson:"status" json:"status"`
	Experimental      *bool                      `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string                    `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" json:"description"`
	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" json:"code"`
	Base              []ResourceType             `bson:"base" json:"base"`
	Type              SearchParamType            `bson:"type" json:"type"`
	Expression        *string                    `bson:"expression,omitempty" json:"expression,omitempty"`
	Xpath             *string                    `bson:"xpath,omitempty" json:"xpath,omitempty"`
	XpathUsage        *XPathUsageType            `bson:"xpathUsage,omitempty" json:"xpathUsage,omitempty"`
	Target            []ResourceType             `bson:"target,omitempty" json:"target,omitempty"`
	MultipleOr        *bool                      `bson:"multipleOr,omitempty" json:"multipleOr,omitempty"`
	MultipleAnd       *bool                      `bson:"multipleAnd,omitempty" json:"multipleAnd,omitempty"`
	Comparator        []SearchComparator         `bson:"comparator,omitempty" json:"comparator,omitempty"`
	Modifier          []SearchModifierCode       `bson:"modifier,omitempty" json:"modifier,omitempty"`
	Chain             []string                   `bson:"chain,omitempty" json:"chain,omitempty"`
	Component         []SearchParameterComponent `bson:"component,omitempty" json:"component,omitempty"`
}

SearchParameter is documented here http://hl7.org/fhir/StructureDefinition/SearchParameter A search parameter that defines a named search item that can be used to search/filter on a resource.

func UnmarshalSearchParameter

func UnmarshalSearchParameter(b []byte) (SearchParameter, error)

UnmarshalSearchParameter unmarshals a SearchParameter.

func (SearchParameter) ContainedResources added in v0.0.6

func (r SearchParameter) ContainedResources() []json.RawMessage

This function returns resource reference information

func (SearchParameter) MarshalJSON

func (r SearchParameter) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given SearchParameter as JSON into a byte slice

func (SearchParameter) ResourceRef added in v0.0.4

func (r SearchParameter) ResourceRef() (string, *string)

This function returns resource reference information

type SearchParameterComponent

type SearchParameterComponent struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Definition        string      `bson:"definition" json:"definition"`
	Expression        string      `bson:"expression" json:"expression"`
}

Used to define the parts of a composite search parameter.

type ServiceRequest

type ServiceRequest struct {
	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"`
	Text                    *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained               []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension               []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier              []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	InstantiatesCanonical   []string          `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri         []string          `bson:"instantiatesUri,omitempty" json:"instantiatesUri,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                  RequestStatus     `bson:"status" json:"status"`
	Intent                  RequestIntent     `bson:"intent" json:"intent"`
	Category                []CodeableConcept `bson:"category,omitempty" json:"category,omitempty"`
	Priority                *RequestPriority  `bson:"priority,omitempty" json:"priority,omitempty"`
	DoNotPerform            *bool             `bson:"doNotPerform,omitempty" json:"doNotPerform,omitempty"`
	Code                    *CodeableConcept  `bson:"code,omitempty" json:"code,omitempty"`
	OrderDetail             []CodeableConcept `bson:"orderDetail,omitempty" json:"orderDetail,omitempty"`
	QuantityQuantity        *Quantity         `bson:"quantityQuantity,omitempty" json:"quantityQuantity,omitempty"`
	QuantityRatio           *Ratio            `bson:"quantityRatio,omitempty" json:"quantityRatio,omitempty"`
	QuantityRange           *Range            `bson:"quantityRange,omitempty" json:"quantityRange,omitempty"`
	Subject                 Reference         `bson:"subject" json:"subject"`
	Encounter               *Reference        `bson:"encounter,omitempty" json:"encounter,omitempty"`
	OccurrenceDateTime      *string           `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              *string           `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"`
	LocationCode            []CodeableConcept `bson:"locationCode,omitempty" json:"locationCode,omitempty"`
	LocationReference       []Reference       `bson:"locationReference,omitempty" json:"locationReference,omitempty"`
	ReasonCode              []CodeableConcept `bson:"reasonCode,omitempty" json:"reasonCode,omitempty"`
	ReasonReference         []Reference       `bson:"reasonReference,omitempty" json:"reasonReference,omitempty"`
	Insurance               []Reference       `bson:"insurance,omitempty" json:"insurance,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"`
	PatientInstruction      *string           `bson:"patientInstruction,omitempty" json:"patientInstruction,omitempty"`
	RelevantHistory         []Reference       `bson:"relevantHistory,omitempty" json:"relevantHistory,omitempty"`
}

ServiceRequest is documented here http://hl7.org/fhir/StructureDefinition/ServiceRequest A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.

func UnmarshalServiceRequest

func UnmarshalServiceRequest(b []byte) (ServiceRequest, error)

UnmarshalServiceRequest unmarshals a ServiceRequest.

func (ServiceRequest) ContainedResources added in v0.0.6

func (r ServiceRequest) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ServiceRequest) MarshalJSON

func (r ServiceRequest) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ServiceRequest as JSON into a byte slice

func (ServiceRequest) ResourceRef added in v0.0.4

func (r ServiceRequest) ResourceRef() (string, *string)

This function returns resource reference information

type Signature

type Signature struct {
	Id           *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension    []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	Type         []Coding    `bson:"type" json:"type"`
	When         string      `bson:"when" json:"when"`
	Who          Reference   `bson:"who" json:"who"`
	OnBehalfOf   *Reference  `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
	TargetFormat *string     `bson:"targetFormat,omitempty" json:"targetFormat,omitempty"`
	SigFormat    *string     `bson:"sigFormat,omitempty" json:"sigFormat,omitempty"`
	Data         *string     `bson:"data,omitempty" json:"data,omitempty"`
}

Signature is documented here http://hl7.org/fhir/StructureDefinition/Signature Base StructureDefinition for Signature Type: A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities.

type SlicingRules

type SlicingRules int

SlicingRules is documented here http://hl7.org/fhir/ValueSet/resource-slicing-rules

const (
	SlicingRulesClosed SlicingRules = iota
	SlicingRulesOpen
	SlicingRulesOpenAtEnd
)

func (SlicingRules) Code

func (code SlicingRules) Code() string

func (SlicingRules) Definition

func (code SlicingRules) Definition() string

func (SlicingRules) Display

func (code SlicingRules) Display() string

func (SlicingRules) MarshalJSON

func (code SlicingRules) MarshalJSON() ([]byte, error)

func (SlicingRules) String

func (code SlicingRules) String() string

func (*SlicingRules) UnmarshalJSON

func (code *SlicingRules) UnmarshalJSON(input []byte) error

type Slot

type Slot struct {
	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"`
	Text              *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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" json:"schedule"`
	Status            SlotStatus        `bson:"status" json:"status"`
	Start             string            `bson:"start" json:"start"`
	End               string            `bson:"end" json:"end"`
	Overbooked        *bool             `bson:"overbooked,omitempty" json:"overbooked,omitempty"`
	Comment           *string           `bson:"comment,omitempty" json:"comment,omitempty"`
}

Slot is documented here http://hl7.org/fhir/StructureDefinition/Slot A slot of time on a schedule that may be available for booking appointments.

func UnmarshalSlot

func UnmarshalSlot(b []byte) (Slot, error)

UnmarshalSlot unmarshals a Slot.

func (Slot) ContainedResources added in v0.0.6

func (r Slot) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Slot) MarshalJSON

func (r Slot) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Slot as JSON into a byte slice

func (Slot) ResourceRef added in v0.0.4

func (r Slot) ResourceRef() (string, *string)

This function returns resource reference information

type SlotStatus

type SlotStatus int

SlotStatus is documented here http://hl7.org/fhir/ValueSet/slotstatus

const (
	SlotStatusBusy SlotStatus = iota
	SlotStatusFree
	SlotStatusBusyUnavailable
	SlotStatusBusyTentative
	SlotStatusEnteredInError
)

func (SlotStatus) Code

func (code SlotStatus) Code() string

func (SlotStatus) Definition

func (code SlotStatus) Definition() string

func (SlotStatus) Display

func (code SlotStatus) Display() string

func (SlotStatus) MarshalJSON

func (code SlotStatus) MarshalJSON() ([]byte, error)

func (SlotStatus) String

func (code SlotStatus) String() string

func (*SlotStatus) UnmarshalJSON

func (code *SlotStatus) UnmarshalJSON(input []byte) error

type SortDirection

type SortDirection int

SortDirection is documented here http://hl7.org/fhir/ValueSet/sort-direction

const (
	SortDirectionAscending SortDirection = iota
	SortDirectionDescending
)

func (SortDirection) Code

func (code SortDirection) Code() string

func (SortDirection) Definition

func (code SortDirection) Definition() string

func (SortDirection) Display

func (code SortDirection) Display() string

func (SortDirection) MarshalJSON

func (code SortDirection) MarshalJSON() ([]byte, error)

func (SortDirection) String

func (code SortDirection) String() string

func (*SortDirection) UnmarshalJSON

func (code *SortDirection) UnmarshalJSON(input []byte) error

type Specimen

type Specimen struct {
	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"`
	Text                *Narrative           `bson:"text,omitempty" json:"text,omitempty"`
	Contained           []json.RawMessage    `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension           []Extension          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier          []Identifier         `bson:"identifier,omitempty" json:"identifier,omitempty"`
	AccessionIdentifier *Identifier          `bson:"accessionIdentifier,omitempty" json:"accessionIdentifier,omitempty"`
	Status              *SpecimenStatus      `bson:"status,omitempty" json:"status,omitempty"`
	Type                *CodeableConcept     `bson:"type,omitempty" json:"type,omitempty"`
	Subject             *Reference           `bson:"subject,omitempty" json:"subject,omitempty"`
	ReceivedTime        *string              `bson:"receivedTime,omitempty" json:"receivedTime,omitempty"`
	Parent              []Reference          `bson:"parent,omitempty" json:"parent,omitempty"`
	Request             []Reference          `bson:"request,omitempty" json:"request,omitempty"`
	Collection          *SpecimenCollection  `bson:"collection,omitempty" json:"collection,omitempty"`
	Processing          []SpecimenProcessing `bson:"processing,omitempty" json:"processing,omitempty"`
	Container           []SpecimenContainer  `bson:"container,omitempty" json:"container,omitempty"`
	Condition           []CodeableConcept    `bson:"condition,omitempty" json:"condition,omitempty"`
	Note                []Annotation         `bson:"note,omitempty" json:"note,omitempty"`
}

Specimen is documented here http://hl7.org/fhir/StructureDefinition/Specimen A sample to be used for analysis.

func UnmarshalSpecimen

func UnmarshalSpecimen(b []byte) (Specimen, error)

UnmarshalSpecimen unmarshals a Specimen.

func (Specimen) ContainedResources added in v0.0.6

func (r Specimen) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Specimen) MarshalJSON

func (r Specimen) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Specimen as JSON into a byte slice

func (Specimen) ResourceRef added in v0.0.4

func (r Specimen) ResourceRef() (string, *string)

This function returns resource reference information

type SpecimenCollection

type SpecimenCollection struct {
	Id                           *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension                    []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension            []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Collector                    *Reference       `bson:"collector,omitempty" json:"collector,omitempty"`
	CollectedDateTime            *string          `bson:"collectedDateTime,omitempty" json:"collectedDateTime,omitempty"`
	CollectedPeriod              *Period          `bson:"collectedPeriod,omitempty" json:"collectedPeriod,omitempty"`
	Duration                     *Duration        `bson:"duration,omitempty" json:"duration,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"`
	FastingStatusCodeableConcept *CodeableConcept `bson:"fastingStatusCodeableConcept,omitempty" json:"fastingStatusCodeableConcept,omitempty"`
	FastingStatusDuration        *Duration        `bson:"fastingStatusDuration,omitempty" json:"fastingStatusDuration,omitempty"`
}

Details concerning the specimen collection.

type SpecimenContainedPreference

type SpecimenContainedPreference int

SpecimenContainedPreference is documented here http://hl7.org/fhir/ValueSet/specimen-contained-preference

const (
	SpecimenContainedPreferencePreferred SpecimenContainedPreference = iota
	SpecimenContainedPreferenceAlternate
)

func (SpecimenContainedPreference) Code

func (code SpecimenContainedPreference) Code() string

func (SpecimenContainedPreference) Definition

func (code SpecimenContainedPreference) Definition() string

func (SpecimenContainedPreference) Display

func (code SpecimenContainedPreference) Display() string

func (SpecimenContainedPreference) MarshalJSON

func (code SpecimenContainedPreference) MarshalJSON() ([]byte, error)

func (SpecimenContainedPreference) String

func (code SpecimenContainedPreference) String() string

func (*SpecimenContainedPreference) UnmarshalJSON

func (code *SpecimenContainedPreference) UnmarshalJSON(input []byte) error

type SpecimenContainer

type SpecimenContainer struct {
	Id                      *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension               []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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"`
}

The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here.

type SpecimenDefinition

type SpecimenDefinition struct {
	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"`
	Text               *Narrative                     `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage              `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier         *Identifier                    `bson:"identifier,omitempty" json:"identifier,omitempty"`
	TypeCollected      *CodeableConcept               `bson:"typeCollected,omitempty" json:"typeCollected,omitempty"`
	PatientPreparation []CodeableConcept              `bson:"patientPreparation,omitempty" json:"patientPreparation,omitempty"`
	TimeAspect         *string                        `bson:"timeAspect,omitempty" json:"timeAspect,omitempty"`
	Collection         []CodeableConcept              `bson:"collection,omitempty" json:"collection,omitempty"`
	TypeTested         []SpecimenDefinitionTypeTested `bson:"typeTested,omitempty" json:"typeTested,omitempty"`
}

SpecimenDefinition is documented here http://hl7.org/fhir/StructureDefinition/SpecimenDefinition A kind of specimen with associated set of requirements.

func UnmarshalSpecimenDefinition

func UnmarshalSpecimenDefinition(b []byte) (SpecimenDefinition, error)

UnmarshalSpecimenDefinition unmarshals a SpecimenDefinition.

func (SpecimenDefinition) ContainedResources added in v0.0.6

func (r SpecimenDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (SpecimenDefinition) MarshalJSON

func (r SpecimenDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given SpecimenDefinition as JSON into a byte slice

func (SpecimenDefinition) ResourceRef added in v0.0.4

func (r SpecimenDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type SpecimenDefinitionTypeTested

type SpecimenDefinitionTypeTested struct {
	Id                 *string                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension          []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	IsDerived          *bool                                  `bson:"isDerived,omitempty" json:"isDerived,omitempty"`
	Type               *CodeableConcept                       `bson:"type,omitempty" json:"type,omitempty"`
	Preference         SpecimenContainedPreference            `bson:"preference" json:"preference"`
	Container          *SpecimenDefinitionTypeTestedContainer `bson:"container,omitempty" json:"container,omitempty"`
	Requirement        *string                                `bson:"requirement,omitempty" json:"requirement,omitempty"`
	RetentionTime      *Duration                              `bson:"retentionTime,omitempty" json:"retentionTime,omitempty"`
	RejectionCriterion []CodeableConcept                      `bson:"rejectionCriterion,omitempty" json:"rejectionCriterion,omitempty"`
	Handling           []SpecimenDefinitionTypeTestedHandling `bson:"handling,omitempty" json:"handling,omitempty"`
}

Specimen conditioned in a container as expected by the testing laboratory.

type SpecimenDefinitionTypeTestedContainer

type SpecimenDefinitionTypeTestedContainer struct {
	Id                    *string                                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension             []Extension                                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension                                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Material              *CodeableConcept                                `bson:"material,omitempty" json:"material,omitempty"`
	Type                  *CodeableConcept                                `bson:"type,omitempty" json:"type,omitempty"`
	Cap                   *CodeableConcept                                `bson:"cap,omitempty" json:"cap,omitempty"`
	Description           *string                                         `bson:"description,omitempty" json:"description,omitempty"`
	Capacity              *Quantity                                       `bson:"capacity,omitempty" json:"capacity,omitempty"`
	MinimumVolumeQuantity *Quantity                                       `bson:"minimumVolumeQuantity,omitempty" json:"minimumVolumeQuantity,omitempty"`
	MinimumVolumeString   *string                                         `bson:"minimumVolumeString,omitempty" json:"minimumVolumeString,omitempty"`
	Additive              []SpecimenDefinitionTypeTestedContainerAdditive `bson:"additive,omitempty" json:"additive,omitempty"`
	Preparation           *string                                         `bson:"preparation,omitempty" json:"preparation,omitempty"`
}

The specimen's container.

type SpecimenDefinitionTypeTestedContainerAdditive

type SpecimenDefinitionTypeTestedContainerAdditive struct {
	Id                      *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension               []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	AdditiveCodeableConcept CodeableConcept `bson:"additiveCodeableConcept" json:"additiveCodeableConcept"`
	AdditiveReference       Reference       `bson:"additiveReference" json:"additiveReference"`
}

Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.

type SpecimenDefinitionTypeTestedHandling

type SpecimenDefinitionTypeTestedHandling struct {
	Id                   *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	TemperatureQualifier *CodeableConcept `bson:"temperatureQualifier,omitempty" json:"temperatureQualifier,omitempty"`
	TemperatureRange     *Range           `bson:"temperatureRange,omitempty" json:"temperatureRange,omitempty"`
	MaxDuration          *Duration        `bson:"maxDuration,omitempty" json:"maxDuration,omitempty"`
	Instruction          *string          `bson:"instruction,omitempty" json:"instruction,omitempty"`
}

Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process.

type SpecimenProcessing

type SpecimenProcessing struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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      *string          `bson:"timeDateTime,omitempty" json:"timeDateTime,omitempty"`
	TimePeriod        *Period          `bson:"timePeriod,omitempty" json:"timePeriod,omitempty"`
}

Details concerning processing and processing steps for the specimen.

type SpecimenStatus

type SpecimenStatus int

SpecimenStatus is documented here http://hl7.org/fhir/ValueSet/specimen-status

const (
	SpecimenStatusAvailable SpecimenStatus = iota
	SpecimenStatusUnavailable
	SpecimenStatusUnsatisfactory
	SpecimenStatusEnteredInError
)

func (SpecimenStatus) Code

func (code SpecimenStatus) Code() string

func (SpecimenStatus) Definition

func (code SpecimenStatus) Definition() string

func (SpecimenStatus) Display

func (code SpecimenStatus) Display() string

func (SpecimenStatus) MarshalJSON

func (code SpecimenStatus) MarshalJSON() ([]byte, error)

func (SpecimenStatus) String

func (code SpecimenStatus) String() string

func (*SpecimenStatus) UnmarshalJSON

func (code *SpecimenStatus) UnmarshalJSON(input []byte) error

type StructureDefinition

type StructureDefinition struct {
	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"`
	Text              *Narrative                       `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Url               string                           `bson:"url" json:"url"`
	Identifier        []Identifier                     `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version           *string                          `bson:"version,omitempty" json:"version,omitempty"`
	Name              string                           `bson:"name" json:"name"`
	Title             *string                          `bson:"title,omitempty" json:"title,omitempty"`
	Status            PublicationStatus                `bson:"status" json:"status"`
	Experimental      *bool                            `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string                          `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       *FHIRVersion                     `bson:"fhirVersion,omitempty" json:"fhirVersion,omitempty"`
	Mapping           []StructureDefinitionMapping     `bson:"mapping,omitempty" json:"mapping,omitempty"`
	Kind              StructureDefinitionKind          `bson:"kind" json:"kind"`
	Abstract          bool                             `bson:"abstract" json:"abstract"`
	Context           []StructureDefinitionContext     `bson:"context,omitempty" json:"context,omitempty"`
	ContextInvariant  []string                         `bson:"contextInvariant,omitempty" json:"contextInvariant,omitempty"`
	Type              string                           `bson:"type" json:"type"`
	BaseDefinition    *string                          `bson:"baseDefinition,omitempty" json:"baseDefinition,omitempty"`
	Derivation        *TypeDerivationRule              `bson:"derivation,omitempty" json:"derivation,omitempty"`
	Snapshot          *StructureDefinitionSnapshot     `bson:"snapshot,omitempty" json:"snapshot,omitempty"`
	Differential      *StructureDefinitionDifferential `bson:"differential,omitempty" json:"differential,omitempty"`
}

StructureDefinition is documented here http://hl7.org/fhir/StructureDefinition/StructureDefinition A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types.

func UnmarshalStructureDefinition

func UnmarshalStructureDefinition(b []byte) (StructureDefinition, error)

UnmarshalStructureDefinition unmarshals a StructureDefinition.

func (StructureDefinition) ContainedResources added in v0.0.6

func (r StructureDefinition) ContainedResources() []json.RawMessage

This function returns resource reference information

func (StructureDefinition) MarshalJSON

func (r StructureDefinition) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given StructureDefinition as JSON into a byte slice

func (StructureDefinition) ResourceRef added in v0.0.4

func (r StructureDefinition) ResourceRef() (string, *string)

This function returns resource reference information

type StructureDefinitionContext

type StructureDefinitionContext struct {
	Id                *string              `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              ExtensionContextType `bson:"type" json:"type"`
	Expression        string               `bson:"expression" json:"expression"`
}

Identifies the types of resource or data type elements to which the extension can be applied.

type StructureDefinitionDifferential

type StructureDefinitionDifferential struct {
	Id                *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Element           []ElementDefinition `bson:"element" json:"element"`
}

A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies.

type StructureDefinitionKind

type StructureDefinitionKind int

StructureDefinitionKind is documented here http://hl7.org/fhir/ValueSet/structure-definition-kind

const (
	StructureDefinitionKindPrimitiveType StructureDefinitionKind = iota
	StructureDefinitionKindComplexType
	StructureDefinitionKindResource
	StructureDefinitionKindLogical
)

func (StructureDefinitionKind) Code

func (code StructureDefinitionKind) Code() string

func (StructureDefinitionKind) Definition

func (code StructureDefinitionKind) Definition() string

func (StructureDefinitionKind) Display

func (code StructureDefinitionKind) Display() string

func (StructureDefinitionKind) MarshalJSON

func (code StructureDefinitionKind) MarshalJSON() ([]byte, error)

func (StructureDefinitionKind) String

func (code StructureDefinitionKind) String() string

func (*StructureDefinitionKind) UnmarshalJSON

func (code *StructureDefinitionKind) UnmarshalJSON(input []byte) error

type StructureDefinitionMapping

type StructureDefinitionMapping struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identity          string      `bson:"identity" json:"identity"`
	Uri               *string     `bson:"uri,omitempty" json:"uri,omitempty"`
	Name              *string     `bson:"name,omitempty" json:"name,omitempty"`
	Comment           *string     `bson:"comment,omitempty" json:"comment,omitempty"`
}

An external specification that the content is mapped to.

type StructureDefinitionSnapshot

type StructureDefinitionSnapshot struct {
	Id                *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Element           []ElementDefinition `bson:"element" json:"element"`
}

A snapshot view is expressed in a standalone form that can be used and interpreted without considering the base StructureDefinition.

type StructureMap

type StructureMap struct {
	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"`
	Text              *Narrative              `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage       `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Url               string                  `bson:"url" json:"url"`
	Identifier        []Identifier            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version           *string                 `bson:"version,omitempty" json:"version,omitempty"`
	Name              string                  `bson:"name" json:"name"`
	Title             *string                 `bson:"title,omitempty" json:"title,omitempty"`
	Status            PublicationStatus       `bson:"status" json:"status"`
	Experimental      *bool                   `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string                 `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         []StructureMapStructure `bson:"structure,omitempty" json:"structure,omitempty"`
	Import            []string                `bson:"import,omitempty" json:"import,omitempty"`
	Group             []StructureMapGroup     `bson:"group" json:"group"`
}

StructureMap is documented here http://hl7.org/fhir/StructureDefinition/StructureMap A Map of relationships between 2 structures that can be used to transform data.

func UnmarshalStructureMap

func UnmarshalStructureMap(b []byte) (StructureMap, error)

UnmarshalStructureMap unmarshals a StructureMap.

func (StructureMap) ContainedResources added in v0.0.6

func (r StructureMap) ContainedResources() []json.RawMessage

This function returns resource reference information

func (StructureMap) MarshalJSON

func (r StructureMap) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given StructureMap as JSON into a byte slice

func (StructureMap) ResourceRef added in v0.0.4

func (r StructureMap) ResourceRef() (string, *string)

This function returns resource reference information

type StructureMapContextType

type StructureMapContextType int

StructureMapContextType is documented here http://hl7.org/fhir/ValueSet/map-context-type

const (
	StructureMapContextTypeType StructureMapContextType = iota
	StructureMapContextTypeVariable
)

func (StructureMapContextType) Code

func (code StructureMapContextType) Code() string

func (StructureMapContextType) Definition

func (code StructureMapContextType) Definition() string

func (StructureMapContextType) Display

func (code StructureMapContextType) Display() string

func (StructureMapContextType) MarshalJSON

func (code StructureMapContextType) MarshalJSON() ([]byte, error)

func (StructureMapContextType) String

func (code StructureMapContextType) String() string

func (*StructureMapContextType) UnmarshalJSON

func (code *StructureMapContextType) UnmarshalJSON(input []byte) error

type StructureMapGroup

type StructureMapGroup struct {
	Id                *string                   `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string                    `bson:"name" json:"name"`
	Extends           *string                   `bson:"extends,omitempty" json:"extends,omitempty"`
	TypeMode          StructureMapGroupTypeMode `bson:"typeMode" json:"typeMode"`
	Documentation     *string                   `bson:"documentation,omitempty" json:"documentation,omitempty"`
	Input             []StructureMapGroupInput  `bson:"input" json:"input"`
	Rule              []StructureMapGroupRule   `bson:"rule" json:"rule"`
}

Organizes the mapping into manageable chunks for human review/ease of maintenance.

type StructureMapGroupInput

type StructureMapGroupInput struct {
	Id                *string               `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string                `bson:"name" json:"name"`
	Type              *string               `bson:"type,omitempty" json:"type,omitempty"`
	Mode              StructureMapInputMode `bson:"mode" json:"mode"`
	Documentation     *string               `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

A name assigned to an instance of data. The instance must be provided when the mapping is invoked. If no inputs are named, then the entry mappings are type based.

type StructureMapGroupRule

type StructureMapGroupRule struct {
	Id                *string                          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string                           `bson:"name" json:"name"`
	Source            []StructureMapGroupRuleSource    `bson:"source" json:"source"`
	Target            []StructureMapGroupRuleTarget    `bson:"target,omitempty" json:"target,omitempty"`
	Rule              []StructureMapGroupRule          `bson:"rule,omitempty" json:"rule,omitempty"`
	Dependent         []StructureMapGroupRuleDependent `bson:"dependent,omitempty" json:"dependent,omitempty"`
	Documentation     *string                          `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

Transform Rule from source to target.

type StructureMapGroupRuleDependent

type StructureMapGroupRuleDependent struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string      `bson:"name" json:"name"`
	Variable          []string    `bson:"variable" json:"variable"`
}

Which other rules to apply in the context of this rule.

type StructureMapGroupRuleSource

type StructureMapGroupRuleSource struct {
	Id                              *string                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension                       []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension               []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Context                         string                      `bson:"context" json:"context"`
	Min                             *int                        `bson:"min,omitempty" json:"min,omitempty"`
	Max                             *string                     `bson:"max,omitempty" json:"max,omitempty"`
	Type                            *string                     `bson:"type,omitempty" json:"type,omitempty"`
	DefaultValueBase64Binary        *string                     `bson:"defaultValueBase64Binary,omitempty" json:"defaultValueBase64Binary,omitempty"`
	DefaultValueBoolean             *bool                       `bson:"defaultValueBoolean,omitempty" json:"defaultValueBoolean,omitempty"`
	DefaultValueCanonical           *string                     `bson:"defaultValueCanonical,omitempty" json:"defaultValueCanonical,omitempty"`
	DefaultValueCode                *string                     `bson:"defaultValueCode,omitempty" json:"defaultValueCode,omitempty"`
	DefaultValueDate                *string                     `bson:"defaultValueDate,omitempty" json:"defaultValueDate,omitempty"`
	DefaultValueDateTime            *string                     `bson:"defaultValueDateTime,omitempty" json:"defaultValueDateTime,omitempty"`
	DefaultValueDecimal             *json.Number                `bson:"defaultValueDecimal,omitempty" json:"defaultValueDecimal,omitempty"`
	DefaultValueId                  *string                     `bson:"defaultValueId,omitempty" json:"defaultValueId,omitempty"`
	DefaultValueInstant             *string                     `bson:"defaultValueInstant,omitempty" json:"defaultValueInstant,omitempty"`
	DefaultValueInteger             *int                        `bson:"defaultValueInteger,omitempty" json:"defaultValueInteger,omitempty"`
	DefaultValueMarkdown            *string                     `bson:"defaultValueMarkdown,omitempty" json:"defaultValueMarkdown,omitempty"`
	DefaultValueOid                 *string                     `bson:"defaultValueOid,omitempty" json:"defaultValueOid,omitempty"`
	DefaultValuePositiveInt         *int                        `bson:"defaultValuePositiveInt,omitempty" json:"defaultValuePositiveInt,omitempty"`
	DefaultValueString              *string                     `bson:"defaultValueString,omitempty" json:"defaultValueString,omitempty"`
	DefaultValueTime                *string                     `bson:"defaultValueTime,omitempty" json:"defaultValueTime,omitempty"`
	DefaultValueUnsignedInt         *int                        `bson:"defaultValueUnsignedInt,omitempty" json:"defaultValueUnsignedInt,omitempty"`
	DefaultValueUri                 *string                     `bson:"defaultValueUri,omitempty" json:"defaultValueUri,omitempty"`
	DefaultValueUrl                 *string                     `bson:"defaultValueUrl,omitempty" json:"defaultValueUrl,omitempty"`
	DefaultValueUuid                *string                     `bson:"defaultValueUuid,omitempty" json:"defaultValueUuid,omitempty"`
	DefaultValueAddress             *Address                    `bson:"defaultValueAddress,omitempty" json:"defaultValueAddress,omitempty"`
	DefaultValueAge                 *Age                        `bson:"defaultValueAge,omitempty" json:"defaultValueAge,omitempty"`
	DefaultValueAnnotation          *Annotation                 `bson:"defaultValueAnnotation,omitempty" json:"defaultValueAnnotation,omitempty"`
	DefaultValueAttachment          *Attachment                 `bson:"defaultValueAttachment,omitempty" json:"defaultValueAttachment,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"`
	DefaultValueCount               *Count                      `bson:"defaultValueCount,omitempty" json:"defaultValueCount,omitempty"`
	DefaultValueDistance            *Distance                   `bson:"defaultValueDistance,omitempty" json:"defaultValueDistance,omitempty"`
	DefaultValueDuration            *Duration                   `bson:"defaultValueDuration,omitempty" json:"defaultValueDuration,omitempty"`
	DefaultValueHumanName           *HumanName                  `bson:"defaultValueHumanName,omitempty" json:"defaultValueHumanName,omitempty"`
	DefaultValueIdentifier          *Identifier                 `bson:"defaultValueIdentifier,omitempty" json:"defaultValueIdentifier,omitempty"`
	DefaultValueMoney               *Money                      `bson:"defaultValueMoney,omitempty" json:"defaultValueMoney,omitempty"`
	DefaultValuePeriod              *Period                     `bson:"defaultValuePeriod,omitempty" json:"defaultValuePeriod,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"`
	DefaultValueTiming              *Timing                     `bson:"defaultValueTiming,omitempty" json:"defaultValueTiming,omitempty"`
	DefaultValueContactDetail       *ContactDetail              `bson:"defaultValueContactDetail,omitempty" json:"defaultValueContactDetail,omitempty"`
	DefaultValueContributor         *Contributor                `bson:"defaultValueContributor,omitempty" json:"defaultValueContributor,omitempty"`
	DefaultValueDataRequirement     *DataRequirement            `bson:"defaultValueDataRequirement,omitempty" json:"defaultValueDataRequirement,omitempty"`
	DefaultValueExpression          *Expression                 `bson:"defaultValueExpression,omitempty" json:"defaultValueExpression,omitempty"`
	DefaultValueParameterDefinition *ParameterDefinition        `bson:"defaultValueParameterDefinition,omitempty" json:"defaultValueParameterDefinition,omitempty"`
	DefaultValueRelatedArtifact     *RelatedArtifact            `bson:"defaultValueRelatedArtifact,omitempty" json:"defaultValueRelatedArtifact,omitempty"`
	DefaultValueTriggerDefinition   *TriggerDefinition          `bson:"defaultValueTriggerDefinition,omitempty" json:"defaultValueTriggerDefinition,omitempty"`
	DefaultValueUsageContext        *UsageContext               `bson:"defaultValueUsageContext,omitempty" json:"defaultValueUsageContext,omitempty"`
	DefaultValueDosage              *Dosage                     `bson:"defaultValueDosage,omitempty" json:"defaultValueDosage,omitempty"`
	DefaultValueMeta                *Meta                       `bson:"defaultValueMeta,omitempty" json:"defaultValueMeta,omitempty"`
	Element                         *string                     `bson:"element,omitempty" json:"element,omitempty"`
	ListMode                        *StructureMapSourceListMode `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"`
	LogMessage                      *string                     `bson:"logMessage,omitempty" json:"logMessage,omitempty"`
}

Source inputs to the mapping.

type StructureMapGroupRuleTarget

type StructureMapGroupRuleTarget struct {
	Id                *string                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Context           *string                                `bson:"context,omitempty" json:"context,omitempty"`
	ContextType       *StructureMapContextType               `bson:"contextType,omitempty" json:"contextType,omitempty"`
	Element           *string                                `bson:"element,omitempty" json:"element,omitempty"`
	Variable          *string                                `bson:"variable,omitempty" json:"variable,omitempty"`
	ListMode          []StructureMapTargetListMode           `bson:"listMode,omitempty" json:"listMode,omitempty"`
	ListRuleId        *string                                `bson:"listRuleId,omitempty" json:"listRuleId,omitempty"`
	Transform         *StructureMapTransform                 `bson:"transform,omitempty" json:"transform,omitempty"`
	Parameter         []StructureMapGroupRuleTargetParameter `bson:"parameter,omitempty" json:"parameter,omitempty"`
}

Content to create because of this mapping rule.

type StructureMapGroupRuleTargetParameter

type StructureMapGroupRuleTargetParameter struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	ValueId           string      `bson:"valueId" json:"valueId"`
	ValueString       string      `bson:"valueString" json:"valueString"`
	ValueBoolean      bool        `bson:"valueBoolean" json:"valueBoolean"`
	ValueInteger      int         `bson:"valueInteger" json:"valueInteger"`
	ValueDecimal      json.Number `bson:"valueDecimal" json:"valueDecimal"`
}

Parameters to the transform.

type StructureMapGroupTypeMode

type StructureMapGroupTypeMode int

StructureMapGroupTypeMode is documented here http://hl7.org/fhir/ValueSet/map-group-type-mode

const (
	StructureMapGroupTypeModeNone StructureMapGroupTypeMode = iota
	StructureMapGroupTypeModeTypes
	StructureMapGroupTypeModeTypeAndTypes
)

func (StructureMapGroupTypeMode) Code

func (code StructureMapGroupTypeMode) Code() string

func (StructureMapGroupTypeMode) Definition

func (code StructureMapGroupTypeMode) Definition() string

func (StructureMapGroupTypeMode) Display

func (code StructureMapGroupTypeMode) Display() string

func (StructureMapGroupTypeMode) MarshalJSON

func (code StructureMapGroupTypeMode) MarshalJSON() ([]byte, error)

func (StructureMapGroupTypeMode) String

func (code StructureMapGroupTypeMode) String() string

func (*StructureMapGroupTypeMode) UnmarshalJSON

func (code *StructureMapGroupTypeMode) UnmarshalJSON(input []byte) error

type StructureMapInputMode

type StructureMapInputMode int

StructureMapInputMode is documented here http://hl7.org/fhir/ValueSet/map-input-mode

const (
	StructureMapInputModeSource StructureMapInputMode = iota
	StructureMapInputModeTarget
)

func (StructureMapInputMode) Code

func (code StructureMapInputMode) Code() string

func (StructureMapInputMode) Definition

func (code StructureMapInputMode) Definition() string

func (StructureMapInputMode) Display

func (code StructureMapInputMode) Display() string

func (StructureMapInputMode) MarshalJSON

func (code StructureMapInputMode) MarshalJSON() ([]byte, error)

func (StructureMapInputMode) String

func (code StructureMapInputMode) String() string

func (*StructureMapInputMode) UnmarshalJSON

func (code *StructureMapInputMode) UnmarshalJSON(input []byte) error

type StructureMapModelMode

type StructureMapModelMode int

StructureMapModelMode is documented here http://hl7.org/fhir/ValueSet/map-model-mode

const (
	StructureMapModelModeSource StructureMapModelMode = iota
	StructureMapModelModeQueried
	StructureMapModelModeTarget
	StructureMapModelModeProduced
)

func (StructureMapModelMode) Code

func (code StructureMapModelMode) Code() string

func (StructureMapModelMode) Definition

func (code StructureMapModelMode) Definition() string

func (StructureMapModelMode) Display

func (code StructureMapModelMode) Display() string

func (StructureMapModelMode) MarshalJSON

func (code StructureMapModelMode) MarshalJSON() ([]byte, error)

func (StructureMapModelMode) String

func (code StructureMapModelMode) String() string

func (*StructureMapModelMode) UnmarshalJSON

func (code *StructureMapModelMode) UnmarshalJSON(input []byte) error

type StructureMapSourceListMode

type StructureMapSourceListMode int

StructureMapSourceListMode is documented here http://hl7.org/fhir/ValueSet/map-source-list-mode

const (
	StructureMapSourceListModeFirst StructureMapSourceListMode = iota
	StructureMapSourceListModeNot_first
	StructureMapSourceListModeLast
	StructureMapSourceListModeNot_last
	StructureMapSourceListModeOnly_one
)

func (StructureMapSourceListMode) Code

func (code StructureMapSourceListMode) Code() string

func (StructureMapSourceListMode) Definition

func (code StructureMapSourceListMode) Definition() string

func (StructureMapSourceListMode) Display

func (code StructureMapSourceListMode) Display() string

func (StructureMapSourceListMode) MarshalJSON

func (code StructureMapSourceListMode) MarshalJSON() ([]byte, error)

func (StructureMapSourceListMode) String

func (code StructureMapSourceListMode) String() string

func (*StructureMapSourceListMode) UnmarshalJSON

func (code *StructureMapSourceListMode) UnmarshalJSON(input []byte) error

type StructureMapStructure

type StructureMapStructure struct {
	Id                *string               `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Url               string                `bson:"url" json:"url"`
	Mode              StructureMapModelMode `bson:"mode" json:"mode"`
	Alias             *string               `bson:"alias,omitempty" json:"alias,omitempty"`
	Documentation     *string               `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced. It is not necessary for a structure map to identify any dependent structures, though not listing them may restrict its usefulness.

type StructureMapTargetListMode

type StructureMapTargetListMode int

StructureMapTargetListMode is documented here http://hl7.org/fhir/ValueSet/map-target-list-mode

const (
	StructureMapTargetListModeFirst StructureMapTargetListMode = iota
	StructureMapTargetListModeShare
	StructureMapTargetListModeLast
	StructureMapTargetListModeCollate
)

func (StructureMapTargetListMode) Code

func (code StructureMapTargetListMode) Code() string

func (StructureMapTargetListMode) Definition

func (code StructureMapTargetListMode) Definition() string

func (StructureMapTargetListMode) Display

func (code StructureMapTargetListMode) Display() string

func (StructureMapTargetListMode) MarshalJSON

func (code StructureMapTargetListMode) MarshalJSON() ([]byte, error)

func (StructureMapTargetListMode) String

func (code StructureMapTargetListMode) String() string

func (*StructureMapTargetListMode) UnmarshalJSON

func (code *StructureMapTargetListMode) UnmarshalJSON(input []byte) error

type StructureMapTransform

type StructureMapTransform int

StructureMapTransform is documented here http://hl7.org/fhir/ValueSet/map-transform

const (
	StructureMapTransformCreate StructureMapTransform = iota
	StructureMapTransformCopy
	StructureMapTransformTruncate
	StructureMapTransformEscape
	StructureMapTransformCast
	StructureMapTransformAppend
	StructureMapTransformTranslate
	StructureMapTransformReference
	StructureMapTransformDateOp
	StructureMapTransformUuid
	StructureMapTransformPointer
	StructureMapTransformEvaluate
	StructureMapTransformCc
	StructureMapTransformC
	StructureMapTransformQty
	StructureMapTransformId
	StructureMapTransformCp
)

func (StructureMapTransform) Code

func (code StructureMapTransform) Code() string

func (StructureMapTransform) Definition

func (code StructureMapTransform) Definition() string

func (StructureMapTransform) Display

func (code StructureMapTransform) Display() string

func (StructureMapTransform) MarshalJSON

func (code StructureMapTransform) MarshalJSON() ([]byte, error)

func (StructureMapTransform) String

func (code StructureMapTransform) String() string

func (*StructureMapTransform) UnmarshalJSON

func (code *StructureMapTransform) UnmarshalJSON(input []byte) error

type Subscription

type Subscription struct {
	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"`
	Text              *Narrative          `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage   `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Status            SubscriptionStatus  `bson:"status" json:"status"`
	Contact           []ContactPoint      `bson:"contact,omitempty" json:"contact,omitempty"`
	End               *string             `bson:"end,omitempty" json:"end,omitempty"`
	Reason            string              `bson:"reason" json:"reason"`
	Criteria          string              `bson:"criteria" json:"criteria"`
	Error             *string             `bson:"error,omitempty" json:"error,omitempty"`
	Channel           SubscriptionChannel `bson:"channel" json:"channel"`
}

Subscription is documented here http://hl7.org/fhir/StructureDefinition/Subscription The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined "channel" so that another system can take an appropriate action.

func UnmarshalSubscription

func UnmarshalSubscription(b []byte) (Subscription, error)

UnmarshalSubscription unmarshals a Subscription.

func (Subscription) ContainedResources added in v0.0.6

func (r Subscription) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Subscription) MarshalJSON

func (r Subscription) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Subscription as JSON into a byte slice

func (Subscription) ResourceRef added in v0.0.4

func (r Subscription) ResourceRef() (string, *string)

This function returns resource reference information

type SubscriptionChannel

type SubscriptionChannel struct {
	Id                *string                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              SubscriptionChannelType `bson:"type" json:"type"`
	Endpoint          *string                 `bson:"endpoint,omitempty" json:"endpoint,omitempty"`
	Payload           *string                 `bson:"payload,omitempty" json:"payload,omitempty"`
	Header            []string                `bson:"header,omitempty" json:"header,omitempty"`
}

Details where to send notifications when resources are received that meet the criteria.

type SubscriptionChannelType

type SubscriptionChannelType int

SubscriptionChannelType is documented here http://hl7.org/fhir/ValueSet/subscription-channel-type

const (
	SubscriptionChannelTypeRestHook SubscriptionChannelType = iota
	SubscriptionChannelTypeWebsocket
	SubscriptionChannelTypeEmail
	SubscriptionChannelTypeSms
	SubscriptionChannelTypeMessage
)

func (SubscriptionChannelType) Code

func (code SubscriptionChannelType) Code() string

func (SubscriptionChannelType) Definition

func (code SubscriptionChannelType) Definition() string

func (SubscriptionChannelType) Display

func (code SubscriptionChannelType) Display() string

func (SubscriptionChannelType) MarshalJSON

func (code SubscriptionChannelType) MarshalJSON() ([]byte, error)

func (SubscriptionChannelType) String

func (code SubscriptionChannelType) String() string

func (*SubscriptionChannelType) UnmarshalJSON

func (code *SubscriptionChannelType) UnmarshalJSON(input []byte) error

type SubscriptionStatus

type SubscriptionStatus int

SubscriptionStatus is documented here http://hl7.org/fhir/ValueSet/subscription-status

const (
	SubscriptionStatusRequested SubscriptionStatus = iota
	SubscriptionStatusActive
	SubscriptionStatusError
	SubscriptionStatusOff
)

func (SubscriptionStatus) Code

func (code SubscriptionStatus) Code() string

func (SubscriptionStatus) Definition

func (code SubscriptionStatus) Definition() string

func (SubscriptionStatus) Display

func (code SubscriptionStatus) Display() string

func (SubscriptionStatus) MarshalJSON

func (code SubscriptionStatus) MarshalJSON() ([]byte, error)

func (SubscriptionStatus) String

func (code SubscriptionStatus) String() string

func (*SubscriptionStatus) UnmarshalJSON

func (code *SubscriptionStatus) UnmarshalJSON(input []byte) error

type Substance

type Substance struct {
	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"`
	Text              *Narrative            `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            *FHIRSubstanceStatus  `bson:"status,omitempty" json:"status,omitempty"`
	Category          []CodeableConcept     `bson:"category,omitempty" json:"category,omitempty"`
	Code              CodeableConcept       `bson:"code" json:"code"`
	Description       *string               `bson:"description,omitempty" json:"description,omitempty"`
	Instance          []SubstanceInstance   `bson:"instance,omitempty" json:"instance,omitempty"`
	Ingredient        []SubstanceIngredient `bson:"ingredient,omitempty" json:"ingredient,omitempty"`
}

Substance is documented here http://hl7.org/fhir/StructureDefinition/Substance A homogeneous material with a definite composition.

func UnmarshalSubstance

func UnmarshalSubstance(b []byte) (Substance, error)

UnmarshalSubstance unmarshals a Substance.

func (Substance) ContainedResources added in v0.0.6

func (r Substance) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Substance) MarshalJSON

func (r Substance) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Substance as JSON into a byte slice

func (Substance) ResourceRef added in v0.0.4

func (r Substance) ResourceRef() (string, *string)

This function returns resource reference information

type SubstanceAmount

type SubstanceAmount struct {
	Id                *string                        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	AmountQuantity    *Quantity                      `bson:"amountQuantity,omitempty" json:"amountQuantity,omitempty"`
	AmountRange       *Range                         `bson:"amountRange,omitempty" json:"amountRange,omitempty"`
	AmountString      *string                        `bson:"amountString,omitempty" json:"amountString,omitempty"`
	AmountType        *CodeableConcept               `bson:"amountType,omitempty" json:"amountType,omitempty"`
	AmountText        *string                        `bson:"amountText,omitempty" json:"amountText,omitempty"`
	ReferenceRange    *SubstanceAmountReferenceRange `bson:"referenceRange,omitempty" json:"referenceRange,omitempty"`
}

SubstanceAmount is documented here http://hl7.org/fhir/StructureDefinition/SubstanceAmount Base StructureDefinition for SubstanceAmount Type: Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.

type SubstanceAmountReferenceRange

type SubstanceAmountReferenceRange struct {
	Id        *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	LowLimit  *Quantity   `bson:"lowLimit,omitempty" json:"lowLimit,omitempty"`
	HighLimit *Quantity   `bson:"highLimit,omitempty" json:"highLimit,omitempty"`
}

Reference range of possible or expected values.

type SubstanceIngredient

type SubstanceIngredient struct {
	Id                       *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Quantity                 *Ratio          `bson:"quantity,omitempty" json:"quantity,omitempty"`
	SubstanceCodeableConcept CodeableConcept `bson:"substanceCodeableConcept" json:"substanceCodeableConcept"`
	SubstanceReference       Reference       `bson:"substanceReference" json:"substanceReference"`
}

A substance can be composed of other substances.

type SubstanceInstance

type SubstanceInstance struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Expiry            *string     `bson:"expiry,omitempty" json:"expiry,omitempty"`
	Quantity          *Quantity   `bson:"quantity,omitempty" json:"quantity,omitempty"`
}

Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance. If this element is not present, then the substance resource describes a kind of substance

type SubstanceNucleicAcid

type SubstanceNucleicAcid struct {
	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"`
	Text                *Narrative                    `bson:"text,omitempty" json:"text,omitempty"`
	Contained           []json.RawMessage             `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension           []Extension                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	SequenceType        *CodeableConcept              `bson:"sequenceType,omitempty" json:"sequenceType,omitempty"`
	NumberOfSubunits    *int                          `bson:"numberOfSubunits,omitempty" json:"numberOfSubunits,omitempty"`
	AreaOfHybridisation *string                       `bson:"areaOfHybridisation,omitempty" json:"areaOfHybridisation,omitempty"`
	OligoNucleotideType *CodeableConcept              `bson:"oligoNucleotideType,omitempty" json:"oligoNucleotideType,omitempty"`
	Subunit             []SubstanceNucleicAcidSubunit `bson:"subunit,omitempty" json:"subunit,omitempty"`
}

SubstanceNucleicAcid is documented here http://hl7.org/fhir/StructureDefinition/SubstanceNucleicAcid Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction.

func UnmarshalSubstanceNucleicAcid

func UnmarshalSubstanceNucleicAcid(b []byte) (SubstanceNucleicAcid, error)

UnmarshalSubstanceNucleicAcid unmarshals a SubstanceNucleicAcid.

func (SubstanceNucleicAcid) ContainedResources added in v0.0.6

func (r SubstanceNucleicAcid) ContainedResources() []json.RawMessage

This function returns resource reference information

func (SubstanceNucleicAcid) MarshalJSON

func (r SubstanceNucleicAcid) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given SubstanceNucleicAcid as JSON into a byte slice

func (SubstanceNucleicAcid) ResourceRef added in v0.0.4

func (r SubstanceNucleicAcid) ResourceRef() (string, *string)

This function returns resource reference information

type SubstanceNucleicAcidSubunit

type SubstanceNucleicAcidSubunit struct {
	Id                 *string                              `bson:"id,omitempty" json:"id,omitempty"`
	Extension          []Extension                          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension                          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Subunit            *int                                 `bson:"subunit,omitempty" json:"subunit,omitempty"`
	Sequence           *string                              `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Length             *int                                 `bson:"length,omitempty" json:"length,omitempty"`
	SequenceAttachment *Attachment                          `bson:"sequenceAttachment,omitempty" json:"sequenceAttachment,omitempty"`
	FivePrime          *CodeableConcept                     `bson:"fivePrime,omitempty" json:"fivePrime,omitempty"`
	ThreePrime         *CodeableConcept                     `bson:"threePrime,omitempty" json:"threePrime,omitempty"`
	Linkage            []SubstanceNucleicAcidSubunitLinkage `bson:"linkage,omitempty" json:"linkage,omitempty"`
	Sugar              []SubstanceNucleicAcidSubunitSugar   `bson:"sugar,omitempty" json:"sugar,omitempty"`
}

Subunits are listed in order of decreasing length; sequences of the same length will be ordered by molecular weight; subunits that have identical sequences will be repeated multiple times.

type SubstanceNucleicAcidSubunitLinkage

type SubstanceNucleicAcidSubunitLinkage struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Connectivity      *string     `bson:"connectivity,omitempty" json:"connectivity,omitempty"`
	Identifier        *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Name              *string     `bson:"name,omitempty" json:"name,omitempty"`
	ResidueSite       *string     `bson:"residueSite,omitempty" json:"residueSite,omitempty"`
}

The linkages between sugar residues will also be captured.

type SubstanceNucleicAcidSubunitSugar

type SubstanceNucleicAcidSubunitSugar struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        *Identifier `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Name              *string     `bson:"name,omitempty" json:"name,omitempty"`
	ResidueSite       *string     `bson:"residueSite,omitempty" json:"residueSite,omitempty"`
}

5.3.6.8.1 Sugar ID (Mandatory).

type SubstancePolymer

type SubstancePolymer struct {
	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"`
	Text                  *Narrative                   `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage            `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Class                 *CodeableConcept             `bson:"class,omitempty" json:"class,omitempty"`
	Geometry              *CodeableConcept             `bson:"geometry,omitempty" json:"geometry,omitempty"`
	CopolymerConnectivity []CodeableConcept            `bson:"copolymerConnectivity,omitempty" json:"copolymerConnectivity,omitempty"`
	Modification          []string                     `bson:"modification,omitempty" json:"modification,omitempty"`
	MonomerSet            []SubstancePolymerMonomerSet `bson:"monomerSet,omitempty" json:"monomerSet,omitempty"`
	Repeat                []SubstancePolymerRepeat     `bson:"repeat,omitempty" json:"repeat,omitempty"`
}

SubstancePolymer is documented here http://hl7.org/fhir/StructureDefinition/SubstancePolymer Todo.

func UnmarshalSubstancePolymer

func UnmarshalSubstancePolymer(b []byte) (SubstancePolymer, error)

UnmarshalSubstancePolymer unmarshals a SubstancePolymer.

func (SubstancePolymer) ContainedResources added in v0.0.6

func (r SubstancePolymer) ContainedResources() []json.RawMessage

This function returns resource reference information

func (SubstancePolymer) MarshalJSON

func (r SubstancePolymer) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given SubstancePolymer as JSON into a byte slice

func (SubstancePolymer) ResourceRef added in v0.0.4

func (r SubstancePolymer) ResourceRef() (string, *string)

This function returns resource reference information

type SubstancePolymerMonomerSet

type SubstancePolymerMonomerSet struct {
	Id                *string                                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	RatioType         *CodeableConcept                             `bson:"ratioType,omitempty" json:"ratioType,omitempty"`
	StartingMaterial  []SubstancePolymerMonomerSetStartingMaterial `bson:"startingMaterial,omitempty" json:"startingMaterial,omitempty"`
}

Todo.

type SubstancePolymerMonomerSetStartingMaterial

type SubstancePolymerMonomerSetStartingMaterial struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Material          *CodeableConcept `bson:"material,omitempty" json:"material,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	IsDefining        *bool            `bson:"isDefining,omitempty" json:"isDefining,omitempty"`
	Amount            *SubstanceAmount `bson:"amount,omitempty" json:"amount,omitempty"`
}

Todo.

type SubstancePolymerRepeat

type SubstancePolymerRepeat struct {
	Id                      *string                            `bson:"id,omitempty" json:"id,omitempty"`
	Extension               []Extension                        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension                        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	NumberOfUnits           *int                               `bson:"numberOfUnits,omitempty" json:"numberOfUnits,omitempty"`
	AverageMolecularFormula *string                            `bson:"averageMolecularFormula,omitempty" json:"averageMolecularFormula,omitempty"`
	RepeatUnitAmountType    *CodeableConcept                   `bson:"repeatUnitAmountType,omitempty" json:"repeatUnitAmountType,omitempty"`
	RepeatUnit              []SubstancePolymerRepeatRepeatUnit `bson:"repeatUnit,omitempty" json:"repeatUnit,omitempty"`
}

Todo.

type SubstancePolymerRepeatRepeatUnit

type SubstancePolymerRepeatRepeatUnit struct {
	Id                          *string                                                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension                   []Extension                                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension           []Extension                                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	OrientationOfPolymerisation *CodeableConcept                                           `bson:"orientationOfPolymerisation,omitempty" json:"orientationOfPolymerisation,omitempty"`
	RepeatUnit                  *string                                                    `bson:"repeatUnit,omitempty" json:"repeatUnit,omitempty"`
	Amount                      *SubstanceAmount                                           `bson:"amount,omitempty" json:"amount,omitempty"`
	DegreeOfPolymerisation      []SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation   `bson:"degreeOfPolymerisation,omitempty" json:"degreeOfPolymerisation,omitempty"`
	StructuralRepresentation    []SubstancePolymerRepeatRepeatUnitStructuralRepresentation `bson:"structuralRepresentation,omitempty" json:"structuralRepresentation,omitempty"`
}

Todo.

type SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation

type SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Degree            *CodeableConcept `bson:"degree,omitempty" json:"degree,omitempty"`
	Amount            *SubstanceAmount `bson:"amount,omitempty" json:"amount,omitempty"`
}

Todo.

type SubstancePolymerRepeatRepeatUnitStructuralRepresentation

type SubstancePolymerRepeatRepeatUnitStructuralRepresentation struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Representation    *string          `bson:"representation,omitempty" json:"representation,omitempty"`
	Attachment        *Attachment      `bson:"attachment,omitempty" json:"attachment,omitempty"`
}

Todo.

type SubstanceProtein

type SubstanceProtein struct {
	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"`
	Text              *Narrative                `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage         `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	SequenceType      *CodeableConcept          `bson:"sequenceType,omitempty" json:"sequenceType,omitempty"`
	NumberOfSubunits  *int                      `bson:"numberOfSubunits,omitempty" json:"numberOfSubunits,omitempty"`
	DisulfideLinkage  []string                  `bson:"disulfideLinkage,omitempty" json:"disulfideLinkage,omitempty"`
	Subunit           []SubstanceProteinSubunit `bson:"subunit,omitempty" json:"subunit,omitempty"`
}

SubstanceProtein is documented here http://hl7.org/fhir/StructureDefinition/SubstanceProtein A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators.

func UnmarshalSubstanceProtein

func UnmarshalSubstanceProtein(b []byte) (SubstanceProtein, error)

UnmarshalSubstanceProtein unmarshals a SubstanceProtein.

func (SubstanceProtein) ContainedResources added in v0.0.6

func (r SubstanceProtein) ContainedResources() []json.RawMessage

This function returns resource reference information

func (SubstanceProtein) MarshalJSON

func (r SubstanceProtein) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given SubstanceProtein as JSON into a byte slice

func (SubstanceProtein) ResourceRef added in v0.0.4

func (r SubstanceProtein) ResourceRef() (string, *string)

This function returns resource reference information

type SubstanceProteinSubunit

type SubstanceProteinSubunit struct {
	Id                      *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension               []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension       []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Subunit                 *int        `bson:"subunit,omitempty" json:"subunit,omitempty"`
	Sequence                *string     `bson:"sequence,omitempty" json:"sequence,omitempty"`
	Length                  *int        `bson:"length,omitempty" json:"length,omitempty"`
	SequenceAttachment      *Attachment `bson:"sequenceAttachment,omitempty" json:"sequenceAttachment,omitempty"`
	NTerminalModificationId *Identifier `bson:"nTerminalModificationId,omitempty" json:"nTerminalModificationId,omitempty"`
	NTerminalModification   *string     `bson:"nTerminalModification,omitempty" json:"nTerminalModification,omitempty"`
	CTerminalModificationId *Identifier `bson:"cTerminalModificationId,omitempty" json:"cTerminalModificationId,omitempty"`
	CTerminalModification   *string     `bson:"cTerminalModification,omitempty" json:"cTerminalModification,omitempty"`
}

This subclause refers to the description of each subunit constituting the SubstanceProtein. A subunit is a linear sequence of amino acids linked through peptide bonds. The Subunit information shall be provided when the finished SubstanceProtein is a complex of multiple sequences; subunits are not used to delineate domains within a single sequence. Subunits are listed in order of decreasing length; sequences of the same length will be ordered by decreasing molecular weight; subunits that have identical sequences will be repeated multiple times.

type SubstanceReferenceInformation

type SubstanceReferenceInformation struct {
	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"`
	Text              *Narrative                                    `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                             `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Comment           *string                                       `bson:"comment,omitempty" json:"comment,omitempty"`
	Gene              []SubstanceReferenceInformationGene           `bson:"gene,omitempty" json:"gene,omitempty"`
	GeneElement       []SubstanceReferenceInformationGeneElement    `bson:"geneElement,omitempty" json:"geneElement,omitempty"`
	Classification    []SubstanceReferenceInformationClassification `bson:"classification,omitempty" json:"classification,omitempty"`
	Target            []SubstanceReferenceInformationTarget         `bson:"target,omitempty" json:"target,omitempty"`
}

SubstanceReferenceInformation is documented here http://hl7.org/fhir/StructureDefinition/SubstanceReferenceInformation Todo.

func UnmarshalSubstanceReferenceInformation

func UnmarshalSubstanceReferenceInformation(b []byte) (SubstanceReferenceInformation, error)

UnmarshalSubstanceReferenceInformation unmarshals a SubstanceReferenceInformation.

func (SubstanceReferenceInformation) ContainedResources added in v0.0.6

func (r SubstanceReferenceInformation) ContainedResources() []json.RawMessage

This function returns resource reference information

func (SubstanceReferenceInformation) MarshalJSON

func (r SubstanceReferenceInformation) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given SubstanceReferenceInformation as JSON into a byte slice

func (SubstanceReferenceInformation) ResourceRef added in v0.0.4

func (r SubstanceReferenceInformation) ResourceRef() (string, *string)

This function returns resource reference information

type SubstanceReferenceInformationClassification

type SubstanceReferenceInformationClassification struct {
	Id                *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Domain            *CodeableConcept  `bson:"domain,omitempty" json:"domain,omitempty"`
	Classification    *CodeableConcept  `bson:"classification,omitempty" json:"classification,omitempty"`
	Subtype           []CodeableConcept `bson:"subtype,omitempty" json:"subtype,omitempty"`
	Source            []Reference       `bson:"source,omitempty" json:"source,omitempty"`
}

Todo.

type SubstanceReferenceInformationGene

type SubstanceReferenceInformationGene struct {
	Id                 *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension          []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	GeneSequenceOrigin *CodeableConcept `bson:"geneSequenceOrigin,omitempty" json:"geneSequenceOrigin,omitempty"`
	Gene               *CodeableConcept `bson:"gene,omitempty" json:"gene,omitempty"`
	Source             []Reference      `bson:"source,omitempty" json:"source,omitempty"`
}

Todo.

type SubstanceReferenceInformationGeneElement

type SubstanceReferenceInformationGeneElement struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Element           *Identifier      `bson:"element,omitempty" json:"element,omitempty"`
	Source            []Reference      `bson:"source,omitempty" json:"source,omitempty"`
}

Todo.

type SubstanceReferenceInformationTarget

type SubstanceReferenceInformationTarget struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Target            *Identifier      `bson:"target,omitempty" json:"target,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Interaction       *CodeableConcept `bson:"interaction,omitempty" json:"interaction,omitempty"`
	Organism          *CodeableConcept `bson:"organism,omitempty" json:"organism,omitempty"`
	OrganismType      *CodeableConcept `bson:"organismType,omitempty" json:"organismType,omitempty"`
	AmountQuantity    *Quantity        `bson:"amountQuantity,omitempty" json:"amountQuantity,omitempty"`
	AmountRange       *Range           `bson:"amountRange,omitempty" json:"amountRange,omitempty"`
	AmountString      *string          `bson:"amountString,omitempty" json:"amountString,omitempty"`
	AmountType        *CodeableConcept `bson:"amountType,omitempty" json:"amountType,omitempty"`
	Source            []Reference      `bson:"source,omitempty" json:"source,omitempty"`
}

Todo.

type SubstanceSourceMaterial

type SubstanceSourceMaterial struct {
	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"`
	Text                 *Narrative                                   `bson:"text,omitempty" json:"text,omitempty"`
	Contained            []json.RawMessage                            `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension            []Extension                                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension                                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	SourceMaterialClass  *CodeableConcept                             `bson:"sourceMaterialClass,omitempty" json:"sourceMaterialClass,omitempty"`
	SourceMaterialType   *CodeableConcept                             `bson:"sourceMaterialType,omitempty" json:"sourceMaterialType,omitempty"`
	SourceMaterialState  *CodeableConcept                             `bson:"sourceMaterialState,omitempty" json:"sourceMaterialState,omitempty"`
	OrganismId           *Identifier                                  `bson:"organismId,omitempty" json:"organismId,omitempty"`
	OrganismName         *string                                      `bson:"organismName,omitempty" json:"organismName,omitempty"`
	ParentSubstanceId    []Identifier                                 `bson:"parentSubstanceId,omitempty" json:"parentSubstanceId,omitempty"`
	ParentSubstanceName  []string                                     `bson:"parentSubstanceName,omitempty" json:"parentSubstanceName,omitempty"`
	CountryOfOrigin      []CodeableConcept                            `bson:"countryOfOrigin,omitempty" json:"countryOfOrigin,omitempty"`
	GeographicalLocation []string                                     `bson:"geographicalLocation,omitempty" json:"geographicalLocation,omitempty"`
	DevelopmentStage     *CodeableConcept                             `bson:"developmentStage,omitempty" json:"developmentStage,omitempty"`
	FractionDescription  []SubstanceSourceMaterialFractionDescription `bson:"fractionDescription,omitempty" json:"fractionDescription,omitempty"`
	Organism             *SubstanceSourceMaterialOrganism             `bson:"organism,omitempty" json:"organism,omitempty"`
	PartDescription      []SubstanceSourceMaterialPartDescription     `bson:"partDescription,omitempty" json:"partDescription,omitempty"`
}

SubstanceSourceMaterial is documented here http://hl7.org/fhir/StructureDefinition/SubstanceSourceMaterial Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex.

func UnmarshalSubstanceSourceMaterial

func UnmarshalSubstanceSourceMaterial(b []byte) (SubstanceSourceMaterial, error)

UnmarshalSubstanceSourceMaterial unmarshals a SubstanceSourceMaterial.

func (SubstanceSourceMaterial) ContainedResources added in v0.0.6

func (r SubstanceSourceMaterial) ContainedResources() []json.RawMessage

This function returns resource reference information

func (SubstanceSourceMaterial) MarshalJSON

func (r SubstanceSourceMaterial) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given SubstanceSourceMaterial as JSON into a byte slice

func (SubstanceSourceMaterial) ResourceRef added in v0.0.4

func (r SubstanceSourceMaterial) ResourceRef() (string, *string)

This function returns resource reference information

type SubstanceSourceMaterialFractionDescription

type SubstanceSourceMaterialFractionDescription struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Fraction          *string          `bson:"fraction,omitempty" json:"fraction,omitempty"`
	MaterialType      *CodeableConcept `bson:"materialType,omitempty" json:"materialType,omitempty"`
}

Many complex materials are fractions of parts of plants, animals, or minerals. Fraction elements are often necessary to define both Substances and Specified Group 1 Substances. For substances derived from Plants, fraction information will be captured at the Substance information level ( . Oils, Juices and Exudates). Additional information for Extracts, such as extraction solvent composition, will be captured at the Specified Substance Group 1 information level. For plasma-derived products fraction information will be captured at the Substance and the Specified Substance Group 1 levels.

type SubstanceSourceMaterialOrganism

type SubstanceSourceMaterialOrganism struct {
	Id                       *string                                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension                                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension                                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Family                   *CodeableConcept                                `bson:"family,omitempty" json:"family,omitempty"`
	Genus                    *CodeableConcept                                `bson:"genus,omitempty" json:"genus,omitempty"`
	Species                  *CodeableConcept                                `bson:"species,omitempty" json:"species,omitempty"`
	IntraspecificType        *CodeableConcept                                `bson:"intraspecificType,omitempty" json:"intraspecificType,omitempty"`
	IntraspecificDescription *string                                         `bson:"intraspecificDescription,omitempty" json:"intraspecificDescription,omitempty"`
	Author                   []SubstanceSourceMaterialOrganismAuthor         `bson:"author,omitempty" json:"author,omitempty"`
	Hybrid                   *SubstanceSourceMaterialOrganismHybrid          `bson:"hybrid,omitempty" json:"hybrid,omitempty"`
	OrganismGeneral          *SubstanceSourceMaterialOrganismOrganismGeneral `bson:"organismGeneral,omitempty" json:"organismGeneral,omitempty"`
}

This subclause describes the organism which the substance is derived from. For vaccines, the parent organism shall be specified based on these subclause elements. As an example, full taxonomy will be described for the Substance Name: ., Leaf.

type SubstanceSourceMaterialOrganismAuthor

type SubstanceSourceMaterialOrganismAuthor struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	AuthorType        *CodeableConcept `bson:"authorType,omitempty" json:"authorType,omitempty"`
	AuthorDescription *string          `bson:"authorDescription,omitempty" json:"authorDescription,omitempty"`
}

4.9.13.6.1 Author type (Conditional).

type SubstanceSourceMaterialOrganismHybrid

type SubstanceSourceMaterialOrganismHybrid struct {
	Id                   *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	MaternalOrganismId   *string          `bson:"maternalOrganismId,omitempty" json:"maternalOrganismId,omitempty"`
	MaternalOrganismName *string          `bson:"maternalOrganismName,omitempty" json:"maternalOrganismName,omitempty"`
	PaternalOrganismId   *string          `bson:"paternalOrganismId,omitempty" json:"paternalOrganismId,omitempty"`
	PaternalOrganismName *string          `bson:"paternalOrganismName,omitempty" json:"paternalOrganismName,omitempty"`
	HybridType           *CodeableConcept `bson:"hybridType,omitempty" json:"hybridType,omitempty"`
}

4.9.13.8.1 Hybrid species maternal organism ID (Optional).

type SubstanceSourceMaterialOrganismOrganismGeneral

type SubstanceSourceMaterialOrganismOrganismGeneral struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Kingdom           *CodeableConcept `bson:"kingdom,omitempty" json:"kingdom,omitempty"`
	Phylum            *CodeableConcept `bson:"phylum,omitempty" json:"phylum,omitempty"`
	Class             *CodeableConcept `bson:"class,omitempty" json:"class,omitempty"`
	Order             *CodeableConcept `bson:"order,omitempty" json:"order,omitempty"`
}

4.9.13.7.1 Kingdom (Conditional).

type SubstanceSourceMaterialPartDescription

type SubstanceSourceMaterialPartDescription struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Part              *CodeableConcept `bson:"part,omitempty" json:"part,omitempty"`
	PartLocation      *CodeableConcept `bson:"partLocation,omitempty" json:"partLocation,omitempty"`
}

To do.

type SubstanceSpecification

type SubstanceSpecification struct {
	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"`
	Text                 *Narrative                                              `bson:"text,omitempty" json:"text,omitempty"`
	Contained            []json.RawMessage                                       `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension            []Extension                                             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension                                             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier           *Identifier                                             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Type                 *CodeableConcept                                        `bson:"type,omitempty" json:"type,omitempty"`
	Status               *CodeableConcept                                        `bson:"status,omitempty" json:"status,omitempty"`
	Domain               *CodeableConcept                                        `bson:"domain,omitempty" json:"domain,omitempty"`
	Description          *string                                                 `bson:"description,omitempty" json:"description,omitempty"`
	Source               []Reference                                             `bson:"source,omitempty" json:"source,omitempty"`
	Comment              *string                                                 `bson:"comment,omitempty" json:"comment,omitempty"`
	Moiety               []SubstanceSpecificationMoiety                          `bson:"moiety,omitempty" json:"moiety,omitempty"`
	Property             []SubstanceSpecificationProperty                        `bson:"property,omitempty" json:"property,omitempty"`
	ReferenceInformation *Reference                                              `bson:"referenceInformation,omitempty" json:"referenceInformation,omitempty"`
	Structure            *SubstanceSpecificationStructure                        `bson:"structure,omitempty" json:"structure,omitempty"`
	Code                 []SubstanceSpecificationCode                            `bson:"code,omitempty" json:"code,omitempty"`
	Name                 []SubstanceSpecificationName                            `bson:"name,omitempty" json:"name,omitempty"`
	MolecularWeight      []SubstanceSpecificationStructureIsotopeMolecularWeight `bson:"molecularWeight,omitempty" json:"molecularWeight,omitempty"`
	Relationship         []SubstanceSpecificationRelationship                    `bson:"relationship,omitempty" json:"relationship,omitempty"`
	NucleicAcid          *Reference                                              `bson:"nucleicAcid,omitempty" json:"nucleicAcid,omitempty"`
	Polymer              *Reference                                              `bson:"polymer,omitempty" json:"polymer,omitempty"`
	Protein              *Reference                                              `bson:"protein,omitempty" json:"protein,omitempty"`
	SourceMaterial       *Reference                                              `bson:"sourceMaterial,omitempty" json:"sourceMaterial,omitempty"`
}

SubstanceSpecification is documented here http://hl7.org/fhir/StructureDefinition/SubstanceSpecification The detailed description of a substance, typically at a level beyond what is used for prescribing.

func UnmarshalSubstanceSpecification

func UnmarshalSubstanceSpecification(b []byte) (SubstanceSpecification, error)

UnmarshalSubstanceSpecification unmarshals a SubstanceSpecification.

func (SubstanceSpecification) ContainedResources added in v0.0.6

func (r SubstanceSpecification) ContainedResources() []json.RawMessage

This function returns resource reference information

func (SubstanceSpecification) MarshalJSON

func (r SubstanceSpecification) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given SubstanceSpecification as JSON into a byte slice

func (SubstanceSpecification) ResourceRef added in v0.0.4

func (r SubstanceSpecification) ResourceRef() (string, *string)

This function returns resource reference information

type SubstanceSpecificationCode

type SubstanceSpecificationCode struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Status            *CodeableConcept `bson:"status,omitempty" json:"status,omitempty"`
	StatusDate        *string          `bson:"statusDate,omitempty" json:"statusDate,omitempty"`
	Comment           *string          `bson:"comment,omitempty" json:"comment,omitempty"`
	Source            []Reference      `bson:"source,omitempty" json:"source,omitempty"`
}

Codes associated with the substance.

type SubstanceSpecificationMoiety

type SubstanceSpecificationMoiety struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Role              *CodeableConcept `bson:"role,omitempty" json:"role,omitempty"`
	Identifier        *Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Name              *string          `bson:"name,omitempty" json:"name,omitempty"`
	Stereochemistry   *CodeableConcept `bson:"stereochemistry,omitempty" json:"stereochemistry,omitempty"`
	OpticalActivity   *CodeableConcept `bson:"opticalActivity,omitempty" json:"opticalActivity,omitempty"`
	MolecularFormula  *string          `bson:"molecularFormula,omitempty" json:"molecularFormula,omitempty"`
	AmountQuantity    *Quantity        `bson:"amountQuantity,omitempty" json:"amountQuantity,omitempty"`
	AmountString      *string          `bson:"amountString,omitempty" json:"amountString,omitempty"`
}

Moiety, for structural modifications.

type SubstanceSpecificationName

type SubstanceSpecificationName struct {
	Id                *string                              `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                          `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                          `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string                               `bson:"name" json:"name"`
	Type              *CodeableConcept                     `bson:"type,omitempty" json:"type,omitempty"`
	Status            *CodeableConcept                     `bson:"status,omitempty" json:"status,omitempty"`
	Preferred         *bool                                `bson:"preferred,omitempty" json:"preferred,omitempty"`
	Language          []CodeableConcept                    `bson:"language,omitempty" json:"language,omitempty"`
	Domain            []CodeableConcept                    `bson:"domain,omitempty" json:"domain,omitempty"`
	Jurisdiction      []CodeableConcept                    `bson:"jurisdiction,omitempty" json:"jurisdiction,omitempty"`
	Synonym           []SubstanceSpecificationName         `bson:"synonym,omitempty" json:"synonym,omitempty"`
	Translation       []SubstanceSpecificationName         `bson:"translation,omitempty" json:"translation,omitempty"`
	Official          []SubstanceSpecificationNameOfficial `bson:"official,omitempty" json:"official,omitempty"`
	Source            []Reference                          `bson:"source,omitempty" json:"source,omitempty"`
}

Names applicable to this substance.

type SubstanceSpecificationNameOfficial

type SubstanceSpecificationNameOfficial struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Authority         *CodeableConcept `bson:"authority,omitempty" json:"authority,omitempty"`
	Status            *CodeableConcept `bson:"status,omitempty" json:"status,omitempty"`
	Date              *string          `bson:"date,omitempty" json:"date,omitempty"`
}

Details of the official nature of this name.

type SubstanceSpecificationProperty

type SubstanceSpecificationProperty struct {
	Id                               *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension                        []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension                []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Category                         *CodeableConcept `bson:"category,omitempty" json:"category,omitempty"`
	Code                             *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
	Parameters                       *string          `bson:"parameters,omitempty" json:"parameters,omitempty"`
	DefiningSubstanceReference       *Reference       `bson:"definingSubstanceReference,omitempty" json:"definingSubstanceReference,omitempty"`
	DefiningSubstanceCodeableConcept *CodeableConcept `bson:"definingSubstanceCodeableConcept,omitempty" json:"definingSubstanceCodeableConcept,omitempty"`
	AmountQuantity                   *Quantity        `bson:"amountQuantity,omitempty" json:"amountQuantity,omitempty"`
	AmountString                     *string          `bson:"amountString,omitempty" json:"amountString,omitempty"`
}

General specifications for this substance, including how it is related to other substances.

type SubstanceSpecificationRelationship

type SubstanceSpecificationRelationship struct {
	Id                       *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	SubstanceReference       *Reference       `bson:"substanceReference,omitempty" json:"substanceReference,omitempty"`
	SubstanceCodeableConcept *CodeableConcept `bson:"substanceCodeableConcept,omitempty" json:"substanceCodeableConcept,omitempty"`
	Relationship             *CodeableConcept `bson:"relationship,omitempty" json:"relationship,omitempty"`
	IsDefining               *bool            `bson:"isDefining,omitempty" json:"isDefining,omitempty"`
	AmountQuantity           *Quantity        `bson:"amountQuantity,omitempty" json:"amountQuantity,omitempty"`
	AmountRange              *Range           `bson:"amountRange,omitempty" json:"amountRange,omitempty"`
	AmountRatio              *Ratio           `bson:"amountRatio,omitempty" json:"amountRatio,omitempty"`
	AmountString             *string          `bson:"amountString,omitempty" json:"amountString,omitempty"`
	AmountRatioLowLimit      *Ratio           `bson:"amountRatioLowLimit,omitempty" json:"amountRatioLowLimit,omitempty"`
	AmountType               *CodeableConcept `bson:"amountType,omitempty" json:"amountType,omitempty"`
	Source                   []Reference      `bson:"source,omitempty" json:"source,omitempty"`
}

A link between this substance and another, with details of the relationship.

type SubstanceSpecificationStructure

type SubstanceSpecificationStructure struct {
	Id                       *string                                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension                                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension                                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Stereochemistry          *CodeableConcept                                       `bson:"stereochemistry,omitempty" json:"stereochemistry,omitempty"`
	OpticalActivity          *CodeableConcept                                       `bson:"opticalActivity,omitempty" json:"opticalActivity,omitempty"`
	MolecularFormula         *string                                                `bson:"molecularFormula,omitempty" json:"molecularFormula,omitempty"`
	MolecularFormulaByMoiety *string                                                `bson:"molecularFormulaByMoiety,omitempty" json:"molecularFormulaByMoiety,omitempty"`
	Isotope                  []SubstanceSpecificationStructureIsotope               `bson:"isotope,omitempty" json:"isotope,omitempty"`
	MolecularWeight          *SubstanceSpecificationStructureIsotopeMolecularWeight `bson:"molecularWeight,omitempty" json:"molecularWeight,omitempty"`
	Source                   []Reference                                            `bson:"source,omitempty" json:"source,omitempty"`
	Representation           []SubstanceSpecificationStructureRepresentation        `bson:"representation,omitempty" json:"representation,omitempty"`
}

Structural information.

type SubstanceSpecificationStructureIsotope

type SubstanceSpecificationStructureIsotope struct {
	Id                *string                                                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        *Identifier                                            `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Name              *CodeableConcept                                       `bson:"name,omitempty" json:"name,omitempty"`
	Substitution      *CodeableConcept                                       `bson:"substitution,omitempty" json:"substitution,omitempty"`
	HalfLife          *Quantity                                              `bson:"halfLife,omitempty" json:"halfLife,omitempty"`
	MolecularWeight   *SubstanceSpecificationStructureIsotopeMolecularWeight `bson:"molecularWeight,omitempty" json:"molecularWeight,omitempty"`
}

Applicable for single substances that contain a radionuclide or a non-natural isotopic ratio.

type SubstanceSpecificationStructureIsotopeMolecularWeight

type SubstanceSpecificationStructureIsotopeMolecularWeight struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Method            *CodeableConcept `bson:"method,omitempty" json:"method,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Amount            *Quantity        `bson:"amount,omitempty" json:"amount,omitempty"`
}

The molecular weight or weight range (for proteins, polymers or nucleic acids).

type SubstanceSpecificationStructureRepresentation

type SubstanceSpecificationStructureRepresentation struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              *CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	Representation    *string          `bson:"representation,omitempty" json:"representation,omitempty"`
	Attachment        *Attachment      `bson:"attachment,omitempty" json:"attachment,omitempty"`
}

Molecular structural representation.

type SupplyDelivery

type SupplyDelivery struct {
	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"`
	Text               *Narrative                  `bson:"text,omitempty" json:"text,omitempty"`
	Contained          []json.RawMessage           `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension          []Extension                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension  []Extension                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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             *SupplyDeliveryStatus       `bson:"status,omitempty" json:"status,omitempty"`
	Patient            *Reference                  `bson:"patient,omitempty" json:"patient,omitempty"`
	Type               *CodeableConcept            `bson:"type,omitempty" json:"type,omitempty"`
	SuppliedItem       *SupplyDeliverySuppliedItem `bson:"suppliedItem,omitempty" json:"suppliedItem,omitempty"`
	OccurrenceDateTime *string                     `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"`
}

SupplyDelivery is documented here http://hl7.org/fhir/StructureDefinition/SupplyDelivery Record of delivery of what is supplied.

func UnmarshalSupplyDelivery

func UnmarshalSupplyDelivery(b []byte) (SupplyDelivery, error)

UnmarshalSupplyDelivery unmarshals a SupplyDelivery.

func (SupplyDelivery) ContainedResources added in v0.0.6

func (r SupplyDelivery) ContainedResources() []json.RawMessage

This function returns resource reference information

func (SupplyDelivery) MarshalJSON

func (r SupplyDelivery) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given SupplyDelivery as JSON into a byte slice

func (SupplyDelivery) ResourceRef added in v0.0.4

func (r SupplyDelivery) ResourceRef() (string, *string)

This function returns resource reference information

type SupplyDeliveryStatus

type SupplyDeliveryStatus int

SupplyDeliveryStatus is documented here http://hl7.org/fhir/ValueSet/supplydelivery-status

const (
	SupplyDeliveryStatusInProgress SupplyDeliveryStatus = iota
	SupplyDeliveryStatusCompleted
	SupplyDeliveryStatusAbandoned
	SupplyDeliveryStatusEnteredInError
)

func (SupplyDeliveryStatus) Code

func (code SupplyDeliveryStatus) Code() string

func (SupplyDeliveryStatus) Definition

func (code SupplyDeliveryStatus) Definition() string

func (SupplyDeliveryStatus) Display

func (code SupplyDeliveryStatus) Display() string

func (SupplyDeliveryStatus) MarshalJSON

func (code SupplyDeliveryStatus) MarshalJSON() ([]byte, error)

func (SupplyDeliveryStatus) String

func (code SupplyDeliveryStatus) String() string

func (*SupplyDeliveryStatus) UnmarshalJSON

func (code *SupplyDeliveryStatus) UnmarshalJSON(input []byte) error

type SupplyDeliverySuppliedItem

type SupplyDeliverySuppliedItem struct {
	Id                  *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Quantity            *Quantity        `bson:"quantity,omitempty" json:"quantity,omitempty"`
	ItemCodeableConcept *CodeableConcept `bson:"itemCodeableConcept,omitempty" json:"itemCodeableConcept,omitempty"`
	ItemReference       *Reference       `bson:"itemReference,omitempty" json:"itemReference,omitempty"`
}

The item that is being delivered or has been supplied.

type SupplyRequest

type SupplyRequest struct {
	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"`
	Text                *Narrative               `bson:"text,omitempty" json:"text,omitempty"`
	Contained           []json.RawMessage        `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension           []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier          []Identifier             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status              *SupplyRequestStatus     `bson:"status,omitempty" json:"status,omitempty"`
	Category            *CodeableConcept         `bson:"category,omitempty" json:"category,omitempty"`
	Priority            *RequestPriority         `bson:"priority,omitempty" json:"priority,omitempty"`
	ItemCodeableConcept CodeableConcept          `bson:"itemCodeableConcept" json:"itemCodeableConcept"`
	ItemReference       Reference                `bson:"itemReference" json:"itemReference"`
	Quantity            Quantity                 `bson:"quantity" json:"quantity"`
	Parameter           []SupplyRequestParameter `bson:"parameter,omitempty" json:"parameter,omitempty"`
	OccurrenceDateTime  *string                  `bson:"occurrenceDateTime,omitempty" json:"occurrenceDateTime,omitempty"`
	OccurrencePeriod    *Period                  `bson:"occurrencePeriod,omitempty" json:"occurrencePeriod,omitempty"`
	OccurrenceTiming    *Timing                  `bson:"occurrenceTiming,omitempty" json:"occurrenceTiming,omitempty"`
	AuthoredOn          *string                  `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	Requester           *Reference               `bson:"requester,omitempty" json:"requester,omitempty"`
	Supplier            []Reference              `bson:"supplier,omitempty" json:"supplier,omitempty"`
	ReasonCode          []CodeableConcept        `bson:"reasonCode,omitempty" json:"reasonCode,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"`
}

SupplyRequest is documented here http://hl7.org/fhir/StructureDefinition/SupplyRequest A record of a request for a medication, substance or device used in the healthcare setting.

func UnmarshalSupplyRequest

func UnmarshalSupplyRequest(b []byte) (SupplyRequest, error)

UnmarshalSupplyRequest unmarshals a SupplyRequest.

func (SupplyRequest) ContainedResources added in v0.0.6

func (r SupplyRequest) ContainedResources() []json.RawMessage

This function returns resource reference information

func (SupplyRequest) MarshalJSON

func (r SupplyRequest) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given SupplyRequest as JSON into a byte slice

func (SupplyRequest) ResourceRef added in v0.0.4

func (r SupplyRequest) ResourceRef() (string, *string)

This function returns resource reference information

type SupplyRequestParameter

type SupplyRequestParameter struct {
	Id                   *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code                 *CodeableConcept `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"`
	ValueBoolean         *bool            `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
}

Specific parameters for the ordered item. For example, the size of the indicated item.

type SupplyRequestStatus

type SupplyRequestStatus int

SupplyRequestStatus is documented here http://hl7.org/fhir/ValueSet/supplyrequest-status

const (
	SupplyRequestStatusDraft SupplyRequestStatus = iota
	SupplyRequestStatusActive
	SupplyRequestStatusSuspended
	SupplyRequestStatusCancelled
	SupplyRequestStatusCompleted
	SupplyRequestStatusEnteredInError
	SupplyRequestStatusUnknown
)

func (SupplyRequestStatus) Code

func (code SupplyRequestStatus) Code() string

func (SupplyRequestStatus) Definition

func (code SupplyRequestStatus) Definition() string

func (SupplyRequestStatus) Display

func (code SupplyRequestStatus) Display() string

func (SupplyRequestStatus) MarshalJSON

func (code SupplyRequestStatus) MarshalJSON() ([]byte, error)

func (SupplyRequestStatus) String

func (code SupplyRequestStatus) String() string

func (*SupplyRequestStatus) UnmarshalJSON

func (code *SupplyRequestStatus) UnmarshalJSON(input []byte) error

type SystemRestfulInteraction

type SystemRestfulInteraction int

SystemRestfulInteraction is documented here http://hl7.org/fhir/ValueSet/system-restful-interaction

const (
	SystemRestfulInteractionRead SystemRestfulInteraction = iota
	SystemRestfulInteractionVread
	SystemRestfulInteractionUpdate
	SystemRestfulInteractionPatch
	SystemRestfulInteractionDelete
	SystemRestfulInteractionHistory
	SystemRestfulInteractionHistoryInstance
	SystemRestfulInteractionHistoryType
	SystemRestfulInteractionHistorySystem
	SystemRestfulInteractionCreate
	SystemRestfulInteractionSearch
	SystemRestfulInteractionSearchType
	SystemRestfulInteractionSearchSystem
	SystemRestfulInteractionCapabilities
	SystemRestfulInteractionTransaction
	SystemRestfulInteractionBatch
	SystemRestfulInteractionOperation
)

func (SystemRestfulInteraction) Code

func (code SystemRestfulInteraction) Code() string

func (SystemRestfulInteraction) Definition

func (code SystemRestfulInteraction) Definition() string

func (SystemRestfulInteraction) Display

func (code SystemRestfulInteraction) Display() string

func (SystemRestfulInteraction) MarshalJSON

func (code SystemRestfulInteraction) MarshalJSON() ([]byte, error)

func (SystemRestfulInteraction) String

func (code SystemRestfulInteraction) String() string

func (*SystemRestfulInteraction) UnmarshalJSON

func (code *SystemRestfulInteraction) UnmarshalJSON(input []byte) error

type Task

type Task struct {
	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"`
	Text                  *Narrative        `bson:"text,omitempty" json:"text,omitempty"`
	Contained             []json.RawMessage `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension             []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension     []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier            []Identifier      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	InstantiatesCanonical *string           `bson:"instantiatesCanonical,omitempty" json:"instantiatesCanonical,omitempty"`
	InstantiatesUri       *string           `bson:"instantiatesUri,omitempty" json:"instantiatesUri,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                TaskStatus        `bson:"status" json:"status"`
	StatusReason          *CodeableConcept  `bson:"statusReason,omitempty" json:"statusReason,omitempty"`
	BusinessStatus        *CodeableConcept  `bson:"businessStatus,omitempty" json:"businessStatus,omitempty"`
	Intent                string            `bson:"intent" json:"intent"`
	Priority              *RequestPriority  `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"`
	Encounter             *Reference        `bson:"encounter,omitempty" json:"encounter,omitempty"`
	ExecutionPeriod       *Period           `bson:"executionPeriod,omitempty" json:"executionPeriod,omitempty"`
	AuthoredOn            *string           `bson:"authoredOn,omitempty" json:"authoredOn,omitempty"`
	LastModified          *string           `bson:"lastModified,omitempty" json:"lastModified,omitempty"`
	Requester             *Reference        `bson:"requester,omitempty" json:"requester,omitempty"`
	PerformerType         []CodeableConcept `bson:"performerType,omitempty" json:"performerType,omitempty"`
	Owner                 *Reference        `bson:"owner,omitempty" json:"owner,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"`
	Insurance             []Reference       `bson:"insurance,omitempty" json:"insurance,omitempty"`
	Note                  []Annotation      `bson:"note,omitempty" json:"note,omitempty"`
	RelevantHistory       []Reference       `bson:"relevantHistory,omitempty" json:"relevantHistory,omitempty"`
	Restriction           *TaskRestriction  `bson:"restriction,omitempty" json:"restriction,omitempty"`
	Input                 []TaskInput       `bson:"input,omitempty" json:"input,omitempty"`
	Output                []TaskOutput      `bson:"output,omitempty" json:"output,omitempty"`
}

Task is documented here http://hl7.org/fhir/StructureDefinition/Task A task to be performed.

func UnmarshalTask

func UnmarshalTask(b []byte) (Task, error)

UnmarshalTask unmarshals a Task.

func (Task) ContainedResources added in v0.0.6

func (r Task) ContainedResources() []json.RawMessage

This function returns resource reference information

func (Task) MarshalJSON

func (r Task) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given Task as JSON into a byte slice

func (Task) ResourceRef added in v0.0.4

func (r Task) ResourceRef() (string, *string)

This function returns resource reference information

type TaskInput

type TaskInput struct {
	Id                       *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type                     CodeableConcept     `bson:"type" json:"type"`
	ValueBase64Binary        string              `bson:"valueBase64Binary" json:"valueBase64Binary"`
	ValueBoolean             bool                `bson:"valueBoolean" json:"valueBoolean"`
	ValueCanonical           string              `bson:"valueCanonical" json:"valueCanonical"`
	ValueCode                string              `bson:"valueCode" json:"valueCode"`
	ValueDate                string              `bson:"valueDate" json:"valueDate"`
	ValueDateTime            string              `bson:"valueDateTime" json:"valueDateTime"`
	ValueDecimal             json.Number         `bson:"valueDecimal" json:"valueDecimal"`
	ValueId                  string              `bson:"valueId" json:"valueId"`
	ValueInstant             string              `bson:"valueInstant" json:"valueInstant"`
	ValueInteger             int                 `bson:"valueInteger" json:"valueInteger"`
	ValueMarkdown            string              `bson:"valueMarkdown" json:"valueMarkdown"`
	ValueOid                 string              `bson:"valueOid" json:"valueOid"`
	ValuePositiveInt         int                 `bson:"valuePositiveInt" json:"valuePositiveInt"`
	ValueString              string              `bson:"valueString" json:"valueString"`
	ValueTime                string              `bson:"valueTime" json:"valueTime"`
	ValueUnsignedInt         int                 `bson:"valueUnsignedInt" json:"valueUnsignedInt"`
	ValueUri                 string              `bson:"valueUri" json:"valueUri"`
	ValueUrl                 string              `bson:"valueUrl" json:"valueUrl"`
	ValueUuid                string              `bson:"valueUuid" json:"valueUuid"`
	ValueAddress             Address             `bson:"valueAddress" json:"valueAddress"`
	ValueAge                 Age                 `bson:"valueAge" json:"valueAge"`
	ValueAnnotation          Annotation          `bson:"valueAnnotation" json:"valueAnnotation"`
	ValueAttachment          Attachment          `bson:"valueAttachment" json:"valueAttachment"`
	ValueCodeableConcept     CodeableConcept     `bson:"valueCodeableConcept" json:"valueCodeableConcept"`
	ValueCoding              Coding              `bson:"valueCoding" json:"valueCoding"`
	ValueContactPoint        ContactPoint        `bson:"valueContactPoint" json:"valueContactPoint"`
	ValueCount               Count               `bson:"valueCount" json:"valueCount"`
	ValueDistance            Distance            `bson:"valueDistance" json:"valueDistance"`
	ValueDuration            Duration            `bson:"valueDuration" json:"valueDuration"`
	ValueHumanName           HumanName           `bson:"valueHumanName" json:"valueHumanName"`
	ValueIdentifier          Identifier          `bson:"valueIdentifier" json:"valueIdentifier"`
	ValueMoney               Money               `bson:"valueMoney" json:"valueMoney"`
	ValuePeriod              Period              `bson:"valuePeriod" json:"valuePeriod"`
	ValueQuantity            Quantity            `bson:"valueQuantity" json:"valueQuantity"`
	ValueRange               Range               `bson:"valueRange" json:"valueRange"`
	ValueRatio               Ratio               `bson:"valueRatio" json:"valueRatio"`
	ValueReference           Reference           `bson:"valueReference" json:"valueReference"`
	ValueSampledData         SampledData         `bson:"valueSampledData" json:"valueSampledData"`
	ValueSignature           Signature           `bson:"valueSignature" json:"valueSignature"`
	ValueTiming              Timing              `bson:"valueTiming" json:"valueTiming"`
	ValueContactDetail       ContactDetail       `bson:"valueContactDetail" json:"valueContactDetail"`
	ValueContributor         Contributor         `bson:"valueContributor" json:"valueContributor"`
	ValueDataRequirement     DataRequirement     `bson:"valueDataRequirement" json:"valueDataRequirement"`
	ValueExpression          Expression          `bson:"valueExpression" json:"valueExpression"`
	ValueParameterDefinition ParameterDefinition `bson:"valueParameterDefinition" json:"valueParameterDefinition"`
	ValueRelatedArtifact     RelatedArtifact     `bson:"valueRelatedArtifact" json:"valueRelatedArtifact"`
	ValueTriggerDefinition   TriggerDefinition   `bson:"valueTriggerDefinition" json:"valueTriggerDefinition"`
	ValueUsageContext        UsageContext        `bson:"valueUsageContext" json:"valueUsageContext"`
	ValueDosage              Dosage              `bson:"valueDosage" json:"valueDosage"`
	ValueMeta                Meta                `bson:"valueMeta" json:"valueMeta"`
}

Additional information that may be needed in the execution of the task.

type TaskOutput

type TaskOutput struct {
	Id                       *string             `bson:"id,omitempty" json:"id,omitempty"`
	Extension                []Extension         `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension        []Extension         `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type                     CodeableConcept     `bson:"type" json:"type"`
	ValueBase64Binary        string              `bson:"valueBase64Binary" json:"valueBase64Binary"`
	ValueBoolean             bool                `bson:"valueBoolean" json:"valueBoolean"`
	ValueCanonical           string              `bson:"valueCanonical" json:"valueCanonical"`
	ValueCode                string              `bson:"valueCode" json:"valueCode"`
	ValueDate                string              `bson:"valueDate" json:"valueDate"`
	ValueDateTime            string              `bson:"valueDateTime" json:"valueDateTime"`
	ValueDecimal             json.Number         `bson:"valueDecimal" json:"valueDecimal"`
	ValueId                  string              `bson:"valueId" json:"valueId"`
	ValueInstant             string              `bson:"valueInstant" json:"valueInstant"`
	ValueInteger             int                 `bson:"valueInteger" json:"valueInteger"`
	ValueMarkdown            string              `bson:"valueMarkdown" json:"valueMarkdown"`
	ValueOid                 string              `bson:"valueOid" json:"valueOid"`
	ValuePositiveInt         int                 `bson:"valuePositiveInt" json:"valuePositiveInt"`
	ValueString              string              `bson:"valueString" json:"valueString"`
	ValueTime                string              `bson:"valueTime" json:"valueTime"`
	ValueUnsignedInt         int                 `bson:"valueUnsignedInt" json:"valueUnsignedInt"`
	ValueUri                 string              `bson:"valueUri" json:"valueUri"`
	ValueUrl                 string              `bson:"valueUrl" json:"valueUrl"`
	ValueUuid                string              `bson:"valueUuid" json:"valueUuid"`
	ValueAddress             Address             `bson:"valueAddress" json:"valueAddress"`
	ValueAge                 Age                 `bson:"valueAge" json:"valueAge"`
	ValueAnnotation          Annotation          `bson:"valueAnnotation" json:"valueAnnotation"`
	ValueAttachment          Attachment          `bson:"valueAttachment" json:"valueAttachment"`
	ValueCodeableConcept     CodeableConcept     `bson:"valueCodeableConcept" json:"valueCodeableConcept"`
	ValueCoding              Coding              `bson:"valueCoding" json:"valueCoding"`
	ValueContactPoint        ContactPoint        `bson:"valueContactPoint" json:"valueContactPoint"`
	ValueCount               Count               `bson:"valueCount" json:"valueCount"`
	ValueDistance            Distance            `bson:"valueDistance" json:"valueDistance"`
	ValueDuration            Duration            `bson:"valueDuration" json:"valueDuration"`
	ValueHumanName           HumanName           `bson:"valueHumanName" json:"valueHumanName"`
	ValueIdentifier          Identifier          `bson:"valueIdentifier" json:"valueIdentifier"`
	ValueMoney               Money               `bson:"valueMoney" json:"valueMoney"`
	ValuePeriod              Period              `bson:"valuePeriod" json:"valuePeriod"`
	ValueQuantity            Quantity            `bson:"valueQuantity" json:"valueQuantity"`
	ValueRange               Range               `bson:"valueRange" json:"valueRange"`
	ValueRatio               Ratio               `bson:"valueRatio" json:"valueRatio"`
	ValueReference           Reference           `bson:"valueReference" json:"valueReference"`
	ValueSampledData         SampledData         `bson:"valueSampledData" json:"valueSampledData"`
	ValueSignature           Signature           `bson:"valueSignature" json:"valueSignature"`
	ValueTiming              Timing              `bson:"valueTiming" json:"valueTiming"`
	ValueContactDetail       ContactDetail       `bson:"valueContactDetail" json:"valueContactDetail"`
	ValueContributor         Contributor         `bson:"valueContributor" json:"valueContributor"`
	ValueDataRequirement     DataRequirement     `bson:"valueDataRequirement" json:"valueDataRequirement"`
	ValueExpression          Expression          `bson:"valueExpression" json:"valueExpression"`
	ValueParameterDefinition ParameterDefinition `bson:"valueParameterDefinition" json:"valueParameterDefinition"`
	ValueRelatedArtifact     RelatedArtifact     `bson:"valueRelatedArtifact" json:"valueRelatedArtifact"`
	ValueTriggerDefinition   TriggerDefinition   `bson:"valueTriggerDefinition" json:"valueTriggerDefinition"`
	ValueUsageContext        UsageContext        `bson:"valueUsageContext" json:"valueUsageContext"`
	ValueDosage              Dosage              `bson:"valueDosage" json:"valueDosage"`
	ValueMeta                Meta                `bson:"valueMeta" json:"valueMeta"`
}

Outputs produced by the Task.

type TaskRestriction

type TaskRestriction struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Repetitions       *int        `bson:"repetitions,omitempty" json:"repetitions,omitempty"`
	Period            *Period     `bson:"period,omitempty" json:"period,omitempty"`
	Recipient         []Reference `bson:"recipient,omitempty" json:"recipient,omitempty"`
}

If the Task.focus is a request resource and the task is seeking fulfillment (i.e. is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned.

type TaskStatus

type TaskStatus int

TaskStatus is documented here http://hl7.org/fhir/ValueSet/task-status

const (
	TaskStatusDraft TaskStatus = iota
	TaskStatusRequested
	TaskStatusReceived
	TaskStatusAccepted
	TaskStatusRejected
	TaskStatusReady
	TaskStatusCancelled
	TaskStatusInProgress
	TaskStatusOnHold
	TaskStatusFailed
	TaskStatusCompleted
	TaskStatusEnteredInError
)

func (TaskStatus) Code

func (code TaskStatus) Code() string

func (TaskStatus) Definition

func (code TaskStatus) Definition() string

func (TaskStatus) Display

func (code TaskStatus) Display() string

func (TaskStatus) MarshalJSON

func (code TaskStatus) MarshalJSON() ([]byte, error)

func (TaskStatus) String

func (code TaskStatus) String() string

func (*TaskStatus) UnmarshalJSON

func (code *TaskStatus) UnmarshalJSON(input []byte) error

type TerminologyCapabilities

type TerminologyCapabilities struct {
	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"`
	Text              *Narrative                             `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                      `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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            PublicationStatus                      `bson:"status" json:"status"`
	Experimental      *bool                                  `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              string                                 `bson:"date" json:"date"`
	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              CapabilityStatementKind                `bson:"kind" json:"kind"`
	Software          *TerminologyCapabilitiesSoftware       `bson:"software,omitempty" json:"software,omitempty"`
	Implementation    *TerminologyCapabilitiesImplementation `bson:"implementation,omitempty" json:"implementation,omitempty"`
	LockedDate        *bool                                  `bson:"lockedDate,omitempty" json:"lockedDate,omitempty"`
	CodeSystem        []TerminologyCapabilitiesCodeSystem    `bson:"codeSystem,omitempty" json:"codeSystem,omitempty"`
	Expansion         *TerminologyCapabilitiesExpansion      `bson:"expansion,omitempty" json:"expansion,omitempty"`
	CodeSearch        *CodeSearchSupport                     `bson:"codeSearch,omitempty" json:"codeSearch,omitempty"`
	ValidateCode      *TerminologyCapabilitiesValidateCode   `bson:"validateCode,omitempty" json:"validateCode,omitempty"`
	Translation       *TerminologyCapabilitiesTranslation    `bson:"translation,omitempty" json:"translation,omitempty"`
	Closure           *TerminologyCapabilitiesClosure        `bson:"closure,omitempty" json:"closure,omitempty"`
}

TerminologyCapabilities is documented here http://hl7.org/fhir/StructureDefinition/TerminologyCapabilities A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.

func UnmarshalTerminologyCapabilities

func UnmarshalTerminologyCapabilities(b []byte) (TerminologyCapabilities, error)

UnmarshalTerminologyCapabilities unmarshals a TerminologyCapabilities.

func (TerminologyCapabilities) ContainedResources added in v0.0.6

func (r TerminologyCapabilities) ContainedResources() []json.RawMessage

This function returns resource reference information

func (TerminologyCapabilities) MarshalJSON

func (r TerminologyCapabilities) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given TerminologyCapabilities as JSON into a byte slice

func (TerminologyCapabilities) ResourceRef added in v0.0.4

func (r TerminologyCapabilities) ResourceRef() (string, *string)

This function returns resource reference information

type TerminologyCapabilitiesClosure

type TerminologyCapabilitiesClosure struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Translation       *bool       `bson:"translation,omitempty" json:"translation,omitempty"`
}

Whether the $closure operation is supported.

type TerminologyCapabilitiesCodeSystem

type TerminologyCapabilitiesCodeSystem struct {
	Id                *string                                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Uri               *string                                    `bson:"uri,omitempty" json:"uri,omitempty"`
	Version           []TerminologyCapabilitiesCodeSystemVersion `bson:"version,omitempty" json:"version,omitempty"`
	Subsumption       *bool                                      `bson:"subsumption,omitempty" json:"subsumption,omitempty"`
}

Identifies a code system that is supported by the server. If there is a no code system URL, then this declares the general assumptions a client can make about support for any CodeSystem resource. The code system - identified by its system URL - may also be declared explicitly as a Code System Resource at /CodeSystem, but it might not be.

type TerminologyCapabilitiesCodeSystemVersion

type TerminologyCapabilitiesCodeSystemVersion struct {
	Id                *string                                          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              *string                                          `bson:"code,omitempty" json:"code,omitempty"`
	IsDefault         *bool                                            `bson:"isDefault,omitempty" json:"isDefault,omitempty"`
	Compositional     *bool                                            `bson:"compositional,omitempty" json:"compositional,omitempty"`
	Language          []string                                         `bson:"language,omitempty" json:"language,omitempty"`
	Filter            []TerminologyCapabilitiesCodeSystemVersionFilter `bson:"filter,omitempty" json:"filter,omitempty"`
	Property          []string                                         `bson:"property,omitempty" json:"property,omitempty"`
}

For the code system, a list of versions that are supported by the server. Language translations might not be available for all codes.

type TerminologyCapabilitiesCodeSystemVersionFilter

type TerminologyCapabilitiesCodeSystemVersionFilter struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              string      `bson:"code" json:"code"`
	Op                []string    `bson:"op" json:"op"`
}

Filter Properties supported.

type TerminologyCapabilitiesExpansion

type TerminologyCapabilitiesExpansion struct {
	Id                *string                                     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                 `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                 `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Hierarchical      *bool                                       `bson:"hierarchical,omitempty" json:"hierarchical,omitempty"`
	Paging            *bool                                       `bson:"paging,omitempty" json:"paging,omitempty"`
	Incomplete        *bool                                       `bson:"incomplete,omitempty" json:"incomplete,omitempty"`
	Parameter         []TerminologyCapabilitiesExpansionParameter `bson:"parameter,omitempty" json:"parameter,omitempty"`
	TextFilter        *string                                     `bson:"textFilter,omitempty" json:"textFilter,omitempty"`
}

Information about the [ValueSet/$expand](valueset-operation-expand.html) operation.

type TerminologyCapabilitiesExpansionParameter

type TerminologyCapabilitiesExpansionParameter struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string      `bson:"name" json:"name"`
	Documentation     *string     `bson:"documentation,omitempty" json:"documentation,omitempty"`
}

Supported expansion parameter.

type TerminologyCapabilitiesImplementation

type TerminologyCapabilitiesImplementation struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Description       string      `bson:"description" json:"description"`
	Url               *string     `bson:"url,omitempty" json:"url,omitempty"`
}

Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program.

type TerminologyCapabilitiesSoftware

type TerminologyCapabilitiesSoftware struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string      `bson:"name" json:"name"`
	Version           *string     `bson:"version,omitempty" json:"version,omitempty"`
}

Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation.

type TerminologyCapabilitiesTranslation

type TerminologyCapabilitiesTranslation struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	NeedsMap          bool        `bson:"needsMap" json:"needsMap"`
}

Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation.

type TerminologyCapabilitiesValidateCode

type TerminologyCapabilitiesValidateCode struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Translations      bool        `bson:"translations" json:"translations"`
}

Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation.

type TestReport

type TestReport struct {
	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"`
	Text              *Narrative              `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage       `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        *Identifier             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Name              *string                 `bson:"name,omitempty" json:"name,omitempty"`
	Status            TestReportStatus        `bson:"status" json:"status"`
	TestScript        Reference               `bson:"testScript" json:"testScript"`
	Result            TestReportResult        `bson:"result" json:"result"`
	Score             *json.Number            `bson:"score,omitempty" json:"score,omitempty"`
	Tester            *string                 `bson:"tester,omitempty" json:"tester,omitempty"`
	Issued            *string                 `bson:"issued,omitempty" json:"issued,omitempty"`
	Participant       []TestReportParticipant `bson:"participant,omitempty" json:"participant,omitempty"`
	Setup             *TestReportSetup        `bson:"setup,omitempty" json:"setup,omitempty"`
	Test              []TestReportTest        `bson:"test,omitempty" json:"test,omitempty"`
	Teardown          *TestReportTeardown     `bson:"teardown,omitempty" json:"teardown,omitempty"`
}

TestReport is documented here http://hl7.org/fhir/StructureDefinition/TestReport A summary of information based on the results of executing a TestScript.

func UnmarshalTestReport

func UnmarshalTestReport(b []byte) (TestReport, error)

UnmarshalTestReport unmarshals a TestReport.

func (TestReport) ContainedResources added in v0.0.6

func (r TestReport) ContainedResources() []json.RawMessage

This function returns resource reference information

func (TestReport) MarshalJSON

func (r TestReport) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given TestReport as JSON into a byte slice

func (TestReport) ResourceRef added in v0.0.4

func (r TestReport) ResourceRef() (string, *string)

This function returns resource reference information

type TestReportActionResult

type TestReportActionResult int

TestReportActionResult is documented here http://hl7.org/fhir/ValueSet/report-action-result-codes

const (
	TestReportActionResultPass TestReportActionResult = iota
	TestReportActionResultSkip
	TestReportActionResultFail
	TestReportActionResultWarning
	TestReportActionResultError
)

func (TestReportActionResult) Code

func (code TestReportActionResult) Code() string

func (TestReportActionResult) Definition

func (code TestReportActionResult) Definition() string

func (TestReportActionResult) Display

func (code TestReportActionResult) Display() string

func (TestReportActionResult) MarshalJSON

func (code TestReportActionResult) MarshalJSON() ([]byte, error)

func (TestReportActionResult) String

func (code TestReportActionResult) String() string

func (*TestReportActionResult) UnmarshalJSON

func (code *TestReportActionResult) UnmarshalJSON(input []byte) error

type TestReportParticipant

type TestReportParticipant struct {
	Id                *string                   `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension               `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension               `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Type              TestReportParticipantType `bson:"type" json:"type"`
	Uri               string                    `bson:"uri" json:"uri"`
	Display           *string                   `bson:"display,omitempty" json:"display,omitempty"`
}

A participant in the test execution, either the execution engine, a client, or a server.

type TestReportParticipantType

type TestReportParticipantType int

TestReportParticipantType is documented here http://hl7.org/fhir/ValueSet/report-participant-type

const (
	TestReportParticipantTypeTestEngine TestReportParticipantType = iota
	TestReportParticipantTypeClient
	TestReportParticipantTypeServer
)

func (TestReportParticipantType) Code

func (code TestReportParticipantType) Code() string

func (TestReportParticipantType) Definition

func (code TestReportParticipantType) Definition() string

func (TestReportParticipantType) Display

func (code TestReportParticipantType) Display() string

func (TestReportParticipantType) MarshalJSON

func (code TestReportParticipantType) MarshalJSON() ([]byte, error)

func (TestReportParticipantType) String

func (code TestReportParticipantType) String() string

func (*TestReportParticipantType) UnmarshalJSON

func (code *TestReportParticipantType) UnmarshalJSON(input []byte) error

type TestReportResult

type TestReportResult int

TestReportResult is documented here http://hl7.org/fhir/ValueSet/report-result-codes

const (
	TestReportResultPass TestReportResult = iota
	TestReportResultFail
	TestReportResultPending
)

func (TestReportResult) Code

func (code TestReportResult) Code() string

func (TestReportResult) Definition

func (code TestReportResult) Definition() string

func (TestReportResult) Display

func (code TestReportResult) Display() string

func (TestReportResult) MarshalJSON

func (code TestReportResult) MarshalJSON() ([]byte, error)

func (TestReportResult) String

func (code TestReportResult) String() string

func (*TestReportResult) UnmarshalJSON

func (code *TestReportResult) UnmarshalJSON(input []byte) error

type TestReportSetup

type TestReportSetup struct {
	Id                *string                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Action            []TestReportSetupAction `bson:"action" json:"action"`
}

The results of the series of required setup operations before the tests were executed.

type TestReportSetupAction

type TestReportSetupAction struct {
	Id                *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Operation         *TestReportSetupActionOperation `bson:"operation,omitempty" json:"operation,omitempty"`
	Assert            *TestReportSetupActionAssert    `bson:"assert,omitempty" json:"assert,omitempty"`
}

Action would contain either an operation or an assertion. An action should contain either an operation or an assertion but not both. It can contain any number of variables.

type TestReportSetupActionAssert

type TestReportSetupActionAssert struct {
	Id                *string                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Result            TestReportActionResult `bson:"result" json:"result"`
	Message           *string                `bson:"message,omitempty" json:"message,omitempty"`
	Detail            *string                `bson:"detail,omitempty" json:"detail,omitempty"`
}

The results of the assertion performed on the previous operations.

type TestReportSetupActionOperation

type TestReportSetupActionOperation struct {
	Id                *string                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Result            TestReportActionResult `bson:"result" json:"result"`
	Message           *string                `bson:"message,omitempty" json:"message,omitempty"`
	Detail            *string                `bson:"detail,omitempty" json:"detail,omitempty"`
}

The operation performed.

type TestReportStatus

type TestReportStatus int

TestReportStatus is documented here http://hl7.org/fhir/ValueSet/report-status-codes

const (
	TestReportStatusCompleted TestReportStatus = iota
	TestReportStatusInProgress
	TestReportStatusWaiting
	TestReportStatusStopped
	TestReportStatusEnteredInError
)

func (TestReportStatus) Code

func (code TestReportStatus) Code() string

func (TestReportStatus) Definition

func (code TestReportStatus) Definition() string

func (TestReportStatus) Display

func (code TestReportStatus) Display() string

func (TestReportStatus) MarshalJSON

func (code TestReportStatus) MarshalJSON() ([]byte, error)

func (TestReportStatus) String

func (code TestReportStatus) String() string

func (*TestReportStatus) UnmarshalJSON

func (code *TestReportStatus) UnmarshalJSON(input []byte) error

type TestReportTeardown

type TestReportTeardown struct {
	Id                *string                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Action            []TestReportTeardownAction `bson:"action" json:"action"`
}

The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise).

type TestReportTeardownAction

type TestReportTeardownAction struct {
	Id                *string                        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Operation         TestReportSetupActionOperation `bson:"operation,omitempty" json:"operation,omitempty"`
}

The teardown action will only contain an operation. An action should contain either an operation or an assertion but not both. It can contain any number of variables.

type TestReportTest

type TestReportTest struct {
	Id                *string                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              *string                `bson:"name,omitempty" json:"name,omitempty"`
	Description       *string                `bson:"description,omitempty" json:"description,omitempty"`
	Action            []TestReportTestAction `bson:"action" json:"action"`
}

A test executed from the test script.

type TestReportTestAction

type TestReportTestAction struct {
	Id                *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Operation         *TestReportSetupActionOperation `bson:"operation,omitempty" json:"operation,omitempty"`
	Assert            *TestReportSetupActionAssert    `bson:"assert,omitempty" json:"assert,omitempty"`
}

Action would contain either an operation or an assertion. An action should contain either an operation or an assertion but not both. It can contain any number of variables.

type TestScript

type TestScript struct {
	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"`
	Text              *Narrative              `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage       `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Url               string                  `bson:"url" json:"url"`
	Identifier        *Identifier             `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version           *string                 `bson:"version,omitempty" json:"version,omitempty"`
	Name              string                  `bson:"name" json:"name"`
	Title             *string                 `bson:"title,omitempty" json:"title,omitempty"`
	Status            PublicationStatus       `bson:"status" json:"status"`
	Experimental      *bool                   `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string                 `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            []TestScriptOrigin      `bson:"origin,omitempty" json:"origin,omitempty"`
	Destination       []TestScriptDestination `bson:"destination,omitempty" json:"destination,omitempty"`
	Metadata          *TestScriptMetadata     `bson:"metadata,omitempty" json:"metadata,omitempty"`
	Fixture           []TestScriptFixture     `bson:"fixture,omitempty" json:"fixture,omitempty"`
	Profile           []Reference             `bson:"profile,omitempty" json:"profile,omitempty"`
	Variable          []TestScriptVariable    `bson:"variable,omitempty" json:"variable,omitempty"`
	Setup             *TestScriptSetup        `bson:"setup,omitempty" json:"setup,omitempty"`
	Test              []TestScriptTest        `bson:"test,omitempty" json:"test,omitempty"`
	Teardown          *TestScriptTeardown     `bson:"teardown,omitempty" json:"teardown,omitempty"`
}

TestScript is documented here http://hl7.org/fhir/StructureDefinition/TestScript A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func UnmarshalTestScript

func UnmarshalTestScript(b []byte) (TestScript, error)

UnmarshalTestScript unmarshals a TestScript.

func (TestScript) ContainedResources added in v0.0.6

func (r TestScript) ContainedResources() []json.RawMessage

This function returns resource reference information

func (TestScript) MarshalJSON

func (r TestScript) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given TestScript as JSON into a byte slice

func (TestScript) ResourceRef added in v0.0.4

func (r TestScript) ResourceRef() (string, *string)

This function returns resource reference information

type TestScriptDestination

type TestScriptDestination struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Index             int         `bson:"index" json:"index"`
	Profile           Coding      `bson:"profile" json:"profile"`
}

An abstract server used in operations within this test script in the destination element. The purpose of this element is to define the profile of a destination element used elsewhere in the script. Test engines could then use the destination-profile mapping to offer a filtered list of test systems that can serve as the receiver for the interaction.

type TestScriptFixture

type TestScriptFixture struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Autocreate        bool        `bson:"autocreate" json:"autocreate"`
	Autodelete        bool        `bson:"autodelete" json:"autodelete"`
	Resource          *Reference  `bson:"resource,omitempty" json:"resource,omitempty"`
}

Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.

type TestScriptMetadata

type TestScriptMetadata struct {
	Id                *string                        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Link              []TestScriptMetadataLink       `bson:"link,omitempty" json:"link,omitempty"`
	Capability        []TestScriptMetadataCapability `bson:"capability" json:"capability"`
}

The required capability must exist and are assumed to function correctly on the FHIR server being tested.

type TestScriptMetadataCapability

type TestScriptMetadataCapability struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Required          bool        `bson:"required" json:"required"`
	Validated         bool        `bson:"validated" json:"validated"`
	Description       *string     `bson:"description,omitempty" json:"description,omitempty"`
	Origin            []int       `bson:"origin,omitempty" json:"origin,omitempty"`
	Destination       *int        `bson:"destination,omitempty" json:"destination,omitempty"`
	Link              []string    `bson:"link,omitempty" json:"link,omitempty"`
	Capabilities      string      `bson:"capabilities" json:"capabilities"`
}

Capabilities that must exist and are assumed to function correctly on the FHIR server being tested. When the metadata capabilities section is defined at TestScript.metadata or at TestScript.setup.metadata, and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then all the tests in the TestScript are skipped. When the metadata capabilities section is defined at TestScript.test.metadata and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then only that test is skipped. The "metadata.capabilities.required" and "metadata.capabilities.validated" elements only indicate whether the capabilities are the primary focus of the test script or not. They do not impact the skipping logic. Capabilities whose "metadata.capabilities.validated" flag is true are the primary focus of the test script.

type TestScriptMetadataLink struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Url               string      `bson:"url" json:"url"`
	Description       *string     `bson:"description,omitempty" json:"description,omitempty"`
}

A link to the FHIR specification that this test is covering.

type TestScriptOrigin

type TestScriptOrigin struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Index             int         `bson:"index" json:"index"`
	Profile           Coding      `bson:"profile" json:"profile"`
}

An abstract server used in operations within this test script in the origin element. The purpose of this element is to define the profile of an origin element used elsewhere in the script. Test engines could then use the origin-profile mapping to offer a filtered list of test systems that can serve as the sender for the interaction.

type TestScriptRequestMethodCode

type TestScriptRequestMethodCode int

TestScriptRequestMethodCode is documented here http://hl7.org/fhir/ValueSet/http-operations

const (
	TestScriptRequestMethodCodeDelete TestScriptRequestMethodCode = iota
	TestScriptRequestMethodCodeGet
	TestScriptRequestMethodCodeOptions
	TestScriptRequestMethodCodePatch
	TestScriptRequestMethodCodePost
	TestScriptRequestMethodCodePut
	TestScriptRequestMethodCodeHead
)

func (TestScriptRequestMethodCode) Code

func (code TestScriptRequestMethodCode) Code() string

func (TestScriptRequestMethodCode) Definition

func (code TestScriptRequestMethodCode) Definition() string

func (TestScriptRequestMethodCode) Display

func (code TestScriptRequestMethodCode) Display() string

func (TestScriptRequestMethodCode) MarshalJSON

func (code TestScriptRequestMethodCode) MarshalJSON() ([]byte, error)

func (TestScriptRequestMethodCode) String

func (code TestScriptRequestMethodCode) String() string

func (*TestScriptRequestMethodCode) UnmarshalJSON

func (code *TestScriptRequestMethodCode) UnmarshalJSON(input []byte) error

type TestScriptSetup

type TestScriptSetup struct {
	Id                *string                 `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension             `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension             `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Action            []TestScriptSetupAction `bson:"action" json:"action"`
}

A series of required setup operations before tests are executed.

type TestScriptSetupAction

type TestScriptSetupAction struct {
	Id                *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Operation         *TestScriptSetupActionOperation `bson:"operation,omitempty" json:"operation,omitempty"`
	Assert            *TestScriptSetupActionAssert    `bson:"assert,omitempty" json:"assert,omitempty"`
}

Action would contain either an operation or an assertion. An action should contain either an operation or an assertion but not both. It can contain any number of variables.

type TestScriptSetupActionAssert

type TestScriptSetupActionAssert struct {
	Id                        *string                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension                 []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Label                     *string                      `bson:"label,omitempty" json:"label,omitempty"`
	Description               *string                      `bson:"description,omitempty" json:"description,omitempty"`
	Direction                 *AssertionDirectionType      `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                  *AssertionOperatorType       `bson:"operator,omitempty" json:"operator,omitempty"`
	Path                      *string                      `bson:"path,omitempty" json:"path,omitempty"`
	RequestMethod             *TestScriptRequestMethodCode `bson:"requestMethod,omitempty" json:"requestMethod,omitempty"`
	RequestURL                *string                      `bson:"requestURL,omitempty" json:"requestURL,omitempty"`
	Resource                  *string                      `bson:"resource,omitempty" json:"resource,omitempty"`
	Response                  *AssertionResponseTypes      `bson:"response,omitempty" json:"response,omitempty"`
	ResponseCode              *string                      `bson:"responseCode,omitempty" json:"responseCode,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" json:"warningOnly"`
}

Evaluates the results of previous operations to determine if the server under test behaves appropriately. In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine.

type TestScriptSetupActionOperation

type TestScriptSetupActionOperation struct {
	Id                *string                                       `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                   `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                   `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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       *int                                          `bson:"destination,omitempty" json:"destination,omitempty"`
	EncodeRequestUrl  bool                                          `bson:"encodeRequestUrl" json:"encodeRequestUrl"`
	Method            *TestScriptRequestMethodCode                  `bson:"method,omitempty" json:"method,omitempty"`
	Origin            *int                                          `bson:"origin,omitempty" json:"origin,omitempty"`
	Params            *string                                       `bson:"params,omitempty" json:"params,omitempty"`
	RequestHeader     []TestScriptSetupActionOperationRequestHeader `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"`
}

The operation to perform.

type TestScriptSetupActionOperationRequestHeader

type TestScriptSetupActionOperationRequestHeader struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Field             string      `bson:"field" json:"field"`
	Value             string      `bson:"value" json:"value"`
}

Header elements would be used to set HTTP headers. This gives control to test-script writers to set headers explicitly based on test requirements. It will allow for testing using: - "If-Modified-Since" and "If-None-Match" headers. See http://build.fhir.org/http.html#2.1.0.5.1 - "If-Match" header. See http://build.fhir.org/http.html#2.1.0.11 - Conditional Create using "If-None-Exist". See http://build.fhir.org/http.html#2.1.0.13.1 - Invalid "Content-Type" header for negative testing. - etc.

type TestScriptTeardown

type TestScriptTeardown struct {
	Id                *string                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Action            []TestScriptTeardownAction `bson:"action" json:"action"`
}

A series of operations required to clean up after all the tests are executed (successfully or otherwise).

type TestScriptTeardownAction

type TestScriptTeardownAction struct {
	Id                *string                        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Operation         TestScriptSetupActionOperation `bson:"operation,omitempty" json:"operation,omitempty"`
}

The teardown action will only contain an operation. An action should contain either an operation or an assertion but not both. It can contain any number of variables.

type TestScriptTest

type TestScriptTest struct {
	Id                *string                `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension            `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension            `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              *string                `bson:"name,omitempty" json:"name,omitempty"`
	Description       *string                `bson:"description,omitempty" json:"description,omitempty"`
	Action            []TestScriptTestAction `bson:"action" json:"action"`
}

A test in this script.

type TestScriptTestAction

type TestScriptTestAction struct {
	Id                *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Operation         *TestScriptSetupActionOperation `bson:"operation,omitempty" json:"operation,omitempty"`
	Assert            *TestScriptSetupActionAssert    `bson:"assert,omitempty" json:"assert,omitempty"`
}

Action would contain either an operation or an assertion. An action should contain either an operation or an assertion but not both. It can contain any number of variables.

type TestScriptVariable

type TestScriptVariable struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string      `bson:"name" json:"name"`
	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"`
}

Variable is set based either on element value in response body or on header field value in the response headers. Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error. Variables would be used to perform clean replacements in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. This limits the places that test engines would need to look for placeholders "${}". Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. See example testscript-search.xml.

type Timing

type Timing struct {
	Id                *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Event             []string         `bson:"event,omitempty" json:"event,omitempty"`
	Repeat            *TimingRepeat    `bson:"repeat,omitempty" json:"repeat,omitempty"`
	Code              *CodeableConcept `bson:"code,omitempty" json:"code,omitempty"`
}

Timing is documented here http://hl7.org/fhir/StructureDefinition/Timing Base StructureDefinition for Timing Type: Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.

type TimingRepeat

type TimingRepeat struct {
	Id             *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension      []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	BoundsDuration *Duration    `bson:"boundsDuration,omitempty" json:"boundsDuration,omitempty"`
	BoundsRange    *Range       `bson:"boundsRange,omitempty" json:"boundsRange,omitempty"`
	BoundsPeriod   *Period      `bson:"boundsPeriod,omitempty" json:"boundsPeriod,omitempty"`
	Count          *int         `bson:"count,omitempty" json:"count,omitempty"`
	CountMax       *int         `bson:"countMax,omitempty" json:"countMax,omitempty"`
	Duration       *json.Number `bson:"duration,omitempty" json:"duration,omitempty"`
	DurationMax    *json.Number `bson:"durationMax,omitempty" json:"durationMax,omitempty"`
	DurationUnit   *string      `bson:"durationUnit,omitempty" json:"durationUnit,omitempty"`
	Frequency      *int         `bson:"frequency,omitempty" json:"frequency,omitempty"`
	FrequencyMax   *int         `bson:"frequencyMax,omitempty" json:"frequencyMax,omitempty"`
	Period         *json.Number `bson:"period,omitempty" json:"period,omitempty"`
	PeriodMax      *json.Number `bson:"periodMax,omitempty" json:"periodMax,omitempty"`
	PeriodUnit     *string      `bson:"periodUnit,omitempty" json:"periodUnit,omitempty"`
	DayOfWeek      []DaysOfWeek `bson:"dayOfWeek,omitempty" json:"dayOfWeek,omitempty"`
	TimeOfDay      []string     `bson:"timeOfDay,omitempty" json:"timeOfDay,omitempty"`
	When           []string     `bson:"when,omitempty" json:"when,omitempty"`
	Offset         *int         `bson:"offset,omitempty" json:"offset,omitempty"`
}

A set of rules that describe when the event is scheduled.

type TriggerDefinition

type TriggerDefinition struct {
	Id              *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension       []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	Type            TriggerType       `bson:"type" json:"type"`
	Name            *string           `bson:"name,omitempty" json:"name,omitempty"`
	TimingTiming    *Timing           `bson:"timingTiming,omitempty" json:"timingTiming,omitempty"`
	TimingReference *Reference        `bson:"timingReference,omitempty" json:"timingReference,omitempty"`
	TimingDate      *string           `bson:"timingDate,omitempty" json:"timingDate,omitempty"`
	TimingDateTime  *string           `bson:"timingDateTime,omitempty" json:"timingDateTime,omitempty"`
	Data            []DataRequirement `bson:"data,omitempty" json:"data,omitempty"`
	Condition       *Expression       `bson:"condition,omitempty" json:"condition,omitempty"`
}

TriggerDefinition is documented here http://hl7.org/fhir/StructureDefinition/TriggerDefinition Base StructureDefinition for TriggerDefinition Type: A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.

type TriggerType

type TriggerType int

TriggerType is documented here http://hl7.org/fhir/ValueSet/trigger-type

const (
	TriggerTypeNamedEvent TriggerType = iota
	TriggerTypePeriodic
	TriggerTypeDataChanged
	TriggerTypeDataAdded
	TriggerTypeDataModified
	TriggerTypeDataRemoved
	TriggerTypeDataAccessed
	TriggerTypeDataAccessEnded
)

func (TriggerType) Code

func (code TriggerType) Code() string

func (TriggerType) Definition

func (code TriggerType) Definition() string

func (TriggerType) Display

func (code TriggerType) Display() string

func (TriggerType) MarshalJSON

func (code TriggerType) MarshalJSON() ([]byte, error)

func (TriggerType) String

func (code TriggerType) String() string

func (*TriggerType) UnmarshalJSON

func (code *TriggerType) UnmarshalJSON(input []byte) error

type TypeDerivationRule

type TypeDerivationRule int

TypeDerivationRule is documented here http://hl7.org/fhir/ValueSet/type-derivation-rule

const (
	TypeDerivationRuleSpecialization TypeDerivationRule = iota
	TypeDerivationRuleConstraint
)

func (TypeDerivationRule) Code

func (code TypeDerivationRule) Code() string

func (TypeDerivationRule) Definition

func (code TypeDerivationRule) Definition() string

func (TypeDerivationRule) Display

func (code TypeDerivationRule) Display() string

func (TypeDerivationRule) MarshalJSON

func (code TypeDerivationRule) MarshalJSON() ([]byte, error)

func (TypeDerivationRule) String

func (code TypeDerivationRule) String() string

func (*TypeDerivationRule) UnmarshalJSON

func (code *TypeDerivationRule) UnmarshalJSON(input []byte) error

type TypeRestfulInteraction

type TypeRestfulInteraction int

TypeRestfulInteraction is documented here http://hl7.org/fhir/ValueSet/type-restful-interaction

const (
	TypeRestfulInteractionRead TypeRestfulInteraction = iota
	TypeRestfulInteractionVread
	TypeRestfulInteractionUpdate
	TypeRestfulInteractionPatch
	TypeRestfulInteractionDelete
	TypeRestfulInteractionHistory
	TypeRestfulInteractionHistoryInstance
	TypeRestfulInteractionHistoryType
	TypeRestfulInteractionHistorySystem
	TypeRestfulInteractionCreate
	TypeRestfulInteractionSearch
	TypeRestfulInteractionSearchType
	TypeRestfulInteractionSearchSystem
	TypeRestfulInteractionCapabilities
	TypeRestfulInteractionTransaction
	TypeRestfulInteractionBatch
	TypeRestfulInteractionOperation
)

func (TypeRestfulInteraction) Code

func (code TypeRestfulInteraction) Code() string

func (TypeRestfulInteraction) Definition

func (code TypeRestfulInteraction) Definition() string

func (TypeRestfulInteraction) Display

func (code TypeRestfulInteraction) Display() string

func (TypeRestfulInteraction) MarshalJSON

func (code TypeRestfulInteraction) MarshalJSON() ([]byte, error)

func (TypeRestfulInteraction) String

func (code TypeRestfulInteraction) String() string

func (*TypeRestfulInteraction) UnmarshalJSON

func (code *TypeRestfulInteraction) UnmarshalJSON(input []byte) error

type UDIEntryType

type UDIEntryType int

UDIEntryType is documented here http://hl7.org/fhir/ValueSet/udi-entry-type

const (
	UDIEntryTypeBarcode UDIEntryType = iota
	UDIEntryTypeRfid
	UDIEntryTypeManual
	UDIEntryTypeCard
	UDIEntryTypeSelfReported
	UDIEntryTypeUnknown
)

func (UDIEntryType) Code

func (code UDIEntryType) Code() string

func (UDIEntryType) Definition

func (code UDIEntryType) Definition() string

func (UDIEntryType) Display

func (code UDIEntryType) Display() string

func (UDIEntryType) MarshalJSON

func (code UDIEntryType) MarshalJSON() ([]byte, error)

func (UDIEntryType) String

func (code UDIEntryType) String() string

func (*UDIEntryType) UnmarshalJSON

func (code *UDIEntryType) UnmarshalJSON(input []byte) error

type UsageContext

type UsageContext struct {
	Id                   *string         `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension     `bson:"extension,omitempty" json:"extension,omitempty"`
	Code                 Coding          `bson:"code" json:"code"`
	ValueCodeableConcept CodeableConcept `bson:"valueCodeableConcept" json:"valueCodeableConcept"`
	ValueQuantity        Quantity        `bson:"valueQuantity" json:"valueQuantity"`
	ValueRange           Range           `bson:"valueRange" json:"valueRange"`
	ValueReference       Reference       `bson:"valueReference" json:"valueReference"`
}

UsageContext is documented here http://hl7.org/fhir/StructureDefinition/UsageContext Base StructureDefinition for UsageContext Type: Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care).

type Use

type Use int

Use is documented here http://hl7.org/fhir/ValueSet/claim-use

const (
	UseClaim Use = iota
	UsePreauthorization
	UsePredetermination
)

func (Use) Code

func (code Use) Code() string

func (Use) Definition

func (code Use) Definition() string

func (Use) Display

func (code Use) Display() string

func (Use) MarshalJSON

func (code Use) MarshalJSON() ([]byte, error)

func (Use) String

func (code Use) String() string

func (*Use) UnmarshalJSON

func (code *Use) UnmarshalJSON(input []byte) error

type ValueSet

type ValueSet struct {
	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"`
	Text              *Narrative         `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage  `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension        `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension        `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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            PublicationStatus  `bson:"status" json:"status"`
	Experimental      *bool              `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Date              *string            `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"`
	Compose           *ValueSetCompose   `bson:"compose,omitempty" json:"compose,omitempty"`
	Expansion         *ValueSetExpansion `bson:"expansion,omitempty" json:"expansion,omitempty"`
}

ValueSet is documented here http://hl7.org/fhir/StructureDefinition/ValueSet A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[CodeSystem]] definitions and their use in [coded elements](terminologies.html).

func UnmarshalValueSet

func UnmarshalValueSet(b []byte) (ValueSet, error)

UnmarshalValueSet unmarshals a ValueSet.

func (ValueSet) ContainedResources added in v0.0.6

func (r ValueSet) ContainedResources() []json.RawMessage

This function returns resource reference information

func (ValueSet) MarshalJSON

func (r ValueSet) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given ValueSet as JSON into a byte slice

func (ValueSet) ResourceRef added in v0.0.4

func (r ValueSet) ResourceRef() (string, *string)

This function returns resource reference information

type ValueSetCompose

type ValueSetCompose struct {
	Id                *string                  `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension              `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension              `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	LockedDate        *string                  `bson:"lockedDate,omitempty" json:"lockedDate,omitempty"`
	Inactive          *bool                    `bson:"inactive,omitempty" json:"inactive,omitempty"`
	Include           []ValueSetComposeInclude `bson:"include" json:"include"`
	Exclude           []ValueSetComposeInclude `bson:"exclude,omitempty" json:"exclude,omitempty"`
}

A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD).

type ValueSetComposeInclude

type ValueSetComposeInclude struct {
	Id                *string                         `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                     `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                     `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	System            *string                         `bson:"system,omitempty" json:"system,omitempty"`
	Version           *string                         `bson:"version,omitempty" json:"version,omitempty"`
	Concept           []ValueSetComposeIncludeConcept `bson:"concept,omitempty" json:"concept,omitempty"`
	Filter            []ValueSetComposeIncludeFilter  `bson:"filter,omitempty" json:"filter,omitempty"`
	ValueSet          []string                        `bson:"valueSet,omitempty" json:"valueSet,omitempty"`
}

Include one or more codes from a code system or other value set(s). All the conditions in an include must be true. If a system is listed, all the codes from the system are listed. If one or more filters are listed, all of the filters must apply. If one or more value sets are listed, the codes must be in all the value sets. E.g. each include is 'include all the codes that meet all these conditions'.

type ValueSetComposeIncludeConcept

type ValueSetComposeIncludeConcept struct {
	Id                *string                                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Code              string                                     `bson:"code" json:"code"`
	Display           *string                                    `bson:"display,omitempty" json:"display,omitempty"`
	Designation       []ValueSetComposeIncludeConceptDesignation `bson:"designation,omitempty" json:"designation,omitempty"`
}

Specifies a concept to be included or excluded. The list of concepts is considered ordered, though the order might not have any particular significance. Typically, the order of an expansion follows that defined in the compose element.

type ValueSetComposeIncludeConceptDesignation

type ValueSetComposeIncludeConceptDesignation struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Language          *string     `bson:"language,omitempty" json:"language,omitempty"`
	Use               *Coding     `bson:"use,omitempty" json:"use,omitempty"`
	Value             string      `bson:"value" json:"value"`
}

Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc. Concepts have both a ```display``` and an array of ```designation```. The display is equivalent to a special designation with an implied ```designation.use``` of "primary code" and a language equal to the [Resource Language](resource.html#language).

type ValueSetComposeIncludeFilter

type ValueSetComposeIncludeFilter struct {
	Id                *string        `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension    `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension    `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Property          string         `bson:"property" json:"property"`
	Op                FilterOperator `bson:"op" json:"op"`
	Value             string         `bson:"value" json:"value"`
}

Select concepts by specify a matching criterion based on the properties (including relationships) defined by the system, or on filters defined by the system. If multiple filters are specified, they SHALL all be true. Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party.

type ValueSetExpansion

type ValueSetExpansion struct {
	Id                *string                      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        *string                      `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Timestamp         string                       `bson:"timestamp" json:"timestamp"`
	Total             *int                         `bson:"total,omitempty" json:"total,omitempty"`
	Offset            *int                         `bson:"offset,omitempty" json:"offset,omitempty"`
	Parameter         []ValueSetExpansionParameter `bson:"parameter,omitempty" json:"parameter,omitempty"`
	Contains          []ValueSetExpansionContains  `bson:"contains,omitempty" json:"contains,omitempty"`
}

A value set can also be "expanded", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed.

Expansion is performed to produce a collection of codes that are ready to use for data entry or validation. Value set expansions are always considered to be stateless - they are a record of the set of codes in the value set at a point in time under a given set of conditions, and are not subject to ongoing maintenance.

Expansion.parameter is a simplified list of parameters - a subset of the features of the Parameters(parameters.html) resource.

type ValueSetExpansionContains

type ValueSetExpansionContains struct {
	Id                *string                                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	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       []ValueSetComposeIncludeConceptDesignation `bson:"designation,omitempty" json:"designation,omitempty"`
	Contains          []ValueSetExpansionContains                `bson:"contains,omitempty" json:"contains,omitempty"`
}

The codes that are contained in the value set expansion.

type ValueSetExpansionParameter

type ValueSetExpansionParameter struct {
	Id                *string      `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension  `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension  `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Name              string       `bson:"name" json:"name"`
	ValueString       *string      `bson:"valueString,omitempty" json:"valueString,omitempty"`
	ValueBoolean      *bool        `bson:"valueBoolean,omitempty" json:"valueBoolean,omitempty"`
	ValueInteger      *int         `bson:"valueInteger,omitempty" json:"valueInteger,omitempty"`
	ValueDecimal      *json.Number `bson:"valueDecimal,omitempty" json:"valueDecimal,omitempty"`
	ValueUri          *string      `bson:"valueUri,omitempty" json:"valueUri,omitempty"`
	ValueCode         *string      `bson:"valueCode,omitempty" json:"valueCode,omitempty"`
	ValueDateTime     *string      `bson:"valueDateTime,omitempty" json:"valueDateTime,omitempty"`
}

A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion. The server decides which parameters to include here, but at a minimum, the list SHOULD include all of the parameters that affect the $expand operation. If the expansion will be persisted all of these parameters SHALL be included. If the codeSystem on the server has a specified version then this version SHALL be provided as a parameter in the expansion (note that not all code systems have a version).

type VerificationResult

type VerificationResult struct {
	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"`
	Text              *Narrative                        `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                 `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Target            []Reference                       `bson:"target,omitempty" json:"target,omitempty"`
	TargetLocation    []string                          `bson:"targetLocation,omitempty" json:"targetLocation,omitempty"`
	Need              *CodeableConcept                  `bson:"need,omitempty" json:"need,omitempty"`
	Status            string                            `bson:"status" json:"status"`
	StatusDate        *string                           `bson:"statusDate,omitempty" json:"statusDate,omitempty"`
	ValidationType    *CodeableConcept                  `bson:"validationType,omitempty" json:"validationType,omitempty"`
	ValidationProcess []CodeableConcept                 `bson:"validationProcess,omitempty" json:"validationProcess,omitempty"`
	Frequency         *Timing                           `bson:"frequency,omitempty" json:"frequency,omitempty"`
	LastPerformed     *string                           `bson:"lastPerformed,omitempty" json:"lastPerformed,omitempty"`
	NextScheduled     *string                           `bson:"nextScheduled,omitempty" json:"nextScheduled,omitempty"`
	FailureAction     *CodeableConcept                  `bson:"failureAction,omitempty" json:"failureAction,omitempty"`
	PrimarySource     []VerificationResultPrimarySource `bson:"primarySource,omitempty" json:"primarySource,omitempty"`
	Attestation       *VerificationResultAttestation    `bson:"attestation,omitempty" json:"attestation,omitempty"`
	Validator         []VerificationResultValidator     `bson:"validator,omitempty" json:"validator,omitempty"`
}

VerificationResult is documented here http://hl7.org/fhir/StructureDefinition/VerificationResult Describes validation requirements, source(s), status and dates for one or more elements.

func UnmarshalVerificationResult

func UnmarshalVerificationResult(b []byte) (VerificationResult, error)

UnmarshalVerificationResult unmarshals a VerificationResult.

func (VerificationResult) ContainedResources added in v0.0.6

func (r VerificationResult) ContainedResources() []json.RawMessage

This function returns resource reference information

func (VerificationResult) MarshalJSON

func (r VerificationResult) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given VerificationResult as JSON into a byte slice

func (VerificationResult) ResourceRef added in v0.0.4

func (r VerificationResult) ResourceRef() (string, *string)

This function returns resource reference information

type VerificationResultAttestation

type VerificationResultAttestation struct {
	Id                        *string          `bson:"id,omitempty" json:"id,omitempty"`
	Extension                 []Extension      `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension         []Extension      `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Who                       *Reference       `bson:"who,omitempty" json:"who,omitempty"`
	OnBehalfOf                *Reference       `bson:"onBehalfOf,omitempty" json:"onBehalfOf,omitempty"`
	CommunicationMethod       *CodeableConcept `bson:"communicationMethod,omitempty" json:"communicationMethod,omitempty"`
	Date                      *string          `bson:"date,omitempty" json:"date,omitempty"`
	SourceIdentityCertificate *string          `bson:"sourceIdentityCertificate,omitempty" json:"sourceIdentityCertificate,omitempty"`
	ProxyIdentityCertificate  *string          `bson:"proxyIdentityCertificate,omitempty" json:"proxyIdentityCertificate,omitempty"`
	ProxySignature            *Signature       `bson:"proxySignature,omitempty" json:"proxySignature,omitempty"`
	SourceSignature           *Signature       `bson:"sourceSignature,omitempty" json:"sourceSignature,omitempty"`
}

Information about the entity attesting to information.

type VerificationResultPrimarySource

type VerificationResultPrimarySource struct {
	Id                  *string           `bson:"id,omitempty" json:"id,omitempty"`
	Extension           []Extension       `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension   []Extension       `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Who                 *Reference        `bson:"who,omitempty" json:"who,omitempty"`
	Type                []CodeableConcept `bson:"type,omitempty" json:"type,omitempty"`
	CommunicationMethod []CodeableConcept `bson:"communicationMethod,omitempty" json:"communicationMethod,omitempty"`
	ValidationStatus    *CodeableConcept  `bson:"validationStatus,omitempty" json:"validationStatus,omitempty"`
	ValidationDate      *string           `bson:"validationDate,omitempty" json:"validationDate,omitempty"`
	CanPushUpdates      *CodeableConcept  `bson:"canPushUpdates,omitempty" json:"canPushUpdates,omitempty"`
	PushTypeAvailable   []CodeableConcept `bson:"pushTypeAvailable,omitempty" json:"pushTypeAvailable,omitempty"`
}

Information about the primary source(s) involved in validation.

type VerificationResultValidator

type VerificationResultValidator struct {
	Id                   *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension            []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension    []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Organization         Reference   `bson:"organization" json:"organization"`
	IdentityCertificate  *string     `bson:"identityCertificate,omitempty" json:"identityCertificate,omitempty"`
	AttestationSignature *Signature  `bson:"attestationSignature,omitempty" json:"attestationSignature,omitempty"`
}

Information about the entity validating information.

type VisionBase

type VisionBase int

VisionBase is documented here http://hl7.org/fhir/ValueSet/vision-base-codes

const (
	VisionBaseUp VisionBase = iota
	VisionBaseDown
	VisionBaseIn
	VisionBaseOut
)

func (VisionBase) Code

func (code VisionBase) Code() string

func (VisionBase) Definition

func (code VisionBase) Definition() string

func (VisionBase) Display

func (code VisionBase) Display() string

func (VisionBase) MarshalJSON

func (code VisionBase) MarshalJSON() ([]byte, error)

func (VisionBase) String

func (code VisionBase) String() string

func (*VisionBase) UnmarshalJSON

func (code *VisionBase) UnmarshalJSON(input []byte) error

type VisionEyes

type VisionEyes int

VisionEyes is documented here http://hl7.org/fhir/ValueSet/vision-eye-codes

const (
	VisionEyesRight VisionEyes = iota
	VisionEyesLeft
)

func (VisionEyes) Code

func (code VisionEyes) Code() string

func (VisionEyes) Definition

func (code VisionEyes) Definition() string

func (VisionEyes) Display

func (code VisionEyes) Display() string

func (VisionEyes) MarshalJSON

func (code VisionEyes) MarshalJSON() ([]byte, error)

func (VisionEyes) String

func (code VisionEyes) String() string

func (*VisionEyes) UnmarshalJSON

func (code *VisionEyes) UnmarshalJSON(input []byte) error

type VisionPrescription

type VisionPrescription struct {
	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"`
	Text              *Narrative                            `bson:"text,omitempty" json:"text,omitempty"`
	Contained         []json.RawMessage                     `bson:"contained,omitempty" json:"contained,omitempty"`
	Extension         []Extension                           `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                           `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Identifier        []Identifier                          `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Status            FinancialResourceStatusCodes          `bson:"status" json:"status"`
	Created           string                                `bson:"created" json:"created"`
	Patient           Reference                             `bson:"patient" json:"patient"`
	Encounter         *Reference                            `bson:"encounter,omitempty" json:"encounter,omitempty"`
	DateWritten       string                                `bson:"dateWritten" json:"dateWritten"`
	Prescriber        Reference                             `bson:"prescriber" json:"prescriber"`
	LensSpecification []VisionPrescriptionLensSpecification `bson:"lensSpecification" json:"lensSpecification"`
}

VisionPrescription is documented here http://hl7.org/fhir/StructureDefinition/VisionPrescription An authorization for the provision of glasses and/or contact lenses to a patient.

func UnmarshalVisionPrescription

func UnmarshalVisionPrescription(b []byte) (VisionPrescription, error)

UnmarshalVisionPrescription unmarshals a VisionPrescription.

func (VisionPrescription) ContainedResources added in v0.0.6

func (r VisionPrescription) ContainedResources() []json.RawMessage

This function returns resource reference information

func (VisionPrescription) MarshalJSON

func (r VisionPrescription) MarshalJSON() ([]byte, error)

MarshalJSON marshals the given VisionPrescription as JSON into a byte slice

func (VisionPrescription) ResourceRef added in v0.0.4

func (r VisionPrescription) ResourceRef() (string, *string)

This function returns resource reference information

type VisionPrescriptionLensSpecification

type VisionPrescriptionLensSpecification struct {
	Id                *string                                    `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension                                `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension                                `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Product           CodeableConcept                            `bson:"product" json:"product"`
	Eye               VisionEyes                                 `bson:"eye" json:"eye"`
	Sphere            *json.Number                               `bson:"sphere,omitempty" json:"sphere,omitempty"`
	Cylinder          *json.Number                               `bson:"cylinder,omitempty" json:"cylinder,omitempty"`
	Axis              *int                                       `bson:"axis,omitempty" json:"axis,omitempty"`
	Prism             []VisionPrescriptionLensSpecificationPrism `bson:"prism,omitempty" json:"prism,omitempty"`
	Add               *json.Number                               `bson:"add,omitempty" json:"add,omitempty"`
	Power             *json.Number                               `bson:"power,omitempty" json:"power,omitempty"`
	BackCurve         *json.Number                               `bson:"backCurve,omitempty" json:"backCurve,omitempty"`
	Diameter          *json.Number                               `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"`
}

Contain the details of the individual lens specifications and serves as the authorization for the fullfillment by certified professionals.

type VisionPrescriptionLensSpecificationPrism

type VisionPrescriptionLensSpecificationPrism struct {
	Id                *string     `bson:"id,omitempty" json:"id,omitempty"`
	Extension         []Extension `bson:"extension,omitempty" json:"extension,omitempty"`
	ModifierExtension []Extension `bson:"modifierExtension,omitempty" json:"modifierExtension,omitempty"`
	Amount            json.Number `bson:"amount" json:"amount"`
	Base              VisionBase  `bson:"base" json:"base"`
}

Allows for adjustment on two axis.

type XPathUsageType

type XPathUsageType int

XPathUsageType is documented here http://hl7.org/fhir/ValueSet/search-xpath-usage

const (
	XPathUsageTypeNormal XPathUsageType = iota
	XPathUsageTypePhonetic
	XPathUsageTypeNearby
	XPathUsageTypeDistance
	XPathUsageTypeOther
)

func (XPathUsageType) Code

func (code XPathUsageType) Code() string

func (XPathUsageType) Definition

func (code XPathUsageType) Definition() string

func (XPathUsageType) Display

func (code XPathUsageType) Display() string

func (XPathUsageType) MarshalJSON

func (code XPathUsageType) MarshalJSON() ([]byte, error)

func (XPathUsageType) String

func (code XPathUsageType) String() string

func (*XPathUsageType) UnmarshalJSON

func (code *XPathUsageType) UnmarshalJSON(input []byte) error

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL