r4b

package
v0.0.0-...-692df37 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package r4b provides generated models for FHIR release R4B.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique identifier used to reference the account.  Might or might not be intended for human use (e.g. credit card number).
	Identifier []Identifier
	// Indicates whether the account is presently used/usable or not.
	Status Code
	// Categorizes the account for reporting and searching purposes.
	Type *CodeableConcept
	// Name used for the account when displaying it to humans in reports, etc.
	Name *String
	// Identifies the entity which incurs the expenses. While the immediate recipients of services or goods might be entities related to the subject, the expenses were ultimately incurred by the subject of the Account.
	Subject []Reference
	// The date range of services associated with this account.
	ServicePeriod *Period
	// The party(s) that are responsible for covering the payment of this account, and what order should they be applied to the account.
	Coverage []AccountCoverage
	// Indicates the service area, hospital, department, etc. with responsibility for managing the Account.
	Owner *Reference
	// Provides additional information about what the account tracks and how it is used.
	Description *String
	// The parties responsible for balancing the account if other payment options fall short.
	Guarantor []AccountGuarantor
	// Reference to a parent Account.
	PartOf *Reference
}

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 (Account) MarshalJSON

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

func (Account) MarshalXML

func (r Account) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Account) MemSize

func (r Account) MemSize() int

func (Account) ResourceId

func (r Account) ResourceId() (string, bool)

func (Account) ResourceType

func (r Account) ResourceType() string

func (Account) String

func (r Account) String() string

func (*Account) UnmarshalJSON

func (r *Account) UnmarshalJSON(b []byte) error

func (*Account) UnmarshalXML

func (r *Account) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AccountCoverage

type AccountCoverage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The party(s) that contribute to payment (or part of) of the charges applied to this account (including self-pay).
	//
	// A coverage may only be responsible for specific types of charges, and the sequence of the coverages in the account could be important when processing billing.
	Coverage Reference
	// The priority of the coverage in the context of this account.
	Priority *PositiveInt
}

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

func (AccountCoverage) MarshalJSON

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

func (AccountCoverage) MarshalXML

func (r AccountCoverage) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AccountCoverage) MemSize

func (r AccountCoverage) MemSize() int

func (*AccountCoverage) UnmarshalXML

func (r *AccountCoverage) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AccountGuarantor

type AccountGuarantor struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The entity who is responsible.
	Party Reference
	// A guarantor may be placed on credit hold or otherwise have their role temporarily suspended.
	OnHold *Boolean
	// The timeframe during which the guarantor accepts responsibility for the account.
	Period *Period
}

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

func (AccountGuarantor) MarshalJSON

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

func (AccountGuarantor) MarshalXML

func (r AccountGuarantor) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AccountGuarantor) MemSize

func (r AccountGuarantor) MemSize() int

func (*AccountGuarantor) UnmarshalXML

func (r *AccountGuarantor) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ActivityDefinition

type ActivityDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this activity definition when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets.
	Version *String
	// A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the activity definition.
	Title *String
	// An explanatory or alternate title for the activity definition giving additional information about its content.
	Subtitle *String
	// The status of this activity definition. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// A code, group definition, or canonical reference that describes  or identifies the intended subject of the activity being defined.  Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.
	Subject isActivityDefinitionSubject
	// The date  (and optionally time) when the activity definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes.
	Date *DateTime
	// The name of the organization or individual that published the activity definition.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the activity definition from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate activity definition instances.
	UseContext []UsageContext
	// A legal or geographic region in which the activity definition is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this activity definition is needed and why it has been designed as it has.
	Purpose *Markdown
	// A detailed description of how the activity definition is used from a clinical perspective.
	Usage *String
	// A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition.
	Copyright *Markdown
	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate *Date
	// The period during which the activity definition content was or is planned to be in active use.
	EffectivePeriod *Period
	// Descriptive topics related to the content of the activity. Topics provide a high-level categorization of the activity that can be useful for filtering and searching.
	Topic []CodeableConcept
	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []ContactDetail
	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []ContactDetail
	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []ContactDetail
	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []ContactDetail
	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []RelatedArtifact
	// A reference to a Library resource containing any formal logic used by the activity definition.
	Library []Canonical
	// A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource.
	Kind *Code
	// A profile to which the target of the activity definition is expected to conform.
	Profile *Canonical
	// Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.
	Code *CodeableConcept
	// Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain.
	Intent *Code
	// Indicates how quickly the activity  should be addressed with respect to other requests.
	Priority *Code
	// Set this to true if the definition is to indicate that a particular activity should NOT be performed. If true, this element should be interpreted to reinforce a negative coding. For example NPO as a code with a doNotPerform of true would still indicate to NOT perform the action.
	DoNotPerform *Boolean
	// The period, timing or frequency upon which the described activity is to occur.
	Timing isActivityDefinitionTiming
	// Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.
	Location *Reference
	// Indicates who should participate in performing the action described.
	Participant []ActivityDefinitionParticipant
	// Identifies the food, drug or other product being consumed or supplied in the activity.
	Product isActivityDefinitionProduct
	// Identifies the quantity expected to be consumed at once (per dose, per meal, etc.).
	Quantity *Quantity
	// Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources.
	Dosage []Dosage
	// Indicates the sites on the subject's body where the procedure should be performed (I.e. the target sites).
	BodySite []CodeableConcept
	// Defines specimen requirements for the action to be performed, such as required specimens for a lab test.
	SpecimenRequirement []Reference
	// Defines observation requirements for the action to be performed, such as body weight or surface area.
	ObservationRequirement []Reference
	// Defines the observations that are expected to be produced by the action.
	ObservationResultRequirement []Reference
	// A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.
	Transform *Canonical
	// 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.
	DynamicValue []ActivityDefinitionDynamicValue
}

This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.

func (ActivityDefinition) MarshalJSON

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

func (ActivityDefinition) MarshalXML

func (r ActivityDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ActivityDefinition) MemSize

func (r ActivityDefinition) MemSize() int

func (ActivityDefinition) ResourceId

func (r ActivityDefinition) ResourceId() (string, bool)

func (ActivityDefinition) ResourceType

func (r ActivityDefinition) ResourceType() string

func (ActivityDefinition) String

func (r ActivityDefinition) String() string

func (*ActivityDefinition) UnmarshalJSON

func (r *ActivityDefinition) UnmarshalJSON(b []byte) error

func (*ActivityDefinition) UnmarshalXML

func (r *ActivityDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ActivityDefinitionDynamicValue

type ActivityDefinitionDynamicValue struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).
	Path String
	// An expression specifying the value of the customized element.
	Expression 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.

func (ActivityDefinitionDynamicValue) MarshalJSON

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

func (ActivityDefinitionDynamicValue) MarshalXML

func (ActivityDefinitionDynamicValue) MemSize

func (r ActivityDefinitionDynamicValue) MemSize() int

func (*ActivityDefinitionDynamicValue) UnmarshalXML

func (r *ActivityDefinitionDynamicValue) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ActivityDefinitionParticipant

type ActivityDefinitionParticipant struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of participant in the action.
	Type Code
	// The role the participant should play in performing the described action.
	Role *CodeableConcept
}

Indicates who should participate in performing the action described.

func (ActivityDefinitionParticipant) MarshalJSON

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

func (ActivityDefinitionParticipant) MarshalXML

func (ActivityDefinitionParticipant) MemSize

func (r ActivityDefinitionParticipant) MemSize() int

func (*ActivityDefinitionParticipant) UnmarshalXML

func (r *ActivityDefinitionParticipant) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Address

type Address struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The purpose of this address.
	Use *Code
	// Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.
	Type *Code
	// Specifies the entire address as it should be displayed e.g. on a postal label. This may be provided instead of or as well as the specific parts.
	Text *String
	// This component contains the house number, apartment number, street name, street direction,  P.O. Box number, delivery hints, and similar address information.
	Line []String
	// The name of the city, town, suburb, village or other community or delivery center.
	City *String
	// The name of the administrative area (county).
	District *String
	// Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (e.g. US 2 letter state codes).
	State *String
	// A postal code designating a region defined by the postal service.
	PostalCode *String
	// Country - a nation as commonly understood or generally accepted.
	Country *String
	// Time period when address was/is in use.
	Period *Period
}

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.

Need to be able to record postal addresses, along with notes about their use.

func (Address) MarshalJSON

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

func (Address) MarshalXML

func (r Address) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Address) MemSize

func (r Address) MemSize() int

func (Address) String

func (r Address) String() string

func (*Address) UnmarshalXML

func (r *Address) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AdministrableProductDefinition

type AdministrableProductDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An identifier for the administrable product.
	Identifier []Identifier
	// The status of this administrable product. Enables tracking the life-cycle of the content.
	Status Code
	// References a product from which one or more of the constituent parts of that product can be prepared and used as described by this administrable product.  If this administrable product describes the administration of a crushed tablet, the 'formOf' would be the product representing a distribution containing tablets and possibly also a cream.  This is distinct from the 'producedFrom' which refers to the specific components of the product that are used in this preparation, rather than the product as a whole.
	FormOf []Reference
	// The dose form of the final product after necessary reconstitution or processing. Contrasts to the manufactured dose form (see ManufacturedItemDefinition). If the manufactured form was 'powder for solution for injection', the administrable dose form could be 'solution for injection' (once mixed with another item having manufactured form 'solvent for solution for injection').
	AdministrableDoseForm *CodeableConcept
	// The presentation type in which this item is given to a patient. e.g. for a spray - 'puff' (as in 'contains 100 mcg per puff'), or for a liquid - 'vial' (as in 'contains 5 ml per vial').
	UnitOfPresentation *CodeableConcept
	// Indicates the specific manufactured items that are part of the 'formOf' product that are used in the preparation of this specific administrable form.  In some cases, an administrable form might use all of the items from the overall product (or there might only be one item), while in other cases, an administrable form might use only a subset of the items available in the overall product.  For example, an administrable form might involve combining a liquid and a powder available as part of an overall product, but not involve applying the also supplied cream.
	ProducedFrom []Reference
	// The ingredients of this administrable medicinal product. This is only needed if the ingredients are not specified either using ManufacturedItemDefiniton (via AdministrableProductDefinition.producedFrom) to state which component items are used to make this, or using by incoming references from the Ingredient resource, to state in detail which substances exist within this. This element allows a basic coded ingredient to be used.
	Ingredient []CodeableConcept
	// A device that is integral to the medicinal product, in effect being considered as an "ingredient" of the medicinal product. This is not intended for devices that are just co-packaged.
	Device *Reference
	// Characteristics e.g. a product's onset of action.
	Property []AdministrableProductDefinitionProperty
	// The path by which the product is taken into or makes contact with the body. In some regions this is referred to as the licenced or approved route. RouteOfAdministration cannot be used when the 'formOf' product already uses MedicinalProductDefinition.route (and vice versa).
	RouteOfAdministration []AdministrableProductDefinitionRouteOfAdministration
}

A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed).

func (AdministrableProductDefinition) MarshalJSON

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

func (AdministrableProductDefinition) MarshalXML

func (AdministrableProductDefinition) MemSize

func (r AdministrableProductDefinition) MemSize() int

func (AdministrableProductDefinition) ResourceId

func (r AdministrableProductDefinition) ResourceId() (string, bool)

func (AdministrableProductDefinition) ResourceType

func (r AdministrableProductDefinition) ResourceType() string

func (AdministrableProductDefinition) String

func (*AdministrableProductDefinition) UnmarshalJSON

func (r *AdministrableProductDefinition) UnmarshalJSON(b []byte) error

func (*AdministrableProductDefinition) UnmarshalXML

func (r *AdministrableProductDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AdministrableProductDefinitionProperty

type AdministrableProductDefinitionProperty struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code expressing the type of characteristic.
	Type CodeableConcept
	// A value for the characteristic.
	Value isAdministrableProductDefinitionPropertyValue
	// The status of characteristic e.g. assigned or pending.
	Status *CodeableConcept
}

Characteristics e.g. a product's onset of action.

func (AdministrableProductDefinitionProperty) MarshalJSON

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

func (AdministrableProductDefinitionProperty) MarshalXML

func (AdministrableProductDefinitionProperty) MemSize

func (*AdministrableProductDefinitionProperty) UnmarshalXML

type AdministrableProductDefinitionRouteOfAdministration

type AdministrableProductDefinitionRouteOfAdministration struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Coded expression for the route.
	Code CodeableConcept
	// The first dose (dose quantity) administered can be specified for the product, using a numerical value and its unit of measurement.
	FirstDose *Quantity
	// The maximum single dose that can be administered, specified using a numerical value and its unit of measurement.
	MaxSingleDose *Quantity
	// The maximum dose per day (maximum dose quantity to be administered in any one 24-h period) that can be administered.
	MaxDosePerDay *Quantity
	// The maximum dose per treatment period that can be administered.
	MaxDosePerTreatmentPeriod *Ratio
	// The maximum treatment period during which the product can be administered.
	MaxTreatmentPeriod *Duration
	// A species for which this route applies.
	TargetSpecies []AdministrableProductDefinitionRouteOfAdministrationTargetSpecies
}

The path by which the product is taken into or makes contact with the body. In some regions this is referred to as the licenced or approved route. RouteOfAdministration cannot be used when the 'formOf' product already uses MedicinalProductDefinition.route (and vice versa).

func (AdministrableProductDefinitionRouteOfAdministration) MarshalJSON

func (AdministrableProductDefinitionRouteOfAdministration) MarshalXML

func (AdministrableProductDefinitionRouteOfAdministration) MemSize

func (*AdministrableProductDefinitionRouteOfAdministration) UnmarshalXML

type AdministrableProductDefinitionRouteOfAdministrationTargetSpecies

type AdministrableProductDefinitionRouteOfAdministrationTargetSpecies struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Coded expression for the species.
	Code CodeableConcept
	// A species specific time during which consumption of animal product is not appropriate.
	WithdrawalPeriod []AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriod
}

A species for which this route applies.

func (AdministrableProductDefinitionRouteOfAdministrationTargetSpecies) MarshalJSON

func (AdministrableProductDefinitionRouteOfAdministrationTargetSpecies) MarshalXML

func (AdministrableProductDefinitionRouteOfAdministrationTargetSpecies) MemSize

func (*AdministrableProductDefinitionRouteOfAdministrationTargetSpecies) UnmarshalXML

type AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriod

type AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriod struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Coded expression for the type of tissue for which the withdrawal period applies, e.g. meat, milk.
	Tissue CodeableConcept
	// A value for the time.
	Value Quantity
	// Extra information about the withdrawal period.
	SupportingInformation *String
}

A species specific time during which consumption of animal product is not appropriate.

func (AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriod) MarshalJSON

func (AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriod) MarshalXML

func (AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriod) MemSize

func (*AdministrableProductDefinitionRouteOfAdministrationTargetSpeciesWithdrawalPeriod) UnmarshalXML

type AdverseEvent

type AdverseEvent struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this adverse event by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
	Identifier *Identifier
	// Whether the event actually happened, or just had the potential to. Note that this is independent of whether anyone was affected or harmed or how severely.
	Actuality Code
	// The overall type of event, intended for search and filtering purposes.
	Category []CodeableConcept
	// This element defines the specific type of event that occurred or that was prevented from occurring.
	Event *CodeableConcept
	// This subject or group impacted by the event.
	Subject Reference
	// The Encounter during which AdverseEvent was created or to which the creation of this record is tightly associated.
	Encounter *Reference
	// The date (and perhaps time) when the adverse event occurred.
	Date *DateTime
	// Estimated or actual date the AdverseEvent began, in the opinion of the reporter.
	Detected *DateTime
	// The date on which the existence of the AdverseEvent was first recorded.
	RecordedDate *DateTime
	// Includes information about the reaction that occurred as a result of exposure to a substance (for example, a drug or a chemical).
	ResultingCondition []Reference
	// The information about where the adverse event occurred.
	Location *Reference
	// Assessment whether this event was of real importance.
	Seriousness *CodeableConcept
	// Describes the severity of the adverse event, in relation to the subject. Contrast to AdverseEvent.seriousness - a severe rash might not be serious, but a mild heart problem is.
	Severity *CodeableConcept
	// Describes the type of outcome from the adverse event.
	Outcome *CodeableConcept
	// Information on who recorded the adverse event.  May be the patient or a practitioner.
	Recorder *Reference
	// Parties that may or should contribute or have contributed information to the adverse event, which can consist of one or more activities.  Such information includes information leading to the decision to perform the activity and how to perform the activity (e.g. consultant), information that the activity itself seeks to reveal (e.g. informant of clinical history), or information about what activity was performed (e.g. informant witness).
	Contributor []Reference
	// Describes the entity that is suspected to have caused the adverse event.
	SuspectEntity []AdverseEventSuspectEntity
	// AdverseEvent.subjectMedicalHistory.
	SubjectMedicalHistory []Reference
	// AdverseEvent.referenceDocument.
	ReferenceDocument []Reference
	// AdverseEvent.study.
	Study []Reference
}

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 (AdverseEvent) MarshalJSON

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

func (AdverseEvent) MarshalXML

func (r AdverseEvent) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AdverseEvent) MemSize

func (r AdverseEvent) MemSize() int

func (AdverseEvent) ResourceId

func (r AdverseEvent) ResourceId() (string, bool)

func (AdverseEvent) ResourceType

func (r AdverseEvent) ResourceType() string

func (AdverseEvent) String

func (r AdverseEvent) String() string

func (*AdverseEvent) UnmarshalJSON

func (r *AdverseEvent) UnmarshalJSON(b []byte) error

func (*AdverseEvent) UnmarshalXML

func (r *AdverseEvent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AdverseEventSuspectEntity

type AdverseEventSuspectEntity struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifies the actual instance of what caused the adverse event.  May be a substance, medication, medication administration, medication statement or a device.
	Instance Reference
	// Information on the possible cause of the event.
	Causality []AdverseEventSuspectEntityCausality
}

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

func (AdverseEventSuspectEntity) MarshalJSON

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

func (AdverseEventSuspectEntity) MarshalXML

func (r AdverseEventSuspectEntity) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AdverseEventSuspectEntity) MemSize

func (r AdverseEventSuspectEntity) MemSize() int

func (*AdverseEventSuspectEntity) UnmarshalXML

func (r *AdverseEventSuspectEntity) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AdverseEventSuspectEntityCausality

type AdverseEventSuspectEntityCausality struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Assessment of if the entity caused the event.
	Assessment *CodeableConcept
	// AdverseEvent.suspectEntity.causalityProductRelatedness.
	ProductRelatedness *String
	// AdverseEvent.suspectEntity.causalityAuthor.
	Author *Reference
	// ProbabilityScale | Bayesian | Checklist.
	Method *CodeableConcept
}

Information on the possible cause of the event.

func (AdverseEventSuspectEntityCausality) MarshalJSON

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

func (AdverseEventSuspectEntityCausality) MarshalXML

func (AdverseEventSuspectEntityCausality) MemSize

func (*AdverseEventSuspectEntityCausality) UnmarshalXML

type Age

type Age struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The value of the measured amount. The value includes an implicit precision in the presentation of the value.
	Value *Decimal
	// How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.
	Comparator *Code
	// A human-readable form of the unit.
	Unit *String
	// The identification of the system that provides the coded form of the unit.
	System *Uri
	// A computer processable form of the unit in some unit representation system.
	Code *Code
}

Base StructureDefinition for Age Type: A duration of time during which an organism (or a process) has existed.

func (Age) MarshalJSON

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

func (Age) MarshalXML

func (r Age) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Age) MemSize

func (r Age) MemSize() int

func (Age) String

func (r Age) String() string

func (*Age) UnmarshalXML

func (r *Age) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AllergyIntolerance

type AllergyIntolerance struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this AllergyIntolerance by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// The clinical status of the allergy or intolerance.
	ClinicalStatus *CodeableConcept
	// Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product).
	VerificationStatus *CodeableConcept
	// Identification of the underlying physiological mechanism for the reaction risk.
	Type *Code
	// Category of the identified substance.
	Category []Code
	// Estimate of the potential clinical harm, or seriousness, of the reaction to the identified substance.
	Criticality *Code
	// Code for an allergy or intolerance statement (either a positive or a negated/excluded statement).  This may be a code for a substance or pharmaceutical product that is considered to be responsible for the adverse reaction risk (e.g., "Latex"), an allergy or intolerance condition (e.g., "Latex allergy"), or a negated/excluded code for a specific substance or class (e.g., "No latex allergy") or a general or categorical negated statement (e.g.,  "No known allergy", "No known drug allergies").  Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'.  If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substance.
	Code *CodeableConcept
	// The patient who has the allergy or intolerance.
	Patient Reference
	// The encounter when the allergy or intolerance was asserted.
	Encounter *Reference
	// Estimated or actual date,  date-time, or age when allergy or intolerance was identified.
	Onset isAllergyIntoleranceOnset
	// The recordedDate represents when this particular AllergyIntolerance record was created in the system, which is often a system-generated date.
	RecordedDate *DateTime
	// Individual who recorded the record and takes responsibility for its content.
	Recorder *Reference
	// The source of the information about the allergy that is recorded.
	Asserter *Reference
	// Represents the date and/or time of the last known occurrence of a reaction event.
	LastOccurrence *DateTime
	// Additional narrative about the propensity for the Adverse Reaction, not captured in other fields.
	Note []Annotation
	// Details about each adverse reaction event linked to exposure to the identified substance.
	Reaction []AllergyIntoleranceReaction
}

Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.

To record a clinical assessment of a propensity, or potential risk to an individual, of an adverse reaction upon future exposure to the specified substance, or class of substance.

func (AllergyIntolerance) MarshalJSON

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

func (AllergyIntolerance) MarshalXML

func (r AllergyIntolerance) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AllergyIntolerance) MemSize

func (r AllergyIntolerance) MemSize() int

func (AllergyIntolerance) ResourceId

func (r AllergyIntolerance) ResourceId() (string, bool)

func (AllergyIntolerance) ResourceType

func (r AllergyIntolerance) ResourceType() string

func (AllergyIntolerance) String

func (r AllergyIntolerance) String() string

func (*AllergyIntolerance) UnmarshalJSON

func (r *AllergyIntolerance) UnmarshalJSON(b []byte) error

func (*AllergyIntolerance) UnmarshalXML

func (r *AllergyIntolerance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AllergyIntoleranceReaction

type AllergyIntoleranceReaction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event. Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'.  If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substance.
	Substance *CodeableConcept
	// Clinical symptoms and/or signs that are observed or associated with the adverse reaction event.
	Manifestation []CodeableConcept
	// Text description about the reaction as a whole, including details of the manifestation if required.
	Description *String
	// Record of the date and/or time of the onset of the Reaction.
	Onset *DateTime
	// Clinical assessment of the severity of the reaction event as a whole, potentially considering multiple different manifestations.
	Severity *Code
	// Identification of the route by which the subject was exposed to the substance.
	ExposureRoute *CodeableConcept
	// Additional text about the adverse reaction event not captured in other fields.
	Note []Annotation
}

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

func (AllergyIntoleranceReaction) MarshalJSON

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

func (AllergyIntoleranceReaction) MarshalXML

func (r AllergyIntoleranceReaction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AllergyIntoleranceReaction) MemSize

func (r AllergyIntoleranceReaction) MemSize() int

func (*AllergyIntoleranceReaction) UnmarshalXML

func (r *AllergyIntoleranceReaction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Annotation

type Annotation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The individual responsible for making the annotation.
	Author isAnnotationAuthor
	// Indicates when this particular annotation was made.
	Time *DateTime
	// The text of the annotation in markdown format.
	Text Markdown
}

Base StructureDefinition for Annotation Type: A text note which also contains information about who made the statement and when.

func (Annotation) MarshalJSON

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

func (Annotation) MarshalXML

func (r Annotation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Annotation) MemSize

func (r Annotation) MemSize() int

func (Annotation) String

func (r Annotation) String() string

func (*Annotation) UnmarshalXML

func (r *Annotation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Appointment

type Appointment struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).
	Identifier []Identifier
	// The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status.
	Status Code
	// The coded reason for the appointment being cancelled. This is often used in reporting/billing/futher processing to determine if further actions are required, or specific fees apply.
	CancelationReason *CodeableConcept
	// A broad categorization of the service that is to be performed during this appointment.
	ServiceCategory []CodeableConcept
	// The specific service that is to be performed during this appointment.
	ServiceType []CodeableConcept
	// The specialty of a practitioner that would be required to perform the service requested in this appointment.
	Specialty []CodeableConcept
	// The style of appointment or patient that has been booked in the slot (not service type).
	AppointmentType *CodeableConcept
	// The coded reason that this appointment is being scheduled. This is more clinical than administrative.
	ReasonCode []CodeableConcept
	// Reason the appointment has been scheduled to take place, as specified using information from another resource. When the patient arrives and the encounter begins it may be used as the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure.
	ReasonReference []Reference
	// The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority).
	Priority *UnsignedInt
	// The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field.
	Description *String
	// Additional information to support the appointment provided when making the appointment.
	SupportingInformation []Reference
	// Date/Time that the appointment is to take place.
	Start *Instant
	// Date/Time that the appointment is to conclude.
	End *Instant
	// Number of minutes that the appointment is to take. This can be less than the duration between the start and end times.  For example, where the actual time of appointment is only an estimate or if a 30 minute appointment is being requested, but any time would work.  Also, if there is, for example, a planned 15 minute break in the middle of a long appointment, the duration may be 15 minutes less than the difference between the start and end.
	MinutesDuration *PositiveInt
	// The slots from the participants' schedules that will be filled by the appointment.
	Slot []Reference
	// The date that this appointment was initially created. This could be different to the meta.lastModified value on the initial entry, as this could have been before the resource was created on the FHIR server, and should remain unchanged over the lifespan of the appointment.
	Created *DateTime
	// Additional comments about the appointment.
	Comment *String
	// While Appointment.comment contains information for internal use, Appointment.patientInstructions is used to capture patient facing information about the Appointment (e.g. please bring your referral or fast from 8pm night before).
	PatientInstruction *String
	// The service request this appointment is allocated to assess (e.g. incoming referral or procedure request).
	BasedOn []Reference
	// List of participants involved in the appointment.
	Participant []AppointmentParticipant
	// A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within.
	//
	// The duration (usually in minutes) could also be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time. However, in other situations the duration may be calculated by the scheduling system.
	RequestedPeriod []Period
}

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 (Appointment) MarshalJSON

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

func (Appointment) MarshalXML

func (r Appointment) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Appointment) MemSize

func (r Appointment) MemSize() int

func (Appointment) ResourceId

func (r Appointment) ResourceId() (string, bool)

func (Appointment) ResourceType

func (r Appointment) ResourceType() string

func (Appointment) String

func (r Appointment) String() string

func (*Appointment) UnmarshalJSON

func (r *Appointment) UnmarshalJSON(b []byte) error

func (*Appointment) UnmarshalXML

func (r *Appointment) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AppointmentParticipant

type AppointmentParticipant struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Role of participant in the appointment.
	Type []CodeableConcept
	// A Person, Location/HealthcareService or Device that is participating in the appointment.
	Actor *Reference
	// Whether this participant is required to be present at the meeting. This covers a use-case where two doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present.
	Required *Code
	// Participation status of the actor.
	Status Code
	// Participation period of the actor.
	Period *Period
}

List of participants involved in the appointment.

func (AppointmentParticipant) MarshalJSON

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

func (AppointmentParticipant) MarshalXML

func (r AppointmentParticipant) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AppointmentParticipant) MemSize

func (r AppointmentParticipant) MemSize() int

func (*AppointmentParticipant) UnmarshalXML

func (r *AppointmentParticipant) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AppointmentResponse

type AppointmentResponse struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate.
	Identifier []Identifier
	// Appointment that this response is replying to.
	Appointment Reference
	// Date/Time that the appointment is to take place, or requested new start time.
	Start *Instant
	// This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time.
	End *Instant
	// Role of participant in the appointment.
	ParticipantType []CodeableConcept
	// A Person, Location, HealthcareService, or Device that is participating in the appointment.
	Actor *Reference
	// Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty.
	ParticipantStatus Code
	// Additional comments about the appointment.
	Comment *String
}

A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.

func (AppointmentResponse) MarshalJSON

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

func (AppointmentResponse) MarshalXML

func (r AppointmentResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AppointmentResponse) MemSize

func (r AppointmentResponse) MemSize() int

func (AppointmentResponse) ResourceId

func (r AppointmentResponse) ResourceId() (string, bool)

func (AppointmentResponse) ResourceType

func (r AppointmentResponse) ResourceType() string

func (AppointmentResponse) String

func (r AppointmentResponse) String() string

func (*AppointmentResponse) UnmarshalJSON

func (r *AppointmentResponse) UnmarshalJSON(b []byte) error

func (*AppointmentResponse) UnmarshalXML

func (r *AppointmentResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Attachment

type Attachment struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate.
	ContentType *Code
	// The human language of the content. The value can be any valid value according to BCP 47.
	Language *Code
	// The actual data of the attachment - a sequence of bytes, base64 encoded.
	Data *Base64Binary
	// A location where the data can be accessed.
	Url *Url
	// The number of bytes of data that make up this attachment (before base64 encoding, if that is done).
	Size *UnsignedInt
	// The calculated hash of the data using SHA-1. Represented using base64.
	Hash *Base64Binary
	// A label or set of text to display in place of the data.
	Title *String
	// The date that the attachment was first created.
	Creation *DateTime
}

Base StructureDefinition for Attachment Type: For referring to data content defined in other formats.

Many models need to include data defined in other specifications that is complex and opaque to the healthcare model. This includes documents, media recordings, structured data, etc.

func (Attachment) MarshalJSON

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

func (Attachment) MarshalXML

func (r Attachment) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Attachment) MemSize

func (r Attachment) MemSize() int

func (Attachment) String

func (r Attachment) String() string

func (*Attachment) UnmarshalXML

func (r *Attachment) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AuditEvent

type AuditEvent struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier for a family of the event.  For example, a menu item, program, rule, policy, function code, application name or URL. It identifies the performed function.
	Type Coding
	// Identifier for the category of event.
	Subtype []Coding
	// Indicator for type of action performed during the event that generated the audit.
	Action *Code
	// The period during which the activity occurred.
	Period *Period
	// The time when the event was recorded.
	Recorded Instant
	// Indicates whether the event succeeded or failed.
	Outcome *Code
	// A free text description of the outcome of the event.
	OutcomeDesc *String
	// The purposeOfUse (reason) that was used during the event being recorded.
	PurposeOfEvent []CodeableConcept
	// An actor taking an active role in the event or activity that is logged.
	Agent []AuditEventAgent
	// The system that is reporting the event.
	Source AuditEventSource
	// Specific instances of data or objects that have been accessed.
	Entity []AuditEventEntity
}

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 (AuditEvent) MarshalJSON

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

func (AuditEvent) MarshalXML

func (r AuditEvent) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AuditEvent) MemSize

func (r AuditEvent) MemSize() int

func (AuditEvent) ResourceId

func (r AuditEvent) ResourceId() (string, bool)

func (AuditEvent) ResourceType

func (r AuditEvent) ResourceType() string

func (AuditEvent) String

func (r AuditEvent) String() string

func (*AuditEvent) UnmarshalJSON

func (r *AuditEvent) UnmarshalJSON(b []byte) error

func (*AuditEvent) UnmarshalXML

func (r *AuditEvent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AuditEventAgent

type AuditEventAgent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Specification of the participation type the user plays when performing the event.
	Type *CodeableConcept
	// The security role that the user was acting under, that come from local codes defined by the access control security system (e.g. RBAC, ABAC) used in the local context.
	Role []CodeableConcept
	// Reference to who this agent is that was involved in the event.
	Who *Reference
	// Alternative agent Identifier. For a human, this should be a user identifier text string from authentication system. This identifier would be one known to a common authentication system (e.g. single sign-on), if available.
	AltId *String
	// Human-meaningful name for the agent.
	Name *String
	// Indicator that the user is or is not the requestor, or initiator, for the event being audited.
	Requestor Boolean
	// Where the event occurred.
	Location *Reference
	// The policy or plan that authorized the activity being recorded. Typically, a single activity may have multiple applicable policies, such as patient consent, guarantor funding, etc. The policy would also indicate the security token used.
	Policy []Uri
	// Type of media involved. Used when the event is about exporting/importing onto media.
	Media *Coding
	// Logical network location for application activity, if the activity has a network location.
	Network *AuditEventAgentNetwork
	// The reason (purpose of use), specific to this agent, that was used during the event being recorded.
	PurposeOfUse []CodeableConcept
}

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

func (AuditEventAgent) MarshalJSON

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

func (AuditEventAgent) MarshalXML

func (r AuditEventAgent) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AuditEventAgent) MemSize

func (r AuditEventAgent) MemSize() int

func (*AuditEventAgent) UnmarshalXML

func (r *AuditEventAgent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AuditEventAgentNetwork

type AuditEventAgentNetwork struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An identifier for the network access point of the user device for the audit event.
	Address *String
	// An identifier for the type of network access point that originated the audit event.
	Type *Code
}

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

func (AuditEventAgentNetwork) MarshalJSON

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

func (AuditEventAgentNetwork) MarshalXML

func (r AuditEventAgentNetwork) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AuditEventAgentNetwork) MemSize

func (r AuditEventAgentNetwork) MemSize() int

func (*AuditEventAgentNetwork) UnmarshalXML

func (r *AuditEventAgentNetwork) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AuditEventEntity

type AuditEventEntity struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifies a specific instance of the entity. The reference should be version specific.
	What *Reference
	// The type of the object that was involved in this audit event.
	Type *Coding
	// Code representing the role the entity played in the event being audited.
	Role *Coding
	// Identifier for the data life-cycle stage for the entity.
	Lifecycle *Coding
	// Security labels for the identified entity.
	SecurityLabel []Coding
	// A name of the entity in the audit event.
	Name *String
	// Text that describes the entity in more detail.
	Description *String
	// The query parameters for a query-type entities.
	Query *Base64Binary
	// Tagged value pairs for conveying additional information about the entity.
	Detail []AuditEventEntityDetail
}

Specific instances of data or objects that have been accessed.

func (AuditEventEntity) MarshalJSON

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

func (AuditEventEntity) MarshalXML

func (r AuditEventEntity) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AuditEventEntity) MemSize

func (r AuditEventEntity) MemSize() int

func (*AuditEventEntity) UnmarshalXML

func (r *AuditEventEntity) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AuditEventEntityDetail

type AuditEventEntityDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of extra detail provided in the value.
	Type String
	// The  value of the extra detail.
	Value isAuditEventEntityDetailValue
}

Tagged value pairs for conveying additional information about the entity.

func (AuditEventEntityDetail) MarshalJSON

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

func (AuditEventEntityDetail) MarshalXML

func (r AuditEventEntityDetail) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AuditEventEntityDetail) MemSize

func (r AuditEventEntityDetail) MemSize() int

func (*AuditEventEntityDetail) UnmarshalXML

func (r *AuditEventEntityDetail) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type AuditEventSource

type AuditEventSource struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Logical source location within the healthcare enterprise network.  For example, a hospital or other provider location within a multi-entity provider group.
	Site *String
	// Identifier of the source where the event was detected.
	Observer Reference
	// Code specifying the type of source where event originated.
	Type []Coding
}

The system that is reporting the event.

func (AuditEventSource) MarshalJSON

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

func (AuditEventSource) MarshalXML

func (r AuditEventSource) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (AuditEventSource) MemSize

func (r AuditEventSource) MemSize() int

func (*AuditEventSource) UnmarshalXML

func (r *AuditEventSource) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Base64Binary

type Base64Binary struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The actual value
	Value *string
}

Base StructureDefinition for base64Binary Type: A stream of bytes

func (Base64Binary) MarshalJSON

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

func (Base64Binary) MarshalXML

func (r Base64Binary) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Base64Binary) MemSize

func (r Base64Binary) MemSize() int

func (*Base64Binary) UnmarshalJSON

func (r *Base64Binary) UnmarshalJSON(b []byte) error

func (*Base64Binary) UnmarshalXML

func (r *Base64Binary) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Basic

type Basic struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier assigned to the resource for business purposes, outside the context of FHIR.
	Identifier []Identifier
	// Identifies the 'type' of resource - equivalent to the resource name for other resources.
	Code CodeableConcept
	// Identifies the patient, practitioner, device or any other resource that is the "focus" of this resource.
	Subject *Reference
	// Identifies when the resource was first created.
	Created *Date
	// Indicates who was responsible for creating the resource instance.
	Author *Reference
}

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.

Need some way to safely (without breaking interoperability) allow implementers to exchange content not supported by the initial set of declared resources.

func (Basic) MarshalJSON

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

func (Basic) MarshalXML

func (r Basic) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Basic) MemSize

func (r Basic) MemSize() int

func (Basic) ResourceId

func (r Basic) ResourceId() (string, bool)

func (Basic) ResourceType

func (r Basic) ResourceType() string

func (Basic) String

func (r Basic) String() string

func (*Basic) UnmarshalJSON

func (r *Basic) UnmarshalJSON(b []byte) error

func (*Basic) UnmarshalXML

func (r *Basic) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Binary

type Binary struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// MimeType of the binary content represented as a standard MimeType (BCP 13).
	ContentType Code
	// This element identifies another resource that can be used as a proxy of the security sensitivity to use when deciding and enforcing access control rules for the Binary resource. Given that the Binary resource contains very few elements that can be used to determine the sensitivity of the data and relationships to individuals, the referenced resource stands in as a proxy equivalent for this purpose. This referenced resource may be related to the Binary (e.g. Media, DocumentReference), or may be some non-related Resource purely as a security proxy. E.g. to identify that the binary resource relates to a patient, and access should only be granted to applications that have access to the patient.
	SecurityContext *Reference
	// The actual content, base64 encoded.
	Data *Base64Binary
}

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.

There are situations where it is useful or required to handle pure binary content using the same framework as other resources.

func (Binary) MarshalJSON

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

func (Binary) MarshalXML

func (r Binary) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Binary) MemSize

func (r Binary) MemSize() int

func (Binary) ResourceId

func (r Binary) ResourceId() (string, bool)

func (Binary) ResourceType

func (r Binary) ResourceType() string

func (Binary) String

func (r Binary) String() string

func (*Binary) UnmarshalJSON

func (r *Binary) UnmarshalJSON(b []byte) error

func (*Binary) UnmarshalXML

func (r *Binary) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type BiologicallyDerivedProduct

type BiologicallyDerivedProduct struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// This records identifiers associated with this biologically derived product instance that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).
	Identifier []Identifier
	// Broad category of this product.
	ProductCategory *Code
	// A code that identifies the kind of this biologically derived product (SNOMED Ctcode).
	ProductCode *CodeableConcept
	// Whether the product is currently available.
	Status *Code
	// Procedure request to obtain this biologically derived product.
	Request []Reference
	// Number of discrete units within this product.
	Quantity *Integer
	// Parent product (if any).
	Parent []Reference
	// How this product was collected.
	Collection *BiologicallyDerivedProductCollection
	// 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.
	Processing []BiologicallyDerivedProductProcessing
	// 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.
	Manipulation *BiologicallyDerivedProductManipulation
	// Product storage.
	Storage []BiologicallyDerivedProductStorage
}

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

func (BiologicallyDerivedProduct) MarshalJSON

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

func (BiologicallyDerivedProduct) MarshalXML

func (r BiologicallyDerivedProduct) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (BiologicallyDerivedProduct) MemSize

func (r BiologicallyDerivedProduct) MemSize() int

func (BiologicallyDerivedProduct) ResourceId

func (r BiologicallyDerivedProduct) ResourceId() (string, bool)

func (BiologicallyDerivedProduct) ResourceType

func (r BiologicallyDerivedProduct) ResourceType() string

func (BiologicallyDerivedProduct) String

func (*BiologicallyDerivedProduct) UnmarshalJSON

func (r *BiologicallyDerivedProduct) UnmarshalJSON(b []byte) error

func (*BiologicallyDerivedProduct) UnmarshalXML

func (r *BiologicallyDerivedProduct) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type BiologicallyDerivedProductCollection

type BiologicallyDerivedProductCollection struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Healthcare professional who is performing the collection.
	Collector *Reference
	// The patient or entity, such as a hospital or vendor in the case of a processed/manipulated/manufactured product, providing the product.
	Source *Reference
	// Time of product collection.
	Collected isBiologicallyDerivedProductCollectionCollected
}

How this product was collected.

func (BiologicallyDerivedProductCollection) MarshalJSON

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

func (BiologicallyDerivedProductCollection) MarshalXML

func (BiologicallyDerivedProductCollection) MemSize

func (*BiologicallyDerivedProductCollection) UnmarshalXML

type BiologicallyDerivedProductManipulation

type BiologicallyDerivedProductManipulation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Description of manipulation.
	Description *String
	// Time of manipulation.
	Time isBiologicallyDerivedProductManipulationTime
}

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.

func (BiologicallyDerivedProductManipulation) MarshalJSON

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

func (BiologicallyDerivedProductManipulation) MarshalXML

func (BiologicallyDerivedProductManipulation) MemSize

func (*BiologicallyDerivedProductManipulation) UnmarshalXML

type BiologicallyDerivedProductProcessing

type BiologicallyDerivedProductProcessing struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Description of of processing.
	Description *String
	// Procesing code.
	Procedure *CodeableConcept
	// Substance added during processing.
	Additive *Reference
	// Time of processing.
	Time isBiologicallyDerivedProductProcessingTime
}

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.

func (BiologicallyDerivedProductProcessing) MarshalJSON

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

func (BiologicallyDerivedProductProcessing) MarshalXML

func (BiologicallyDerivedProductProcessing) MemSize

func (*BiologicallyDerivedProductProcessing) UnmarshalXML

type BiologicallyDerivedProductStorage

type BiologicallyDerivedProductStorage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Description of storage.
	Description *String
	// Storage temperature.
	Temperature *Decimal
	// Temperature scale used.
	Scale *Code
	// Storage timeperiod.
	Duration *Period
}

Product storage.

func (BiologicallyDerivedProductStorage) MarshalJSON

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

func (BiologicallyDerivedProductStorage) MarshalXML

func (BiologicallyDerivedProductStorage) MemSize

func (*BiologicallyDerivedProductStorage) UnmarshalXML

type BodyStructure

type BodyStructure struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier for this instance of the anatomical structure.
	Identifier []Identifier
	// Whether this body site is in active use.
	Active *Boolean
	// The kind of structure being represented by the body structure at `BodyStructure.location`.  This can define both normal and abnormal morphologies.
	Morphology *CodeableConcept
	// The anatomical location or region of the specimen, lesion, or body structure.
	Location *CodeableConcept
	// Qualifier to refine the anatomical location.  These include qualifiers for laterality, relative location, directionality, number, and plane.
	LocationQualifier []CodeableConcept
	// A summary, characterization or explanation of the body structure.
	Description *String
	// Image or images used to identify a location.
	Image []Attachment
	// The person to which the body site belongs.
	Patient Reference
}

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 (BodyStructure) MarshalJSON

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

func (BodyStructure) MarshalXML

func (r BodyStructure) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (BodyStructure) MemSize

func (r BodyStructure) MemSize() int

func (BodyStructure) ResourceId

func (r BodyStructure) ResourceId() (string, bool)

func (BodyStructure) ResourceType

func (r BodyStructure) ResourceType() string

func (BodyStructure) String

func (r BodyStructure) String() string

func (*BodyStructure) UnmarshalJSON

func (r *BodyStructure) UnmarshalJSON(b []byte) error

func (*BodyStructure) UnmarshalXML

func (r *BodyStructure) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Boolean

type Boolean struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The actual value
	Value *bool
}

Base StructureDefinition for boolean Type: Value of "true" or "false"

func (Boolean) MarshalJSON

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

func (Boolean) MarshalXML

func (r Boolean) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Boolean) MemSize

func (r Boolean) MemSize() int

func (*Boolean) UnmarshalJSON

func (r *Boolean) UnmarshalJSON(b []byte) error

func (*Boolean) UnmarshalXML

func (r *Boolean) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Bundle

type Bundle struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A persistent identifier for the bundle that won't change as a bundle is copied from server to server.
	Identifier *Identifier
	// Indicates the purpose of this bundle - how it is intended to be used.
	Type Code
	// The date/time that the bundle was assembled - i.e. when the resources were placed in the bundle.
	Timestamp *Instant
	// If a set of search matches, this is the total number of entries of type 'match' across all pages in the search.  It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle.
	Total *UnsignedInt
	// A series of links that provide context to this bundle.
	Link []BundleLink
	// An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).
	Entry []BundleEntry
	// Digital Signature - base64 encoded. XML-DSig or a JWT.
	Signature *Signature
}

A container for a collection of resources.

func (Bundle) MarshalJSON

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

func (Bundle) MarshalXML

func (r Bundle) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Bundle) MemSize

func (r Bundle) MemSize() int

func (Bundle) ResourceId

func (r Bundle) ResourceId() (string, bool)

func (Bundle) ResourceType

func (r Bundle) ResourceType() string

func (Bundle) String

func (r Bundle) String() string

func (*Bundle) UnmarshalJSON

func (r *Bundle) UnmarshalJSON(b []byte) error

func (*Bundle) UnmarshalXML

func (r *Bundle) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type BundleEntry

type BundleEntry struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A series of links that provide context to this entry.
	Link []BundleLink
	// The Absolute URL for the resource.  The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that:
	// * fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle)
	// * Results from operations might involve resources that are not identified.
	FullUrl *Uri
	// The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.
	Resource model.Resource
	// Information about the search process that lead to the creation of this entry.
	Search *BundleEntrySearch
	// 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.
	Request *BundleEntryRequest
	// 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.
	Response *BundleEntryResponse
}

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

func (BundleEntry) MarshalJSON

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

func (BundleEntry) MarshalXML

func (r BundleEntry) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (BundleEntry) MemSize

func (r BundleEntry) MemSize() int

func (*BundleEntry) UnmarshalXML

func (r *BundleEntry) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type BundleEntryRequest

type BundleEntryRequest struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// In a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred.
	Method Code
	// The URL for this entry, relative to the root (the address to which the request is posted).
	Url Uri
	// If the ETag values match, return a 304 Not Modified status. See the API documentation for ["Conditional Read"](http.html#cread).
	IfNoneMatch *String
	// Only perform the operation if the last updated date matches. See the API documentation for ["Conditional Read"](http.html#cread).
	IfModifiedSince *Instant
	// Only perform the operation if the Etag value matches. For more information, see the API section ["Managing Resource Contention"](http.html#concurrency).
	IfMatch *String
	// Instruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for ["Conditional Create"](http.html#ccreate). This is just the query portion of the URL - what follows the "?" (not including the "?").
	IfNoneExist *String
}

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.

func (BundleEntryRequest) MarshalJSON

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

func (BundleEntryRequest) MarshalXML

func (r BundleEntryRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (BundleEntryRequest) MemSize

func (r BundleEntryRequest) MemSize() int

func (*BundleEntryRequest) UnmarshalXML

func (r *BundleEntryRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type BundleEntryResponse

type BundleEntryResponse struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code.
	Status String
	// The location header created by processing this operation, populated if the operation returns a location.
	Location *Uri
	// The Etag for the resource, if the operation for the entry produced a versioned resource (see [Resource Metadata and Versioning](http.html#versioning) and [Managing Resource Contention](http.html#concurrency)).
	Etag *String
	// The date/time that the resource was modified on the server.
	LastModified *Instant
	// An OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.
	Outcome model.Resource
}

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.

func (BundleEntryResponse) MarshalJSON

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

func (BundleEntryResponse) MarshalXML

func (r BundleEntryResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (BundleEntryResponse) MemSize

func (r BundleEntryResponse) MemSize() int

func (*BundleEntryResponse) UnmarshalXML

func (r *BundleEntryResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type BundleEntrySearch

type BundleEntrySearch struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Why this entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
	Mode *Code
	// When searching, the server's search ranking score for the entry.
	Score *Decimal
}

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

func (BundleEntrySearch) MarshalJSON

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

func (BundleEntrySearch) MarshalXML

func (r BundleEntrySearch) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (BundleEntrySearch) MemSize

func (r BundleEntrySearch) MemSize() int

func (*BundleEntrySearch) UnmarshalXML

func (r *BundleEntrySearch) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
type BundleLink struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1).
	Relation String
	// The reference details for the link.
	Url Uri
}

A series of links that provide context to this bundle.

func (BundleLink) MarshalJSON

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

func (BundleLink) MarshalXML

func (r BundleLink) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (BundleLink) MemSize

func (r BundleLink) MemSize() int

func (*BundleLink) UnmarshalXML

func (r *BundleLink) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Canonical

type Canonical struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Primitive value for canonical
	Value *string
}

Base StructureDefinition for canonical type: A URI that is a reference to a canonical URL on a FHIR resource

func (Canonical) MarshalJSON

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

func (Canonical) MarshalXML

func (r Canonical) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Canonical) MemSize

func (r Canonical) MemSize() int

func (*Canonical) UnmarshalJSON

func (r *Canonical) UnmarshalJSON(b []byte) error

func (*Canonical) UnmarshalXML

func (r *Canonical) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CapabilityStatement

type CapabilityStatement struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers.
	Url *Uri
	// The identifier that is used to identify this version of the capability statement when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the capability statement. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the capability statement.
	Title *String
	// The status of this capability statement. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this capability statement is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the capability statement was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement changes.
	Date DateTime
	// The name of the organization or individual that published the capability statement.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the capability statement from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate capability statement instances.
	UseContext []UsageContext
	// A legal or geographic region in which the capability statement is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this capability statement is needed and why it has been designed as it has.
	Purpose *Markdown
	// A copyright statement relating to the capability statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement.
	Copyright *Markdown
	// The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).
	Kind Code
	// Reference to a canonical URL of another CapabilityStatement that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details.
	Instantiates []Canonical
	// Reference to a canonical URL of another CapabilityStatement that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them.
	Imports []Canonical
	// 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.
	Software *CapabilityStatementSoftware
	// 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.
	Implementation *CapabilityStatementImplementation
	// The version of the FHIR specification that this CapabilityStatement describes (which SHALL be the same as the FHIR version of the CapabilityStatement itself). There is no default value.
	FhirVersion Code
	// A list of the formats supported by this implementation using their content types.
	Format []Code
	// A list of the patch formats supported by this implementation using their content types.
	PatchFormat []Code
	// A list of implementation guides that the server does (or should) support in their entirety.
	ImplementationGuide []Canonical
	// A definition of the restful capabilities of the solution, if any.
	Rest []CapabilityStatementRest
	// A description of the messaging capabilities of the solution.
	Messaging []CapabilityStatementMessaging
	// A document definition.
	Document []CapabilityStatementDocument
}

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 (CapabilityStatement) MarshalJSON

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

func (CapabilityStatement) MarshalXML

func (r CapabilityStatement) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CapabilityStatement) MemSize

func (r CapabilityStatement) MemSize() int

func (CapabilityStatement) ResourceId

func (r CapabilityStatement) ResourceId() (string, bool)

func (CapabilityStatement) ResourceType

func (r CapabilityStatement) ResourceType() string

func (CapabilityStatement) String

func (r CapabilityStatement) String() string

func (*CapabilityStatement) UnmarshalJSON

func (r *CapabilityStatement) UnmarshalJSON(b []byte) error

func (*CapabilityStatement) UnmarshalXML

func (r *CapabilityStatement) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CapabilityStatementDocument

type CapabilityStatementDocument struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Mode of this document declaration - whether an application is a producer or consumer.
	Mode Code
	// A description of how the application supports or uses the specified document profile.  For example, when documents are created, what action is taken with consumed documents, etc.
	Documentation *Markdown
	// A profile on the document Bundle that constrains which resources are present, and their contents.
	Profile Canonical
}

A document definition.

func (CapabilityStatementDocument) MarshalJSON

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

func (CapabilityStatementDocument) MarshalXML

func (r CapabilityStatementDocument) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CapabilityStatementDocument) MemSize

func (r CapabilityStatementDocument) MemSize() int

func (*CapabilityStatementDocument) UnmarshalXML

func (r *CapabilityStatementDocument) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CapabilityStatementImplementation

type CapabilityStatementImplementation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Information about the specific installation that this capability statement relates to.
	Description String
	// An absolute base URL for the implementation.  This forms the base for REST interfaces as well as the mailbox and document interfaces.
	Url *Url
	// The organization responsible for the management of the instance and oversight of the data on the server at the specified URL.
	Custodian *Reference
}

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.

func (CapabilityStatementImplementation) MarshalJSON

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

func (CapabilityStatementImplementation) MarshalXML

func (CapabilityStatementImplementation) MemSize

func (*CapabilityStatementImplementation) UnmarshalXML

type CapabilityStatementMessaging

type CapabilityStatementMessaging struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An endpoint (network accessible address) to which messages and/or replies are to be sent.
	Endpoint []CapabilityStatementMessagingEndpoint
	// Length if the receiver's reliable messaging cache in minutes (if a receiver) or how long the cache length on the receiver should be (if a sender).
	ReliableCache *UnsignedInt
	// Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the capability statement.  For example, the process for becoming an authorized messaging exchange partner.
	Documentation *Markdown
	// References to message definitions for messages this system can send or receive.
	SupportedMessage []CapabilityStatementMessagingSupportedMessage
}

A description of the messaging capabilities of the solution.

func (CapabilityStatementMessaging) MarshalJSON

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

func (CapabilityStatementMessaging) MarshalXML

func (CapabilityStatementMessaging) MemSize

func (r CapabilityStatementMessaging) MemSize() int

func (*CapabilityStatementMessaging) UnmarshalXML

func (r *CapabilityStatementMessaging) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CapabilityStatementMessagingEndpoint

type CapabilityStatementMessagingEndpoint struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A list of the messaging transport protocol(s) identifiers, supported by this endpoint.
	Protocol Coding
	// The network address of the endpoint. For solutions that do not use network addresses for routing, it can be just an identifier.
	Address Url
}

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

func (CapabilityStatementMessagingEndpoint) MarshalJSON

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

func (CapabilityStatementMessagingEndpoint) MarshalXML

func (CapabilityStatementMessagingEndpoint) MemSize

func (*CapabilityStatementMessagingEndpoint) UnmarshalXML

type CapabilityStatementMessagingSupportedMessage

type CapabilityStatementMessagingSupportedMessage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The mode of this event declaration - whether application is sender or receiver.
	Mode Code
	// Points to a message definition that identifies the messaging event, message structure, allowed responses, etc.
	Definition Canonical
}

References to message definitions for messages this system can send or receive.

func (CapabilityStatementMessagingSupportedMessage) MarshalJSON

func (CapabilityStatementMessagingSupportedMessage) MarshalXML

func (CapabilityStatementMessagingSupportedMessage) MemSize

func (*CapabilityStatementMessagingSupportedMessage) UnmarshalXML

type CapabilityStatementRest

type CapabilityStatementRest struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations.
	Mode Code
	// Information about the system's restful capabilities that apply across all applications, such as security.
	Documentation *Markdown
	// Information about security implementation from an interface perspective - what a client needs to know.
	Security *CapabilityStatementRestSecurity
	// A specification of the restful capabilities of the solution for a specific resource type.
	Resource []CapabilityStatementRestResource
	// A specification of restful operations supported by the system.
	Interaction []CapabilityStatementRestInteraction
	// Search parameters that are supported for searching all resources 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.
	SearchParam []CapabilityStatementRestResourceSearchParam
	// Definition of an operation or a named query together with its parameters and their meaning and type.
	Operation []CapabilityStatementRestResourceOperation
	// An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL .
	Compartment []Canonical
}

A definition of the restful capabilities of the solution, if any.

func (CapabilityStatementRest) MarshalJSON

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

func (CapabilityStatementRest) MarshalXML

func (r CapabilityStatementRest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CapabilityStatementRest) MemSize

func (r CapabilityStatementRest) MemSize() int

func (*CapabilityStatementRest) UnmarshalXML

func (r *CapabilityStatementRest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CapabilityStatementRestInteraction

type CapabilityStatementRestInteraction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A coded identifier of the operation, supported by the system.
	Code Code
	// Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented.
	Documentation *Markdown
}

A specification of restful operations supported by the system.

func (CapabilityStatementRestInteraction) MarshalJSON

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

func (CapabilityStatementRestInteraction) MarshalXML

func (CapabilityStatementRestInteraction) MemSize

func (*CapabilityStatementRestInteraction) UnmarshalXML

type CapabilityStatementRestResource

type CapabilityStatementRestResource struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A type of resource exposed via the restful interface.
	Type Code
	// A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses).
	Profile *Canonical
	// A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).
	SupportedProfile []Canonical
	// Additional information about the resource type used by the system.
	Documentation *Markdown
	// Identifies a restful operation supported by the solution.
	Interaction []CapabilityStatementRestResourceInteraction
	// This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API.
	Versioning *Code
	// A flag for whether the server is able to return past versions as part of the vRead operation.
	ReadHistory *Boolean
	// A flag to indicate that the server allows or needs to allow the client to create new identities on the server (that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server.
	UpdateCreate *Boolean
	// A flag that indicates that the server supports conditional create.
	ConditionalCreate *Boolean
	// A code that indicates how the server supports conditional read.
	ConditionalRead *Code
	// A flag that indicates that the server supports conditional update.
	ConditionalUpdate *Boolean
	// A code that indicates how the server supports conditional delete.
	ConditionalDelete *Code
	// A set of flags that defines how references are supported.
	ReferencePolicy []Code
	// A list of _include values supported by the server.
	SearchInclude []String
	// A list of _revinclude (reverse include) values supported by the server.
	SearchRevInclude []String
	// 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.
	SearchParam []CapabilityStatementRestResourceSearchParam
	// 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.
	Operation []CapabilityStatementRestResourceOperation
}

A specification of the restful capabilities of the solution for a specific resource type.

func (CapabilityStatementRestResource) MarshalJSON

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

func (CapabilityStatementRestResource) MarshalXML

func (CapabilityStatementRestResource) MemSize

func (*CapabilityStatementRestResource) UnmarshalXML

func (r *CapabilityStatementRestResource) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CapabilityStatementRestResourceInteraction

type CapabilityStatementRestResourceInteraction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Coded identifier of the operation, supported by the system resource.
	Code Code
	// Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'.
	Documentation *Markdown
}

Identifies a restful operation supported by the solution.

func (CapabilityStatementRestResourceInteraction) MarshalJSON

func (CapabilityStatementRestResourceInteraction) MarshalXML

func (CapabilityStatementRestResourceInteraction) MemSize

func (*CapabilityStatementRestResourceInteraction) UnmarshalXML

type CapabilityStatementRestResourceOperation

type CapabilityStatementRestResourceOperation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The name of the operation or query. For an operation, this is the name  prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called.
	Name String
	// Where the formal definition can be found. If a server references the base definition of an Operation (i.e. from the specification itself such as “`http://hl7.org/fhir/OperationDefinition/ValueSet-expand“`), that means it supports the full capabilities of the operation - e.g. both GET and POST invocation.  If it only supports a subset, it must define its own custom [OperationDefinition](operationdefinition.html#) with a 'base' of the original OperationDefinition.  The custom definition would describe the specific subset of functionality supported.
	Definition Canonical
	// Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation.
	Documentation *Markdown
}

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.

func (CapabilityStatementRestResourceOperation) MarshalJSON

func (CapabilityStatementRestResourceOperation) MarshalXML

func (CapabilityStatementRestResourceOperation) MemSize

func (*CapabilityStatementRestResourceOperation) UnmarshalXML

type CapabilityStatementRestResourceSearchParam

type CapabilityStatementRestResourceSearchParam struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The name of the search parameter used in the interface.
	Name String
	// An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)). This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs.
	Definition *Canonical
	// The type of value a search parameter refers to, and how the content is interpreted.
	Type Code
	// This allows documentation of any distinct behaviors about how the search parameter is used.  For example, text matching algorithms.
	Documentation *Markdown
}

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.

func (CapabilityStatementRestResourceSearchParam) MarshalJSON

func (CapabilityStatementRestResourceSearchParam) MarshalXML

func (CapabilityStatementRestResourceSearchParam) MemSize

func (*CapabilityStatementRestResourceSearchParam) UnmarshalXML

type CapabilityStatementRestSecurity

type CapabilityStatementRestSecurity struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Server adds CORS headers when responding to requests - this enables Javascript applications to use the server.
	Cors *Boolean
	// Types of security services that are supported/required by the system.
	Service []CodeableConcept
	// General description of how security works.
	Description *Markdown
}

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

func (CapabilityStatementRestSecurity) MarshalJSON

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

func (CapabilityStatementRestSecurity) MarshalXML

func (CapabilityStatementRestSecurity) MemSize

func (*CapabilityStatementRestSecurity) UnmarshalXML

func (r *CapabilityStatementRestSecurity) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CapabilityStatementSoftware

type CapabilityStatementSoftware struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Name the software is known by.
	Name String
	// The version identifier for the software covered by this statement.
	Version *String
	// Date this version of the software was released.
	ReleaseDate *DateTime
}

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.

func (CapabilityStatementSoftware) MarshalJSON

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

func (CapabilityStatementSoftware) MarshalXML

func (r CapabilityStatementSoftware) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CapabilityStatementSoftware) MemSize

func (r CapabilityStatementSoftware) MemSize() int

func (*CapabilityStatementSoftware) UnmarshalXML

func (r *CapabilityStatementSoftware) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CarePlan

type CarePlan struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this care plan by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.
	InstantiatesCanonical []Canonical
	// The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan.
	InstantiatesUri []Uri
	// A care plan that is fulfilled in whole or in part by this care plan.
	BasedOn []Reference
	// Completed or terminated care plan whose function is taken by this new care plan.
	Replaces []Reference
	// A larger care plan of which this particular care plan is a component or step.
	PartOf []Reference
	// Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.
	Status Code
	// Indicates the level of authority/intentionality associated with the care plan and where the care plan fits into the workflow chain.
	Intent Code
	// Identifies what "kind" of plan this is to support differentiation between multiple co-existing plans; e.g. "Home health", "psychiatric", "asthma", "disease management", "wellness plan", etc.
	Category []CodeableConcept
	// Human-friendly name for the care plan.
	Title *String
	// A description of the scope and nature of the plan.
	Description *String
	// Identifies the patient or group whose intended care is described by the plan.
	Subject Reference
	// The Encounter during which this CarePlan was created or to which the creation of this record is tightly associated.
	Encounter *Reference
	// Indicates when the plan did (or is intended to) come into effect and end.
	Period *Period
	// Represents when this particular CarePlan record was created in the system, which is often a system-generated date.
	Created *DateTime
	// When populated, the author is responsible for the care plan.  The care plan is attributed to the author.
	Author *Reference
	// Identifies the individual(s) or organization who provided the contents of the care plan.
	Contributor []Reference
	// Identifies all people and organizations who are expected to be involved in the care envisioned by this plan.
	CareTeam []Reference
	// Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan.
	Addresses []Reference
	// Identifies portions of the patient's record that specifically influenced the formation of the plan.  These might include comorbidities, recent procedures, limitations, recent assessments, etc.
	SupportingInfo []Reference
	// Describes the intended objective(s) of carrying out the care plan.
	Goal []Reference
	// 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.
	Activity []CarePlanActivity
	// General notes about the care plan not covered elsewhere.
	Note []Annotation
}

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 (CarePlan) MarshalJSON

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

func (CarePlan) MarshalXML

func (r CarePlan) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CarePlan) MemSize

func (r CarePlan) MemSize() int

func (CarePlan) ResourceId

func (r CarePlan) ResourceId() (string, bool)

func (CarePlan) ResourceType

func (r CarePlan) ResourceType() string

func (CarePlan) String

func (r CarePlan) String() string

func (*CarePlan) UnmarshalJSON

func (r *CarePlan) UnmarshalJSON(b []byte) error

func (*CarePlan) UnmarshalXML

func (r *CarePlan) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CarePlanActivity

type CarePlanActivity struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifies the outcome at the point when the status of the activity is assessed.  For example, the outcome of an education activity could be patient understands (or not).
	OutcomeCodeableConcept []CodeableConcept
	// Details of the outcome or action resulting from the activity.  The reference to an "event" resource, such as Procedure or Encounter or Observation, is the result/outcome of the activity itself.  The activity can be conveyed using CarePlan.activity.detail OR using the CarePlan.activity.reference (a reference to a “request” resource).
	OutcomeReference []Reference
	// Notes about the adherence/status/progress of the activity.
	Progress []Annotation
	// The details of the proposed activity represented in a specific resource.
	Reference *Reference
	// 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.
	Detail *CarePlanActivityDetail
}

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.

func (CarePlanActivity) MarshalJSON

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

func (CarePlanActivity) MarshalXML

func (r CarePlanActivity) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CarePlanActivity) MemSize

func (r CarePlanActivity) MemSize() int

func (*CarePlanActivity) UnmarshalXML

func (r *CarePlanActivity) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CarePlanActivityDetail

type CarePlanActivityDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A description of the kind of resource the in-line definition of a care plan activity is representing.  The CarePlan.activity.detail is an in-line definition when a resource is not referenced using CarePlan.activity.reference.  For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest.
	Kind *Code
	// The URL pointing to a FHIR-defined protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.
	InstantiatesCanonical []Canonical
	// The URL pointing to an externally maintained protocol, guideline, questionnaire or other definition that is adhered to in whole or in part by this CarePlan activity.
	InstantiatesUri []Uri
	// Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encounter.
	Code *CodeableConcept
	// Provides the rationale that drove the inclusion of this particular activity as part of the plan or the reason why the activity was prohibited.
	ReasonCode []CodeableConcept
	// Indicates another resource, such as the health condition(s), whose existence justifies this request and drove the inclusion of this particular activity as part of the plan.
	ReasonReference []Reference
	// Internal reference that identifies the goals that this activity is intended to contribute towards meeting.
	Goal []Reference
	// Identifies what progress is being made for the specific activity.
	Status Code
	// Provides reason why the activity isn't yet started, is on hold, was cancelled, etc.
	StatusReason *CodeableConcept
	// If true, indicates that the described activity is one that must NOT be engaged in when following the plan.  If false, or missing, indicates that the described activity is one that should be engaged in when following the plan.
	DoNotPerform *Boolean
	// The period, timing or frequency upon which the described activity is to occur.
	Scheduled isCarePlanActivityDetailScheduled
	// Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.
	Location *Reference
	// Identifies who's expected to be involved in the activity.
	Performer []Reference
	// Identifies the food, drug or other product to be consumed or supplied in the activity.
	Product isCarePlanActivityDetailProduct
	// Identifies the quantity expected to be consumed in a given day.
	DailyAmount *Quantity
	// Identifies the quantity expected to be supplied, administered or consumed by the subject.
	Quantity *Quantity
	// This provides a textual description of constraints on the intended activity occurrence, including relation to other activities.  It may also include objectives, pre-conditions and end-conditions.  Finally, it may convey specifics about the activity such as body site, method, route, etc.
	Description *String
}

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.

func (CarePlanActivityDetail) MarshalJSON

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

func (CarePlanActivityDetail) MarshalXML

func (r CarePlanActivityDetail) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CarePlanActivityDetail) MemSize

func (r CarePlanActivityDetail) MemSize() int

func (*CarePlanActivityDetail) UnmarshalXML

func (r *CarePlanActivityDetail) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CareTeam

type CareTeam struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this care team by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// Indicates the current state of the care team.
	Status *Code
	// Identifies what kind of team.  This is to support differentiation between multiple co-existing teams, such as care plan team, episode of care team, longitudinal care team.
	Category []CodeableConcept
	// A label for human use intended to distinguish like teams.  E.g. the "red" vs. "green" trauma teams.
	Name *String
	// Identifies the patient or group whose intended care is handled by the team.
	Subject *Reference
	// The Encounter during which this CareTeam was created or to which the creation of this record is tightly associated.
	Encounter *Reference
	// Indicates when the team did (or is intended to) come into effect and end.
	Period *Period
	// Identifies all people and organizations who are expected to be involved in the care team.
	Participant []CareTeamParticipant
	// Describes why the care team exists.
	ReasonCode []CodeableConcept
	// Condition(s) that this care team addresses.
	ReasonReference []Reference
	// The organization responsible for the care team.
	ManagingOrganization []Reference
	// A central contact detail for the care team (that applies to all members).
	Telecom []ContactPoint
	// Comments made about the CareTeam.
	Note []Annotation
}

The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.

func (CareTeam) MarshalJSON

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

func (CareTeam) MarshalXML

func (r CareTeam) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CareTeam) MemSize

func (r CareTeam) MemSize() int

func (CareTeam) ResourceId

func (r CareTeam) ResourceId() (string, bool)

func (CareTeam) ResourceType

func (r CareTeam) ResourceType() string

func (CareTeam) String

func (r CareTeam) String() string

func (*CareTeam) UnmarshalJSON

func (r *CareTeam) UnmarshalJSON(b []byte) error

func (*CareTeam) UnmarshalXML

func (r *CareTeam) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CareTeamParticipant

type CareTeamParticipant struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates specific responsibility of an individual within the care team, such as "Primary care physician", "Trained social worker counselor", "Caregiver", etc.
	Role []CodeableConcept
	// The specific person or organization who is participating/expected to participate in the care team.
	Member *Reference
	// The organization of the practitioner.
	OnBehalfOf *Reference
	// Indicates when the specific member or organization did (or is intended to) come into effect and end.
	Period *Period
}

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

func (CareTeamParticipant) MarshalJSON

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

func (CareTeamParticipant) MarshalXML

func (r CareTeamParticipant) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CareTeamParticipant) MemSize

func (r CareTeamParticipant) MemSize() int

func (*CareTeamParticipant) UnmarshalXML

func (r *CareTeamParticipant) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CatalogEntry

type CatalogEntry struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Used in supporting different identifiers for the same product, e.g. manufacturer code and retailer code.
	Identifier []Identifier
	// The type of item - medication, device, service, protocol or other.
	Type *CodeableConcept
	// Whether the entry represents an orderable item.
	Orderable Boolean
	// The item in a catalog or definition.
	ReferencedItem Reference
	// Used in supporting related concepts, e.g. NDC to RxNorm.
	AdditionalIdentifier []Identifier
	// Classes of devices, or ATC for medication.
	Classification []CodeableConcept
	// Used to support catalog exchange even for unsupported products, e.g. getting list of medications even if not prescribable.
	Status *Code
	// The time period in which this catalog entry is expected to be active.
	ValidityPeriod *Period
	// The date until which this catalog entry is expected to be active.
	ValidTo *DateTime
	// Typically date of issue is different from the beginning of the validity. This can be used to see when an item was last updated.
	LastUpdated *DateTime
	// Used for examplefor Out of Formulary, or any specifics.
	AdditionalCharacteristic []CodeableConcept
	// User for example for ATC classification, or.
	AdditionalClassification []CodeableConcept
	// Used for example, to point to a substance, or to a device used to administer a medication.
	RelatedEntry []CatalogEntryRelatedEntry
}

Catalog entries are wrappers that contextualize items included in a catalog.

func (CatalogEntry) MarshalJSON

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

func (CatalogEntry) MarshalXML

func (r CatalogEntry) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CatalogEntry) MemSize

func (r CatalogEntry) MemSize() int

func (CatalogEntry) ResourceId

func (r CatalogEntry) ResourceId() (string, bool)

func (CatalogEntry) ResourceType

func (r CatalogEntry) ResourceType() string

func (CatalogEntry) String

func (r CatalogEntry) String() string

func (*CatalogEntry) UnmarshalJSON

func (r *CatalogEntry) UnmarshalJSON(b []byte) error

func (*CatalogEntry) UnmarshalXML

func (r *CatalogEntry) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CatalogEntryRelatedEntry

type CatalogEntryRelatedEntry struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of relation to the related item: child, parent, packageContent, containerPackage, usedIn, uses, requires, etc.
	Relationtype Code
	// The reference to the related item.
	Item Reference
}

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

func (CatalogEntryRelatedEntry) MarshalJSON

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

func (CatalogEntryRelatedEntry) MarshalXML

func (r CatalogEntryRelatedEntry) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CatalogEntryRelatedEntry) MemSize

func (r CatalogEntryRelatedEntry) MemSize() int

func (*CatalogEntryRelatedEntry) UnmarshalXML

func (r *CatalogEntryRelatedEntry) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ChargeItem

type ChargeItem struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers assigned to this event performer or other systems.
	Identifier []Identifier
	// References the (external) source of pricing information, rules of application for the code this ChargeItem uses.
	DefinitionUri []Uri
	// References the source of pricing information, rules of application for the code this ChargeItem uses.
	DefinitionCanonical []Canonical
	// The current state of the ChargeItem.
	Status Code
	// ChargeItems can be grouped to larger ChargeItems covering the whole set.
	PartOf []Reference
	// A code that identifies the charge, like a billing code.
	Code CodeableConcept
	// The individual or set of individuals the action is being or was performed on.
	Subject Reference
	// The encounter or episode of care that establishes the context for this event.
	Context *Reference
	// Date/time(s) or duration when the charged service was applied.
	Occurrence isChargeItemOccurrence
	// Indicates who or what performed or participated in the charged service.
	Performer []ChargeItemPerformer
	// The organization requesting the service.
	PerformingOrganization *Reference
	// The organization performing the service.
	RequestingOrganization *Reference
	// The financial cost center permits the tracking of charge attribution.
	CostCenter *Reference
	// Quantity of which the charge item has been serviced.
	Quantity *Quantity
	// The anatomical location where the related service has been applied.
	Bodysite []CodeableConcept
	// Factor overriding the factor determined by the rules associated with the code.
	FactorOverride *Decimal
	// Total price of the charge overriding the list price associated with the code.
	PriceOverride *Money
	// If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the  reason for this action.
	OverrideReason *String
	// The device, practitioner, etc. who entered the charge item.
	Enterer *Reference
	// Date the charge item was entered.
	EnteredDate *DateTime
	// Describes why the event occurred in coded or textual form.
	Reason []CodeableConcept
	// Indicated the rendered service that caused this charge.
	Service []Reference
	// Identifies the device, food, drug or other product being charged either by type code or reference to an instance.
	Product isChargeItemProduct
	// Account into which this ChargeItems belongs.
	Account []Reference
	// Comments made about the event by the performer, subject or other participants.
	Note []Annotation
	// Further information supporting this charge.
	SupportingInformation []Reference
}

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 (ChargeItem) MarshalJSON

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

func (ChargeItem) MarshalXML

func (r ChargeItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ChargeItem) MemSize

func (r ChargeItem) MemSize() int

func (ChargeItem) ResourceId

func (r ChargeItem) ResourceId() (string, bool)

func (ChargeItem) ResourceType

func (r ChargeItem) ResourceType() string

func (ChargeItem) String

func (r ChargeItem) String() string

func (*ChargeItem) UnmarshalJSON

func (r *ChargeItem) UnmarshalJSON(b []byte) error

func (*ChargeItem) UnmarshalXML

func (r *ChargeItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ChargeItemDefinition

type ChargeItemDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers.
	Url Uri
	// A formal identifier that is used to identify this charge item definition when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the charge item definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the charge item definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets.
	Version *String
	// A short, descriptive, user-friendly title for the charge item definition.
	Title *String
	// The URL pointing to an externally-defined charge item definition that is adhered to in whole or in part by this definition.
	DerivedFromUri []Uri
	// A larger definition of which this particular definition is a component or step.
	PartOf []Canonical
	// As new versions of a protocol or guideline are defined, allows identification of what versions are replaced by a new instance.
	Replaces []Canonical
	// The current state of the ChargeItemDefinition.
	Status Code
	// A Boolean value to indicate that this charge item definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the charge item definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the charge item definition changes.
	Date *DateTime
	// The name of the organization or individual that published the charge item definition.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the charge item definition from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate charge item definition instances.
	UseContext []UsageContext
	// A legal or geographic region in which the charge item definition is intended to be used.
	Jurisdiction []CodeableConcept
	// A copyright statement relating to the charge item definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the charge item definition.
	Copyright *Markdown
	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate *Date
	// The period during which the charge item definition content was or is planned to be in active use.
	EffectivePeriod *Period
	// The defined billing details in this resource pertain to the given billing code.
	Code *CodeableConcept
	// The defined billing details in this resource pertain to the given product instance(s).
	Instance []Reference
	// Expressions that describe applicability criteria for the billing code.
	Applicability []ChargeItemDefinitionApplicability
	// Group of properties which are applicable under the same conditions. If no applicability rules are established for the group, then all properties always apply.
	PropertyGroup []ChargeItemDefinitionPropertyGroup
}

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 (ChargeItemDefinition) MarshalJSON

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

func (ChargeItemDefinition) MarshalXML

func (r ChargeItemDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ChargeItemDefinition) MemSize

func (r ChargeItemDefinition) MemSize() int

func (ChargeItemDefinition) ResourceId

func (r ChargeItemDefinition) ResourceId() (string, bool)

func (ChargeItemDefinition) ResourceType

func (r ChargeItemDefinition) ResourceType() string

func (ChargeItemDefinition) String

func (r ChargeItemDefinition) String() string

func (*ChargeItemDefinition) UnmarshalJSON

func (r *ChargeItemDefinition) UnmarshalJSON(b []byte) error

func (*ChargeItemDefinition) UnmarshalXML

func (r *ChargeItemDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ChargeItemDefinitionApplicability

type ChargeItemDefinitionApplicability struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A brief, natural language description of the condition that effectively communicates the intended semantics.
	Description *String
	// The media type of the language for the expression, e.g. "text/cql" for Clinical Query Language expressions or "text/fhirpath" for FHIRPath expressions.
	Language *String
	// An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied.
	Expression *String
}

Expressions that describe applicability criteria for the billing code.

func (ChargeItemDefinitionApplicability) MarshalJSON

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

func (ChargeItemDefinitionApplicability) MarshalXML

func (ChargeItemDefinitionApplicability) MemSize

func (*ChargeItemDefinitionApplicability) UnmarshalXML

type ChargeItemDefinitionPropertyGroup

type ChargeItemDefinitionPropertyGroup struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Expressions that describe applicability criteria for the priceComponent.
	Applicability []ChargeItemDefinitionApplicability
	// 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.
	PriceComponent []ChargeItemDefinitionPropertyGroupPriceComponent
}

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

func (ChargeItemDefinitionPropertyGroup) MarshalJSON

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

func (ChargeItemDefinitionPropertyGroup) MarshalXML

func (ChargeItemDefinitionPropertyGroup) MemSize

func (*ChargeItemDefinitionPropertyGroup) UnmarshalXML

type ChargeItemDefinitionPropertyGroupPriceComponent

type ChargeItemDefinitionPropertyGroupPriceComponent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// This code identifies the type of the component.
	Type Code
	// A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.
	Code *CodeableConcept
	// The factor that has been applied on the base price for calculating this component.
	Factor *Decimal
	// The amount calculated for this component.
	Amount *Money
}

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.

func (ChargeItemDefinitionPropertyGroupPriceComponent) MarshalJSON

func (ChargeItemDefinitionPropertyGroupPriceComponent) MarshalXML

func (ChargeItemDefinitionPropertyGroupPriceComponent) MemSize

func (*ChargeItemDefinitionPropertyGroupPriceComponent) UnmarshalXML

type ChargeItemPerformer

type ChargeItemPerformer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Describes the type of performance or participation(e.g. primary surgeon, anesthesiologiest, etc.).
	Function *CodeableConcept
	// The device, practitioner, etc. who performed or participated in the service.
	Actor Reference
}

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

func (ChargeItemPerformer) MarshalJSON

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

func (ChargeItemPerformer) MarshalXML

func (r ChargeItemPerformer) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ChargeItemPerformer) MemSize

func (r ChargeItemPerformer) MemSize() int

func (*ChargeItemPerformer) UnmarshalXML

func (r *ChargeItemPerformer) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Citation

type Citation struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this citation when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the citation when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the citation author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the citation. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the citation.
	Title *String
	// The status of this summary. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this citation is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the citation was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the citation changes.
	Date *DateTime
	// The name of the organization or individual that published the citation.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the citation from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate citation instances.
	UseContext []UsageContext
	// A legal or geographic region in which the citation is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this citation is needed and why it has been designed as it has.
	Purpose *Markdown
	// Use and/or publishing restrictions for the Citation, not for the cited artifact.
	Copyright *Markdown
	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate *Date
	// The period during which the citation content was or is planned to be in active use.
	EffectivePeriod *Period
	// Who authored the Citation.
	Author []ContactDetail
	// Who edited the Citation.
	Editor []ContactDetail
	// Who reviewed the Citation.
	Reviewer []ContactDetail
	// Who endorsed the Citation.
	Endorser []ContactDetail
	// A human-readable display of the citation.
	Summary []CitationSummary
	// The assignment to an organizing scheme.
	Classification []CitationClassification
	// Used for general notes and annotations not coded elsewhere.
	Note []Annotation
	// The status of the citation.
	CurrentState []CodeableConcept
	// An effective date or period for a status of the citation.
	StatusDate []CitationStatusDate
	// Artifact related to the Citation Resource.
	RelatesTo []CitationRelatesTo
	// The article or artifact being described.
	CitedArtifact *CitationCitedArtifact
}

The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources.

func (Citation) MarshalJSON

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

func (Citation) MarshalXML

func (r Citation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Citation) MemSize

func (r Citation) MemSize() int

func (Citation) ResourceId

func (r Citation) ResourceId() (string, bool)

func (Citation) ResourceType

func (r Citation) ResourceType() string

func (Citation) String

func (r Citation) String() string

func (*Citation) UnmarshalJSON

func (r *Citation) UnmarshalJSON(b []byte) error

func (*Citation) UnmarshalXML

func (r *Citation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CitationCitedArtifact

type CitationCitedArtifact struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A formal identifier that is used to identify this citation when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// A formal identifier that is used to identify things closely related to this citation.
	RelatedIdentifier []Identifier
	// When the cited artifact was accessed.
	DateAccessed *DateTime
	// The defined version of the cited artifact.
	Version *CitationCitedArtifactVersion
	// The status of the cited artifact.
	CurrentState []CodeableConcept
	// An effective date or period for a status of the cited artifact.
	StatusDate []CitationCitedArtifactStatusDate
	// The title details of the article or artifact.
	Title []CitationCitedArtifactTitle
	// Summary of the article or artifact.
	Abstract []CitationCitedArtifactAbstract
	// The component of the article or artifact.
	Part *CitationCitedArtifactPart
	// The artifact related to the cited artifact.
	RelatesTo []CitationCitedArtifactRelatesTo
	// If multiple, used to represent alternative forms of the article that are not separate citations.
	PublicationForm []CitationCitedArtifactPublicationForm
	// Used for any URL for the article or artifact cited.
	WebLocation []CitationCitedArtifactWebLocation
	// The assignment to an organizing scheme.
	Classification []CitationCitedArtifactClassification
	// This element is used to list authors and other contributors, their contact information, specific contributions, and summary statements.
	Contributorship *CitationCitedArtifactContributorship
	// Any additional information or content for the article or artifact.
	Note []Annotation
}

The article or artifact being described.

func (CitationCitedArtifact) MarshalJSON

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

func (CitationCitedArtifact) MarshalXML

func (r CitationCitedArtifact) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CitationCitedArtifact) MemSize

func (r CitationCitedArtifact) MemSize() int

func (*CitationCitedArtifact) UnmarshalXML

func (r *CitationCitedArtifact) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CitationCitedArtifactAbstract

type CitationCitedArtifactAbstract struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Used to express the reason or specific aspect for the abstract.
	Type *CodeableConcept
	// Used to express the specific language.
	Language *CodeableConcept
	// Abstract content.
	Text Markdown
	// Copyright notice for the abstract.
	Copyright *Markdown
}

Summary of the article or artifact.

func (CitationCitedArtifactAbstract) MarshalJSON

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

func (CitationCitedArtifactAbstract) MarshalXML

func (CitationCitedArtifactAbstract) MemSize

func (r CitationCitedArtifactAbstract) MemSize() int

func (*CitationCitedArtifactAbstract) UnmarshalXML

func (r *CitationCitedArtifactAbstract) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CitationCitedArtifactClassification

type CitationCitedArtifactClassification struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The kind of classifier (e.g. publication type, keyword).
	Type *CodeableConcept
	// The specific classification value.
	Classifier []CodeableConcept
	// Provenance and copyright of classification.
	WhoClassified *CitationCitedArtifactClassificationWhoClassified
}

The assignment to an organizing scheme.

func (CitationCitedArtifactClassification) MarshalJSON

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

func (CitationCitedArtifactClassification) MarshalXML

func (CitationCitedArtifactClassification) MemSize

func (*CitationCitedArtifactClassification) UnmarshalXML

type CitationCitedArtifactClassificationWhoClassified

type CitationCitedArtifactClassificationWhoClassified struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Person who created the classification.
	Person *Reference
	// Organization who created the classification.
	Organization *Reference
	// The publisher of the classification, not the publisher of the article or artifact being cited.
	Publisher *Reference
	// Rights management statement for the classification.
	ClassifierCopyright *String
	// Acceptable to re-use the classification.
	FreeToShare *Boolean
}

Provenance and copyright of classification.

func (CitationCitedArtifactClassificationWhoClassified) MarshalJSON

func (CitationCitedArtifactClassificationWhoClassified) MarshalXML

func (CitationCitedArtifactClassificationWhoClassified) MemSize

func (*CitationCitedArtifactClassificationWhoClassified) UnmarshalXML

type CitationCitedArtifactContributorship

type CitationCitedArtifactContributorship struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates if the list includes all authors and/or contributors.
	Complete *Boolean
	// An individual entity named in the author list or contributor list.
	Entry []CitationCitedArtifactContributorshipEntry
	// Used to record a display of the author/contributor list without separate coding for each list member.
	Summary []CitationCitedArtifactContributorshipSummary
}

This element is used to list authors and other contributors, their contact information, specific contributions, and summary statements.

func (CitationCitedArtifactContributorship) MarshalJSON

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

func (CitationCitedArtifactContributorship) MarshalXML

func (CitationCitedArtifactContributorship) MemSize

func (*CitationCitedArtifactContributorship) UnmarshalXML

type CitationCitedArtifactContributorshipEntry

type CitationCitedArtifactContributorshipEntry struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A name associated with the individual.
	Name *HumanName
	// Initials for forename.
	Initials *String
	// Used for collective or corporate name as an author.
	CollectiveName *String
	// Unique person identifier.
	Identifier []Identifier
	// Organization affiliated with the entity.
	AffiliationInfo []CitationCitedArtifactContributorshipEntryAffiliationInfo
	// Physical mailing address for the author or contributor.
	Address []Address
	// Email or telephone contact methods for the author or contributor.
	Telecom []ContactPoint
	// This element identifies the specific nature of an individual’s contribution with respect to the cited work.
	ContributionType []CodeableConcept
	// The role of the contributor (e.g. author, editor, reviewer).
	Role *CodeableConcept
	// Contributions with accounting for time or number.
	ContributionInstance []CitationCitedArtifactContributorshipEntryContributionInstance
	// Indication of which contributor is the corresponding contributor for the role.
	CorrespondingContact *Boolean
	// Used to code order of authors.
	ListOrder *PositiveInt
}

An individual entity named in the author list or contributor list.

func (CitationCitedArtifactContributorshipEntry) MarshalJSON

func (CitationCitedArtifactContributorshipEntry) MarshalXML

func (CitationCitedArtifactContributorshipEntry) MemSize

func (*CitationCitedArtifactContributorshipEntry) UnmarshalXML

type CitationCitedArtifactContributorshipEntryAffiliationInfo

type CitationCitedArtifactContributorshipEntryAffiliationInfo struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Display for the organization.
	Affiliation *String
	// Role within the organization, such as professional title.
	Role *String
	// Identifier for the organization.
	Identifier []Identifier
}

Organization affiliated with the entity.

func (CitationCitedArtifactContributorshipEntryAffiliationInfo) MarshalJSON

func (CitationCitedArtifactContributorshipEntryAffiliationInfo) MarshalXML

func (CitationCitedArtifactContributorshipEntryAffiliationInfo) MemSize

func (*CitationCitedArtifactContributorshipEntryAffiliationInfo) UnmarshalXML

type CitationCitedArtifactContributorshipEntryContributionInstance

type CitationCitedArtifactContributorshipEntryContributionInstance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The specific contribution.
	Type CodeableConcept
	// The time that the contribution was made.
	Time *DateTime
}

Contributions with accounting for time or number.

func (CitationCitedArtifactContributorshipEntryContributionInstance) MarshalJSON

func (CitationCitedArtifactContributorshipEntryContributionInstance) MarshalXML

func (CitationCitedArtifactContributorshipEntryContributionInstance) MemSize

func (*CitationCitedArtifactContributorshipEntryContributionInstance) UnmarshalXML

type CitationCitedArtifactContributorshipSummary

type CitationCitedArtifactContributorshipSummary struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Used most commonly to express an author list or a contributorship statement.
	Type *CodeableConcept
	// The format for the display string.
	Style *CodeableConcept
	// Used to code the producer or rule for creating the display string.
	Source *CodeableConcept
	// The display string for the author list, contributor list, or contributorship statement.
	Value Markdown
}

Used to record a display of the author/contributor list without separate coding for each list member.

func (CitationCitedArtifactContributorshipSummary) MarshalJSON

func (CitationCitedArtifactContributorshipSummary) MarshalXML

func (CitationCitedArtifactContributorshipSummary) MemSize

func (*CitationCitedArtifactContributorshipSummary) UnmarshalXML

type CitationCitedArtifactPart

type CitationCitedArtifactPart struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The kind of component.
	Type *CodeableConcept
	// The specification of the component.
	Value *String
	// The citation for the full article or artifact.
	BaseCitation *Reference
}

The component of the article or artifact.

func (CitationCitedArtifactPart) MarshalJSON

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

func (CitationCitedArtifactPart) MarshalXML

func (r CitationCitedArtifactPart) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CitationCitedArtifactPart) MemSize

func (r CitationCitedArtifactPart) MemSize() int

func (*CitationCitedArtifactPart) UnmarshalXML

func (r *CitationCitedArtifactPart) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CitationCitedArtifactPublicationForm

type CitationCitedArtifactPublicationForm struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The collection the cited article or artifact is published in.
	PublishedIn *CitationCitedArtifactPublicationFormPublishedIn
	// The specific issue in which the cited article resides.
	PeriodicRelease *CitationCitedArtifactPublicationFormPeriodicRelease
	// The date the article was added to the database, or the date the article was released (which may differ from the journal issue publication date).
	ArticleDate *DateTime
	// The date the article was last revised or updated in the database.
	LastRevisionDate *DateTime
	// Language in which this form of the article is published.
	Language []CodeableConcept
	// Entry number or identifier for inclusion in a database.
	AccessionNumber *String
	// Used for full display of pagination.
	PageString *String
	// Used for isolated representation of first page.
	FirstPage *String
	// Used for isolated representation of last page.
	LastPage *String
	// Actual or approximate number of pages or screens.
	PageCount *String
	// Copyright notice for the full article or artifact.
	Copyright *Markdown
}

If multiple, used to represent alternative forms of the article that are not separate citations.

func (CitationCitedArtifactPublicationForm) MarshalJSON

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

func (CitationCitedArtifactPublicationForm) MarshalXML

func (CitationCitedArtifactPublicationForm) MemSize

func (*CitationCitedArtifactPublicationForm) UnmarshalXML

type CitationCitedArtifactPublicationFormPeriodicRelease

type CitationCitedArtifactPublicationFormPeriodicRelease struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Describes the form of the medium cited. Common codes are "Internet" or "Print".
	CitedMedium *CodeableConcept
	// Volume number of journal in which the article is published.
	Volume *String
	// Issue, part or supplement of journal in which the article is published.
	Issue *String
	// Defining the date on which the issue of the journal was published.
	DateOfPublication *CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication
}

The specific issue in which the cited article resides.

func (CitationCitedArtifactPublicationFormPeriodicRelease) MarshalJSON

func (CitationCitedArtifactPublicationFormPeriodicRelease) MarshalXML

func (CitationCitedArtifactPublicationFormPeriodicRelease) MemSize

func (*CitationCitedArtifactPublicationFormPeriodicRelease) UnmarshalXML

type CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication

type CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Date on which the issue of the journal was published.
	Date *Date
	// Year on which the issue of the journal was published.
	Year *String
	// Month on which the issue of the journal was published.
	Month *String
	// Day on which the issue of the journal was published.
	Day *String
	// Spring, Summer, Fall/Autumn, Winter.
	Season *String
	// Text representation of the date of which the issue of the journal was published.
	Text *String
}

Defining the date on which the issue of the journal was published.

func (CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication) MarshalJSON

func (CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication) MarshalXML

func (CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication) MemSize

func (*CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublication) UnmarshalXML

type CitationCitedArtifactPublicationFormPublishedIn

type CitationCitedArtifactPublicationFormPublishedIn struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Kind of container (e.g. Periodical, database, or book).
	Type *CodeableConcept
	// Journal identifiers include ISSN, ISO Abbreviation and NLMuniqueID; Book identifiers include ISBN.
	Identifier []Identifier
	// Name of the database or title of the book or journal.
	Title *String
	// Name of the publisher.
	Publisher *Reference
	// Geographic location of the publisher.
	PublisherLocation *String
}

The collection the cited article or artifact is published in.

func (CitationCitedArtifactPublicationFormPublishedIn) MarshalJSON

func (CitationCitedArtifactPublicationFormPublishedIn) MarshalXML

func (CitationCitedArtifactPublicationFormPublishedIn) MemSize

func (*CitationCitedArtifactPublicationFormPublishedIn) UnmarshalXML

type CitationCitedArtifactRelatesTo

type CitationCitedArtifactRelatesTo struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// How the cited artifact relates to the target artifact.
	RelationshipType CodeableConcept
	// The clasification of the related artifact.
	TargetClassifier []CodeableConcept
	// The article or artifact that the cited artifact is related to.
	Target isCitationCitedArtifactRelatesToTarget
}

The artifact related to the cited artifact.

func (CitationCitedArtifactRelatesTo) MarshalJSON

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

func (CitationCitedArtifactRelatesTo) MarshalXML

func (CitationCitedArtifactRelatesTo) MemSize

func (r CitationCitedArtifactRelatesTo) MemSize() int

func (*CitationCitedArtifactRelatesTo) UnmarshalXML

func (r *CitationCitedArtifactRelatesTo) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CitationCitedArtifactStatusDate

type CitationCitedArtifactStatusDate struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Classification of the status.
	Activity CodeableConcept
	// Either occurred or expected.
	Actual *Boolean
	// When the status started and/or ended.
	Period Period
}

An effective date or period for a status of the cited artifact.

func (CitationCitedArtifactStatusDate) MarshalJSON

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

func (CitationCitedArtifactStatusDate) MarshalXML

func (CitationCitedArtifactStatusDate) MemSize

func (*CitationCitedArtifactStatusDate) UnmarshalXML

func (r *CitationCitedArtifactStatusDate) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CitationCitedArtifactTitle

type CitationCitedArtifactTitle struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Used to express the reason or specific aspect for the title.
	Type []CodeableConcept
	// Used to express the specific language.
	Language *CodeableConcept
	// The title of the article or artifact.
	Text Markdown
}

The title details of the article or artifact.

func (CitationCitedArtifactTitle) MarshalJSON

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

func (CitationCitedArtifactTitle) MarshalXML

func (r CitationCitedArtifactTitle) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CitationCitedArtifactTitle) MemSize

func (r CitationCitedArtifactTitle) MemSize() int

func (*CitationCitedArtifactTitle) UnmarshalXML

func (r *CitationCitedArtifactTitle) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CitationCitedArtifactVersion

type CitationCitedArtifactVersion struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The version number or other version identifier.
	Value String
	// Citation for the main version of the cited artifact.
	BaseCitation *Reference
}

The defined version of the cited artifact.

func (CitationCitedArtifactVersion) MarshalJSON

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

func (CitationCitedArtifactVersion) MarshalXML

func (CitationCitedArtifactVersion) MemSize

func (r CitationCitedArtifactVersion) MemSize() int

func (*CitationCitedArtifactVersion) UnmarshalXML

func (r *CitationCitedArtifactVersion) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CitationCitedArtifactWebLocation

type CitationCitedArtifactWebLocation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Code the reason for different URLs, e.g. abstract and full-text.
	Type *CodeableConcept
	// The specific URL.
	Url *Uri
}

Used for any URL for the article or artifact cited.

func (CitationCitedArtifactWebLocation) MarshalJSON

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

func (CitationCitedArtifactWebLocation) MarshalXML

func (CitationCitedArtifactWebLocation) MemSize

func (*CitationCitedArtifactWebLocation) UnmarshalXML

type CitationClassification

type CitationClassification struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The kind of classifier (e.g. publication type, keyword).
	Type *CodeableConcept
	// The specific classification value.
	Classifier []CodeableConcept
}

The assignment to an organizing scheme.

func (CitationClassification) MarshalJSON

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

func (CitationClassification) MarshalXML

func (r CitationClassification) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CitationClassification) MemSize

func (r CitationClassification) MemSize() int

func (*CitationClassification) UnmarshalXML

func (r *CitationClassification) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CitationRelatesTo

type CitationRelatesTo struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// How the Citation resource relates to the target artifact.
	RelationshipType CodeableConcept
	// The clasification of the related artifact.
	TargetClassifier []CodeableConcept
	// The article or artifact that the Citation Resource is related to.
	Target isCitationRelatesToTarget
}

Artifact related to the Citation Resource.

func (CitationRelatesTo) MarshalJSON

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

func (CitationRelatesTo) MarshalXML

func (r CitationRelatesTo) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CitationRelatesTo) MemSize

func (r CitationRelatesTo) MemSize() int

func (*CitationRelatesTo) UnmarshalXML

func (r *CitationRelatesTo) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CitationStatusDate

type CitationStatusDate struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Classification of the status.
	Activity CodeableConcept
	// Either occurred or expected.
	Actual *Boolean
	// When the status started and/or ended.
	Period Period
}

An effective date or period for a status of the citation.

func (CitationStatusDate) MarshalJSON

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

func (CitationStatusDate) MarshalXML

func (r CitationStatusDate) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CitationStatusDate) MemSize

func (r CitationStatusDate) MemSize() int

func (*CitationStatusDate) UnmarshalXML

func (r *CitationStatusDate) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CitationSummary

type CitationSummary struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Format for display of the citation.
	Style *CodeableConcept
	// The human-readable display of the citation.
	Text Markdown
}

A human-readable display of the citation.

func (CitationSummary) MarshalJSON

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

func (CitationSummary) MarshalXML

func (r CitationSummary) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CitationSummary) MemSize

func (r CitationSummary) MemSize() int

func (*CitationSummary) UnmarshalXML

func (r *CitationSummary) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Claim

type Claim struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this claim.
	Identifier []Identifier
	// The status of the resource instance.
	Status Code
	// The category of claim, e.g. oral, pharmacy, vision, institutional, professional.
	Type CodeableConcept
	// A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.
	SubType *CodeableConcept
	// A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.
	Use Code
	// The party to whom the professional services and/or products have been supplied or are being considered and for whom actual or forecast reimbursement is sought.
	Patient Reference
	// The period for which charges are being submitted.
	BillablePeriod *Period
	// The date this resource was created.
	Created DateTime
	// Individual who created the claim, predetermination or preauthorization.
	Enterer *Reference
	// The Insurer who is target of the request.
	Insurer *Reference
	// The provider which is responsible for the claim, predetermination or preauthorization.
	Provider Reference
	// The provider-required urgency of processing the request. Typical values include: stat, routine deferred.
	Priority CodeableConcept
	// A code to indicate whether and for whom funds are to be reserved for future claims.
	FundsReserve *CodeableConcept
	// Other claims which are related to this claim such as prior submissions or claims for related services or for the same event.
	Related []ClaimRelated
	// Prescription to support the dispensing of pharmacy, device or vision products.
	Prescription *Reference
	// Original prescription which has been superseded by this prescription to support the dispensing of pharmacy services, medications or products.
	OriginalPrescription *Reference
	// The party to be reimbursed for cost of the products and services according to the terms of the policy.
	Payee *ClaimPayee
	// A reference to a referral resource.
	Referral *Reference
	// Facility where the services were provided.
	Facility *Reference
	// The members of the team who provided the products and services.
	CareTeam []ClaimCareTeam
	// Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.
	SupportingInfo []ClaimSupportingInfo
	// Information about diagnoses relevant to the claim items.
	Diagnosis []ClaimDiagnosis
	// Procedures performed on the patient relevant to the billing items with the claim.
	Procedure []ClaimProcedure
	// Financial instruments for reimbursement for the health care products and services specified on the claim.
	Insurance []ClaimInsurance
	// Details of an accident which resulted in injuries which required the products and services listed in the claim.
	Accident *ClaimAccident
	// 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.
	Item []ClaimItem
	// The total value of the all the items in the claim.
	Total *Money
}

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.

The Claim resource is used by providers to exchange services and products rendered to patients or planned to be rendered with insurers for reimbuserment. It is also used by insurers to exchange claims information with statutory reporting and data analytics firms.

func (Claim) MarshalJSON

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

func (Claim) MarshalXML

func (r Claim) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Claim) MemSize

func (r Claim) MemSize() int

func (Claim) ResourceId

func (r Claim) ResourceId() (string, bool)

func (Claim) ResourceType

func (r Claim) ResourceType() string

func (Claim) String

func (r Claim) String() string

func (*Claim) UnmarshalJSON

func (r *Claim) UnmarshalJSON(b []byte) error

func (*Claim) UnmarshalXML

func (r *Claim) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimAccident

type ClaimAccident struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Date of an accident event  related to the products and services contained in the claim.
	Date Date
	// The type or context of the accident event for the purposes of selection of potential insurance coverages and determination of coordination between insurers.
	Type *CodeableConcept
	// The physical location of the accident event.
	Location isClaimAccidentLocation
}

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

func (ClaimAccident) MarshalJSON

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

func (ClaimAccident) MarshalXML

func (r ClaimAccident) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimAccident) MemSize

func (r ClaimAccident) MemSize() int

func (*ClaimAccident) UnmarshalXML

func (r *ClaimAccident) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimCareTeam

type ClaimCareTeam struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify care team entries.
	Sequence PositiveInt
	// Member of the team who provided the product or service.
	Provider Reference
	// The party who is billing and/or responsible for the claimed products or services.
	Responsible *Boolean
	// The lead, assisting or supervising practitioner and their discipline if a multidisciplinary team.
	Role *CodeableConcept
	// The qualification of the practitioner which is applicable for this service.
	Qualification *CodeableConcept
}

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

func (ClaimCareTeam) MarshalJSON

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

func (ClaimCareTeam) MarshalXML

func (r ClaimCareTeam) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimCareTeam) MemSize

func (r ClaimCareTeam) MemSize() int

func (*ClaimCareTeam) UnmarshalXML

func (r *ClaimCareTeam) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimDiagnosis

type ClaimDiagnosis struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify diagnosis entries.
	Sequence PositiveInt
	// The nature of illness or problem in a coded form or as a reference to an external defined Condition.
	Diagnosis isClaimDiagnosisDiagnosis
	// When the condition was observed or the relative ranking.
	Type []CodeableConcept
	// Indication of whether the diagnosis was present on admission to a facility.
	OnAdmission *CodeableConcept
	// A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.
	PackageCode *CodeableConcept
}

Information about diagnoses relevant to the claim items.

func (ClaimDiagnosis) MarshalJSON

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

func (ClaimDiagnosis) MarshalXML

func (r ClaimDiagnosis) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimDiagnosis) MemSize

func (r ClaimDiagnosis) MemSize() int

func (*ClaimDiagnosis) UnmarshalXML

func (r *ClaimDiagnosis) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimInsurance

type ClaimInsurance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify insurance entries and provide a sequence of coverages to convey coordination of benefit order.
	Sequence PositiveInt
	// A flag to indicate that this Coverage is to be used for adjudication of this claim when set to true.
	Focal Boolean
	// The business identifier to be used when the claim is sent for adjudication against this insurance policy.
	Identifier *Identifier
	// Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.
	Coverage Reference
	// A business agreement number established between the provider and the insurer for special business processing purposes.
	BusinessArrangement *String
	// Reference numbers previously provided by the insurer to the provider to be quoted on subsequent claims containing services or products related to the prior authorization.
	PreAuthRef []String
	// The result of the adjudication of the line items for the Coverage specified in this insurance.
	ClaimResponse *Reference
}

Financial instruments for reimbursement for the health care products and services specified on the claim.

func (ClaimInsurance) MarshalJSON

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

func (ClaimInsurance) MarshalXML

func (r ClaimInsurance) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimInsurance) MemSize

func (r ClaimInsurance) MemSize() int

func (*ClaimInsurance) UnmarshalXML

func (r *ClaimInsurance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimItem

type ClaimItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify item entries.
	Sequence PositiveInt
	// CareTeam members related to this service or product.
	CareTeamSequence []PositiveInt
	// Diagnosis applicable for this service or product.
	DiagnosisSequence []PositiveInt
	// Procedures applicable for this service or product.
	ProcedureSequence []PositiveInt
	// Exceptions, special conditions and supporting information applicable for this service or product.
	InformationSequence []PositiveInt
	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept
	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// Identifies the program under which this may be recovered.
	ProgramCode []CodeableConcept
	// The date or dates when the service or product was supplied, performed or completed.
	Serviced isClaimItemServiced
	// Where the product or service was provided.
	Location isClaimItemLocation
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// Unique Device Identifiers associated with this line item.
	Udi []Reference
	// Physical service site on the patient (limb, tooth, etc.).
	BodySite *CodeableConcept
	// A region or surface of the bodySite, e.g. limb region or tooth surface(s).
	SubSite []CodeableConcept
	// The Encounters during which this Claim was created or to which the creation of this record is tightly associated.
	Encounter []Reference
	// A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.
	Detail []ClaimItemDetail
}

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.

func (ClaimItem) MarshalJSON

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

func (ClaimItem) MarshalXML

func (r ClaimItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimItem) MemSize

func (r ClaimItem) MemSize() int

func (*ClaimItem) UnmarshalXML

func (r *ClaimItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimItemDetail

type ClaimItemDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify item entries.
	Sequence PositiveInt
	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept
	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// Identifies the program under which this may be recovered.
	ProgramCode []CodeableConcept
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// Unique Device Identifiers associated with this line item.
	Udi []Reference
	// A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.
	SubDetail []ClaimItemDetailSubDetail
}

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

func (ClaimItemDetail) MarshalJSON

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

func (ClaimItemDetail) MarshalXML

func (r ClaimItemDetail) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimItemDetail) MemSize

func (r ClaimItemDetail) MemSize() int

func (*ClaimItemDetail) UnmarshalXML

func (r *ClaimItemDetail) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimItemDetailSubDetail

type ClaimItemDetailSubDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify item entries.
	Sequence PositiveInt
	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept
	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// Identifies the program under which this may be recovered.
	ProgramCode []CodeableConcept
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// Unique Device Identifiers associated with this line item.
	Udi []Reference
}

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

func (ClaimItemDetailSubDetail) MarshalJSON

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

func (ClaimItemDetailSubDetail) MarshalXML

func (r ClaimItemDetailSubDetail) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimItemDetailSubDetail) MemSize

func (r ClaimItemDetailSubDetail) MemSize() int

func (*ClaimItemDetailSubDetail) UnmarshalXML

func (r *ClaimItemDetailSubDetail) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimPayee

type ClaimPayee struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type of Party to be reimbursed: subscriber, provider, other.
	Type CodeableConcept
	// Reference to the individual or organization to whom any payment will be made.
	Party *Reference
}

The party to be reimbursed for cost of the products and services according to the terms of the policy.

func (ClaimPayee) MarshalJSON

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

func (ClaimPayee) MarshalXML

func (r ClaimPayee) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimPayee) MemSize

func (r ClaimPayee) MemSize() int

func (*ClaimPayee) UnmarshalXML

func (r *ClaimPayee) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimProcedure

type ClaimProcedure struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify procedure entries.
	Sequence PositiveInt
	// When the condition was observed or the relative ranking.
	Type []CodeableConcept
	// Date and optionally time the procedure was performed.
	Date *DateTime
	// The code or reference to a Procedure resource which identifies the clinical intervention performed.
	Procedure isClaimProcedureProcedure
	// Unique Device Identifiers associated with this line item.
	Udi []Reference
}

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

func (ClaimProcedure) MarshalJSON

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

func (ClaimProcedure) MarshalXML

func (r ClaimProcedure) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimProcedure) MemSize

func (r ClaimProcedure) MemSize() int

func (*ClaimProcedure) UnmarshalXML

func (r *ClaimProcedure) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimRelated

type ClaimRelated struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Reference to a related claim.
	Claim *Reference
	// A code to convey how the claims are related.
	Relationship *CodeableConcept
	// An alternate organizational reference to the case or file to which this particular claim pertains.
	Reference *Identifier
}

Other claims which are related to this claim such as prior submissions or claims for related services or for the same event.

func (ClaimRelated) MarshalJSON

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

func (ClaimRelated) MarshalXML

func (r ClaimRelated) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimRelated) MemSize

func (r ClaimRelated) MemSize() int

func (*ClaimRelated) UnmarshalXML

func (r *ClaimRelated) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimResponse

type ClaimResponse struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this claim response.
	Identifier []Identifier
	// The status of the resource instance.
	Status Code
	// A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.
	Type CodeableConcept
	// A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.
	SubType *CodeableConcept
	// A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.
	Use Code
	// The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for facast reimbursement is sought.
	Patient Reference
	// The date this resource was created.
	Created DateTime
	// The party responsible for authorization, adjudication and reimbursement.
	Insurer Reference
	// The provider which is responsible for the claim, predetermination or preauthorization.
	Requestor *Reference
	// Original request resource reference.
	Request *Reference
	// The outcome of the claim, predetermination, or preauthorization processing.
	Outcome Code
	// A human readable description of the status of the adjudication.
	Disposition *String
	// Reference from the Insurer which is used in later communications which refers to this adjudication.
	PreAuthRef *String
	// The time frame during which this authorization is effective.
	PreAuthPeriod *Period
	// Type of Party to be reimbursed: subscriber, provider, other.
	PayeeType *CodeableConcept
	// 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.
	Item []ClaimResponseItem
	// The first-tier service adjudications for payor added product or service lines.
	AddItem []ClaimResponseAddItem
	// The adjudication results which are presented at the header level rather than at the line-item or add-item levels.
	Adjudication []ClaimResponseItemAdjudication
	// Categorized monetary totals for the adjudication.
	Total []ClaimResponseTotal
	// Payment details for the adjudication of the claim.
	Payment *ClaimResponsePayment
	// A code, used only on a response to a preauthorization, to indicate whether the benefits payable have been reserved and for whom.
	FundsReserve *CodeableConcept
	// A code for the form to be used for printing the content.
	FormCode *CodeableConcept
	// The actual form, by reference or inclusion, for printing the content or an EOB.
	Form *Attachment
	// A note that describes or explains adjudication results in a human readable form.
	ProcessNote []ClaimResponseProcessNote
	// Request for additional supporting or authorizing information.
	CommunicationRequest []Reference
	// Financial instruments for reimbursement for the health care products and services specified on the claim.
	Insurance []ClaimResponseInsurance
	// Errors encountered during the processing of the adjudication.
	Error []ClaimResponseError
}

This resource provides the adjudication details from the processing of a Claim resource.

func (ClaimResponse) MarshalJSON

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

func (ClaimResponse) MarshalXML

func (r ClaimResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimResponse) MemSize

func (r ClaimResponse) MemSize() int

func (ClaimResponse) ResourceId

func (r ClaimResponse) ResourceId() (string, bool)

func (ClaimResponse) ResourceType

func (r ClaimResponse) ResourceType() string

func (ClaimResponse) String

func (r ClaimResponse) String() string

func (*ClaimResponse) UnmarshalJSON

func (r *ClaimResponse) UnmarshalJSON(b []byte) error

func (*ClaimResponse) UnmarshalXML

func (r *ClaimResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimResponseAddItem

type ClaimResponseAddItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Claim items which this service line is intended to replace.
	ItemSequence []PositiveInt
	// The sequence number of the details within the claim item which this line is intended to replace.
	DetailSequence []PositiveInt
	// The sequence number of the sub-details within the details within the claim item which this line is intended to replace.
	SubdetailSequence []PositiveInt
	// The providers who are authorized for the services rendered to the patient.
	Provider []Reference
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// Identifies the program under which this may be recovered.
	ProgramCode []CodeableConcept
	// The date or dates when the service or product was supplied, performed or completed.
	Serviced isClaimResponseAddItemServiced
	// Where the product or service was provided.
	Location isClaimResponseAddItemLocation
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// Physical service site on the patient (limb, tooth, etc.).
	BodySite *CodeableConcept
	// A region or surface of the bodySite, e.g. limb region or tooth surface(s).
	SubSite []CodeableConcept
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// The adjudication results.
	Adjudication []ClaimResponseItemAdjudication
	// The second-tier service adjudications for payor added services.
	Detail []ClaimResponseAddItemDetail
}

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

func (ClaimResponseAddItem) MarshalJSON

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

func (ClaimResponseAddItem) MarshalXML

func (r ClaimResponseAddItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimResponseAddItem) MemSize

func (r ClaimResponseAddItem) MemSize() int

func (*ClaimResponseAddItem) UnmarshalXML

func (r *ClaimResponseAddItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimResponseAddItemDetail

type ClaimResponseAddItemDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// The adjudication results.
	Adjudication []ClaimResponseItemAdjudication
	// The third-tier service adjudications for payor added services.
	SubDetail []ClaimResponseAddItemDetailSubDetail
}

The second-tier service adjudications for payor added services.

func (ClaimResponseAddItemDetail) MarshalJSON

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

func (ClaimResponseAddItemDetail) MarshalXML

func (r ClaimResponseAddItemDetail) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimResponseAddItemDetail) MemSize

func (r ClaimResponseAddItemDetail) MemSize() int

func (*ClaimResponseAddItemDetail) UnmarshalXML

func (r *ClaimResponseAddItemDetail) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimResponseAddItemDetailSubDetail

type ClaimResponseAddItemDetailSubDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// The adjudication results.
	Adjudication []ClaimResponseItemAdjudication
}

The third-tier service adjudications for payor added services.

func (ClaimResponseAddItemDetailSubDetail) MarshalJSON

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

func (ClaimResponseAddItemDetailSubDetail) MarshalXML

func (ClaimResponseAddItemDetailSubDetail) MemSize

func (*ClaimResponseAddItemDetailSubDetail) UnmarshalXML

type ClaimResponseError

type ClaimResponseError struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The sequence number of the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure.
	ItemSequence *PositiveInt
	// The sequence number of the detail within the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure.
	DetailSequence *PositiveInt
	// The sequence number of the sub-detail within the detail within the line item submitted which contains the error. This value is omitted when the error occurs outside of the item structure.
	SubDetailSequence *PositiveInt
	// An error code, from a specified code system, which details why the claim could not be adjudicated.
	Code CodeableConcept
}

Errors encountered during the processing of the adjudication.

func (ClaimResponseError) MarshalJSON

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

func (ClaimResponseError) MarshalXML

func (r ClaimResponseError) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimResponseError) MemSize

func (r ClaimResponseError) MemSize() int

func (*ClaimResponseError) UnmarshalXML

func (r *ClaimResponseError) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimResponseInsurance

type ClaimResponseInsurance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify insurance entries and provide a sequence of coverages to convey coordination of benefit order.
	Sequence PositiveInt
	// A flag to indicate that this Coverage is to be used for adjudication of this claim when set to true.
	Focal Boolean
	// Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.
	Coverage Reference
	// A business agreement number established between the provider and the insurer for special business processing purposes.
	BusinessArrangement *String
	// The result of the adjudication of the line items for the Coverage specified in this insurance.
	ClaimResponse *Reference
}

Financial instruments for reimbursement for the health care products and services specified on the claim.

func (ClaimResponseInsurance) MarshalJSON

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

func (ClaimResponseInsurance) MarshalXML

func (r ClaimResponseInsurance) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimResponseInsurance) MemSize

func (r ClaimResponseInsurance) MemSize() int

func (*ClaimResponseInsurance) UnmarshalXML

func (r *ClaimResponseInsurance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimResponseItem

type ClaimResponseItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely reference the claim item entries.
	ItemSequence PositiveInt
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// 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.
	Adjudication []ClaimResponseItemAdjudication
	// A claim detail. Either a simple (a product or service) or a 'group' of sub-details which are simple items.
	Detail []ClaimResponseItemDetail
}

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.

func (ClaimResponseItem) MarshalJSON

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

func (ClaimResponseItem) MarshalXML

func (r ClaimResponseItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimResponseItem) MemSize

func (r ClaimResponseItem) MemSize() int

func (*ClaimResponseItem) UnmarshalXML

func (r *ClaimResponseItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimResponseItemAdjudication

type ClaimResponseItemAdjudication struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code to indicate the information type of this adjudication record. Information types may include the value submitted, maximum values or percentages allowed or payable under the plan, amounts that: the patient is responsible for in aggregate or pertaining to this item; amounts paid by other coverages; and, the benefit payable for this item.
	Category CodeableConcept
	// A code supporting the understanding of the adjudication result and explaining variance from expected amount.
	Reason *CodeableConcept
	// Monetary amount associated with the category.
	Amount *Money
	// A non-monetary value associated with the category. Mutually exclusive to the amount element above.
	Value *Decimal
}

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.

func (ClaimResponseItemAdjudication) MarshalJSON

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

func (ClaimResponseItemAdjudication) MarshalXML

func (ClaimResponseItemAdjudication) MemSize

func (r ClaimResponseItemAdjudication) MemSize() int

func (*ClaimResponseItemAdjudication) UnmarshalXML

func (r *ClaimResponseItemAdjudication) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimResponseItemDetail

type ClaimResponseItemDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely reference the claim detail entry.
	DetailSequence PositiveInt
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// The adjudication results.
	Adjudication []ClaimResponseItemAdjudication
	// A sub-detail adjudication of a simple product or service.
	SubDetail []ClaimResponseItemDetailSubDetail
}

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

func (ClaimResponseItemDetail) MarshalJSON

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

func (ClaimResponseItemDetail) MarshalXML

func (r ClaimResponseItemDetail) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimResponseItemDetail) MemSize

func (r ClaimResponseItemDetail) MemSize() int

func (*ClaimResponseItemDetail) UnmarshalXML

func (r *ClaimResponseItemDetail) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimResponseItemDetailSubDetail

type ClaimResponseItemDetailSubDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely reference the claim sub-detail entry.
	SubDetailSequence PositiveInt
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// The adjudication results.
	Adjudication []ClaimResponseItemAdjudication
}

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

func (ClaimResponseItemDetailSubDetail) MarshalJSON

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

func (ClaimResponseItemDetailSubDetail) MarshalXML

func (ClaimResponseItemDetailSubDetail) MemSize

func (*ClaimResponseItemDetailSubDetail) UnmarshalXML

type ClaimResponsePayment

type ClaimResponsePayment struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Whether this represents partial or complete payment of the benefits payable.
	Type CodeableConcept
	// Total amount of all adjustments to this payment included in this transaction which are not related to this claim's adjudication.
	Adjustment *Money
	// Reason for the payment adjustment.
	AdjustmentReason *CodeableConcept
	// Estimated date the payment will be issued or the actual issue date of payment.
	Date *Date
	// Benefits payable less any payment adjustment.
	Amount Money
	// Issuer's unique identifier for the payment instrument.
	Identifier *Identifier
}

Payment details for the adjudication of the claim.

func (ClaimResponsePayment) MarshalJSON

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

func (ClaimResponsePayment) MarshalXML

func (r ClaimResponsePayment) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimResponsePayment) MemSize

func (r ClaimResponsePayment) MemSize() int

func (*ClaimResponsePayment) UnmarshalXML

func (r *ClaimResponsePayment) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimResponseProcessNote

type ClaimResponseProcessNote struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify a note entry.
	Number *PositiveInt
	// The business purpose of the note text.
	Type *Code
	// The explanation or description associated with the processing.
	Text String
	// A code to define the language used in the text of the note.
	Language *CodeableConcept
}

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

func (ClaimResponseProcessNote) MarshalJSON

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

func (ClaimResponseProcessNote) MarshalXML

func (r ClaimResponseProcessNote) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimResponseProcessNote) MemSize

func (r ClaimResponseProcessNote) MemSize() int

func (*ClaimResponseProcessNote) UnmarshalXML

func (r *ClaimResponseProcessNote) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimResponseTotal

type ClaimResponseTotal struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code to indicate the information type of this adjudication record. Information types may include: the value submitted, maximum values or percentages allowed or payable under the plan, amounts that the patient is responsible for in aggregate or pertaining to this item, amounts paid by other coverages, and the benefit payable for this item.
	Category CodeableConcept
	// Monetary total amount associated with the category.
	Amount Money
}

Categorized monetary totals for the adjudication.

func (ClaimResponseTotal) MarshalJSON

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

func (ClaimResponseTotal) MarshalXML

func (r ClaimResponseTotal) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimResponseTotal) MemSize

func (r ClaimResponseTotal) MemSize() int

func (*ClaimResponseTotal) UnmarshalXML

func (r *ClaimResponseTotal) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClaimSupportingInfo

type ClaimSupportingInfo struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify supporting information entries.
	Sequence PositiveInt
	// The general class of the information supplied: information; exception; accident, employment; onset, etc.
	Category CodeableConcept
	// System and code pertaining to the specific information regarding special conditions relating to the setting, treatment or patient  for which care is sought.
	Code *CodeableConcept
	// The date when or period to which this information refers.
	Timing isClaimSupportingInfoTiming
	// Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.
	Value isClaimSupportingInfoValue
	// Provides the reason in the situation where a reason code is required in addition to the content.
	Reason *CodeableConcept
}

Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.

func (ClaimSupportingInfo) MarshalJSON

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

func (ClaimSupportingInfo) MarshalXML

func (r ClaimSupportingInfo) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClaimSupportingInfo) MemSize

func (r ClaimSupportingInfo) MemSize() int

func (*ClaimSupportingInfo) UnmarshalXML

func (r *ClaimSupportingInfo) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClinicalImpression

type ClinicalImpression struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this clinical impression by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// Identifies the workflow status of the assessment.
	Status Code
	// Captures the reason for the current state of the ClinicalImpression.
	StatusReason *CodeableConcept
	// Categorizes the type of clinical assessment performed.
	Code *CodeableConcept
	// A summary of the context and/or cause of the assessment - why / where it was performed, and what patient events/status prompted it.
	Description *String
	// The patient or group of individuals assessed as part of this record.
	Subject Reference
	// The Encounter during which this ClinicalImpression was created or to which the creation of this record is tightly associated.
	Encounter *Reference
	// The point in time or period over which the subject was assessed.
	Effective isClinicalImpressionEffective
	// Indicates when the documentation of the assessment was complete.
	Date *DateTime
	// The clinician performing the assessment.
	Assessor *Reference
	// A reference to the last assessment that was conducted on this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.
	Previous *Reference
	// A list of the relevant problems/conditions for a patient.
	Problem []Reference
	// 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.
	Investigation []ClinicalImpressionInvestigation
	// Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis.
	Protocol []Uri
	// A text summary of the investigations and the diagnosis.
	Summary *String
	// Specific findings or diagnoses that were considered likely or relevant to ongoing treatment.
	Finding []ClinicalImpressionFinding
	// Estimate of likely outcome.
	PrognosisCodeableConcept []CodeableConcept
	// RiskAssessment expressing likely outcome.
	PrognosisReference []Reference
	// Information supporting the clinical impression.
	SupportingInfo []Reference
	// Commentary about the impression, typically recorded after the impression itself was made, though supplemental notes by the original author could also appear.
	Note []Annotation
}

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 (ClinicalImpression) MarshalJSON

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

func (ClinicalImpression) MarshalXML

func (r ClinicalImpression) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClinicalImpression) MemSize

func (r ClinicalImpression) MemSize() int

func (ClinicalImpression) ResourceId

func (r ClinicalImpression) ResourceId() (string, bool)

func (ClinicalImpression) ResourceType

func (r ClinicalImpression) ResourceType() string

func (ClinicalImpression) String

func (r ClinicalImpression) String() string

func (*ClinicalImpression) UnmarshalJSON

func (r *ClinicalImpression) UnmarshalJSON(b []byte) error

func (*ClinicalImpression) UnmarshalXML

func (r *ClinicalImpression) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClinicalImpressionFinding

type ClinicalImpressionFinding struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Specific text or code for finding or diagnosis, which may include ruled-out or resolved conditions.
	ItemCodeableConcept *CodeableConcept
	// Specific reference for finding or diagnosis, which may include ruled-out or resolved conditions.
	ItemReference *Reference
	// Which investigations support finding or diagnosis.
	Basis *String
}

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

func (ClinicalImpressionFinding) MarshalJSON

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

func (ClinicalImpressionFinding) MarshalXML

func (r ClinicalImpressionFinding) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClinicalImpressionFinding) MemSize

func (r ClinicalImpressionFinding) MemSize() int

func (*ClinicalImpressionFinding) UnmarshalXML

func (r *ClinicalImpressionFinding) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClinicalImpressionInvestigation

type ClinicalImpressionInvestigation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A name/code for the group ("set") of investigations. Typically, this will be something like "signs", "symptoms", "clinical", "diagnostic", but the list is not constrained, and others such groups such as (exposure|family|travel|nutritional) history may be used.
	Code CodeableConcept
	// A record of a specific investigation that was undertaken.
	Item []Reference
}

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.

func (ClinicalImpressionInvestigation) MarshalJSON

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

func (ClinicalImpressionInvestigation) MarshalXML

func (ClinicalImpressionInvestigation) MemSize

func (*ClinicalImpressionInvestigation) UnmarshalXML

func (r *ClinicalImpressionInvestigation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClinicalUseDefinition

type ClinicalUseDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifier for this issue.
	Identifier []Identifier
	// indication | contraindication | interaction | undesirable-effect | warning.
	Type Code
	// A categorisation of the issue, primarily for dividing warnings into subject heading areas such as "Pregnancy and Lactation", "Overdose", "Effects on Ability to Drive and Use Machines".
	Category []CodeableConcept
	// The medication or procedure for which this is an indication.
	Subject []Reference
	// Whether this is a current issue or one that has been retired etc.
	Status *CodeableConcept
	// Specifics for when this is a contraindication.
	Contraindication *ClinicalUseDefinitionContraindication
	// Specifics for when this is an indication.
	Indication *ClinicalUseDefinitionIndication
	// Specifics for when this is an interaction.
	Interaction *ClinicalUseDefinitionInteraction
	// The population group to which this applies.
	Population []Reference
	// Describe the possible undesirable effects (negative outcomes) from the use of the medicinal product as treatment.
	UndesirableEffect *ClinicalUseDefinitionUndesirableEffect
	// A critical piece of information about environmental, health or physical risks or hazards that serve as caution to the user. For example 'Do not operate heavy machinery', 'May cause drowsiness', or 'Get medical advice/attention if you feel unwell'.
	Warning *ClinicalUseDefinitionWarning
}

A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure.

func (ClinicalUseDefinition) MarshalJSON

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

func (ClinicalUseDefinition) MarshalXML

func (r ClinicalUseDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ClinicalUseDefinition) MemSize

func (r ClinicalUseDefinition) MemSize() int

func (ClinicalUseDefinition) ResourceId

func (r ClinicalUseDefinition) ResourceId() (string, bool)

func (ClinicalUseDefinition) ResourceType

func (r ClinicalUseDefinition) ResourceType() string

func (ClinicalUseDefinition) String

func (r ClinicalUseDefinition) String() string

func (*ClinicalUseDefinition) UnmarshalJSON

func (r *ClinicalUseDefinition) UnmarshalJSON(b []byte) error

func (*ClinicalUseDefinition) UnmarshalXML

func (r *ClinicalUseDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClinicalUseDefinitionContraindication

type ClinicalUseDefinitionContraindication struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The situation that is being documented as contraindicating against this item.
	DiseaseSymptomProcedure *CodeableReference
	// The status of the disease or symptom for the contraindication, for example "chronic" or "metastatic".
	DiseaseStatus *CodeableReference
	// A comorbidity (concurrent condition) or coinfection.
	Comorbidity []CodeableReference
	// The indication which this is a contraidication for.
	Indication []Reference
	// Information about the use of the medicinal product in relation to other therapies described as part of the contraindication.
	OtherTherapy []ClinicalUseDefinitionContraindicationOtherTherapy
}

Specifics for when this is a contraindication.

func (ClinicalUseDefinitionContraindication) MarshalJSON

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

func (ClinicalUseDefinitionContraindication) MarshalXML

func (ClinicalUseDefinitionContraindication) MemSize

func (*ClinicalUseDefinitionContraindication) UnmarshalXML

type ClinicalUseDefinitionContraindicationOtherTherapy

type ClinicalUseDefinitionContraindicationOtherTherapy struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of relationship between the medicinal product indication or contraindication and another therapy.
	RelationshipType CodeableConcept
	// Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.
	Therapy CodeableReference
}

Information about the use of the medicinal product in relation to other therapies described as part of the contraindication.

func (ClinicalUseDefinitionContraindicationOtherTherapy) MarshalJSON

func (ClinicalUseDefinitionContraindicationOtherTherapy) MarshalXML

func (ClinicalUseDefinitionContraindicationOtherTherapy) MemSize

func (*ClinicalUseDefinitionContraindicationOtherTherapy) UnmarshalXML

type ClinicalUseDefinitionIndication

type ClinicalUseDefinitionIndication struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The situation that is being documented as an indicaton for this item.
	DiseaseSymptomProcedure *CodeableReference
	// The status of the disease or symptom for the indication, for example "chronic" or "metastatic".
	DiseaseStatus *CodeableReference
	// A comorbidity (concurrent condition) or coinfection as part of the indication.
	Comorbidity []CodeableReference
	// The intended effect, aim or strategy to be achieved.
	IntendedEffect *CodeableReference
	// Timing or duration information, that may be associated with use with the indicated condition e.g. Adult patients suffering from myocardial infarction (from a few days until less than 35 days), ischaemic stroke (from 7 days until less than 6 months).
	Duration isClinicalUseDefinitionIndicationDuration
	// An unwanted side effect or negative outcome that may happen if you use the drug (or other subject of this resource) for this indication.
	UndesirableEffect []Reference
	// Information about the use of the medicinal product in relation to other therapies described as part of the indication.
	OtherTherapy []ClinicalUseDefinitionContraindicationOtherTherapy
}

Specifics for when this is an indication.

func (ClinicalUseDefinitionIndication) MarshalJSON

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

func (ClinicalUseDefinitionIndication) MarshalXML

func (ClinicalUseDefinitionIndication) MemSize

func (*ClinicalUseDefinitionIndication) UnmarshalXML

func (r *ClinicalUseDefinitionIndication) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ClinicalUseDefinitionInteraction

type ClinicalUseDefinitionInteraction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The specific medication, food, substance or laboratory test that interacts.
	Interactant []ClinicalUseDefinitionInteractionInteractant
	// The type of the interaction e.g. drug-drug interaction, drug-food interaction, drug-lab test interaction.
	Type *CodeableConcept
	// The effect of the interaction, for example "reduced gastric absorption of primary medication".
	Effect *CodeableReference
	// The incidence of the interaction, e.g. theoretical, observed.
	Incidence *CodeableConcept
	// Actions for managing the interaction.
	Management []CodeableConcept
}

Specifics for when this is an interaction.

func (ClinicalUseDefinitionInteraction) MarshalJSON

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

func (ClinicalUseDefinitionInteraction) MarshalXML

func (ClinicalUseDefinitionInteraction) MemSize

func (*ClinicalUseDefinitionInteraction) UnmarshalXML

type ClinicalUseDefinitionInteractionInteractant

type ClinicalUseDefinitionInteractionInteractant struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The specific medication, food or laboratory test that interacts.
	Item isClinicalUseDefinitionInteractionInteractantItem
}

The specific medication, food, substance or laboratory test that interacts.

func (ClinicalUseDefinitionInteractionInteractant) MarshalJSON

func (ClinicalUseDefinitionInteractionInteractant) MarshalXML

func (ClinicalUseDefinitionInteractionInteractant) MemSize

func (*ClinicalUseDefinitionInteractionInteractant) UnmarshalXML

type ClinicalUseDefinitionUndesirableEffect

type ClinicalUseDefinitionUndesirableEffect struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The situation in which the undesirable effect may manifest.
	SymptomConditionEffect *CodeableReference
	// High level classification of the effect.
	Classification *CodeableConcept
	// How often the effect is seen.
	FrequencyOfOccurrence *CodeableConcept
}

Describe the possible undesirable effects (negative outcomes) from the use of the medicinal product as treatment.

func (ClinicalUseDefinitionUndesirableEffect) MarshalJSON

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

func (ClinicalUseDefinitionUndesirableEffect) MarshalXML

func (ClinicalUseDefinitionUndesirableEffect) MemSize

func (*ClinicalUseDefinitionUndesirableEffect) UnmarshalXML

type ClinicalUseDefinitionWarning

type ClinicalUseDefinitionWarning struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A textual definition of this warning, with formatting.
	Description *Markdown
	// A coded or unformatted textual definition of this warning.
	Code *CodeableConcept
}

A critical piece of information about environmental, health or physical risks or hazards that serve as caution to the user. For example 'Do not operate heavy machinery', 'May cause drowsiness', or 'Get medical advice/attention if you feel unwell'.

func (ClinicalUseDefinitionWarning) MarshalJSON

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

func (ClinicalUseDefinitionWarning) MarshalXML

func (ClinicalUseDefinitionWarning) MemSize

func (r ClinicalUseDefinitionWarning) MemSize() int

func (*ClinicalUseDefinitionWarning) UnmarshalXML

func (r *ClinicalUseDefinitionWarning) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Code

type Code struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Primitive value for code
	Value *string
}

Base StructureDefinition for code type: A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

func (Code) MarshalJSON

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

func (Code) MarshalXML

func (r Code) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Code) MemSize

func (r Code) MemSize() int

func (*Code) UnmarshalJSON

func (r *Code) UnmarshalJSON(b []byte) error

func (*Code) UnmarshalXML

func (r *Code) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CodeSystem

type CodeSystem struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.
	Url *Uri
	// A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. This is used in [Coding](datatypes.html#Coding).version.
	Version *String
	// A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the code system.
	Title *String
	// The date (and optionally time) when the code system resource was created or revised.
	Status Code
	// A Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the code system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes.
	Date *DateTime
	// The name of the organization or individual that published the code system.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the code system from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate code system instances.
	UseContext []UsageContext
	// A legal or geographic region in which the code system is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this code system is needed and why it has been designed as it has.
	Purpose *Markdown
	// A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system.
	Copyright *Markdown
	// If code comparison is case sensitive when codes within this system are compared to each other.
	CaseSensitive *Boolean
	// Canonical reference to the value set that contains the entire code system.
	ValueSet *Canonical
	// The meaning of the hierarchy of concepts as represented in this resource.
	HierarchyMeaning *Code
	// The code system defines a compositional (post-coordination) grammar.
	Compositional *Boolean
	// This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system.
	VersionNeeded *Boolean
	// The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.
	Content Code
	// The canonical URL of the code system that this code system supplement is adding designations and properties to.
	Supplements *Canonical
	// The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward.
	Count *UnsignedInt
	// A filter that can be used in a value set compose statement when selecting concepts using a filter.
	Filter []CodeSystemFilter
	// A property defines an additional slot through which additional information can be provided about a concept.
	Property []CodeSystemProperty
	// 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.
	Concept []CodeSystemConcept
}

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 (CodeSystem) MarshalJSON

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

func (CodeSystem) MarshalXML

func (r CodeSystem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CodeSystem) MemSize

func (r CodeSystem) MemSize() int

func (CodeSystem) ResourceId

func (r CodeSystem) ResourceId() (string, bool)

func (CodeSystem) ResourceType

func (r CodeSystem) ResourceType() string

func (CodeSystem) String

func (r CodeSystem) String() string

func (*CodeSystem) UnmarshalJSON

func (r *CodeSystem) UnmarshalJSON(b []byte) error

func (*CodeSystem) UnmarshalXML

func (r *CodeSystem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CodeSystemConcept

type CodeSystemConcept struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code - a text symbol - that uniquely identifies the concept within the code system.
	Code Code
	// A human readable string that is the recommended default way to present this concept to a user.
	Display *String
	// The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept.
	Definition *String
	// Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc.
	Designation []CodeSystemConceptDesignation
	// A property value for this concept.
	Property []CodeSystemConceptProperty
	// Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning.
	Concept []CodeSystemConcept
}

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.

func (CodeSystemConcept) MarshalJSON

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

func (CodeSystemConcept) MarshalXML

func (r CodeSystemConcept) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CodeSystemConcept) MemSize

func (r CodeSystemConcept) MemSize() int

func (*CodeSystemConcept) UnmarshalXML

func (r *CodeSystemConcept) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CodeSystemConceptDesignation

type CodeSystemConceptDesignation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The language this designation is defined for.
	Language *Code
	// A code that details how this designation would be used.
	Use *Coding
	// The text value for this designation.
	Value String
}

Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc.

func (CodeSystemConceptDesignation) MarshalJSON

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

func (CodeSystemConceptDesignation) MarshalXML

func (CodeSystemConceptDesignation) MemSize

func (r CodeSystemConceptDesignation) MemSize() int

func (*CodeSystemConceptDesignation) UnmarshalXML

func (r *CodeSystemConceptDesignation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CodeSystemConceptProperty

type CodeSystemConceptProperty struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code that is a reference to CodeSystem.property.code.
	Code Code
	// The value of this property.
	Value isCodeSystemConceptPropertyValue
}

A property value for this concept.

func (CodeSystemConceptProperty) MarshalJSON

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

func (CodeSystemConceptProperty) MarshalXML

func (r CodeSystemConceptProperty) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CodeSystemConceptProperty) MemSize

func (r CodeSystemConceptProperty) MemSize() int

func (*CodeSystemConceptProperty) UnmarshalXML

func (r *CodeSystemConceptProperty) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CodeSystemFilter

type CodeSystemFilter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter.
	Code Code
	// A description of how or why the filter is used.
	Description *String
	// A list of operators that can be used with the filter.
	Operator []Code
	// A description of what the value for the filter should be.
	Value String
}

A filter that can be used in a value set compose statement when selecting concepts using a filter.

func (CodeSystemFilter) MarshalJSON

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

func (CodeSystemFilter) MarshalXML

func (r CodeSystemFilter) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CodeSystemFilter) MemSize

func (r CodeSystemFilter) MemSize() int

func (*CodeSystemFilter) UnmarshalXML

func (r *CodeSystemFilter) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CodeSystemProperty

type CodeSystemProperty struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters.
	Code Code
	// Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system.
	Uri *Uri
	// A description of the property- why it is defined, and how its value might be used.
	Description *String
	// The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to another defined concept).
	Type Code
}

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

func (CodeSystemProperty) MarshalJSON

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

func (CodeSystemProperty) MarshalXML

func (r CodeSystemProperty) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CodeSystemProperty) MemSize

func (r CodeSystemProperty) MemSize() int

func (*CodeSystemProperty) UnmarshalXML

func (r *CodeSystemProperty) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CodeableConcept

type CodeableConcept struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// A reference to a code defined by a terminology system.
	Coding []Coding
	// A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
	Text *String
}

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.

This is a common pattern in healthcare - a concept that may be defined by one or more codes from formal definitions including LOINC and SNOMED CT, and/or defined by the provision of text that captures a human sense of the concept.

func (CodeableConcept) MarshalJSON

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

func (CodeableConcept) MarshalXML

func (r CodeableConcept) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CodeableConcept) MemSize

func (r CodeableConcept) MemSize() int

func (CodeableConcept) String

func (r CodeableConcept) String() string

func (*CodeableConcept) UnmarshalXML

func (r *CodeableConcept) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CodeableReference

type CodeableReference struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// A reference to a concept - e.g. the information is identified by its general class to the degree of precision found in the terminology.
	Concept *CodeableConcept
	// A reference to a resource the provides exact details about the information being referenced.
	Reference *Reference
}

Base StructureDefinition for CodeableReference Type: A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class).

This is a common pattern in record keeping - a reference may be made to a specific condition, observation, plan, or definition, or a reference may be made to a general concept defined in a knowledge base somewhere.

func (CodeableReference) MarshalJSON

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

func (CodeableReference) MarshalXML

func (r CodeableReference) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CodeableReference) MemSize

func (r CodeableReference) MemSize() int

func (CodeableReference) String

func (r CodeableReference) String() string

func (*CodeableReference) UnmarshalXML

func (r *CodeableReference) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Coding

type Coding struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The identification of the code system that defines the meaning of the symbol in the code.
	System *Uri
	// The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
	Version *String
	// A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
	Code *Code
	// A representation of the meaning of the code in the system, following the rules of the system.
	Display *String
	// Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).
	UserSelected *Boolean
}

Base StructureDefinition for Coding Type: A reference to a code defined by a terminology system.

References to codes are very common in healthcare models.

func (Coding) MarshalJSON

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

func (Coding) MarshalXML

func (r Coding) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Coding) MemSize

func (r Coding) MemSize() int

func (Coding) String

func (r Coding) String() string

func (*Coding) UnmarshalXML

func (r *Coding) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Communication

type Communication struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this communication by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Communication.
	InstantiatesCanonical []Canonical
	// The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Communication.
	InstantiatesUri []Uri
	// An order, proposal or plan fulfilled in whole or in part by this Communication.
	BasedOn []Reference
	// Part of this action.
	PartOf []Reference
	// Prior communication that this communication is in response to.
	InResponseTo []Reference
	// The status of the transmission.
	Status Code
	// Captures the reason for the current state of the Communication.
	StatusReason *CodeableConcept
	// The type of message conveyed such as alert, notification, reminder, instruction, etc.
	Category []CodeableConcept
	// Characterizes how quickly the planned or in progress communication must be addressed. Includes concepts such as stat, urgent, routine.
	Priority *Code
	// A channel that was used for this communication (e.g. email, fax).
	Medium []CodeableConcept
	// The patient or group that was the focus of this communication.
	Subject *Reference
	// Description of the purpose/content, similar to a subject line in an email.
	Topic *CodeableConcept
	// Other resources that pertain to this communication and to which this communication should be associated.
	About []Reference
	// The Encounter during which this Communication was created or to which the creation of this record is tightly associated.
	Encounter *Reference
	// The time when this communication was sent.
	Sent *DateTime
	// The time when this communication arrived at the destination.
	Received *DateTime
	// The entity (e.g. person, organization, clinical information system, care team or device) which was the target of the communication. If receipts need to be tracked by an individual, a separate resource instance will need to be created for each recipient.  Multiple recipient communications are intended where either receipts are not tracked (e.g. a mass mail-out) or a receipt is captured in aggregate (all emails confirmed received by a particular time).
	Recipient []Reference
	// The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication.
	Sender *Reference
	// The reason or justification for the communication.
	ReasonCode []CodeableConcept
	// Indicates another resource whose existence justifies this communication.
	ReasonReference []Reference
	// Text, attachment(s), or resource(s) that was communicated to the recipient.
	Payload []CommunicationPayload
	// Additional notes or commentary about the communication by the sender, receiver or other interested parties.
	Note []Annotation
}

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 (Communication) MarshalJSON

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

func (Communication) MarshalXML

func (r Communication) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Communication) MemSize

func (r Communication) MemSize() int

func (Communication) ResourceId

func (r Communication) ResourceId() (string, bool)

func (Communication) ResourceType

func (r Communication) ResourceType() string

func (Communication) String

func (r Communication) String() string

func (*Communication) UnmarshalJSON

func (r *Communication) UnmarshalJSON(b []byte) error

func (*Communication) UnmarshalXML

func (r *Communication) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CommunicationPayload

type CommunicationPayload struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A communicated content (or for multi-part communications, one portion of the communication).
	Content isCommunicationPayloadContent
}

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

func (CommunicationPayload) MarshalJSON

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

func (CommunicationPayload) MarshalXML

func (r CommunicationPayload) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CommunicationPayload) MemSize

func (r CommunicationPayload) MemSize() int

func (*CommunicationPayload) UnmarshalXML

func (r *CommunicationPayload) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CommunicationRequest

type CommunicationRequest struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this communication request by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// A plan or proposal that is fulfilled in whole or in part by this request.
	BasedOn []Reference
	// Completed or terminated request(s) whose function is taken by this new request.
	Replaces []Reference
	// A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.
	GroupIdentifier *Identifier
	// The status of the proposal or order.
	Status Code
	// Captures the reason for the current state of the CommunicationRequest.
	StatusReason *CodeableConcept
	// The type of message to be sent such as alert, notification, reminder, instruction, etc.
	Category []CodeableConcept
	// Characterizes how quickly the proposed act must be initiated. Includes concepts such as stat, urgent, routine.
	Priority *Code
	// If true indicates that the CommunicationRequest is asking for the specified action to *not* occur.
	DoNotPerform *Boolean
	// A channel that was used for this communication (e.g. email, fax).
	Medium []CodeableConcept
	// The patient or group that is the focus of this communication request.
	Subject *Reference
	// Other resources that pertain to this communication request and to which this communication request should be associated.
	About []Reference
	// The Encounter during which this CommunicationRequest was created or to which the creation of this record is tightly associated.
	Encounter *Reference
	// Text, attachment(s), or resource(s) to be communicated to the recipient.
	Payload []CommunicationRequestPayload
	// The time when this communication is to occur.
	Occurrence isCommunicationRequestOccurrence
	// For draft requests, indicates the date of initial creation.  For requests with other statuses, indicates the date of activation.
	AuthoredOn *DateTime
	// The device, individual, or organization who initiated the request and has responsibility for its activation.
	Requester *Reference
	// The entity (e.g. person, organization, clinical information system, device, group, or care team) which is the intended target of the communication.
	Recipient []Reference
	// The entity (e.g. person, organization, clinical information system, or device) which is to be the source of the communication.
	Sender *Reference
	// Describes why the request is being made in coded or textual form.
	ReasonCode []CodeableConcept
	// Indicates another resource whose existence justifies this request.
	ReasonReference []Reference
	// Comments made about the request by the requester, sender, recipient, subject or other participants.
	Note []Annotation
}

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 (CommunicationRequest) MarshalJSON

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

func (CommunicationRequest) MarshalXML

func (r CommunicationRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CommunicationRequest) MemSize

func (r CommunicationRequest) MemSize() int

func (CommunicationRequest) ResourceId

func (r CommunicationRequest) ResourceId() (string, bool)

func (CommunicationRequest) ResourceType

func (r CommunicationRequest) ResourceType() string

func (CommunicationRequest) String

func (r CommunicationRequest) String() string

func (*CommunicationRequest) UnmarshalJSON

func (r *CommunicationRequest) UnmarshalJSON(b []byte) error

func (*CommunicationRequest) UnmarshalXML

func (r *CommunicationRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CommunicationRequestPayload

type CommunicationRequestPayload struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The communicated content (or for multi-part communications, one portion of the communication).
	Content isCommunicationRequestPayloadContent
}

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

func (CommunicationRequestPayload) MarshalJSON

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

func (CommunicationRequestPayload) MarshalXML

func (r CommunicationRequestPayload) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CommunicationRequestPayload) MemSize

func (r CommunicationRequestPayload) MemSize() int

func (*CommunicationRequestPayload) UnmarshalXML

func (r *CommunicationRequestPayload) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CompartmentDefinition

type CompartmentDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.
	Url Uri
	// The identifier that is used to identify this version of the compartment definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the compartment definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name String
	// The status of this compartment definition. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this compartment definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the compartment definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes.
	Date *DateTime
	// The name of the organization or individual that published the compartment definition.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the compartment definition from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate compartment definition instances.
	UseContext []UsageContext
	// Explanation of why this compartment definition is needed and why it has been designed as it has.
	Purpose *Markdown
	// Which compartment this definition describes.
	Code Code
	// Whether the search syntax is supported,.
	Search Boolean
	// Information about how a resource is related to the compartment.
	Resource []CompartmentDefinitionResource
}

A compartment definition that defines how resources are accessed on a server.

func (CompartmentDefinition) MarshalJSON

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

func (CompartmentDefinition) MarshalXML

func (r CompartmentDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CompartmentDefinition) MemSize

func (r CompartmentDefinition) MemSize() int

func (CompartmentDefinition) ResourceId

func (r CompartmentDefinition) ResourceId() (string, bool)

func (CompartmentDefinition) ResourceType

func (r CompartmentDefinition) ResourceType() string

func (CompartmentDefinition) String

func (r CompartmentDefinition) String() string

func (*CompartmentDefinition) UnmarshalJSON

func (r *CompartmentDefinition) UnmarshalJSON(b []byte) error

func (*CompartmentDefinition) UnmarshalXML

func (r *CompartmentDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CompartmentDefinitionResource

type CompartmentDefinitionResource struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The name of a resource supported by the server.
	Code Code
	// The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,.
	Param []String
	// Additional documentation about the resource and compartment.
	Documentation *String
}

Information about how a resource is related to the compartment.

func (CompartmentDefinitionResource) MarshalJSON

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

func (CompartmentDefinitionResource) MarshalXML

func (CompartmentDefinitionResource) MemSize

func (r CompartmentDefinitionResource) MemSize() int

func (*CompartmentDefinitionResource) UnmarshalXML

func (r *CompartmentDefinitionResource) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Composition

type Composition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time.
	Identifier *Identifier
	// The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document.
	Status Code
	// Specifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition.
	Type CodeableConcept
	// A categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type.
	Category []CodeableConcept
	// Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure).
	Subject *Reference
	// Describes the clinical encounter or type of care this documentation is associated with.
	Encounter *Reference
	// The composition editing time, when the composition was last logically changed by the author.
	Date DateTime
	// Identifies who is responsible for the information in the composition, not necessarily who typed it in.
	Author []Reference
	// Official human-readable label for the composition.
	Title String
	// The code specifying the level of confidentiality of the Composition.
	Confidentiality *Code
	// A participant who has attested to the accuracy of the composition/document.
	Attester []CompositionAttester
	// Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information.
	Custodian *Reference
	// Relationships that this composition has with other compositions or documents that already exist.
	RelatesTo []CompositionRelatesTo
	// The clinical service, such as a colonoscopy or an appendectomy, being documented.
	Event []CompositionEvent
	// The root of the sections that make up the composition.
	Section []CompositionSection
}

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.).

To support documents, and also to capture the EN13606 notion of an attested commit to the patient EHR, and to allow a set of disparate resources at the information/engineering level to be gathered into a clinical statement.

func (Composition) MarshalJSON

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

func (Composition) MarshalXML

func (r Composition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Composition) MemSize

func (r Composition) MemSize() int

func (Composition) ResourceId

func (r Composition) ResourceId() (string, bool)

func (Composition) ResourceType

func (r Composition) ResourceType() string

func (Composition) String

func (r Composition) String() string

func (*Composition) UnmarshalJSON

func (r *Composition) UnmarshalJSON(b []byte) error

func (*Composition) UnmarshalXML

func (r *Composition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CompositionAttester

type CompositionAttester struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of attestation the authenticator offers.
	Mode Code
	// When the composition was attested by the party.
	Time *DateTime
	// Who attested the composition in the specified way.
	Party *Reference
}

A participant who has attested to the accuracy of the composition/document.

func (CompositionAttester) MarshalJSON

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

func (CompositionAttester) MarshalXML

func (r CompositionAttester) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CompositionAttester) MemSize

func (r CompositionAttester) MemSize() int

func (*CompositionAttester) UnmarshalXML

func (r *CompositionAttester) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CompositionEvent

type CompositionEvent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.
	Code []CodeableConcept
	// The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time.
	Period *Period
	// The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy.
	Detail []Reference
}

The clinical service, such as a colonoscopy or an appendectomy, being documented.

func (CompositionEvent) MarshalJSON

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

func (CompositionEvent) MarshalXML

func (r CompositionEvent) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CompositionEvent) MemSize

func (r CompositionEvent) MemSize() int

func (*CompositionEvent) UnmarshalXML

func (r *CompositionEvent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CompositionRelatesTo

type CompositionRelatesTo struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of relationship that this composition has with anther composition or document.
	Code Code
	// The target composition/document of this relationship.
	Target isCompositionRelatesToTarget
}

Relationships that this composition has with other compositions or documents that already exist.

func (CompositionRelatesTo) MarshalJSON

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

func (CompositionRelatesTo) MarshalXML

func (r CompositionRelatesTo) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CompositionRelatesTo) MemSize

func (r CompositionRelatesTo) MemSize() int

func (*CompositionRelatesTo) UnmarshalXML

func (r *CompositionRelatesTo) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CompositionSection

type CompositionSection struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The label for this particular section.  This will be part of the rendered content for the document, and is often used to build a table of contents.
	Title *String
	// A code identifying the kind of content contained within the section. This must be consistent with the section title.
	Code *CodeableConcept
	// Identifies who is responsible for the information in this section, not necessarily who typed it in.
	Author []Reference
	// The actual focus of the section when it is not the subject of the composition, but instead represents something or someone associated with the subject such as (for a patient subject) a spouse, parent, fetus, or donor. If not focus is specified, the focus is assumed to be focus of the parent section, or, for a section in the Composition itself, the subject of the composition. Sections with a focus SHALL only include resources where the logical subject (patient, subject, focus, etc.) matches the section focus, or the resources have no logical subject (few resources).
	Focus *Reference
	// A human-readable narrative that contains the attested content of the section, used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative.
	Text *Narrative
	// How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.
	Mode *Code
	// Specifies the order applied to the items in the section entries.
	OrderedBy *CodeableConcept
	// A reference to the actual resource from which the narrative in the section is derived.
	Entry []Reference
	// If the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason.
	EmptyReason *CodeableConcept
	// A nested sub-section within this section.
	Section []CompositionSection
}

The root of the sections that make up the composition.

func (CompositionSection) MarshalJSON

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

func (CompositionSection) MarshalXML

func (r CompositionSection) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CompositionSection) MemSize

func (r CompositionSection) MemSize() int

func (*CompositionSection) UnmarshalXML

func (r *CompositionSection) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConceptMap

type ConceptMap struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier *Identifier
	// The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the concept map.
	Title *String
	// The status of this concept map. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the concept map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.
	Date *DateTime
	// The name of the organization or individual that published the concept map.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the concept map from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate concept map instances.
	UseContext []UsageContext
	// A legal or geographic region in which the concept map is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this concept map is needed and why it has been designed as it has.
	Purpose *Markdown
	// A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map.
	Copyright *Markdown
	// Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings.
	Source isConceptMapSource
	// The target value set provides context for the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.
	Target isConceptMapTarget
	// A group of mappings that all have the same source and target system.
	Group []ConceptMapGroup
}

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 (ConceptMap) MarshalJSON

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

func (ConceptMap) MarshalXML

func (r ConceptMap) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ConceptMap) MemSize

func (r ConceptMap) MemSize() int

func (ConceptMap) ResourceId

func (r ConceptMap) ResourceId() (string, bool)

func (ConceptMap) ResourceType

func (r ConceptMap) ResourceType() string

func (ConceptMap) String

func (r ConceptMap) String() string

func (*ConceptMap) UnmarshalJSON

func (r *ConceptMap) UnmarshalJSON(b []byte) error

func (*ConceptMap) UnmarshalXML

func (r *ConceptMap) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConceptMapGroup

type ConceptMapGroup struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that identifies the source system where the concepts to be mapped are defined.
	Source *Uri
	// The specific version of the code system, as determined by the code system authority.
	SourceVersion *String
	// An absolute URI that identifies the target system that the concepts will be mapped to.
	Target *Uri
	// The specific version of the code system, as determined by the code system authority.
	TargetVersion *String
	// Mappings for an individual concept in the source to one or more concepts in the target.
	Element []ConceptMapGroupElement
	// 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.
	Unmapped *ConceptMapGroupUnmapped
}

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

func (ConceptMapGroup) MarshalJSON

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

func (ConceptMapGroup) MarshalXML

func (r ConceptMapGroup) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ConceptMapGroup) MemSize

func (r ConceptMapGroup) MemSize() int

func (*ConceptMapGroup) UnmarshalXML

func (r *ConceptMapGroup) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConceptMapGroupElement

type ConceptMapGroupElement struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identity (code or path) or the element/item being mapped.
	Code *Code
	// The display for the code. The display is only provided to help editors when editing the concept map.
	Display *String
	// A concept from the target value set that this concept maps to.
	Target []ConceptMapGroupElementTarget
}

Mappings for an individual concept in the source to one or more concepts in the target.

func (ConceptMapGroupElement) MarshalJSON

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

func (ConceptMapGroupElement) MarshalXML

func (r ConceptMapGroupElement) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ConceptMapGroupElement) MemSize

func (r ConceptMapGroupElement) MemSize() int

func (*ConceptMapGroupElement) UnmarshalXML

func (r *ConceptMapGroupElement) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConceptMapGroupElementTarget

type ConceptMapGroupElementTarget struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identity (code or path) or the element/item that the map refers to.
	Code *Code
	// The display for the code. The display is only provided to help editors when editing the concept map.
	Display *String
	// The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source).
	Equivalence Code
	// A description of status/issues in mapping that conveys additional information not represented in  the structured data.
	Comment *String
	// 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.
	DependsOn []ConceptMapGroupElementTargetDependsOn
	// A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on.
	Product []ConceptMapGroupElementTargetDependsOn
}

A concept from the target value set that this concept maps to.

func (ConceptMapGroupElementTarget) MarshalJSON

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

func (ConceptMapGroupElementTarget) MarshalXML

func (ConceptMapGroupElementTarget) MemSize

func (r ConceptMapGroupElementTarget) MemSize() int

func (*ConceptMapGroupElementTarget) UnmarshalXML

func (r *ConceptMapGroupElementTarget) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConceptMapGroupElementTargetDependsOn

type ConceptMapGroupElementTargetDependsOn struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somewhere that is labeled to correspond with a code system property.
	Property Uri
	// An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems).
	System *Canonical
	// Identity (code or path) or the element/item/ValueSet/text that the map depends on / refers to.
	Value String
	// The display for the code. The display is only provided to help editors when editing the concept map.
	Display *String
}

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.

func (ConceptMapGroupElementTargetDependsOn) MarshalJSON

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

func (ConceptMapGroupElementTargetDependsOn) MarshalXML

func (ConceptMapGroupElementTargetDependsOn) MemSize

func (*ConceptMapGroupElementTargetDependsOn) UnmarshalXML

type ConceptMapGroupUnmapped

type ConceptMapGroupUnmapped struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Defines which action to take if there is no match for the source concept in the target system designated for the group. One of 3 actions are possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL).
	Mode Code
	// The fixed code to use when the mode = 'fixed'  - all unmapped codes are mapped to a single fixed code.
	Code *Code
	// The display for the code. The display is only provided to help editors when editing the concept map.
	Display *String
	// The canonical reference to an additional ConceptMap resource instance to use for mapping if this ConceptMap resource contains no matching mapping for the source concept.
	Url *Canonical
}

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.

func (ConceptMapGroupUnmapped) MarshalJSON

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

func (ConceptMapGroupUnmapped) MarshalXML

func (r ConceptMapGroupUnmapped) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ConceptMapGroupUnmapped) MemSize

func (r ConceptMapGroupUnmapped) MemSize() int

func (*ConceptMapGroupUnmapped) UnmarshalXML

func (r *ConceptMapGroupUnmapped) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Condition

type Condition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this condition by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// The clinical status of the condition.
	ClinicalStatus *CodeableConcept
	// The verification status to support the clinical status of the condition.
	VerificationStatus *CodeableConcept
	// A category assigned to the condition.
	Category []CodeableConcept
	// A subjective assessment of the severity of the condition as evaluated by the clinician.
	Severity *CodeableConcept
	// Identification of the condition, problem or diagnosis.
	Code *CodeableConcept
	// The anatomical location where this condition manifests itself.
	BodySite []CodeableConcept
	// Indicates the patient or group who the condition record is associated with.
	Subject Reference
	// The Encounter during which this Condition was created or to which the creation of this record is tightly associated.
	Encounter *Reference
	// Estimated or actual date or date-time  the condition began, in the opinion of the clinician.
	Onset isConditionOnset
	// The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate.
	Abatement isConditionAbatement
	// The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date.
	RecordedDate *DateTime
	// Individual who recorded the record and takes responsibility for its content.
	Recorder *Reference
	// Individual who is making the condition statement.
	Asserter *Reference
	// Clinical stage or grade of a condition. May include formal severity assessments.
	Stage []ConditionStage
	// Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition.
	Evidence []ConditionEvidence
	// Additional information about the Condition. This is a general notes/comments entry  for description of the Condition, its diagnosis and prognosis.
	Note []Annotation
}

A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.

func (Condition) MarshalJSON

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

func (Condition) MarshalXML

func (r Condition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Condition) MemSize

func (r Condition) MemSize() int

func (Condition) ResourceId

func (r Condition) ResourceId() (string, bool)

func (Condition) ResourceType

func (r Condition) ResourceType() string

func (Condition) String

func (r Condition) String() string

func (*Condition) UnmarshalJSON

func (r *Condition) UnmarshalJSON(b []byte) error

func (*Condition) UnmarshalXML

func (r *Condition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConditionEvidence

type ConditionEvidence struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A manifestation or symptom that led to the recording of this condition.
	Code []CodeableConcept
	// Links to other relevant information, including pathology reports.
	Detail []Reference
}

Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition.

func (ConditionEvidence) MarshalJSON

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

func (ConditionEvidence) MarshalXML

func (r ConditionEvidence) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ConditionEvidence) MemSize

func (r ConditionEvidence) MemSize() int

func (*ConditionEvidence) UnmarshalXML

func (r *ConditionEvidence) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConditionStage

type ConditionStage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific.
	Summary *CodeableConcept
	// Reference to a formal record of the evidence on which the staging assessment is based.
	Assessment []Reference
	// The kind of staging, such as pathological or clinical staging.
	Type *CodeableConcept
}

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

func (ConditionStage) MarshalJSON

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

func (ConditionStage) MarshalXML

func (r ConditionStage) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ConditionStage) MemSize

func (r ConditionStage) MemSize() int

func (*ConditionStage) UnmarshalXML

func (r *ConditionStage) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
type Consent struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique identifier for this copy of the Consent Statement.
	Identifier []Identifier
	// Indicates the current state of this consent.
	Status Code
	// A selector of the type of consent being presented: ADR, Privacy, Treatment, Research.  This list is now extensible.
	Scope CodeableConcept
	// A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements.
	Category []CodeableConcept
	// The patient/healthcare consumer to whom this consent applies.
	Patient *Reference
	// When this  Consent was issued / created / indexed.
	DateTime *DateTime
	// Either the Grantor, which is the entity responsible for granting the rights listed in a Consent Directive or the Grantee, which is the entity responsible for complying with the Consent Directive, including any obligations or limitations on authorizations and enforcement of prohibitions.
	Performer []Reference
	// The organization that manages the consent, and the framework within which it is executed.
	Organization []Reference
	// The source on which this consent statement is based. The source might be a scanned original paper form, or a reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document.
	Source isConsentSource
	// The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law.
	Policy []ConsentPolicy
	// A reference to the specific base computable regulation or policy.
	PolicyRule *CodeableConcept
	// Whether a treatment instruction (e.g. artificial respiration yes or no) was verified with the patient, his/her family or another authorized person.
	Verification []ConsentVerification
	// An exception to the base policy of this consent. An exception can be an addition or removal of access permissions.
	Provision *ConsentProvision
}

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 (Consent) MarshalJSON

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

func (Consent) MarshalXML

func (r Consent) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Consent) MemSize

func (r Consent) MemSize() int

func (Consent) ResourceId

func (r Consent) ResourceId() (string, bool)

func (Consent) ResourceType

func (r Consent) ResourceType() string

func (Consent) String

func (r Consent) String() string

func (*Consent) UnmarshalJSON

func (r *Consent) UnmarshalJSON(b []byte) error

func (*Consent) UnmarshalXML

func (r *Consent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConsentPolicy

type ConsentPolicy struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Entity or Organization having regulatory jurisdiction or accountability for  enforcing policies pertaining to Consent Directives.
	Authority *Uri
	// The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law.
	Uri *Uri
}

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

func (ConsentPolicy) MarshalJSON

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

func (ConsentPolicy) MarshalXML

func (r ConsentPolicy) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ConsentPolicy) MemSize

func (r ConsentPolicy) MemSize() int

func (*ConsentPolicy) UnmarshalXML

func (r *ConsentPolicy) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConsentProvision

type ConsentProvision struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Action  to take - permit or deny - when the rule conditions are met.  Not permitted in root rule, required in all nested rules.
	Type *Code
	// The timeframe in this rule is valid.
	Period *Period
	// 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').
	Actor []ConsentProvisionActor
	// Actions controlled by this Rule.
	Action []CodeableConcept
	// A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception.
	SecurityLabel []Coding
	// The context of the activities a user is taking - why the user is accessing the data - that are controlled by this rule.
	Purpose []Coding
	// The class of information covered by this rule. The type can be a FHIR resource type, a profile on a type, or a CDA document, or some other type that indicates what sort of information the consent relates to.
	Class []Coding
	// If this code is found in an instance, then the rule applies.
	Code []CodeableConcept
	// Clinical or Operational Relevant period of time that bounds the data controlled by this rule.
	DataPeriod *Period
	// The resources controlled by this rule if specific resources are referenced.
	Data []ConsentProvisionData
	// Rules which provide exceptions to the base rule or subrules.
	Provision []ConsentProvision
}

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

func (ConsentProvision) MarshalJSON

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

func (ConsentProvision) MarshalXML

func (r ConsentProvision) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ConsentProvision) MemSize

func (r ConsentProvision) MemSize() int

func (*ConsentProvision) UnmarshalXML

func (r *ConsentProvision) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConsentProvisionActor

type ConsentProvisionActor struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// How the individual is involved in the resources content that is described in the exception.
	Role CodeableConcept
	// The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers').
	Reference 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').

func (ConsentProvisionActor) MarshalJSON

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

func (ConsentProvisionActor) MarshalXML

func (r ConsentProvisionActor) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ConsentProvisionActor) MemSize

func (r ConsentProvisionActor) MemSize() int

func (*ConsentProvisionActor) UnmarshalXML

func (r *ConsentProvisionActor) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConsentProvisionData

type ConsentProvisionData struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// How the resource reference is interpreted when testing consent restrictions.
	Meaning Code
	// A reference to a specific resource that defines which resources are covered by this consent.
	Reference Reference
}

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

func (ConsentProvisionData) MarshalJSON

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

func (ConsentProvisionData) MarshalXML

func (r ConsentProvisionData) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ConsentProvisionData) MemSize

func (r ConsentProvisionData) MemSize() int

func (*ConsentProvisionData) UnmarshalXML

func (r *ConsentProvisionData) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ConsentVerification

type ConsentVerification struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Has the instruction been verified.
	Verified Boolean
	// Who verified the instruction (Patient, Relative or other Authorized Person).
	VerifiedWith *Reference
	// Date verification was collected.
	VerificationDate *DateTime
}

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

func (ConsentVerification) MarshalJSON

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

func (ConsentVerification) MarshalXML

func (r ConsentVerification) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ConsentVerification) MemSize

func (r ConsentVerification) MemSize() int

func (*ConsentVerification) UnmarshalXML

func (r *ConsentVerification) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContactDetail

type ContactDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The name of an individual to contact.
	Name *String
	// The contact details for the individual (if a name was provided) or the organization.
	Telecom []ContactPoint
}

Base StructureDefinition for ContactDetail Type: Specifies contact information for a person or organization.

Need to track contact information in the same way across multiple resources.

func (ContactDetail) MarshalJSON

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

func (ContactDetail) MarshalXML

func (r ContactDetail) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContactDetail) MemSize

func (r ContactDetail) MemSize() int

func (ContactDetail) String

func (r ContactDetail) String() string

func (*ContactDetail) UnmarshalXML

func (r *ContactDetail) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContactPoint

type ContactPoint struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Telecommunications form for contact point - what communications system is required to make use of the contact.
	System *Code
	// The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).
	Value *String
	// Identifies the purpose for the contact point.
	Use *Code
	// Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values.
	Rank *PositiveInt
	// Time period when the contact point was/is in use.
	Period *Period
}

Base StructureDefinition for ContactPoint Type: Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.

Need to track phone, fax, mobile, sms numbers, email addresses, twitter tags, etc.

func (ContactPoint) MarshalJSON

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

func (ContactPoint) MarshalXML

func (r ContactPoint) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContactPoint) MemSize

func (r ContactPoint) MemSize() int

func (ContactPoint) String

func (r ContactPoint) String() string

func (*ContactPoint) UnmarshalXML

func (r *ContactPoint) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContainedResource

type ContainedResource struct {
	model.Resource
}

func (ContainedResource) MarshalJSON

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

func (ContainedResource) MarshalXML

func (r ContainedResource) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContainedResource) String

func (r ContainedResource) String() string

func (*ContainedResource) UnmarshalJSON

func (r *ContainedResource) UnmarshalJSON(b []byte) error

func (*ContainedResource) UnmarshalXML

func (cr *ContainedResource) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Contract

type Contract struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique identifier for this Contract or a derivative that references a Source Contract.
	Identifier []Identifier
	// Canonical identifier for this contract, represented as a URI (globally unique).
	Url *Uri
	// An edition identifier used for business purposes to label business significant variants.
	Version *String
	// The status of the resource instance.
	Status *Code
	// Legal states of the formation of a legal instrument, which is a formally executed written document that can be formally attributed to its author, records and formally expresses a legally enforceable act, process, or contractual duty, obligation, or right, and therefore evidences that act, process, or agreement.
	LegalState *CodeableConcept
	// The URL pointing to a FHIR-defined Contract Definition that is adhered to in whole or part by this Contract.
	InstantiatesCanonical *Reference
	// The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract.
	InstantiatesUri *Uri
	// The minimal content derived from the basal information source at a specific stage in its lifecycle.
	ContentDerivative *CodeableConcept
	// When this  Contract was issued.
	Issued *DateTime
	// Relevant time or time-period when this Contract is applicable.
	Applies *Period
	// Event resulting in discontinuation or termination of this Contract instance by one or more parties to the contract.
	ExpirationType *CodeableConcept
	// The target entity impacted by or of interest to parties to the agreement.
	Subject []Reference
	// A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies.
	Authority []Reference
	// Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources.
	Domain []Reference
	// Sites in which the contract is complied with,  exercised, or in force.
	Site []Reference
	// A natural language name identifying this Contract definition, derivative, or instance in any legal state. Provides additional information about its content. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state.t giving additional information about its content.
	Title *String
	// An explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state.t giving additional information about its content.
	Subtitle *String
	// Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation.
	Alias []String
	// The individual or organization that authored the Contract definition, derivative, or instance in any legal state.
	Author *Reference
	// A selector of legal concerns for this Contract definition, derivative, or instance in any legal state.
	Scope *CodeableConcept
	// Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.
	Topic isContractTopic
	// A high-level category for the legal instrument, whether constructed as a Contract definition, derivative, or instance in any legal state.  Provides additional information about its content within the context of the Contract's scope to distinguish the kinds of systems that would be interested in the contract.
	Type *CodeableConcept
	// Sub-category for the Contract that distinguishes the kinds of systems that would be interested in the Contract within the context of the Contract's scope.
	SubType []CodeableConcept
	// 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.
	ContentDefinition *ContractContentDefinition
	// One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups.
	Term []ContractTerm
	// Information that may be needed by/relevant to the performer in their execution of this term action.
	SupportingInfo []Reference
	// Links to Provenance records for past versions of this Contract definition, derivative, or instance, which identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the Contract.  The Provence.entity indicates the target that was changed in the update. http://build.fhir.org/provenance-definitions.html#Provenance.entity.
	RelevantHistory []Reference
	// 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.
	Signer []ContractSigner
	// 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.
	Friendly []ContractFriendly
	// List of Legal expressions or representations of this Contract.
	Legal []ContractLegal
	// List of Computable Policy Rule Language Representations of this Contract.
	Rule []ContractRule
	// Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract.
	LegallyBinding isContractLegallyBinding
}

Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.

func (Contract) MarshalJSON

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

func (Contract) MarshalXML

func (r Contract) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Contract) MemSize

func (r Contract) MemSize() int

func (Contract) ResourceId

func (r Contract) ResourceId() (string, bool)

func (Contract) ResourceType

func (r Contract) ResourceType() string

func (Contract) String

func (r Contract) String() string

func (*Contract) UnmarshalJSON

func (r *Contract) UnmarshalJSON(b []byte) error

func (*Contract) UnmarshalXML

func (r *Contract) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractContentDefinition

type ContractContentDefinition struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Precusory content structure and use, i.e., a boilerplate, template, application for a contract such as an insurance policy or benefits under a program, e.g., workers compensation.
	Type CodeableConcept
	// Detailed Precusory content type.
	SubType *CodeableConcept
	// The  individual or organization that published the Contract precursor content.
	Publisher *Reference
	// The date (and optionally time) when the contract was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes.
	PublicationDate *DateTime
	// amended | appended | cancelled | disputed | entered-in-error | executable | executed | negotiable | offered | policy | rejected | renewed | revoked | resolved | terminated.
	PublicationStatus Code
	// A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content.
	Copyright *Markdown
}

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.

func (ContractContentDefinition) MarshalJSON

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

func (ContractContentDefinition) MarshalXML

func (r ContractContentDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractContentDefinition) MemSize

func (r ContractContentDefinition) MemSize() int

func (*ContractContentDefinition) UnmarshalXML

func (r *ContractContentDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractFriendly

type ContractFriendly struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.
	Content isContractFriendlyContent
}

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.

func (ContractFriendly) MarshalJSON

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

func (ContractFriendly) MarshalXML

func (r ContractFriendly) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractFriendly) MemSize

func (r ContractFriendly) MemSize() int

func (*ContractFriendly) UnmarshalXML

func (r *ContractFriendly) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractLegal

type ContractLegal struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Contract legal text in human renderable form.
	Content isContractLegalContent
}

List of Legal expressions or representations of this Contract.

func (ContractLegal) MarshalJSON

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

func (ContractLegal) MarshalXML

func (r ContractLegal) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractLegal) MemSize

func (r ContractLegal) MemSize() int

func (*ContractLegal) UnmarshalXML

func (r *ContractLegal) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractRule

type ContractRule struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).
	Content isContractRuleContent
}

List of Computable Policy Rule Language Representations of this Contract.

func (ContractRule) MarshalJSON

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

func (ContractRule) MarshalXML

func (r ContractRule) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractRule) MemSize

func (r ContractRule) MemSize() int

func (*ContractRule) UnmarshalXML

func (r *ContractRule) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractSigner

type ContractSigner struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Role of this Contract signer, e.g. notary, grantee.
	Type Coding
	// Party which is a signator to this Contract.
	Party Reference
	// Legally binding Contract DSIG signature contents in Base64.
	Signature []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.

func (ContractSigner) MarshalJSON

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

func (ContractSigner) MarshalXML

func (r ContractSigner) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractSigner) MemSize

func (r ContractSigner) MemSize() int

func (*ContractSigner) UnmarshalXML

func (r *ContractSigner) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractTerm

type ContractTerm struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique identifier for this particular Contract Provision.
	Identifier *Identifier
	// When this Contract Provision was issued.
	Issued *DateTime
	// Relevant time or time-period when this Contract Provision is applicable.
	Applies *Period
	// The entity that the term applies to.
	Topic isContractTermTopic
	// A legal clause or condition contained within a contract that requires one or both parties to perform a particular requirement by some specified time or prevents one or both parties from performing a particular requirement by some specified time.
	Type *CodeableConcept
	// A specialized legal clause or condition based on overarching contract type.
	SubType *CodeableConcept
	// Statement of a provision in a policy or a contract.
	Text *String
	// Security labels that protect the handling of information about the term and its elements, which may be specifically identified..
	SecurityLabel []ContractTermSecurityLabel
	// The matter of concern in the context of this provision of the agrement.
	Offer ContractTermOffer
	// Contract Term Asset List.
	Asset []ContractTermAsset
	// An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.
	Action []ContractTermAction
	// Nested group of Contract Provisions.
	Group []ContractTerm
}

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

func (ContractTerm) MarshalJSON

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

func (ContractTerm) MarshalXML

func (r ContractTerm) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractTerm) MemSize

func (r ContractTerm) MemSize() int

func (*ContractTerm) UnmarshalXML

func (r *ContractTerm) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractTermAction

type ContractTermAction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// True if the term prohibits the  action.
	DoNotPerform *Boolean
	// Activity or service obligation to be done or not done, performed or not performed, effectuated or not by this Contract term.
	Type CodeableConcept
	// Entity of the action.
	Subject []ContractTermActionSubject
	// Reason or purpose for the action stipulated by this Contract Provision.
	Intent CodeableConcept
	// Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse.
	LinkId []String
	// Current state of the term action.
	Status CodeableConcept
	// Encounter or Episode with primary association to specified term activity.
	Context *Reference
	// Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.
	ContextLinkId []String
	// When action happens.
	Occurrence isContractTermActionOccurrence
	// Who or what initiated the action and has responsibility for its activation.
	Requester []Reference
	// Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.
	RequesterLinkId []String
	// The type of individual that is desired or required to perform or not perform the action.
	PerformerType []CodeableConcept
	// The type of role or competency of an individual desired or required to perform or not perform the action.
	PerformerRole *CodeableConcept
	// Indicates who or what is being asked to perform (or not perform) the ction.
	Performer *Reference
	// Id [identifier??] of the clause or question text related to the reason type or reference of this  action in the referenced form or QuestionnaireResponse.
	PerformerLinkId []String
	// Rationale for the action to be performed or not performed. Describes why the action is permitted or prohibited.
	ReasonCode []CodeableConcept
	// Indicates another resource whose existence justifies permitting or not permitting this action.
	ReasonReference []Reference
	// Describes why the action is to be performed or not performed in textual form.
	Reason []String
	// Id [identifier??] of the clause or question text related to the reason type or reference of this  action in the referenced form or QuestionnaireResponse.
	ReasonLinkId []String
	// Comments made about the term action made by the requester, performer, subject or other participants.
	Note []Annotation
	// Security labels that protects the action.
	SecurityLabelNumber []UnsignedInt
}

An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.

func (ContractTermAction) MarshalJSON

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

func (ContractTermAction) MarshalXML

func (r ContractTermAction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractTermAction) MemSize

func (r ContractTermAction) MemSize() int

func (*ContractTermAction) UnmarshalXML

func (r *ContractTermAction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractTermActionSubject

type ContractTermActionSubject struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The entity the action is performed or not performed on or for.
	Reference []Reference
	// Role type of agent assigned roles in this Contract.
	Role *CodeableConcept
}

Entity of the action.

func (ContractTermActionSubject) MarshalJSON

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

func (ContractTermActionSubject) MarshalXML

func (r ContractTermActionSubject) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractTermActionSubject) MemSize

func (r ContractTermActionSubject) MemSize() int

func (*ContractTermActionSubject) UnmarshalXML

func (r *ContractTermActionSubject) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractTermAsset

type ContractTermAsset struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Differentiates the kind of the asset .
	Scope *CodeableConcept
	// Target entity type about which the term may be concerned.
	Type []CodeableConcept
	// Associated entities.
	TypeReference []Reference
	// May be a subtype or part of an offered asset.
	Subtype []CodeableConcept
	// Specifies the applicability of the term to an asset resource instance, and instances it refers to orinstances that refer to it, and/or are owned by the offeree.
	Relationship *Coding
	// Circumstance of the asset.
	Context []ContractTermAssetContext
	// Description of the quality and completeness of the asset that imay be a factor in its valuation.
	Condition *String
	// Type of Asset availability for use or ownership.
	PeriodType []CodeableConcept
	// Asset relevant contractual time period.
	Period []Period
	// Time period of asset use.
	UsePeriod []Period
	// Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract.
	Text *String
	// Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse.
	LinkId []String
	// Response to assets.
	Answer []ContractTermOfferAnswer
	// Security labels that protects the asset.
	SecurityLabelNumber []UnsignedInt
	// Contract Valued Item List.
	ValuedItem []ContractTermAssetValuedItem
}

Contract Term Asset List.

func (ContractTermAsset) MarshalJSON

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

func (ContractTermAsset) MarshalXML

func (r ContractTermAsset) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractTermAsset) MemSize

func (r ContractTermAsset) MemSize() int

func (*ContractTermAsset) UnmarshalXML

func (r *ContractTermAsset) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractTermAssetContext

type ContractTermAssetContext struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Asset context reference may include the creator, custodian, or owning Person or Organization (e.g., bank, repository),  location held, e.g., building,  jurisdiction.
	Reference *Reference
	// Coded representation of the context generally or of the Referenced entity, such as the asset holder type or location.
	Code []CodeableConcept
	// Context description.
	Text *String
}

Circumstance of the asset.

func (ContractTermAssetContext) MarshalJSON

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

func (ContractTermAssetContext) MarshalXML

func (r ContractTermAssetContext) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractTermAssetContext) MemSize

func (r ContractTermAssetContext) MemSize() int

func (*ContractTermAssetContext) UnmarshalXML

func (r *ContractTermAssetContext) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractTermAssetValuedItem

type ContractTermAssetValuedItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Specific type of Contract Valued Item that may be priced.
	Entity isContractTermAssetValuedItemEntity
	// Identifies a Contract Valued Item instance.
	Identifier *Identifier
	// Indicates the time during which this Contract ValuedItem information is effective.
	EffectiveTime *DateTime
	// Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances.
	Quantity *Quantity
	// A Contract Valued Item unit valuation measure.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point.
	Points *Decimal
	// Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number  * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied.
	Net *Money
	// Terms of valuation.
	Payment *String
	// When payment is due.
	PaymentDate *DateTime
	// Who will make payment.
	Responsible *Reference
	// Who will receive payment.
	Recipient *Reference
	// Id  of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse.
	LinkId []String
	// A set of security labels that define which terms are controlled by this condition.
	SecurityLabelNumber []UnsignedInt
}

Contract Valued Item List.

func (ContractTermAssetValuedItem) MarshalJSON

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

func (ContractTermAssetValuedItem) MarshalXML

func (r ContractTermAssetValuedItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractTermAssetValuedItem) MemSize

func (r ContractTermAssetValuedItem) MemSize() int

func (*ContractTermAssetValuedItem) UnmarshalXML

func (r *ContractTermAssetValuedItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractTermOffer

type ContractTermOffer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique identifier for this particular Contract Provision.
	Identifier []Identifier
	// Offer Recipient.
	Party []ContractTermOfferParty
	// The owner of an asset has the residual control rights over the asset: the right to decide all usages of the asset in any way not inconsistent with a prior contract, custom, or law (Hart, 1995, p. 30).
	Topic *Reference
	// Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit.
	Type *CodeableConcept
	// Type of choice made by accepting party with respect to an offer made by an offeror/ grantee.
	Decision *CodeableConcept
	// How the decision about a Contract was conveyed.
	DecisionMode []CodeableConcept
	// Response to offer text.
	Answer []ContractTermOfferAnswer
	// Human readable form of this Contract Offer.
	Text *String
	// The id of the clause or question text of the offer in the referenced questionnaire/response.
	LinkId []String
	// Security labels that protects the offer.
	SecurityLabelNumber []UnsignedInt
}

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

func (ContractTermOffer) MarshalJSON

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

func (ContractTermOffer) MarshalXML

func (r ContractTermOffer) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractTermOffer) MemSize

func (r ContractTermOffer) MemSize() int

func (*ContractTermOffer) UnmarshalXML

func (r *ContractTermOffer) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractTermOfferAnswer

type ContractTermOfferAnswer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Response to an offer clause or question text,  which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warrently duration, or whether biospecimen may be used for further research.
	Value isContractTermOfferAnswerValue
}

Response to offer text.

func (ContractTermOfferAnswer) MarshalJSON

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

func (ContractTermOfferAnswer) MarshalXML

func (r ContractTermOfferAnswer) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractTermOfferAnswer) MemSize

func (r ContractTermOfferAnswer) MemSize() int

func (*ContractTermOfferAnswer) UnmarshalXML

func (r *ContractTermOfferAnswer) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractTermOfferParty

type ContractTermOfferParty struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Participant in the offer.
	Reference []Reference
	// How the party participates in the offer.
	Role CodeableConcept
}

Offer Recipient.

func (ContractTermOfferParty) MarshalJSON

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

func (ContractTermOfferParty) MarshalXML

func (r ContractTermOfferParty) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractTermOfferParty) MemSize

func (r ContractTermOfferParty) MemSize() int

func (*ContractTermOfferParty) UnmarshalXML

func (r *ContractTermOfferParty) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ContractTermSecurityLabel

type ContractTermSecurityLabel struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Number used to link this term or term element to the applicable Security Label.
	Number []UnsignedInt
	// Security label privacy tag that species the level of confidentiality protection required for this term and/or term elements.
	Classification Coding
	// Security label privacy tag that species the applicable privacy and security policies governing this term and/or term elements.
	Category []Coding
	// Security label privacy tag that species the manner in which term and/or term elements are to be protected.
	Control []Coding
}

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

func (ContractTermSecurityLabel) MarshalJSON

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

func (ContractTermSecurityLabel) MarshalXML

func (r ContractTermSecurityLabel) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ContractTermSecurityLabel) MemSize

func (r ContractTermSecurityLabel) MemSize() int

func (*ContractTermSecurityLabel) UnmarshalXML

func (r *ContractTermSecurityLabel) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Contributor

type Contributor struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The type of contributor.
	Type Code
	// The name of the individual or organization responsible for the contribution.
	Name String
	// Contact details to assist a user in finding and communicating with the contributor.
	Contact []ContactDetail
}

Base StructureDefinition for Contributor Type: A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.

Need to track contributor information in the same way across multiple resources.

func (Contributor) MarshalJSON

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

func (Contributor) MarshalXML

func (r Contributor) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Contributor) MemSize

func (r Contributor) MemSize() int

func (Contributor) String

func (r Contributor) String() string

func (*Contributor) UnmarshalXML

func (r *Contributor) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Count

type Count struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The value of the measured amount. The value includes an implicit precision in the presentation of the value.
	Value *Decimal
	// How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.
	Comparator *Code
	// A human-readable form of the unit.
	Unit *String
	// The identification of the system that provides the coded form of the unit.
	System *Uri
	// A computer processable form of the unit in some unit representation system.
	Code *Code
}

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.

Need to able to capture all sorts of measured values, even if the measured value are not precisely quantified. Values include exact measures such as 3.51g, customary units such as 3 tablets, and currencies such as $100.32USD.

func (Count) MarshalJSON

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

func (Count) MarshalXML

func (r Count) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Count) MemSize

func (r Count) MemSize() int

func (Count) String

func (r Count) String() string

func (*Count) UnmarshalXML

func (r *Count) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Coverage

type Coverage struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this coverage.
	Identifier []Identifier
	// The status of the resource instance.
	Status Code
	// The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization.
	Type *CodeableConcept
	// The party who 'owns' the insurance policy.
	PolicyHolder *Reference
	// The party who has signed-up for or 'owns' the contractual relationship to the policy or to whom the benefit of the policy for services rendered to them or their family is due.
	Subscriber *Reference
	// The insurer assigned ID for the Subscriber.
	SubscriberId *String
	// The party who benefits from the insurance coverage; the patient when products and/or services are provided.
	Beneficiary Reference
	// A unique identifier for a dependent under the coverage.
	Dependent *String
	// The relationship of beneficiary (patient) to the subscriber.
	Relationship *CodeableConcept
	// Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force.
	Period *Period
	// The program or plan underwriter or payor including both insurance and non-insurance agreements, such as patient-pay agreements.
	Payor []Reference
	// A suite of underwriter specific classifiers.
	Class []CoverageClass
	// The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care.
	Order *PositiveInt
	// The insurer-specific identifier for the insurer-defined network of providers to which the beneficiary may seek treatment which will be covered at the 'in-network' rate, otherwise 'out of network' terms and conditions apply.
	Network *String
	// 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.
	CostToBeneficiary []CoverageCostToBeneficiary
	// When 'subrogation=true' this insurance instance has been included not for adjudication but to provide insurers with the details to recover costs.
	Subrogation *Boolean
	// The policy(s) which constitute this insurance coverage.
	Contract []Reference
}

Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.

Coverage provides a link between covered parties (patients) and the payors of their healthcare costs (both insurance and self-pay).

func (Coverage) MarshalJSON

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

func (Coverage) MarshalXML

func (r Coverage) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Coverage) MemSize

func (r Coverage) MemSize() int

func (Coverage) ResourceId

func (r Coverage) ResourceId() (string, bool)

func (Coverage) ResourceType

func (r Coverage) ResourceType() string

func (Coverage) String

func (r Coverage) String() string

func (*Coverage) UnmarshalJSON

func (r *Coverage) UnmarshalJSON(b []byte) error

func (*Coverage) UnmarshalXML

func (r *Coverage) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CoverageClass

type CoverageClass struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of classification for which an insurer-specific class label or number and optional name is provided, for example may be used to identify a class of coverage or employer group, Policy, Plan.
	Type CodeableConcept
	// The alphanumeric string value associated with the insurer issued label.
	Value String
	// A short description for the class.
	Name *String
}

A suite of underwriter specific classifiers.

func (CoverageClass) MarshalJSON

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

func (CoverageClass) MarshalXML

func (r CoverageClass) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CoverageClass) MemSize

func (r CoverageClass) MemSize() int

func (*CoverageClass) UnmarshalXML

func (r *CoverageClass) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CoverageCostToBeneficiary

type CoverageCostToBeneficiary struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The category of patient centric costs associated with treatment.
	Type *CodeableConcept
	// The amount due from the patient for the cost category.
	Value isCoverageCostToBeneficiaryValue
	// A suite of codes indicating exceptions or reductions to patient costs and their effective periods.
	Exception []CoverageCostToBeneficiaryException
}

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.

func (CoverageCostToBeneficiary) MarshalJSON

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

func (CoverageCostToBeneficiary) MarshalXML

func (r CoverageCostToBeneficiary) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CoverageCostToBeneficiary) MemSize

func (r CoverageCostToBeneficiary) MemSize() int

func (*CoverageCostToBeneficiary) UnmarshalXML

func (r *CoverageCostToBeneficiary) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CoverageCostToBeneficiaryException

type CoverageCostToBeneficiaryException struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The code for the specific exception.
	Type CodeableConcept
	// The timeframe during when the exception is in force.
	Period *Period
}

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

func (CoverageCostToBeneficiaryException) MarshalJSON

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

func (CoverageCostToBeneficiaryException) MarshalXML

func (CoverageCostToBeneficiaryException) MemSize

func (*CoverageCostToBeneficiaryException) UnmarshalXML

type CoverageEligibilityRequest

type CoverageEligibilityRequest struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this coverage eligiblity request.
	Identifier []Identifier
	// The status of the resource instance.
	Status Code
	// When the requestor expects the processor to complete processing.
	Priority *CodeableConcept
	// Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.
	Purpose []Code
	// The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.
	Patient Reference
	// The date or dates when the enclosed suite of services were performed or completed.
	Serviced isCoverageEligibilityRequestServiced
	// The date when this resource was created.
	Created DateTime
	// Person who created the request.
	Enterer *Reference
	// The provider which is responsible for the request.
	Provider *Reference
	// The Insurer who issued the coverage in question and is the recipient of the request.
	Insurer Reference
	// Facility where the services are intended to be provided.
	Facility *Reference
	// Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.
	SupportingInfo []CoverageEligibilityRequestSupportingInfo
	// Financial instruments for reimbursement for the health care products and services.
	Insurance []CoverageEligibilityRequestInsurance
	// Service categories or billable services for which benefit details and/or an authorization prior to service delivery may be required by the payor.
	Item []CoverageEligibilityRequestItem
}

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 (CoverageEligibilityRequest) MarshalJSON

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

func (CoverageEligibilityRequest) MarshalXML

func (r CoverageEligibilityRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CoverageEligibilityRequest) MemSize

func (r CoverageEligibilityRequest) MemSize() int

func (CoverageEligibilityRequest) ResourceId

func (r CoverageEligibilityRequest) ResourceId() (string, bool)

func (CoverageEligibilityRequest) ResourceType

func (r CoverageEligibilityRequest) ResourceType() string

func (CoverageEligibilityRequest) String

func (*CoverageEligibilityRequest) UnmarshalJSON

func (r *CoverageEligibilityRequest) UnmarshalJSON(b []byte) error

func (*CoverageEligibilityRequest) UnmarshalXML

func (r *CoverageEligibilityRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CoverageEligibilityRequestInsurance

type CoverageEligibilityRequestInsurance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A flag to indicate that this Coverage is to be used for evaluation of this request when set to true.
	Focal *Boolean
	// Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.
	Coverage Reference
	// A business agreement number established between the provider and the insurer for special business processing purposes.
	BusinessArrangement *String
}

Financial instruments for reimbursement for the health care products and services.

func (CoverageEligibilityRequestInsurance) MarshalJSON

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

func (CoverageEligibilityRequestInsurance) MarshalXML

func (CoverageEligibilityRequestInsurance) MemSize

func (*CoverageEligibilityRequestInsurance) UnmarshalXML

type CoverageEligibilityRequestItem

type CoverageEligibilityRequestItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Exceptions, special conditions and supporting information applicable for this service or product line.
	SupportingInfoSequence []PositiveInt
	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept
	// This contains the product, service, drug or other billing code for the item.
	ProductOrService *CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// The practitioner who is responsible for the product or service to be rendered to the patient.
	Provider *Reference
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// The amount charged to the patient by the provider for a single unit.
	UnitPrice *Money
	// Facility where the services will be provided.
	Facility *Reference
	// Patient diagnosis for which care is sought.
	Diagnosis []CoverageEligibilityRequestItemDiagnosis
	// The plan/proposal/order describing the proposed service in detail.
	Detail []Reference
}

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

func (CoverageEligibilityRequestItem) MarshalJSON

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

func (CoverageEligibilityRequestItem) MarshalXML

func (CoverageEligibilityRequestItem) MemSize

func (r CoverageEligibilityRequestItem) MemSize() int

func (*CoverageEligibilityRequestItem) UnmarshalXML

func (r *CoverageEligibilityRequestItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CoverageEligibilityRequestItemDiagnosis

type CoverageEligibilityRequestItemDiagnosis struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The nature of illness or problem in a coded form or as a reference to an external defined Condition.
	Diagnosis isCoverageEligibilityRequestItemDiagnosisDiagnosis
}

Patient diagnosis for which care is sought.

func (CoverageEligibilityRequestItemDiagnosis) MarshalJSON

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

func (CoverageEligibilityRequestItemDiagnosis) MarshalXML

func (CoverageEligibilityRequestItemDiagnosis) MemSize

func (*CoverageEligibilityRequestItemDiagnosis) UnmarshalXML

type CoverageEligibilityRequestSupportingInfo

type CoverageEligibilityRequestSupportingInfo struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify supporting information entries.
	Sequence PositiveInt
	// Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.
	Information Reference
	// The supporting materials are applicable for all detail items, product/servce categories and specific billing codes.
	AppliesToAll *Boolean
}

Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.

func (CoverageEligibilityRequestSupportingInfo) MarshalJSON

func (CoverageEligibilityRequestSupportingInfo) MarshalXML

func (CoverageEligibilityRequestSupportingInfo) MemSize

func (*CoverageEligibilityRequestSupportingInfo) UnmarshalXML

type CoverageEligibilityResponse

type CoverageEligibilityResponse struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this coverage eligiblity request.
	Identifier []Identifier
	// The status of the resource instance.
	Status Code
	// Code to specify whether requesting: prior authorization requirements for some service categories or billing codes; benefits for coverages specified or discovered; discovery and return of coverages for the patient; and/or validation that the specified coverage is in-force at the date/period specified or 'now' if not specified.
	Purpose []Code
	// The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.
	Patient Reference
	// The date or dates when the enclosed suite of services were performed or completed.
	Serviced isCoverageEligibilityResponseServiced
	// The date this resource was created.
	Created DateTime
	// The provider which is responsible for the request.
	Requestor *Reference
	// Reference to the original request resource.
	Request Reference
	// The outcome of the request processing.
	Outcome Code
	// A human readable description of the status of the adjudication.
	Disposition *String
	// The Insurer who issued the coverage in question and is the author of the response.
	Insurer Reference
	// Financial instruments for reimbursement for the health care products and services.
	Insurance []CoverageEligibilityResponseInsurance
	// A reference from the Insurer to which these services pertain to be used on further communication and as proof that the request occurred.
	PreAuthRef *String
	// A code for the form to be used for printing the content.
	Form *CodeableConcept
	// Errors encountered during the processing of the request.
	Error []CoverageEligibilityResponseError
}

This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.

func (CoverageEligibilityResponse) MarshalJSON

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

func (CoverageEligibilityResponse) MarshalXML

func (r CoverageEligibilityResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (CoverageEligibilityResponse) MemSize

func (r CoverageEligibilityResponse) MemSize() int

func (CoverageEligibilityResponse) ResourceId

func (r CoverageEligibilityResponse) ResourceId() (string, bool)

func (CoverageEligibilityResponse) ResourceType

func (r CoverageEligibilityResponse) ResourceType() string

func (CoverageEligibilityResponse) String

func (*CoverageEligibilityResponse) UnmarshalJSON

func (r *CoverageEligibilityResponse) UnmarshalJSON(b []byte) error

func (*CoverageEligibilityResponse) UnmarshalXML

func (r *CoverageEligibilityResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type CoverageEligibilityResponseError

type CoverageEligibilityResponseError struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An error code,from a specified code system, which details why the eligibility check could not be performed.
	Code CodeableConcept
}

Errors encountered during the processing of the request.

func (CoverageEligibilityResponseError) MarshalJSON

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

func (CoverageEligibilityResponseError) MarshalXML

func (CoverageEligibilityResponseError) MemSize

func (*CoverageEligibilityResponseError) UnmarshalXML

type CoverageEligibilityResponseInsurance

type CoverageEligibilityResponseInsurance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.
	Coverage Reference
	// Flag indicating if the coverage provided is inforce currently if no service date(s) specified or for the whole duration of the service dates.
	Inforce *Boolean
	// The term of the benefits documented in this response.
	BenefitPeriod *Period
	// Benefits and optionally current balances, and authorization details by category or service.
	Item []CoverageEligibilityResponseInsuranceItem
}

Financial instruments for reimbursement for the health care products and services.

func (CoverageEligibilityResponseInsurance) MarshalJSON

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

func (CoverageEligibilityResponseInsurance) MarshalXML

func (CoverageEligibilityResponseInsurance) MemSize

func (*CoverageEligibilityResponseInsurance) UnmarshalXML

type CoverageEligibilityResponseInsuranceItem

type CoverageEligibilityResponseInsuranceItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept
	// This contains the product, service, drug or other billing code for the item.
	ProductOrService *CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// The practitioner who is eligible for the provision of the product or service.
	Provider *Reference
	// True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage.
	Excluded *Boolean
	// A short name or tag for the benefit.
	Name *String
	// A richer description of the benefit or services covered.
	Description *String
	// Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.
	Network *CodeableConcept
	// Indicates if the benefits apply to an individual or to the family.
	Unit *CodeableConcept
	// The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.
	Term *CodeableConcept
	// Benefits used to date.
	Benefit []CoverageEligibilityResponseInsuranceItemBenefit
	// A boolean flag indicating whether a preauthorization is required prior to actual service delivery.
	AuthorizationRequired *Boolean
	// Codes or comments regarding information or actions associated with the preauthorization.
	AuthorizationSupporting []CodeableConcept
	// A web location for obtaining requirements or descriptive information regarding the preauthorization.
	AuthorizationUrl *Uri
}

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

func (CoverageEligibilityResponseInsuranceItem) MarshalJSON

func (CoverageEligibilityResponseInsuranceItem) MarshalXML

func (CoverageEligibilityResponseInsuranceItem) MemSize

func (*CoverageEligibilityResponseInsuranceItem) UnmarshalXML

type CoverageEligibilityResponseInsuranceItemBenefit

type CoverageEligibilityResponseInsuranceItemBenefit struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Classification of benefit being provided.
	Type CodeableConcept
	// The quantity of the benefit which is permitted under the coverage.
	Allowed isCoverageEligibilityResponseInsuranceItemBenefitAllowed
	// The quantity of the benefit which have been consumed to date.
	Used isCoverageEligibilityResponseInsuranceItemBenefitUsed
}

Benefits used to date.

func (CoverageEligibilityResponseInsuranceItemBenefit) MarshalJSON

func (CoverageEligibilityResponseInsuranceItemBenefit) MarshalXML

func (CoverageEligibilityResponseInsuranceItemBenefit) MemSize

func (*CoverageEligibilityResponseInsuranceItemBenefit) UnmarshalXML

type DataRequirement

type DataRequirement struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile.
	Type Code
	// The profile of the required data, specified as the uri of the profile definition.
	Profile []Canonical
	// The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed.
	Subject isDataRequirementSubject
	// Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.
	//
	// The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).
	MustSupport []String
	// 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.
	CodeFilter []DataRequirementCodeFilter
	// 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.
	DateFilter []DataRequirementDateFilter
	// Specifies a maximum number of results that are required (uses the _count search parameter).
	Limit *PositiveInt
	// Specifies the order of the results to be returned.
	Sort []DataRequirementSort
}

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.

func (DataRequirement) MarshalJSON

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

func (DataRequirement) MarshalXML

func (r DataRequirement) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DataRequirement) MemSize

func (r DataRequirement) MemSize() int

func (DataRequirement) String

func (r DataRequirement) String() string

func (*DataRequirement) UnmarshalXML

func (r *DataRequirement) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DataRequirementCodeFilter

type DataRequirementCodeFilter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The code-valued attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConcept.
	Path *String
	// A token parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type code, Coding, or CodeableConcept.
	SearchParam *String
	// The valueset for the code filter. The valueSet and code elements are additive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valueset.
	ValueSet *Canonical
	// The codes for the code filter. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes.
	Code []Coding
}

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.

func (DataRequirementCodeFilter) MarshalJSON

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

func (DataRequirementCodeFilter) MarshalXML

func (r DataRequirementCodeFilter) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DataRequirementCodeFilter) MemSize

func (r DataRequirementCodeFilter) MemSize() int

func (*DataRequirementCodeFilter) UnmarshalXML

func (r *DataRequirementCodeFilter) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DataRequirementDateFilter

type DataRequirementDateFilter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The date-valued attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of type date, dateTime, Period, Schedule, or Timing.
	Path *String
	// A date parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type date, dateTime, Period, Schedule, or Timing.
	SearchParam *String
	// The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now.
	Value isDataRequirementDateFilterValue
}

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.

func (DataRequirementDateFilter) MarshalJSON

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

func (DataRequirementDateFilter) MarshalXML

func (r DataRequirementDateFilter) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DataRequirementDateFilter) MemSize

func (r DataRequirementDateFilter) MemSize() int

func (*DataRequirementDateFilter) UnmarshalXML

func (r *DataRequirementDateFilter) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DataRequirementSort

type DataRequirementSort struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The attribute of the sort. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant.
	Path String
	// The direction of the sort, ascending or descending.
	Direction Code
}

Specifies the order of the results to be returned.

func (DataRequirementSort) MarshalJSON

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

func (DataRequirementSort) MarshalXML

func (r DataRequirementSort) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DataRequirementSort) MemSize

func (r DataRequirementSort) MemSize() int

func (*DataRequirementSort) UnmarshalXML

func (r *DataRequirementSort) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Date

type Date struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The actual value
	Value *string
}

Base StructureDefinition for date Type: A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates.

func (Date) MarshalJSON

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

func (Date) MarshalXML

func (r Date) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Date) MemSize

func (r Date) MemSize() int

func (*Date) UnmarshalJSON

func (r *Date) UnmarshalJSON(b []byte) error

func (*Date) UnmarshalXML

func (r *Date) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DateTime

type DateTime struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The actual value
	Value *string
}

Base StructureDefinition for dateTime Type: A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

func (DateTime) MarshalJSON

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

func (DateTime) MarshalXML

func (r DateTime) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DateTime) MemSize

func (r DateTime) MemSize() int

func (*DateTime) UnmarshalJSON

func (r *DateTime) UnmarshalJSON(b []byte) error

func (*DateTime) UnmarshalXML

func (r *DateTime) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Decimal

type Decimal struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The actual value
	Value *apd.Decimal
}

Base StructureDefinition for decimal Type: A rational number with implicit precision

func (Decimal) MarshalJSON

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

func (Decimal) MarshalXML

func (r Decimal) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Decimal) MemSize

func (r Decimal) MemSize() int

func (*Decimal) UnmarshalJSON

func (r *Decimal) UnmarshalJSON(b []byte) error

func (*Decimal) UnmarshalXML

func (r *Decimal) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DetectedIssue

type DetectedIssue struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifier associated with the detected issue record.
	Identifier []Identifier
	// Indicates the status of the detected issue.
	Status Code
	// Identifies the general type of issue identified.
	Code *CodeableConcept
	// Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.
	Severity *Code
	// Indicates the patient whose record the detected issue is associated with.
	Patient *Reference
	// The date or period when the detected issue was initially identified.
	Identified isDetectedIssueIdentified
	// Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review.
	Author *Reference
	// Indicates the resource representing the current activity or proposed activity that is potentially problematic.
	Implicated []Reference
	// Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport.
	Evidence []DetectedIssueEvidence
	// A textual explanation of the detected issue.
	Detail *String
	// The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified.
	Reference *Uri
	// 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.
	Mitigation []DetectedIssueMitigation
}

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 (DetectedIssue) MarshalJSON

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

func (DetectedIssue) MarshalXML

func (r DetectedIssue) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DetectedIssue) MemSize

func (r DetectedIssue) MemSize() int

func (DetectedIssue) ResourceId

func (r DetectedIssue) ResourceId() (string, bool)

func (DetectedIssue) ResourceType

func (r DetectedIssue) ResourceType() string

func (DetectedIssue) String

func (r DetectedIssue) String() string

func (*DetectedIssue) UnmarshalJSON

func (r *DetectedIssue) UnmarshalJSON(b []byte) error

func (*DetectedIssue) UnmarshalXML

func (r *DetectedIssue) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DetectedIssueEvidence

type DetectedIssueEvidence struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A manifestation that led to the recording of this detected issue.
	Code []CodeableConcept
	// Links to resources that constitute evidence for the detected issue such as a GuidanceResponse or MeasureReport.
	Detail []Reference
}

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

func (DetectedIssueEvidence) MarshalJSON

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

func (DetectedIssueEvidence) MarshalXML

func (r DetectedIssueEvidence) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DetectedIssueEvidence) MemSize

func (r DetectedIssueEvidence) MemSize() int

func (*DetectedIssueEvidence) UnmarshalXML

func (r *DetectedIssueEvidence) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DetectedIssueMitigation

type DetectedIssueMitigation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue.
	Action CodeableConcept
	// Indicates when the mitigating action was documented.
	Date *DateTime
	// Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring.
	Author *Reference
}

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.

func (DetectedIssueMitigation) MarshalJSON

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

func (DetectedIssueMitigation) MarshalXML

func (r DetectedIssueMitigation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DetectedIssueMitigation) MemSize

func (r DetectedIssueMitigation) MemSize() int

func (*DetectedIssueMitigation) UnmarshalXML

func (r *DetectedIssueMitigation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Device

type Device struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique instance identifiers assigned to a device by manufacturers other organizations or owners.
	Identifier []Identifier
	// The reference to the definition for the device.
	Definition *Reference
	// 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.
	UdiCarrier []DeviceUdiCarrier
	// Status of the Device availability.
	Status *Code
	// Reason for the dtatus of the Device availability.
	StatusReason []CodeableConcept
	// The distinct identification string as required by regulation for a human cell, tissue, or cellular and tissue-based product.
	DistinctIdentifier *String
	// A name of the manufacturer.
	Manufacturer *String
	// The date and time when the device was manufactured.
	ManufactureDate *DateTime
	// The date and time beyond which this device is no longer valid or should not be used (if applicable).
	ExpirationDate *DateTime
	// Lot number assigned by the manufacturer.
	LotNumber *String
	// The serial number assigned by the organization when the device was manufactured.
	SerialNumber *String
	// 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.
	DeviceName []DeviceDeviceName
	// The manufacturer's model number for the device.
	ModelNumber *String
	// The part number or catalog number of the device.
	PartNumber *String
	// The kind or type of device.
	Type *CodeableConcept
	// The capabilities supported on a  device, the standards to which the device conforms for a particular purpose, and used for the communication.
	Specialization []DeviceSpecialization
	// The actual design of the device or software version running on the device.
	Version []DeviceVersion
	// The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties.
	Property []DeviceProperty
	// Patient information, If the device is affixed to a person.
	Patient *Reference
	// An organization that is responsible for the provision and ongoing maintenance of the device.
	Owner *Reference
	// Contact details for an organization or a particular human that is responsible for the device.
	Contact []ContactPoint
	// The place where the device can be found.
	Location *Reference
	// A network address on which the device may be contacted directly.
	Url *Uri
	// Descriptive information, usage information or implantation information that is not captured in an existing element.
	Note []Annotation
	// Provides additional safety characteristics about a medical device.  For example devices containing latex.
	Safety []CodeableConcept
	// The device that this device is attached to or is part of.
	Parent *Reference
}

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.

Allows institutions to track their devices.

func (Device) MarshalJSON

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

func (Device) MarshalXML

func (r Device) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Device) MemSize

func (r Device) MemSize() int

func (Device) ResourceId

func (r Device) ResourceId() (string, bool)

func (Device) ResourceType

func (r Device) ResourceType() string

func (Device) String

func (r Device) String() string

func (*Device) UnmarshalJSON

func (r *Device) UnmarshalJSON(b []byte) error

func (*Device) UnmarshalXML

func (r *Device) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceDefinition

type DeviceDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique instance identifiers assigned to a device by the software, manufacturers, other organizations or owners. For example: handle ID.
	Identifier []Identifier
	// 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.
	UdiDeviceIdentifier []DeviceDefinitionUdiDeviceIdentifier
	// A name of the manufacturer.
	Manufacturer isDeviceDefinitionManufacturer
	// A name given to the device to identify it.
	DeviceName []DeviceDefinitionDeviceName
	// The model number for the device.
	ModelNumber *String
	// What kind of device or device system this is.
	Type *CodeableConcept
	// The capabilities supported on a  device, the standards to which the device conforms for a particular purpose, and used for the communication.
	Specialization []DeviceDefinitionSpecialization
	// The available versions of the device, e.g., software versions.
	Version []String
	// Safety characteristics of the device.
	Safety []CodeableConcept
	// Shelf Life and storage information.
	ShelfLifeStorage []ProductShelfLife
	// Dimensions, color etc.
	PhysicalCharacteristics *ProdCharacteristic
	// Language code for the human-readable text strings produced by the device (all supported).
	LanguageCode []CodeableConcept
	// Device capabilities.
	Capability []DeviceDefinitionCapability
	// The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties.
	Property []DeviceDefinitionProperty
	// An organization that is responsible for the provision and ongoing maintenance of the device.
	Owner *Reference
	// Contact details for an organization or a particular human that is responsible for the device.
	Contact []ContactPoint
	// A network address on which the device may be contacted directly.
	Url *Uri
	// Access to on-line information about the device.
	OnlineInformation *Uri
	// Descriptive information, usage information or implantation information that is not captured in an existing element.
	Note []Annotation
	// The quantity of the device present in the packaging (e.g. the number of devices present in a pack, or the number of devices in the same package of the medicinal product).
	Quantity *Quantity
	// The parent device it can be part of.
	ParentDevice *Reference
	// A substance used to create the material(s) of which the device is made.
	Material []DeviceDefinitionMaterial
}

The characteristics, operational status and capabilities of a medical-related component of a medical device.

func (DeviceDefinition) MarshalJSON

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

func (DeviceDefinition) MarshalXML

func (r DeviceDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceDefinition) MemSize

func (r DeviceDefinition) MemSize() int

func (DeviceDefinition) ResourceId

func (r DeviceDefinition) ResourceId() (string, bool)

func (DeviceDefinition) ResourceType

func (r DeviceDefinition) ResourceType() string

func (DeviceDefinition) String

func (r DeviceDefinition) String() string

func (*DeviceDefinition) UnmarshalJSON

func (r *DeviceDefinition) UnmarshalJSON(b []byte) error

func (*DeviceDefinition) UnmarshalXML

func (r *DeviceDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceDefinitionCapability

type DeviceDefinitionCapability struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type of capability.
	Type CodeableConcept
	// Description of capability.
	Description []CodeableConcept
}

Device capabilities.

func (DeviceDefinitionCapability) MarshalJSON

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

func (DeviceDefinitionCapability) MarshalXML

func (r DeviceDefinitionCapability) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceDefinitionCapability) MemSize

func (r DeviceDefinitionCapability) MemSize() int

func (*DeviceDefinitionCapability) UnmarshalXML

func (r *DeviceDefinitionCapability) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceDefinitionDeviceName

type DeviceDefinitionDeviceName struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The name of the device.
	Name String
	// The type of deviceName.
	// UDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName.
	Type Code
}

A name given to the device to identify it.

func (DeviceDefinitionDeviceName) MarshalJSON

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

func (DeviceDefinitionDeviceName) MarshalXML

func (r DeviceDefinitionDeviceName) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceDefinitionDeviceName) MemSize

func (r DeviceDefinitionDeviceName) MemSize() int

func (*DeviceDefinitionDeviceName) UnmarshalXML

func (r *DeviceDefinitionDeviceName) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceDefinitionMaterial

type DeviceDefinitionMaterial struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The substance.
	Substance CodeableConcept
	// Indicates an alternative material of the device.
	Alternate *Boolean
	// Whether the substance is a known or suspected allergen.
	AllergenicIndicator *Boolean
}

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

func (DeviceDefinitionMaterial) MarshalJSON

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

func (DeviceDefinitionMaterial) MarshalXML

func (r DeviceDefinitionMaterial) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceDefinitionMaterial) MemSize

func (r DeviceDefinitionMaterial) MemSize() int

func (*DeviceDefinitionMaterial) UnmarshalXML

func (r *DeviceDefinitionMaterial) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceDefinitionProperty

type DeviceDefinitionProperty struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Code that specifies the property DeviceDefinitionPropetyCode (Extensible).
	Type CodeableConcept
	// Property value as a quantity.
	ValueQuantity []Quantity
	// Property value as a code, e.g., NTP4 (synced to NTP).
	ValueCode []CodeableConcept
}

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

func (DeviceDefinitionProperty) MarshalJSON

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

func (DeviceDefinitionProperty) MarshalXML

func (r DeviceDefinitionProperty) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceDefinitionProperty) MemSize

func (r DeviceDefinitionProperty) MemSize() int

func (*DeviceDefinitionProperty) UnmarshalXML

func (r *DeviceDefinitionProperty) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceDefinitionSpecialization

type DeviceDefinitionSpecialization struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The standard that is used to operate and communicate.
	SystemType String
	// The version of the standard that is used to operate and communicate.
	Version *String
}

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

func (DeviceDefinitionSpecialization) MarshalJSON

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

func (DeviceDefinitionSpecialization) MarshalXML

func (DeviceDefinitionSpecialization) MemSize

func (r DeviceDefinitionSpecialization) MemSize() int

func (*DeviceDefinitionSpecialization) UnmarshalXML

func (r *DeviceDefinitionSpecialization) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceDefinitionUdiDeviceIdentifier

type DeviceDefinitionUdiDeviceIdentifier struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The identifier that is to be associated with every Device that references this DeviceDefintiion for the issuer and jurisdication porvided in the DeviceDefinition.udiDeviceIdentifier.
	DeviceIdentifier String
	// The organization that assigns the identifier algorithm.
	Issuer Uri
	// The jurisdiction to which the deviceIdentifier applies.
	Jurisdiction Uri
}

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.

func (DeviceDefinitionUdiDeviceIdentifier) MarshalJSON

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

func (DeviceDefinitionUdiDeviceIdentifier) MarshalXML

func (DeviceDefinitionUdiDeviceIdentifier) MemSize

func (*DeviceDefinitionUdiDeviceIdentifier) UnmarshalXML

type DeviceDeviceName

type DeviceDeviceName struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The name that identifies the device.
	Name String
	// The type of deviceName.
	// UDILabelName | UserFriendlyName | PatientReportedName | ManufactureDeviceName | ModelName.
	Type Code
}

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.

func (DeviceDeviceName) MarshalJSON

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

func (DeviceDeviceName) MarshalXML

func (r DeviceDeviceName) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceDeviceName) MemSize

func (r DeviceDeviceName) MemSize() int

func (*DeviceDeviceName) UnmarshalXML

func (r *DeviceDeviceName) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceMetric

type DeviceMetric struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique instance identifiers assigned to a device by the device or gateway software, manufacturers, other organizations or owners. For example: handle ID.
	Identifier []Identifier
	// Describes the type of the metric. For example: Heart Rate, PEEP Setting, etc.
	Type CodeableConcept
	// Describes the unit that an observed value determined for this metric will have. For example: Percent, Seconds, etc.
	Unit *CodeableConcept
	// Describes the link to the  Device that this DeviceMetric belongs to and that contains administrative device information such as manufacturer, serial number, etc.
	Source *Reference
	// Describes the link to the  Device that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device. An example would be a Device that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location.
	Parent *Reference
	// Indicates current operational state of the device. For example: On, Off, Standby, etc.
	OperationalStatus *Code
	// Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta.
	Color *Code
	// Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation.
	Category Code
	// Describes the measurement repetition time. This is not necessarily the same as the update period. The measurement repetition time can range from milliseconds up to hours. An example for a measurement repetition time in the range of milliseconds is the sampling rate of an ECG. An example for a measurement repetition time in the range of hours is a NIBP that is triggered automatically every hour. The update period may be different than the measurement repetition time, if the device does not update the published observed value with the same frequency as it was measured.
	MeasurementPeriod *Timing
	// Describes the calibrations that have been performed or that are required to be performed.
	Calibration []DeviceMetricCalibration
}

Describes a measurement, calculation or setting capability of a medical device.

func (DeviceMetric) MarshalJSON

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

func (DeviceMetric) MarshalXML

func (r DeviceMetric) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceMetric) MemSize

func (r DeviceMetric) MemSize() int

func (DeviceMetric) ResourceId

func (r DeviceMetric) ResourceId() (string, bool)

func (DeviceMetric) ResourceType

func (r DeviceMetric) ResourceType() string

func (DeviceMetric) String

func (r DeviceMetric) String() string

func (*DeviceMetric) UnmarshalJSON

func (r *DeviceMetric) UnmarshalJSON(b []byte) error

func (*DeviceMetric) UnmarshalXML

func (r *DeviceMetric) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceMetricCalibration

type DeviceMetricCalibration struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Describes the type of the calibration method.
	Type *Code
	// Describes the state of the calibration.
	State *Code
	// Describes the time last calibration has been performed.
	Time *Instant
}

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

func (DeviceMetricCalibration) MarshalJSON

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

func (DeviceMetricCalibration) MarshalXML

func (r DeviceMetricCalibration) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceMetricCalibration) MemSize

func (r DeviceMetricCalibration) MemSize() int

func (*DeviceMetricCalibration) UnmarshalXML

func (r *DeviceMetricCalibration) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceProperty

type DeviceProperty struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Code that specifies the property DeviceDefinitionPropetyCode (Extensible).
	Type CodeableConcept
	// Property value as a quantity.
	ValueQuantity []Quantity
	// Property value as a code, e.g., NTP4 (synced to NTP).
	ValueCode []CodeableConcept
}

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

func (DeviceProperty) MarshalJSON

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

func (DeviceProperty) MarshalXML

func (r DeviceProperty) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceProperty) MemSize

func (r DeviceProperty) MemSize() int

func (*DeviceProperty) UnmarshalXML

func (r *DeviceProperty) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceRequest

type DeviceRequest struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers assigned to this order by the orderer or by the receiver.
	Identifier []Identifier
	// The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.
	InstantiatesCanonical []Canonical
	// The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this DeviceRequest.
	InstantiatesUri []Uri
	// Plan/proposal/order fulfilled by this request.
	BasedOn []Reference
	// The request takes the place of the referenced completed or terminated request(s).
	PriorRequest []Reference
	// Composite request this is part of.
	GroupIdentifier *Identifier
	// The status of the request.
	Status *Code
	// Whether the request is a proposal, plan, an original order or a reflex order.
	Intent Code
	// Indicates how quickly the {{title}} should be addressed with respect to other requests.
	Priority *Code
	// The details of the device to be used.
	Code isDeviceRequestCode
	// Specific parameters for the ordered item.  For example, the prism value for lenses.
	Parameter []DeviceRequestParameter
	// The patient who will use the device.
	Subject Reference
	// An encounter that provides additional context in which this request is made.
	Encounter *Reference
	// The timing schedule for the use of the device. The Schedule data type allows many different expressions, for example. "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013".
	Occurrence isDeviceRequestOccurrence
	// When the request transitioned to being actionable.
	AuthoredOn *DateTime
	// The individual who initiated the request and has responsibility for its activation.
	Requester *Reference
	// Desired type of performer for doing the diagnostic testing.
	PerformerType *CodeableConcept
	// The desired performer for doing the diagnostic testing.
	Performer *Reference
	// Reason or justification for the use of this device.
	ReasonCode []CodeableConcept
	// Reason or justification for the use of this device.
	ReasonReference []Reference
	// Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.
	Insurance []Reference
	// Additional clinical information about the patient that may influence the request fulfilment.  For example, this may include where on the subject's body the device will be used (i.e. the target site).
	SupportingInfo []Reference
	// Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement.
	Note []Annotation
	// Key events in the history of the request.
	RelevantHistory []Reference
}

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 (DeviceRequest) MarshalJSON

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

func (DeviceRequest) MarshalXML

func (r DeviceRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceRequest) MemSize

func (r DeviceRequest) MemSize() int

func (DeviceRequest) ResourceId

func (r DeviceRequest) ResourceId() (string, bool)

func (DeviceRequest) ResourceType

func (r DeviceRequest) ResourceType() string

func (DeviceRequest) String

func (r DeviceRequest) String() string

func (*DeviceRequest) UnmarshalJSON

func (r *DeviceRequest) UnmarshalJSON(b []byte) error

func (*DeviceRequest) UnmarshalXML

func (r *DeviceRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceRequestParameter

type DeviceRequestParameter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code or string that identifies the device detail being asserted.
	Code *CodeableConcept
	// The value of the device detail.
	Value isDeviceRequestParameterValue
}

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

func (DeviceRequestParameter) MarshalJSON

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

func (DeviceRequestParameter) MarshalXML

func (r DeviceRequestParameter) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceRequestParameter) MemSize

func (r DeviceRequestParameter) MemSize() int

func (*DeviceRequestParameter) UnmarshalXML

func (r *DeviceRequestParameter) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceSpecialization

type DeviceSpecialization struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The standard that is used to operate and communicate.
	SystemType CodeableConcept
	// The version of the standard that is used to operate and communicate.
	Version *String
}

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

func (DeviceSpecialization) MarshalJSON

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

func (DeviceSpecialization) MarshalXML

func (r DeviceSpecialization) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceSpecialization) MemSize

func (r DeviceSpecialization) MemSize() int

func (*DeviceSpecialization) UnmarshalXML

func (r *DeviceSpecialization) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceUdiCarrier

type DeviceUdiCarrier struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The device identifier (DI) is a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device.
	DeviceIdentifier *String
	// Organization that is charged with issuing UDIs for devices.  For example, the US FDA issuers include :
	// 1) GS1:
	// http://hl7.org/fhir/NamingSystem/gs1-di,
	// 2) HIBCC:
	// http://hl7.org/fhir/NamingSystem/hibcc-dI,
	// 3) ICCBBA for blood containers:
	// http://hl7.org/fhir/NamingSystem/iccbba-blood-di,
	// 4) ICCBA for other devices:
	// http://hl7.org/fhir/NamingSystem/iccbba-other-di.
	Issuer *Uri
	// The identity of the authoritative source for UDI generation within a  jurisdiction.  All UDIs are globally unique within a single namespace with the appropriate repository uri as the system.  For example,  UDIs of devices managed in the U.S. by the FDA, the value is  http://hl7.org/fhir/NamingSystem/fda-udi.
	Jurisdiction *Uri
	// The full UDI carrier of the Automatic Identification and Data Capture (AIDC) technology representation of the barcode string as printed on the packaging of the device - e.g., a barcode or RFID.   Because of limitations on character sets in XML and the need to round-trip JSON data through XML, AIDC Formats *SHALL* be base64 encoded.
	CarrierAidc *Base64Binary
	// The full UDI carrier as the human readable form (HRF) representation of the barcode string as printed on the packaging of the device.
	CarrierHrf *String
	// A coded entry to indicate how the data was entered.
	EntryType *Code
}

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.

func (DeviceUdiCarrier) MarshalJSON

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

func (DeviceUdiCarrier) MarshalXML

func (r DeviceUdiCarrier) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceUdiCarrier) MemSize

func (r DeviceUdiCarrier) MemSize() int

func (*DeviceUdiCarrier) UnmarshalXML

func (r *DeviceUdiCarrier) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceUseStatement

type DeviceUseStatement struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An external identifier for this statement such as an IRI.
	Identifier []Identifier
	// A plan, proposal or order that is fulfilled in whole or in part by this DeviceUseStatement.
	BasedOn []Reference
	// A code representing the patient or other source's judgment about the state of the device used that this statement is about.  Generally this will be active or completed.
	Status Code
	// The patient who used the device.
	Subject Reference
	// Allows linking the DeviceUseStatement to the underlying Request, or to other information that supports or is used to derive the DeviceUseStatement.
	DerivedFrom []Reference
	// How often the device was used.
	Timing isDeviceUseStatementTiming
	// The time at which the statement was made/recorded.
	RecordedOn *DateTime
	// Who reported the device was being used by the patient.
	Source *Reference
	// The details of the device used.
	Device Reference
	// Reason or justification for the use of the device.
	ReasonCode []CodeableConcept
	// Indicates another resource whose existence justifies this DeviceUseStatement.
	ReasonReference []Reference
	// Indicates the anotomic location on the subject's body where the device was used ( i.e. the target).
	BodySite *CodeableConcept
	// Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement.
	Note []Annotation
}

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 (DeviceUseStatement) MarshalJSON

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

func (DeviceUseStatement) MarshalXML

func (r DeviceUseStatement) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceUseStatement) MemSize

func (r DeviceUseStatement) MemSize() int

func (DeviceUseStatement) ResourceId

func (r DeviceUseStatement) ResourceId() (string, bool)

func (DeviceUseStatement) ResourceType

func (r DeviceUseStatement) ResourceType() string

func (DeviceUseStatement) String

func (r DeviceUseStatement) String() string

func (*DeviceUseStatement) UnmarshalJSON

func (r *DeviceUseStatement) UnmarshalJSON(b []byte) error

func (*DeviceUseStatement) UnmarshalXML

func (r *DeviceUseStatement) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DeviceVersion

type DeviceVersion struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of the device version, e.g. manufacturer, approved, internal.
	Type *CodeableConcept
	// A single component of the device version.
	Component *Identifier
	// The version text.
	Value String
}

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

func (DeviceVersion) MarshalJSON

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

func (DeviceVersion) MarshalXML

func (r DeviceVersion) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DeviceVersion) MemSize

func (r DeviceVersion) MemSize() int

func (*DeviceVersion) UnmarshalXML

func (r *DeviceVersion) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DiagnosticReport

type DiagnosticReport struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers assigned to this report by the performer or other systems.
	Identifier []Identifier
	// Details concerning a service requested.
	BasedOn []Reference
	// The status of the diagnostic report.
	Status Code
	// A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes.
	Category []CodeableConcept
	// A code or name that describes this diagnostic report.
	Code CodeableConcept
	// The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources.
	Subject *Reference
	// The healthcare event  (e.g. a patient and healthcare provider interaction) which this DiagnosticReport is about.
	Encounter *Reference
	// The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.
	Effective isDiagnosticReportEffective
	// The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified.
	Issued *Instant
	// The diagnostic service that is responsible for issuing the report.
	Performer []Reference
	// The practitioner or organization that is responsible for the report's conclusions and interpretations.
	ResultsInterpreter []Reference
	// Details about the specimens on which this diagnostic report is based.
	Specimen []Reference
	// [Observations](observation.html)  that are part of this diagnostic report.
	Result []Reference
	// One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images.
	ImagingStudy []Reference
	// 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).
	Media []DiagnosticReportMedia
	// Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report.
	Conclusion *String
	// One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report.
	ConclusionCode []CodeableConcept
	// Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent.
	PresentedForm []Attachment
}

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.

To support reporting for any diagnostic report into a clinical data repository.

func (DiagnosticReport) MarshalJSON

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

func (DiagnosticReport) MarshalXML

func (r DiagnosticReport) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DiagnosticReport) MemSize

func (r DiagnosticReport) MemSize() int

func (DiagnosticReport) ResourceId

func (r DiagnosticReport) ResourceId() (string, bool)

func (DiagnosticReport) ResourceType

func (r DiagnosticReport) ResourceType() string

func (DiagnosticReport) String

func (r DiagnosticReport) String() string

func (*DiagnosticReport) UnmarshalJSON

func (r *DiagnosticReport) UnmarshalJSON(b []byte) error

func (*DiagnosticReport) UnmarshalXML

func (r *DiagnosticReport) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DiagnosticReportMedia

type DiagnosticReportMedia struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A comment about the image. Typically, this is used to provide an explanation for why the image is included, or to draw the viewer's attention to important features.
	Comment *String
	// Reference to the image source.
	Link Reference
}

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).

func (DiagnosticReportMedia) MarshalJSON

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

func (DiagnosticReportMedia) MarshalXML

func (r DiagnosticReportMedia) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DiagnosticReportMedia) MemSize

func (r DiagnosticReportMedia) MemSize() int

func (*DiagnosticReportMedia) UnmarshalXML

func (r *DiagnosticReportMedia) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Distance

type Distance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The value of the measured amount. The value includes an implicit precision in the presentation of the value.
	Value *Decimal
	// How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.
	Comparator *Code
	// A human-readable form of the unit.
	Unit *String
	// The identification of the system that provides the coded form of the unit.
	System *Uri
	// A computer processable form of the unit in some unit representation system.
	Code *Code
}

Base StructureDefinition for Distance Type: A length - a value with a unit that is a physical distance.

func (Distance) MarshalJSON

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

func (Distance) MarshalXML

func (r Distance) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Distance) MemSize

func (r Distance) MemSize() int

func (Distance) String

func (r Distance) String() string

func (*Distance) UnmarshalXML

func (r *Distance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DocumentManifest

type DocumentManifest struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts.
	MasterIdentifier *Identifier
	// Other identifiers associated with the document manifest, including version independent  identifiers.
	Identifier []Identifier
	// The status of this document manifest.
	Status Code
	// The code specifying the type of clinical activity that resulted in placing the associated content into the DocumentManifest.
	Type *CodeableConcept
	// Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case).
	Subject *Reference
	// When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated, etc.).
	Created *DateTime
	// Identifies who is the author of the manifest. Manifest author is not necessarly the author of the references included.
	Author []Reference
	// A patient, practitioner, or organization for which this set of documents is intended.
	Recipient []Reference
	// Identifies the source system, application, or software that produced the document manifest.
	Source *Uri
	// Human-readable description of the source document. This is sometimes known as the "title".
	Description *String
	// The list of Resources that consist of the parts of this manifest.
	Content []Reference
	// Related identifiers or resources associated with the DocumentManifest.
	Related []DocumentManifestRelated
}

A collection of documents compiled for a purpose together with metadata that applies to the collection.

func (DocumentManifest) MarshalJSON

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

func (DocumentManifest) MarshalXML

func (r DocumentManifest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DocumentManifest) MemSize

func (r DocumentManifest) MemSize() int

func (DocumentManifest) ResourceId

func (r DocumentManifest) ResourceId() (string, bool)

func (DocumentManifest) ResourceType

func (r DocumentManifest) ResourceType() string

func (DocumentManifest) String

func (r DocumentManifest) String() string

func (*DocumentManifest) UnmarshalJSON

func (r *DocumentManifest) UnmarshalJSON(b []byte) error

func (*DocumentManifest) UnmarshalXML

func (r *DocumentManifest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DocumentManifestRelated

type DocumentManifestRelated struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Related identifier to this DocumentManifest.  For example, Order numbers, accession numbers, XDW workflow numbers.
	Identifier *Identifier
	// Related Resource to this DocumentManifest. For example, Order, ServiceRequest,  Procedure, EligibilityRequest, etc.
	Ref *Reference
}

Related identifiers or resources associated with the DocumentManifest.

func (DocumentManifestRelated) MarshalJSON

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

func (DocumentManifestRelated) MarshalXML

func (r DocumentManifestRelated) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DocumentManifestRelated) MemSize

func (r DocumentManifestRelated) MemSize() int

func (*DocumentManifestRelated) UnmarshalXML

func (r *DocumentManifestRelated) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DocumentReference

type DocumentReference struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document.
	MasterIdentifier *Identifier
	// Other identifiers associated with the document, including version independent identifiers.
	Identifier []Identifier
	// The status of this document reference.
	Status Code
	// The status of the underlying document.
	DocStatus *Code
	// Specifies the particular kind of document referenced  (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.
	Type *CodeableConcept
	// A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type.
	Category []CodeableConcept
	// Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).
	Subject *Reference
	// When the document reference was created.
	Date *Instant
	// Identifies who is responsible for adding the information to the document.
	Author []Reference
	// Which person or organization authenticates that this document is valid.
	Authenticator *Reference
	// Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.
	Custodian *Reference
	// Relationships that this document has with other document references that already exist.
	RelatesTo []DocumentReferenceRelatesTo
	// Human-readable description of the source document.
	Description *String
	// A set of Security-Tag codes specifying the level of privacy/security of the Document. Note that DocumentReference.meta.security contains the security labels of the "reference" to the document, while DocumentReference.securityLabel contains a snapshot of the security labels on the document the reference refers to.
	SecurityLabel []CodeableConcept
	// The document and format referenced. There may be multiple content element repetitions, each with a different format.
	Content []DocumentReferenceContent
	// The clinical context in which the document was prepared.
	Context *DocumentReferenceContext
}

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 (DocumentReference) MarshalJSON

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

func (DocumentReference) MarshalXML

func (r DocumentReference) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DocumentReference) MemSize

func (r DocumentReference) MemSize() int

func (DocumentReference) ResourceId

func (r DocumentReference) ResourceId() (string, bool)

func (DocumentReference) ResourceType

func (r DocumentReference) ResourceType() string

func (DocumentReference) String

func (r DocumentReference) String() string

func (*DocumentReference) UnmarshalJSON

func (r *DocumentReference) UnmarshalJSON(b []byte) error

func (*DocumentReference) UnmarshalXML

func (r *DocumentReference) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DocumentReferenceContent

type DocumentReferenceContent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The document or URL of the document along with critical metadata to prove content has integrity.
	Attachment Attachment
	// An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType.
	Format *Coding
}

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

func (DocumentReferenceContent) MarshalJSON

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

func (DocumentReferenceContent) MarshalXML

func (r DocumentReferenceContent) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DocumentReferenceContent) MemSize

func (r DocumentReferenceContent) MemSize() int

func (*DocumentReferenceContent) UnmarshalXML

func (r *DocumentReferenceContent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DocumentReferenceContext

type DocumentReferenceContext struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Describes the clinical encounter or type of care that the document content is associated with.
	Encounter []Reference
	// This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.
	Event []CodeableConcept
	// The time period over which the service that is described by the document was provided.
	Period *Period
	// The kind of facility where the patient was seen.
	FacilityType *CodeableConcept
	// This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.
	PracticeSetting *CodeableConcept
	// The Patient Information as known when the document was published. May be a reference to a version specific, or contained.
	SourcePatientInfo *Reference
	// Related identifiers or resources associated with the DocumentReference.
	Related []Reference
}

The clinical context in which the document was prepared.

func (DocumentReferenceContext) MarshalJSON

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

func (DocumentReferenceContext) MarshalXML

func (r DocumentReferenceContext) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DocumentReferenceContext) MemSize

func (r DocumentReferenceContext) MemSize() int

func (*DocumentReferenceContext) UnmarshalXML

func (r *DocumentReferenceContext) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DocumentReferenceRelatesTo

type DocumentReferenceRelatesTo struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of relationship that this document has with anther document.
	Code Code
	// The target document of this relationship.
	Target Reference
}

Relationships that this document has with other document references that already exist.

func (DocumentReferenceRelatesTo) MarshalJSON

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

func (DocumentReferenceRelatesTo) MarshalXML

func (r DocumentReferenceRelatesTo) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DocumentReferenceRelatesTo) MemSize

func (r DocumentReferenceRelatesTo) MemSize() int

func (*DocumentReferenceRelatesTo) UnmarshalXML

func (r *DocumentReferenceRelatesTo) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Dosage

type Dosage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates the order in which the dosage instructions should be applied or interpreted.
	Sequence *Integer
	// Free text dosage instructions e.g. SIG.
	Text *String
	// Supplemental instructions to the patient on how to take the medication  (e.g. "with meals" or"take half to one hour before food") or warnings for the patient about the medication (e.g. "may cause drowsiness" or "avoid exposure of skin to direct sunlight or sunlamps").
	AdditionalInstruction []CodeableConcept
	// Instructions in terms that are understood by the patient or consumer.
	PatientInstruction *String
	// When medication should be administered.
	Timing *Timing
	// Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept).
	AsNeeded isDosageAsNeeded
	// Body site to administer to.
	Site *CodeableConcept
	// How drug should enter body.
	Route *CodeableConcept
	// Technique for administering medication.
	Method *CodeableConcept
	// The amount of medication administered.
	DoseAndRate []DosageDoseAndRate
	// Upper limit on medication per unit of time.
	MaxDosePerPeriod *Ratio
	// Upper limit on medication per administration.
	MaxDosePerAdministration *Quantity
	// Upper limit on medication per lifetime of the patient.
	MaxDosePerLifetime *Quantity
}

Base StructureDefinition for Dosage Type: Indicates how the medication is/was taken or should be taken by the patient.

func (Dosage) MarshalJSON

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

func (Dosage) MarshalXML

func (r Dosage) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Dosage) MemSize

func (r Dosage) MemSize() int

func (Dosage) String

func (r Dosage) String() string

func (*Dosage) UnmarshalXML

func (r *Dosage) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type DosageDoseAndRate

type DosageDoseAndRate struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The kind of dose or rate specified, for example, ordered or calculated.
	Type *CodeableConcept
	// Amount of medication per dose.
	Dose isDosageDoseAndRateDose
	// Amount of medication per unit of time.
	Rate isDosageDoseAndRateRate
}

The amount of medication administered.

func (DosageDoseAndRate) MarshalJSON

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

func (DosageDoseAndRate) MarshalXML

func (r DosageDoseAndRate) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (DosageDoseAndRate) MemSize

func (r DosageDoseAndRate) MemSize() int

func (*DosageDoseAndRate) UnmarshalXML

func (r *DosageDoseAndRate) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Duration

type Duration struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The value of the measured amount. The value includes an implicit precision in the presentation of the value.
	Value *Decimal
	// How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.
	Comparator *Code
	// A human-readable form of the unit.
	Unit *String
	// The identification of the system that provides the coded form of the unit.
	System *Uri
	// A computer processable form of the unit in some unit representation system.
	Code *Code
}

Base StructureDefinition for Duration Type: A length of time.

func (Duration) MarshalJSON

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

func (Duration) MarshalXML

func (r Duration) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Duration) MemSize

func (r Duration) MemSize() int

func (Duration) String

func (r Duration) String() string

func (*Duration) UnmarshalXML

func (r *Duration) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ElementDefinition

type ElementDefinition struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The path identifies the element and is expressed as a "."-separated list of ancestor elements, beginning with the name of the resource or extension.
	Path String
	// Codes that define how this element is represented in instances, when the deviation varies from the normal case.
	Representation []Code
	// The name of this element definition slice, when slicing is working. The name must be a token with no dots or spaces. This is a unique name referring to a specific set of constraints applied to this element, used to provide a name to different slices of the same element.
	SliceName *String
	// If true, indicates that this slice definition is constraining a slice definition with the same name in an inherited profile. If false, the slice is not overriding any slice in an inherited profile. If missing, the slice might or might not be overriding a slice in an inherited profile, depending on the sliceName.
	SliceIsConstraining *Boolean
	// A single preferred label which is the text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form.
	Label *String
	// A code that has the same meaning as the element in a particular terminology.
	Code []Coding
	// 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).
	Slicing *ElementDefinitionSlicing
	// A concise description of what this element means (e.g. for use in autogenerated summaries).
	Short *String
	// Provides a complete explanation of the meaning of the data element for human readability.  For the case of elements derived from existing elements (e.g. constraints), the definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource. (Note: The text you are reading is specified in ElementDefinition.definition).
	Definition *Markdown
	// Explanatory notes and implementation guidance about the data element, including notes about how to use the data properly, exceptions to proper use, etc. (Note: The text you are reading is specified in ElementDefinition.comment).
	Comment *Markdown
	// This element is for traceability of why the element was created and why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this element.
	Requirements *Markdown
	// Identifies additional names by which this element might also be known.
	Alias []String
	// The minimum number of times this element SHALL appear in the instance.
	Min *UnsignedInt
	// The maximum number of times this element is permitted to appear in the instance.
	Max *String
	// 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.
	Base *ElementDefinitionBase
	// Identifies an element defined elsewhere in the definition whose content rules should be applied to the current element. ContentReferences bring across all the rules that are in the ElementDefinition for the element, including definitions, cardinality constraints, bindings, invariants etc.
	ContentReference *Uri
	// The data type or resource that the value of this element is permitted to be.
	Type []ElementDefinitionType
	// The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').
	DefaultValue isElementDefinitionDefaultValue
	// The Implicit meaning that is to be understood when this element is missing (e.g. 'when this element is missing, the period is ongoing').
	MeaningWhenMissing *Markdown
	// If present, indicates that the order of the repeating element has meaning and describes what that meaning is.  If absent, it means that the order of the element has no meaning.
	OrderMeaning *String
	// Specifies a value that SHALL be exactly the value  for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.
	Fixed isElementDefinitionFixed
	// Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example.
	//
	// When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.
	//
	// When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.
	//
	// When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,
	//
	// 1. If primitive: it must match exactly the pattern value
	// 2. If a complex object: it must match (recursively) the pattern value
	// 3. If an array: it must match (recursively) the pattern value.
	Pattern isElementDefinitionPattern
	// A sample value for this element demonstrating the type of information that would typically be found in the element.
	Example []ElementDefinitionExample
	// The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.
	MinValue isElementDefinitionMinValue
	// The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.
	MaxValue isElementDefinitionMaxValue
	// Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element.
	MaxLength *Integer
	// A reference to an invariant that may make additional statements about the cardinality or value in the instance.
	Condition []Id
	// Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance.
	Constraint []ElementDefinitionConstraint
	// If true, implementations that produce or consume resources SHALL provide "support" for the element in some meaningful way.  If false, the element may be ignored and not supported. If false, whether to populate or use the data element in any way is at the discretion of the implementation.
	MustSupport *Boolean
	// If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system.
	IsModifier *Boolean
	// Explains how that element affects the interpretation of the resource or element that contains it.
	IsModifierReason *String
	// Whether the element should be included if a client requests a search with the parameter _summary=true.
	IsSummary *Boolean
	// Binds to a value set if this element is coded (code, Coding, CodeableConcept, Quantity), or the data types (string, uri).
	Binding *ElementDefinitionBinding
	// Identifies a concept from an external specification that roughly corresponds to this element.
	Mapping []ElementDefinitionMapping
}

Base StructureDefinition for ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension.

func (ElementDefinition) MarshalJSON

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

func (ElementDefinition) MarshalXML

func (r ElementDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ElementDefinition) MemSize

func (r ElementDefinition) MemSize() int

func (ElementDefinition) String

func (r ElementDefinition) String() string

func (*ElementDefinition) UnmarshalXML

func (r *ElementDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ElementDefinitionBase

type ElementDefinitionBase struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The Path that identifies the base element - this matches the ElementDefinition.path for that element. Across FHIR, there is only one base definition of any element - that is, an element definition on a [StructureDefinition](structuredefinition.html#) without a StructureDefinition.base.
	Path String
	// Minimum cardinality of the base element identified by the path.
	Min UnsignedInt
	// Maximum cardinality of the base element identified by the path.
	Max String
}

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.

func (ElementDefinitionBase) MarshalJSON

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

func (ElementDefinitionBase) MarshalXML

func (r ElementDefinitionBase) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ElementDefinitionBase) MemSize

func (r ElementDefinitionBase) MemSize() int

func (*ElementDefinitionBase) UnmarshalXML

func (r *ElementDefinitionBase) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ElementDefinitionBinding

type ElementDefinitionBinding struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances.
	Strength Code
	// Describes the intended use of this particular set of codes.
	Description *String
	// Refers to the value set that identifies the set of codes the binding refers to.
	ValueSet *Canonical
}

Binds to a value set if this element is coded (code, Coding, CodeableConcept, Quantity), or the data types (string, uri).

func (ElementDefinitionBinding) MarshalJSON

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

func (ElementDefinitionBinding) MarshalXML

func (r ElementDefinitionBinding) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ElementDefinitionBinding) MemSize

func (r ElementDefinitionBinding) MemSize() int

func (*ElementDefinitionBinding) UnmarshalXML

func (r *ElementDefinitionBinding) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ElementDefinitionConstraint

type ElementDefinitionConstraint struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Allows identification of which elements have their cardinalities impacted by the constraint.  Will not be referenced for constraints that do not affect cardinality.
	Key Id
	// Description of why this constraint is necessary or appropriate.
	Requirements *String
	// Identifies the impact constraint violation has on the conformance of the instance.
	Severity Code
	// Text that can be used to describe the constraint in messages identifying that the constraint has been violated.
	Human String
	// A [FHIRPath](fhirpath.html) expression of constraint that can be executed to see if this constraint is met.
	Expression *String
	// An XPath expression of constraint that can be executed to see if this constraint is met.
	Xpath *String
	// A reference to the original source of the constraint, for traceability purposes.
	Source *Canonical
}

Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance.

func (ElementDefinitionConstraint) MarshalJSON

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

func (ElementDefinitionConstraint) MarshalXML

func (r ElementDefinitionConstraint) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ElementDefinitionConstraint) MemSize

func (r ElementDefinitionConstraint) MemSize() int

func (*ElementDefinitionConstraint) UnmarshalXML

func (r *ElementDefinitionConstraint) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ElementDefinitionExample

type ElementDefinitionExample struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Describes the purpose of this example amoung the set of examples.
	Label String
	// The actual value for the element, which must be one of the types allowed for this element.
	Value isElementDefinitionExampleValue
}

A sample value for this element demonstrating the type of information that would typically be found in the element.

func (ElementDefinitionExample) MarshalJSON

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

func (ElementDefinitionExample) MarshalXML

func (r ElementDefinitionExample) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ElementDefinitionExample) MemSize

func (r ElementDefinitionExample) MemSize() int

func (*ElementDefinitionExample) UnmarshalXML

func (r *ElementDefinitionExample) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ElementDefinitionMapping

type ElementDefinitionMapping struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// An internal reference to the definition of a mapping.
	Identity Id
	// Identifies the computable language in which mapping.map is expressed.
	Language *Code
	// Expresses what part of the target specification corresponds to this element.
	Map String
	// Comments that provide information about the mapping or its use.
	Comment *String
}

Identifies a concept from an external specification that roughly corresponds to this element.

func (ElementDefinitionMapping) MarshalJSON

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

func (ElementDefinitionMapping) MarshalXML

func (r ElementDefinitionMapping) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ElementDefinitionMapping) MemSize

func (r ElementDefinitionMapping) MemSize() int

func (*ElementDefinitionMapping) UnmarshalXML

func (r *ElementDefinitionMapping) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ElementDefinitionSlicing

type ElementDefinitionSlicing struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// 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.
	Discriminator []ElementDefinitionSlicingDiscriminator
	// A human-readable text description of how the slicing works. If there is no discriminator, this is required to be present to provide whatever information is possible about how the slices can be differentiated.
	Description *String
	// If the matching elements have to occur in the same order as defined in the profile.
	Ordered *Boolean
	// Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end.
	Rules Code
}

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).

func (ElementDefinitionSlicing) MarshalJSON

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

func (ElementDefinitionSlicing) MarshalXML

func (r ElementDefinitionSlicing) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ElementDefinitionSlicing) MemSize

func (r ElementDefinitionSlicing) MemSize() int

func (*ElementDefinitionSlicing) UnmarshalXML

func (r *ElementDefinitionSlicing) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ElementDefinitionSlicingDiscriminator

type ElementDefinitionSlicingDiscriminator struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// How the element value is interpreted when discrimination is evaluated.
	Type Code
	// A FHIRPath expression, using [the simple subset of FHIRPath](fhirpath.html#simple), that is used to identify the element on which discrimination is based.
	Path String
}

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.

func (ElementDefinitionSlicingDiscriminator) MarshalJSON

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

func (ElementDefinitionSlicingDiscriminator) MarshalXML

func (ElementDefinitionSlicingDiscriminator) MemSize

func (*ElementDefinitionSlicingDiscriminator) UnmarshalXML

type ElementDefinitionType

type ElementDefinitionType struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// URL of Data type or Resource that is a(or the) type used for this element. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition e.g. "string" is a reference to http://hl7.org/fhir/StructureDefinition/string. Absolute URLs are only allowed in logical models.
	Code Uri
	// Identifies a profile structure or implementation Guide that applies to the datatype this element refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the type SHALL conform to at least one profile defined in the implementation guide.
	Profile []Canonical
	// Used when the type is "Reference" or "canonical", and identifies a profile structure or implementation Guide that applies to the target of the reference this element refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide.
	TargetProfile []Canonical
	// If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle.
	Aggregation []Code
	// Whether this reference needs to be version specific or version independent, or whether either can be used.
	Versioning *Code
}

The data type or resource that the value of this element is permitted to be.

func (ElementDefinitionType) MarshalJSON

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

func (ElementDefinitionType) MarshalXML

func (r ElementDefinitionType) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ElementDefinitionType) MemSize

func (r ElementDefinitionType) MemSize() int

func (*ElementDefinitionType) UnmarshalXML

func (r *ElementDefinitionType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Encounter

type Encounter struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier(s) by which this encounter is known.
	Identifier []Identifier
	// planned | arrived | triaged | in-progress | onleave | finished | cancelled +.
	Status Code
	// 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.
	StatusHistory []EncounterStatusHistory
	// Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.
	Class Coding
	// 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.
	ClassHistory []EncounterClassHistory
	// Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).
	Type []CodeableConcept
	// Broad categorization of the service that is to be provided (e.g. cardiology).
	ServiceType *CodeableConcept
	// Indicates the urgency of the encounter.
	Priority *CodeableConcept
	// The patient or group present at the encounter.
	Subject *Reference
	// Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem.  The association is recorded on the encounter as these are typically created after the episode of care and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years).
	EpisodeOfCare []Reference
	// The request this encounter satisfies (e.g. incoming referral or procedure request).
	BasedOn []Reference
	// The list of people responsible for providing the service.
	Participant []EncounterParticipant
	// The appointment that scheduled this encounter.
	Appointment []Reference
	// The start and end time of the encounter.
	Period *Period
	// Quantity of time the encounter lasted. This excludes the time during leaves of absence.
	Length *Duration
	// Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis.
	ReasonCode []CodeableConcept
	// Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis.
	ReasonReference []Reference
	// The list of diagnosis relevant to this encounter.
	Diagnosis []EncounterDiagnosis
	// The set of accounts that may be used for billing for this Encounter.
	Account []Reference
	// Details about the admission to a healthcare service.
	Hospitalization *EncounterHospitalization
	// List of locations where  the patient has been during this encounter.
	Location []EncounterLocation
	// The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation.  Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy.
	ServiceProvider *Reference
	// Another Encounter of which this encounter is a part of (administratively or in time).
	PartOf *Reference
}

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 (Encounter) MarshalJSON

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

func (Encounter) MarshalXML

func (r Encounter) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Encounter) MemSize

func (r Encounter) MemSize() int

func (Encounter) ResourceId

func (r Encounter) ResourceId() (string, bool)

func (Encounter) ResourceType

func (r Encounter) ResourceType() string

func (Encounter) String

func (r Encounter) String() string

func (*Encounter) UnmarshalJSON

func (r *Encounter) UnmarshalJSON(b []byte) error

func (*Encounter) UnmarshalXML

func (r *Encounter) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EncounterClassHistory

type EncounterClassHistory struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// inpatient | outpatient | ambulatory | emergency +.
	Class Coding
	// The time that the episode was in the specified class.
	Period 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.

func (EncounterClassHistory) MarshalJSON

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

func (EncounterClassHistory) MarshalXML

func (r EncounterClassHistory) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EncounterClassHistory) MemSize

func (r EncounterClassHistory) MemSize() int

func (*EncounterClassHistory) UnmarshalXML

func (r *EncounterClassHistory) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EncounterDiagnosis

type EncounterDiagnosis struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Reason the encounter takes place, as specified using information from another resource. For admissions, this is the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure.
	Condition Reference
	// Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …).
	Use *CodeableConcept
	// Ranking of the diagnosis (for each role type).
	Rank *PositiveInt
}

The list of diagnosis relevant to this encounter.

func (EncounterDiagnosis) MarshalJSON

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

func (EncounterDiagnosis) MarshalXML

func (r EncounterDiagnosis) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EncounterDiagnosis) MemSize

func (r EncounterDiagnosis) MemSize() int

func (*EncounterDiagnosis) UnmarshalXML

func (r *EncounterDiagnosis) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EncounterHospitalization

type EncounterHospitalization struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Pre-admission identifier.
	PreAdmissionIdentifier *Identifier
	// The location/organization from which the patient came before admission.
	Origin *Reference
	// From where patient was admitted (physician referral, transfer).
	AdmitSource *CodeableConcept
	// Whether this hospitalization is a readmission and why if known.
	ReAdmission *CodeableConcept
	// Diet preferences reported by the patient.
	DietPreference []CodeableConcept
	// Special courtesies (VIP, board member).
	SpecialCourtesy []CodeableConcept
	// Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things.
	SpecialArrangement []CodeableConcept
	// Location/organization to which the patient is discharged.
	Destination *Reference
	// Category or kind of location after discharge.
	DischargeDisposition *CodeableConcept
}

Details about the admission to a healthcare service.

func (EncounterHospitalization) MarshalJSON

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

func (EncounterHospitalization) MarshalXML

func (r EncounterHospitalization) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EncounterHospitalization) MemSize

func (r EncounterHospitalization) MemSize() int

func (*EncounterHospitalization) UnmarshalXML

func (r *EncounterHospitalization) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EncounterLocation

type EncounterLocation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The location where the encounter takes place.
	Location Reference
	// The status of the participants' presence at the specified location during the period specified. If the participant is no longer at the location, then the period will have an end date/time.
	Status *Code
	// This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.
	PhysicalType *CodeableConcept
	// Time period during which the patient was present at the location.
	Period *Period
}

List of locations where the patient has been during this encounter.

func (EncounterLocation) MarshalJSON

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

func (EncounterLocation) MarshalXML

func (r EncounterLocation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EncounterLocation) MemSize

func (r EncounterLocation) MemSize() int

func (*EncounterLocation) UnmarshalXML

func (r *EncounterLocation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EncounterParticipant

type EncounterParticipant struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Role of participant in encounter.
	Type []CodeableConcept
	// The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period.
	Period *Period
	// Persons involved in the encounter other than the patient.
	Individual *Reference
}

The list of people responsible for providing the service.

func (EncounterParticipant) MarshalJSON

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

func (EncounterParticipant) MarshalXML

func (r EncounterParticipant) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EncounterParticipant) MemSize

func (r EncounterParticipant) MemSize() int

func (*EncounterParticipant) UnmarshalXML

func (r *EncounterParticipant) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EncounterStatusHistory

type EncounterStatusHistory struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// planned | arrived | triaged | in-progress | onleave | finished | cancelled +.
	Status Code
	// The time that the episode was in the specified status.
	Period 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.

func (EncounterStatusHistory) MarshalJSON

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

func (EncounterStatusHistory) MarshalXML

func (r EncounterStatusHistory) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EncounterStatusHistory) MemSize

func (r EncounterStatusHistory) MemSize() int

func (*EncounterStatusHistory) UnmarshalXML

func (r *EncounterStatusHistory) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Endpoint

type Endpoint struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier for the organization that is used to identify the endpoint across multiple disparate systems.
	Identifier []Identifier
	// active | suspended | error | off | test.
	Status Code
	// A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).
	ConnectionType Coding
	// A friendly name that this endpoint can be referred to with.
	Name *String
	// The organization that manages this endpoint (even if technically another organization is hosting this in the cloud, it is the organization associated with the data).
	ManagingOrganization *Reference
	// Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.
	Contact []ContactPoint
	// The interval during which the endpoint is expected to be operational.
	Period *Period
	// The payload type describes the acceptable content that can be communicated on the endpoint.
	PayloadType []CodeableConcept
	// The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType).
	PayloadMimeType []Code
	// The uri that describes the actual end-point to connect to.
	Address Url
	// Additional headers / information to send as part of the notification.
	Header []String
}

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 (Endpoint) MarshalJSON

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

func (Endpoint) MarshalXML

func (r Endpoint) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Endpoint) MemSize

func (r Endpoint) MemSize() int

func (Endpoint) ResourceId

func (r Endpoint) ResourceId() (string, bool)

func (Endpoint) ResourceType

func (r Endpoint) ResourceType() string

func (Endpoint) String

func (r Endpoint) String() string

func (*Endpoint) UnmarshalJSON

func (r *Endpoint) UnmarshalJSON(b []byte) error

func (*Endpoint) UnmarshalXML

func (r *Endpoint) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EnrollmentRequest

type EnrollmentRequest struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The Response business identifier.
	Identifier []Identifier
	// The status of the resource instance.
	Status *Code
	// The date when this resource was created.
	Created *DateTime
	// The Insurer who is target  of the request.
	Insurer *Reference
	// The practitioner who is responsible for the services rendered to the patient.
	Provider *Reference
	// Patient Resource.
	Candidate *Reference
	// Reference to the program or plan identification, underwriter or payor.
	Coverage *Reference
}

This resource provides the insurance enrollment details to the insurer regarding a specified coverage.

func (EnrollmentRequest) MarshalJSON

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

func (EnrollmentRequest) MarshalXML

func (r EnrollmentRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EnrollmentRequest) MemSize

func (r EnrollmentRequest) MemSize() int

func (EnrollmentRequest) ResourceId

func (r EnrollmentRequest) ResourceId() (string, bool)

func (EnrollmentRequest) ResourceType

func (r EnrollmentRequest) ResourceType() string

func (EnrollmentRequest) String

func (r EnrollmentRequest) String() string

func (*EnrollmentRequest) UnmarshalJSON

func (r *EnrollmentRequest) UnmarshalJSON(b []byte) error

func (*EnrollmentRequest) UnmarshalXML

func (r *EnrollmentRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EnrollmentResponse

type EnrollmentResponse struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The Response business identifier.
	Identifier []Identifier
	// The status of the resource instance.
	Status *Code
	// Original request resource reference.
	Request *Reference
	// Processing status: error, complete.
	Outcome *Code
	// A description of the status of the adjudication.
	Disposition *String
	// The date when the enclosed suite of services were performed or completed.
	Created *DateTime
	// The Insurer who produced this adjudicated response.
	Organization *Reference
	// The practitioner who is responsible for the services rendered to the patient.
	RequestProvider *Reference
}

This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.

func (EnrollmentResponse) MarshalJSON

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

func (EnrollmentResponse) MarshalXML

func (r EnrollmentResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EnrollmentResponse) MemSize

func (r EnrollmentResponse) MemSize() int

func (EnrollmentResponse) ResourceId

func (r EnrollmentResponse) ResourceId() (string, bool)

func (EnrollmentResponse) ResourceType

func (r EnrollmentResponse) ResourceType() string

func (EnrollmentResponse) String

func (r EnrollmentResponse) String() string

func (*EnrollmentResponse) UnmarshalJSON

func (r *EnrollmentResponse) UnmarshalJSON(b []byte) error

func (*EnrollmentResponse) UnmarshalXML

func (r *EnrollmentResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EpisodeOfCare

type EpisodeOfCare struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The EpisodeOfCare may be known by different identifiers for different contexts of use, such as when an external agency is tracking the Episode for funding purposes.
	Identifier []Identifier
	// planned | waitlist | active | onhold | finished | cancelled.
	Status Code
	// The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource).
	StatusHistory []EpisodeOfCareStatusHistory
	// A classification of the type of episode of care; e.g. specialist referral, disease management, type of funded care.
	Type []CodeableConcept
	// The list of diagnosis relevant to this episode of care.
	Diagnosis []EpisodeOfCareDiagnosis
	// The patient who is the focus of this episode of care.
	Patient Reference
	// The organization that has assumed the specific responsibilities for the specified duration.
	ManagingOrganization *Reference
	// The interval during which the managing organization assumes the defined responsibility.
	Period *Period
	// Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals.
	ReferralRequest []Reference
	// The practitioner that is the care manager/care coordinator for this patient.
	CareManager *Reference
	// The list of practitioners that may be facilitating this episode of care for specific purposes.
	Team []Reference
	// The set of accounts that may be used for billing for this EpisodeOfCare.
	Account []Reference
}

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 (EpisodeOfCare) MarshalJSON

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

func (EpisodeOfCare) MarshalXML

func (r EpisodeOfCare) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EpisodeOfCare) MemSize

func (r EpisodeOfCare) MemSize() int

func (EpisodeOfCare) ResourceId

func (r EpisodeOfCare) ResourceId() (string, bool)

func (EpisodeOfCare) ResourceType

func (r EpisodeOfCare) ResourceType() string

func (EpisodeOfCare) String

func (r EpisodeOfCare) String() string

func (*EpisodeOfCare) UnmarshalJSON

func (r *EpisodeOfCare) UnmarshalJSON(b []byte) error

func (*EpisodeOfCare) UnmarshalXML

func (r *EpisodeOfCare) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EpisodeOfCareDiagnosis

type EpisodeOfCareDiagnosis struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for.
	Condition Reference
	// Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …).
	Role *CodeableConcept
	// Ranking of the diagnosis (for each role type).
	Rank *PositiveInt
}

The list of diagnosis relevant to this episode of care.

func (EpisodeOfCareDiagnosis) MarshalJSON

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

func (EpisodeOfCareDiagnosis) MarshalXML

func (r EpisodeOfCareDiagnosis) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EpisodeOfCareDiagnosis) MemSize

func (r EpisodeOfCareDiagnosis) MemSize() int

func (*EpisodeOfCareDiagnosis) UnmarshalXML

func (r *EpisodeOfCareDiagnosis) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EpisodeOfCareStatusHistory

type EpisodeOfCareStatusHistory struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// planned | waitlist | active | onhold | finished | cancelled.
	Status Code
	// The period during this EpisodeOfCare that the specific status applied.
	Period Period
}

The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource).

func (EpisodeOfCareStatusHistory) MarshalJSON

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

func (EpisodeOfCareStatusHistory) MarshalXML

func (r EpisodeOfCareStatusHistory) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EpisodeOfCareStatusHistory) MemSize

func (r EpisodeOfCareStatusHistory) MemSize() int

func (*EpisodeOfCareStatusHistory) UnmarshalXML

func (r *EpisodeOfCareStatusHistory) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EventDefinition

type EventDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this event definition when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the event definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the event definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the event definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the event definition.
	Title *String
	// An explanatory or alternate title for the event definition giving additional information about its content.
	Subtitle *String
	// The status of this event definition. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this event definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// A code or group definition that describes the intended subject of the event definition.
	Subject isEventDefinitionSubject
	// The date  (and optionally time) when the event definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the event definition changes.
	Date *DateTime
	// The name of the organization or individual that published the event definition.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the event definition from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate event definition instances.
	UseContext []UsageContext
	// A legal or geographic region in which the event definition is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this event definition is needed and why it has been designed as it has.
	Purpose *Markdown
	// A detailed description of how the event definition is used from a clinical perspective.
	Usage *String
	// A copyright statement relating to the event definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the event definition.
	Copyright *Markdown
	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate *Date
	// The period during which the event definition content was or is planned to be in active use.
	EffectivePeriod *Period
	// Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching.
	Topic []CodeableConcept
	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []ContactDetail
	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []ContactDetail
	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []ContactDetail
	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []ContactDetail
	// Related resources such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []RelatedArtifact
	// The trigger element defines when the event occurs. If more than one trigger condition is specified, the event fires whenever any one of the trigger conditions is met.
	Trigger []TriggerDefinition
}

The EventDefinition resource provides a reusable description of when a particular event can occur.

func (EventDefinition) MarshalJSON

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

func (EventDefinition) MarshalXML

func (r EventDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EventDefinition) MemSize

func (r EventDefinition) MemSize() int

func (EventDefinition) ResourceId

func (r EventDefinition) ResourceId() (string, bool)

func (EventDefinition) ResourceType

func (r EventDefinition) ResourceType() string

func (EventDefinition) String

func (r EventDefinition) String() string

func (*EventDefinition) UnmarshalJSON

func (r *EventDefinition) UnmarshalJSON(b []byte) error

func (*EventDefinition) UnmarshalXML

func (r *EventDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Evidence

type Evidence struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this summary when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the summary when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the summary author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A short, descriptive, user-friendly title for the summary.
	Title *String
	// Citation Resource or display of suggested citation for this evidence.
	CiteAs isEvidenceCiteAs
	// The status of this summary. Enables tracking the life-cycle of the content.
	Status Code
	// The date  (and optionally time) when the summary was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the summary changes.
	Date *DateTime
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate evidence instances.
	UseContext []UsageContext
	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate *Date
	// The name of the organization or individual that published the evidence.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// An individiual, organization, or device primarily involved in the creation and maintenance of the content.
	Author []ContactDetail
	// An individiual, organization, or device primarily responsible for internal coherence of the content.
	Editor []ContactDetail
	// An individiual, organization, or device primarily responsible for review of some aspect of the content.
	Reviewer []ContactDetail
	// An individiual, organization, or device responsible for officially endorsing the content for use in some setting.
	Endorser []ContactDetail
	// Link or citation to artifact associated with the summary.
	RelatedArtifact []RelatedArtifact
	// A free text natural language description of the evidence from a consumer's perspective.
	Description *Markdown
	// Declarative description of the Evidence.
	Assertion *Markdown
	// Footnotes and/or explanatory notes.
	Note []Annotation
	// Evidence variable such as population, exposure, or outcome.
	VariableDefinition []EvidenceVariableDefinition
	// The method to combine studies.
	SynthesisType *CodeableConcept
	// The type of study that produced this evidence.
	StudyType *CodeableConcept
	// Values and parameters for a single statistic.
	Statistic []EvidenceStatistic
	// Assessment of certainty, confidence in the estimates, or quality of the evidence.
	Certainty []EvidenceCertainty
}

The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (eg population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence.

func (Evidence) MarshalJSON

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

func (Evidence) MarshalXML

func (r Evidence) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Evidence) MemSize

func (r Evidence) MemSize() int

func (Evidence) ResourceId

func (r Evidence) ResourceId() (string, bool)

func (Evidence) ResourceType

func (r Evidence) ResourceType() string

func (Evidence) String

func (r Evidence) String() string

func (*Evidence) UnmarshalJSON

func (r *Evidence) UnmarshalJSON(b []byte) error

func (*Evidence) UnmarshalXML

func (r *Evidence) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EvidenceCertainty

type EvidenceCertainty struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Textual description of certainty.
	Description *String
	// Footnotes and/or explanatory notes.
	Note []Annotation
	// Aspect of certainty being rated.
	Type *CodeableConcept
	// Assessment or judgement of the aspect.
	Rating *CodeableConcept
	// Individual or group who did the rating.
	Rater *String
	// A domain or subdomain of certainty.
	Subcomponent []EvidenceCertainty
}

Assessment of certainty, confidence in the estimates, or quality of the evidence.

func (EvidenceCertainty) MarshalJSON

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

func (EvidenceCertainty) MarshalXML

func (r EvidenceCertainty) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EvidenceCertainty) MemSize

func (r EvidenceCertainty) MemSize() int

func (*EvidenceCertainty) UnmarshalXML

func (r *EvidenceCertainty) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EvidenceReport

type EvidenceReport struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.
	Url *Uri
	// The status of this summary. Enables tracking the life-cycle of the content.
	Status Code
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate evidence report instances.
	UseContext []UsageContext
	// A formal identifier that is used to identify this EvidenceReport when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// A formal identifier that is used to identify things closely related to this EvidenceReport.
	RelatedIdentifier []Identifier
	// Citation Resource or display of suggested citation for this report.
	CiteAs isEvidenceReportCiteAs
	// Specifies the kind of report, such as grouping of classifiers, search results, or human-compiled expression.
	Type *CodeableConcept
	// Used for footnotes and annotations.
	Note []Annotation
	// Link, description or reference to artifact associated with the report.
	RelatedArtifact []RelatedArtifact
	// Specifies the subject or focus of the report. Answers "What is this report about?".
	Subject EvidenceReportSubject
	// The name of the organization or individual that published the evidence report.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// An individiual, organization, or device primarily involved in the creation and maintenance of the content.
	Author []ContactDetail
	// An individiual, organization, or device primarily responsible for internal coherence of the content.
	Editor []ContactDetail
	// An individiual, organization, or device primarily responsible for review of some aspect of the content.
	Reviewer []ContactDetail
	// An individiual, organization, or device responsible for officially endorsing the content for use in some setting.
	Endorser []ContactDetail
	// Relationships that this composition has with other compositions or documents that already exist.
	RelatesTo []EvidenceReportRelatesTo
	// The root of the sections that make up the composition.
	Section []EvidenceReportSection
}

The EvidenceReport Resource is a specialized container for a collection of resources and codable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts.

func (EvidenceReport) MarshalJSON

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

func (EvidenceReport) MarshalXML

func (r EvidenceReport) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EvidenceReport) MemSize

func (r EvidenceReport) MemSize() int

func (EvidenceReport) ResourceId

func (r EvidenceReport) ResourceId() (string, bool)

func (EvidenceReport) ResourceType

func (r EvidenceReport) ResourceType() string

func (EvidenceReport) String

func (r EvidenceReport) String() string

func (*EvidenceReport) UnmarshalJSON

func (r *EvidenceReport) UnmarshalJSON(b []byte) error

func (*EvidenceReport) UnmarshalXML

func (r *EvidenceReport) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EvidenceReportRelatesTo

type EvidenceReportRelatesTo struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of relationship that this composition has with anther composition or document.
	Code Code
	// The target composition/document of this relationship.
	Target isEvidenceReportRelatesToTarget
}

Relationships that this composition has with other compositions or documents that already exist.

func (EvidenceReportRelatesTo) MarshalJSON

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

func (EvidenceReportRelatesTo) MarshalXML

func (r EvidenceReportRelatesTo) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EvidenceReportRelatesTo) MemSize

func (r EvidenceReportRelatesTo) MemSize() int

func (*EvidenceReportRelatesTo) UnmarshalXML

func (r *EvidenceReportRelatesTo) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EvidenceReportSection

type EvidenceReportSection struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The label for this particular section.  This will be part of the rendered content for the document, and is often used to build a table of contents.
	Title *String
	// A code identifying the kind of content contained within the section. This should be consistent with the section title.
	Focus *CodeableConcept
	// A definitional Resource identifying the kind of content contained within the section. This should be consistent with the section title.
	FocusReference *Reference
	// Identifies who is responsible for the information in this section, not necessarily who typed it in.
	Author []Reference
	// A human-readable narrative that contains the attested content of the section, used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is peferred to contain sufficient detail to make it acceptable for a human to just read the narrative.
	Text *Narrative
	// How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.
	Mode *Code
	// Specifies the order applied to the items in the section entries.
	OrderedBy *CodeableConcept
	// Specifies any type of classification of the evidence report.
	EntryClassifier []CodeableConcept
	// A reference to the actual resource from which the narrative in the section is derived.
	EntryReference []Reference
	// Quantity as content.
	EntryQuantity []Quantity
	// If the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason.
	EmptyReason *CodeableConcept
	// A nested sub-section within this section.
	Section []EvidenceReportSection
}

The root of the sections that make up the composition.

func (EvidenceReportSection) MarshalJSON

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

func (EvidenceReportSection) MarshalXML

func (r EvidenceReportSection) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EvidenceReportSection) MemSize

func (r EvidenceReportSection) MemSize() int

func (*EvidenceReportSection) UnmarshalXML

func (r *EvidenceReportSection) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EvidenceReportSubject

type EvidenceReportSubject struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Characteristic.
	Characteristic []EvidenceReportSubjectCharacteristic
	// Used for general notes and annotations not coded elsewhere.
	Note []Annotation
}

Specifies the subject or focus of the report. Answers "What is this report about?".

func (EvidenceReportSubject) MarshalJSON

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

func (EvidenceReportSubject) MarshalXML

func (r EvidenceReportSubject) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EvidenceReportSubject) MemSize

func (r EvidenceReportSubject) MemSize() int

func (*EvidenceReportSubject) UnmarshalXML

func (r *EvidenceReportSubject) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EvidenceReportSubjectCharacteristic

type EvidenceReportSubjectCharacteristic struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Characteristic code.
	Code CodeableConcept
	// Characteristic value.
	Value isEvidenceReportSubjectCharacteristicValue
	// Is used to express not the characteristic.
	Exclude *Boolean
	// Timeframe for the characteristic.
	Period *Period
}

Characteristic.

func (EvidenceReportSubjectCharacteristic) MarshalJSON

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

func (EvidenceReportSubjectCharacteristic) MarshalXML

func (EvidenceReportSubjectCharacteristic) MemSize

func (*EvidenceReportSubjectCharacteristic) UnmarshalXML

type EvidenceStatistic

type EvidenceStatistic struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A description of the content value of the statistic.
	Description *String
	// Footnotes and/or explanatory notes.
	Note []Annotation
	// Type of statistic, eg relative risk.
	StatisticType *CodeableConcept
	// When the measured variable is handled categorically, the category element is used to define which category the statistic is reporting.
	Category *CodeableConcept
	// Statistic value.
	Quantity *Quantity
	// The number of events associated with the statistic, where the unit of analysis is different from numberAffected, sampleSize.knownDataCount and sampleSize.numberOfParticipants.
	NumberOfEvents *UnsignedInt
	// The number of participants affected where the unit of analysis is the same as sampleSize.knownDataCount and sampleSize.numberOfParticipants.
	NumberAffected *UnsignedInt
	// Number of samples in the statistic.
	SampleSize *EvidenceStatisticSampleSize
	// A statistical attribute of the statistic such as a measure of heterogeneity.
	AttributeEstimate []EvidenceStatisticAttributeEstimate
	// A component of the method to generate the statistic.
	ModelCharacteristic []EvidenceStatisticModelCharacteristic
}

Values and parameters for a single statistic.

func (EvidenceStatistic) MarshalJSON

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

func (EvidenceStatistic) MarshalXML

func (r EvidenceStatistic) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EvidenceStatistic) MemSize

func (r EvidenceStatistic) MemSize() int

func (*EvidenceStatistic) UnmarshalXML

func (r *EvidenceStatistic) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EvidenceStatisticAttributeEstimate

type EvidenceStatisticAttributeEstimate struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Human-readable summary of the estimate.
	Description *String
	// Footnote or explanatory note about the estimate.
	Note []Annotation
	// The type of attribute estimate, eg confidence interval or p value.
	Type *CodeableConcept
	// The singular quantity of the attribute estimate, for attribute estimates represented as single values; also used to report unit of measure.
	Quantity *Quantity
	// Use 95 for a 95% confidence interval.
	Level *Decimal
	// Lower bound of confidence interval.
	Range *Range
	// A nested attribute estimate; which is the attribute estimate of an attribute estimate.
	AttributeEstimate []EvidenceStatisticAttributeEstimate
}

A statistical attribute of the statistic such as a measure of heterogeneity.

func (EvidenceStatisticAttributeEstimate) MarshalJSON

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

func (EvidenceStatisticAttributeEstimate) MarshalXML

func (EvidenceStatisticAttributeEstimate) MemSize

func (*EvidenceStatisticAttributeEstimate) UnmarshalXML

type EvidenceStatisticModelCharacteristic

type EvidenceStatisticModelCharacteristic struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Description of a component of the method to generate the statistic.
	Code CodeableConcept
	// Further specification of the quantified value of the component of the method to generate the statistic.
	Value *Quantity
	// A variable adjusted for in the adjusted analysis.
	Variable []EvidenceStatisticModelCharacteristicVariable
	// An attribute of the statistic used as a model characteristic.
	AttributeEstimate []EvidenceStatisticAttributeEstimate
}

A component of the method to generate the statistic.

func (EvidenceStatisticModelCharacteristic) MarshalJSON

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

func (EvidenceStatisticModelCharacteristic) MarshalXML

func (EvidenceStatisticModelCharacteristic) MemSize

func (*EvidenceStatisticModelCharacteristic) UnmarshalXML

type EvidenceStatisticModelCharacteristicVariable

type EvidenceStatisticModelCharacteristicVariable struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Description of the variable.
	VariableDefinition Reference
	// How the variable is classified for use in adjusted analysis.
	Handling *Code
	// Description for grouping of ordinal or polychotomous variables.
	ValueCategory []CodeableConcept
	// Discrete value for grouping of ordinal or polychotomous variables.
	ValueQuantity []Quantity
	// Range of values for grouping of ordinal or polychotomous variables.
	ValueRange []Range
}

A variable adjusted for in the adjusted analysis.

func (EvidenceStatisticModelCharacteristicVariable) MarshalJSON

func (EvidenceStatisticModelCharacteristicVariable) MarshalXML

func (EvidenceStatisticModelCharacteristicVariable) MemSize

func (*EvidenceStatisticModelCharacteristicVariable) UnmarshalXML

type EvidenceStatisticSampleSize

type EvidenceStatisticSampleSize struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Human-readable summary of population sample size.
	Description *String
	// Footnote or explanatory note about the sample size.
	Note []Annotation
	// Number of participants in the population.
	NumberOfStudies *UnsignedInt
	// A human-readable string to clarify or explain concepts about the sample size.
	NumberOfParticipants *UnsignedInt
	// Number of participants with known results for measured variables.
	KnownDataCount *UnsignedInt
}

Number of samples in the statistic.

func (EvidenceStatisticSampleSize) MarshalJSON

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

func (EvidenceStatisticSampleSize) MarshalXML

func (r EvidenceStatisticSampleSize) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EvidenceStatisticSampleSize) MemSize

func (r EvidenceStatisticSampleSize) MemSize() int

func (*EvidenceStatisticSampleSize) UnmarshalXML

func (r *EvidenceStatisticSampleSize) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EvidenceVariable

type EvidenceVariable struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.
	Version *String
	// A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the evidence variable.
	Title *String
	// The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.
	ShortTitle *String
	// An explanatory or alternate title for the EvidenceVariable giving additional information about its content.
	Subtitle *String
	// The status of this evidence variable. Enables tracking the life-cycle of the content.
	Status Code
	// The date  (and optionally time) when the evidence variable was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the evidence variable changes.
	Date *DateTime
	// A free text natural language description of the evidence variable from a consumer's perspective.
	Description *Markdown
	// A human-readable string to clarify or explain concepts about the resource.
	Note []Annotation
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate evidence variable instances.
	UseContext []UsageContext
	// The name of the organization or individual that published the evidence variable.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []ContactDetail
	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []ContactDetail
	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []ContactDetail
	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []ContactDetail
	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []RelatedArtifact
	// True if the actual variable measured, false if a conceptual representation of the intended variable.
	Actual *Boolean
	// Used to specify if two or more characteristics are combined with OR or AND.
	CharacteristicCombination *Code
	// A characteristic that defines the members of the evidence element. Multiple characteristics are applied with "and" semantics.
	Characteristic []EvidenceVariableCharacteristic
	// Used for an outcome to classify.
	Handling *Code
	// A grouping (or set of values) described along with other groupings to specify the set of groupings allowed for the variable.
	Category []EvidenceVariableCategory
}

The EvidenceVariable resource describes an element that knowledge (Evidence) is about.

Need to be able to define and reuse the definition of individual elements of a research question.

func (EvidenceVariable) MarshalJSON

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

func (EvidenceVariable) MarshalXML

func (r EvidenceVariable) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EvidenceVariable) MemSize

func (r EvidenceVariable) MemSize() int

func (EvidenceVariable) ResourceId

func (r EvidenceVariable) ResourceId() (string, bool)

func (EvidenceVariable) ResourceType

func (r EvidenceVariable) ResourceType() string

func (EvidenceVariable) String

func (r EvidenceVariable) String() string

func (*EvidenceVariable) UnmarshalJSON

func (r *EvidenceVariable) UnmarshalJSON(b []byte) error

func (*EvidenceVariable) UnmarshalXML

func (r *EvidenceVariable) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EvidenceVariableCategory

type EvidenceVariableCategory struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A human-readable title or representation of the grouping.
	Name *String
	// Value or set of values that define the grouping.
	Value isEvidenceVariableCategoryValue
}

A grouping (or set of values) described along with other groupings to specify the set of groupings allowed for the variable.

func (EvidenceVariableCategory) MarshalJSON

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

func (EvidenceVariableCategory) MarshalXML

func (r EvidenceVariableCategory) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EvidenceVariableCategory) MemSize

func (r EvidenceVariableCategory) MemSize() int

func (*EvidenceVariableCategory) UnmarshalXML

func (r *EvidenceVariableCategory) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EvidenceVariableCharacteristic

type EvidenceVariableCharacteristic struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.
	Description *String
	// Define members of the evidence element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).
	Definition isEvidenceVariableCharacteristicDefinition
	// Method used for describing characteristic.
	Method *CodeableConcept
	// Device used for determining characteristic.
	Device *Reference
	// When true, members with this characteristic are excluded from the element.
	Exclude *Boolean
	// Indicates duration, period, or point of observation from the participant's study entry.
	TimeFromStart *EvidenceVariableCharacteristicTimeFromStart
	// Indicates how elements are aggregated within the study effective period.
	GroupMeasure *Code
}

A characteristic that defines the members of the evidence element. Multiple characteristics are applied with "and" semantics.

func (EvidenceVariableCharacteristic) MarshalJSON

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

func (EvidenceVariableCharacteristic) MarshalXML

func (EvidenceVariableCharacteristic) MemSize

func (r EvidenceVariableCharacteristic) MemSize() int

func (*EvidenceVariableCharacteristic) UnmarshalXML

func (r *EvidenceVariableCharacteristic) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type EvidenceVariableCharacteristicTimeFromStart

type EvidenceVariableCharacteristicTimeFromStart struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A short, natural language description.
	Description *String
	// Used to express the observation at a defined amount of time after the study start.
	Quantity *Quantity
	// Used to express the observation within a period after the study start.
	Range *Range
	// A human-readable string to clarify or explain concepts about the resource.
	Note []Annotation
}

Indicates duration, period, or point of observation from the participant's study entry.

func (EvidenceVariableCharacteristicTimeFromStart) MarshalJSON

func (EvidenceVariableCharacteristicTimeFromStart) MarshalXML

func (EvidenceVariableCharacteristicTimeFromStart) MemSize

func (*EvidenceVariableCharacteristicTimeFromStart) UnmarshalXML

type EvidenceVariableDefinition

type EvidenceVariableDefinition struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A text description or summary of the variable.
	Description *Markdown
	// Footnotes and/or explanatory notes.
	Note []Annotation
	// population | subpopulation | exposure | referenceExposure | measuredVariable | confounder.
	VariableRole CodeableConcept
	// Definition of the actual variable related to the statistic(s).
	Observed *Reference
	// Definition of the intended variable related to the Evidence.
	Intended *Reference
	// Indication of quality of match between intended variable to actual variable.
	DirectnessMatch *CodeableConcept
}

Evidence variable such as population, exposure, or outcome.

func (EvidenceVariableDefinition) MarshalJSON

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

func (EvidenceVariableDefinition) MarshalXML

func (r EvidenceVariableDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (EvidenceVariableDefinition) MemSize

func (r EvidenceVariableDefinition) MemSize() int

func (*EvidenceVariableDefinition) UnmarshalXML

func (r *EvidenceVariableDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExampleScenario

type ExampleScenario struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// The status of this example scenario. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition').
	Date *DateTime
	// The name of the organization or individual that published the example scenario.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate example scenario instances.
	UseContext []UsageContext
	// A legal or geographic region in which the example scenario is intended to be used.
	Jurisdiction []CodeableConcept
	// A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.
	Copyright *Markdown
	// What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.
	Purpose *Markdown
	// Actor participating in the resource.
	Actor []ExampleScenarioActor
	// Each resource and each version that is present in the workflow.
	Instance []ExampleScenarioInstance
	// Each major process - a group of operations.
	Process []ExampleScenarioProcess
	// Another nested workflow.
	Workflow []Canonical
}

Example of workflow instance.

func (ExampleScenario) MarshalJSON

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

func (ExampleScenario) MarshalXML

func (r ExampleScenario) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExampleScenario) MemSize

func (r ExampleScenario) MemSize() int

func (ExampleScenario) ResourceId

func (r ExampleScenario) ResourceId() (string, bool)

func (ExampleScenario) ResourceType

func (r ExampleScenario) ResourceType() string

func (ExampleScenario) String

func (r ExampleScenario) String() string

func (*ExampleScenario) UnmarshalJSON

func (r *ExampleScenario) UnmarshalJSON(b []byte) error

func (*ExampleScenario) UnmarshalXML

func (r *ExampleScenario) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExampleScenarioActor

type ExampleScenarioActor struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// ID or acronym of actor.
	ActorId String
	// The type of actor - person or system.
	Type Code
	// The name of the actor as shown in the page.
	Name *String
	// The description of the actor.
	Description *Markdown
}

Actor participating in the resource.

func (ExampleScenarioActor) MarshalJSON

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

func (ExampleScenarioActor) MarshalXML

func (r ExampleScenarioActor) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExampleScenarioActor) MemSize

func (r ExampleScenarioActor) MemSize() int

func (*ExampleScenarioActor) UnmarshalXML

func (r *ExampleScenarioActor) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExampleScenarioInstance

type ExampleScenarioInstance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The id of the resource for referencing.
	ResourceId String
	// The type of the resource.
	ResourceType Code
	// A short name for the resource instance.
	Name *String
	// Human-friendly description of the resource instance.
	Description *Markdown
	// A specific version of the resource.
	Version []ExampleScenarioInstanceVersion
	// Resources contained in the instance (e.g. the observations contained in a bundle).
	ContainedInstance []ExampleScenarioInstanceContainedInstance
}

Each resource and each version that is present in the workflow.

func (ExampleScenarioInstance) MarshalJSON

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

func (ExampleScenarioInstance) MarshalXML

func (r ExampleScenarioInstance) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExampleScenarioInstance) MemSize

func (r ExampleScenarioInstance) MemSize() int

func (*ExampleScenarioInstance) UnmarshalXML

func (r *ExampleScenarioInstance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExampleScenarioInstanceContainedInstance

type ExampleScenarioInstanceContainedInstance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Each resource contained in the instance.
	ResourceId String
	// A specific version of a resource contained in the instance.
	VersionId *String
}

Resources contained in the instance (e.g. the observations contained in a bundle).

func (ExampleScenarioInstanceContainedInstance) MarshalJSON

func (ExampleScenarioInstanceContainedInstance) MarshalXML

func (ExampleScenarioInstanceContainedInstance) MemSize

func (*ExampleScenarioInstanceContainedInstance) UnmarshalXML

type ExampleScenarioInstanceVersion

type ExampleScenarioInstanceVersion struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The identifier of a specific version of a resource.
	VersionId String
	// The description of the resource version.
	Description Markdown
}

A specific version of the resource.

func (ExampleScenarioInstanceVersion) MarshalJSON

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

func (ExampleScenarioInstanceVersion) MarshalXML

func (ExampleScenarioInstanceVersion) MemSize

func (r ExampleScenarioInstanceVersion) MemSize() int

func (*ExampleScenarioInstanceVersion) UnmarshalXML

func (r *ExampleScenarioInstanceVersion) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExampleScenarioProcess

type ExampleScenarioProcess struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The diagram title of the group of operations.
	Title String
	// A longer description of the group of operations.
	Description *Markdown
	// Description of initial status before the process starts.
	PreConditions *Markdown
	// Description of final status after the process ends.
	PostConditions *Markdown
	// Each step of the process.
	Step []ExampleScenarioProcessStep
}

Each major process - a group of operations.

func (ExampleScenarioProcess) MarshalJSON

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

func (ExampleScenarioProcess) MarshalXML

func (r ExampleScenarioProcess) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExampleScenarioProcess) MemSize

func (r ExampleScenarioProcess) MemSize() int

func (*ExampleScenarioProcess) UnmarshalXML

func (r *ExampleScenarioProcess) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExampleScenarioProcessStep

type ExampleScenarioProcessStep struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Nested process.
	Process []ExampleScenarioProcess
	// If there is a pause in the flow.
	Pause *Boolean
	// Each interaction or action.
	Operation *ExampleScenarioProcessStepOperation
	// Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances.
	Alternative []ExampleScenarioProcessStepAlternative
}

Each step of the process.

func (ExampleScenarioProcessStep) MarshalJSON

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

func (ExampleScenarioProcessStep) MarshalXML

func (r ExampleScenarioProcessStep) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExampleScenarioProcessStep) MemSize

func (r ExampleScenarioProcessStep) MemSize() int

func (*ExampleScenarioProcessStep) UnmarshalXML

func (r *ExampleScenarioProcessStep) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExampleScenarioProcessStepAlternative

type ExampleScenarioProcessStepAlternative struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked.
	Title String
	// A human-readable description of the alternative explaining when the alternative should occur rather than the base step.
	Description *Markdown
	// What happens in each alternative option.
	Step []ExampleScenarioProcessStep
}

Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances.

func (ExampleScenarioProcessStepAlternative) MarshalJSON

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

func (ExampleScenarioProcessStepAlternative) MarshalXML

func (ExampleScenarioProcessStepAlternative) MemSize

func (*ExampleScenarioProcessStepAlternative) UnmarshalXML

type ExampleScenarioProcessStepOperation

type ExampleScenarioProcessStepOperation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The sequential number of the interaction, e.g. 1.2.5.
	Number String
	// The type of operation - CRUD.
	Type *String
	// The human-friendly name of the interaction.
	Name *String
	// Who starts the transaction.
	Initiator *String
	// Who receives the transaction.
	Receiver *String
	// A comment to be inserted in the diagram.
	Description *Markdown
	// Whether the initiator is deactivated right after the transaction.
	InitiatorActive *Boolean
	// Whether the receiver is deactivated right after the transaction.
	ReceiverActive *Boolean
	// Each resource instance used by the initiator.
	Request *ExampleScenarioInstanceContainedInstance
	// Each resource instance used by the responder.
	Response *ExampleScenarioInstanceContainedInstance
}

Each interaction or action.

func (ExampleScenarioProcessStepOperation) MarshalJSON

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

func (ExampleScenarioProcessStepOperation) MarshalXML

func (ExampleScenarioProcessStepOperation) MemSize

func (*ExampleScenarioProcessStepOperation) UnmarshalXML

type ExplanationOfBenefit

type ExplanationOfBenefit struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this explanation of benefit.
	Identifier []Identifier
	// The status of the resource instance.
	Status Code
	// The category of claim, e.g. oral, pharmacy, vision, institutional, professional.
	Type CodeableConcept
	// A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.
	SubType *CodeableConcept
	// A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.
	Use Code
	// The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for forecast reimbursement is sought.
	Patient Reference
	// The period for which charges are being submitted.
	BillablePeriod *Period
	// The date this resource was created.
	Created DateTime
	// Individual who created the claim, predetermination or preauthorization.
	Enterer *Reference
	// The party responsible for authorization, adjudication and reimbursement.
	Insurer Reference
	// The provider which is responsible for the claim, predetermination or preauthorization.
	Provider Reference
	// The provider-required urgency of processing the request. Typical values include: stat, routine deferred.
	Priority *CodeableConcept
	// A code to indicate whether and for whom funds are to be reserved for future claims.
	FundsReserveRequested *CodeableConcept
	// A code, used only on a response to a preauthorization, to indicate whether the benefits payable have been reserved and for whom.
	FundsReserve *CodeableConcept
	// Other claims which are related to this claim such as prior submissions or claims for related services or for the same event.
	Related []ExplanationOfBenefitRelated
	// Prescription to support the dispensing of pharmacy, device or vision products.
	Prescription *Reference
	// Original prescription which has been superseded by this prescription to support the dispensing of pharmacy services, medications or products.
	OriginalPrescription *Reference
	// The party to be reimbursed for cost of the products and services according to the terms of the policy.
	Payee *ExplanationOfBenefitPayee
	// A reference to a referral resource.
	Referral *Reference
	// Facility where the services were provided.
	Facility *Reference
	// The business identifier for the instance of the adjudication request: claim predetermination or preauthorization.
	Claim *Reference
	// The business identifier for the instance of the adjudication response: claim, predetermination or preauthorization response.
	ClaimResponse *Reference
	// The outcome of the claim, predetermination, or preauthorization processing.
	Outcome Code
	// A human readable description of the status of the adjudication.
	Disposition *String
	// Reference from the Insurer which is used in later communications which refers to this adjudication.
	PreAuthRef []String
	// The timeframe during which the supplied preauthorization reference may be quoted on claims to obtain the adjudication as provided.
	PreAuthRefPeriod []Period
	// The members of the team who provided the products and services.
	CareTeam []ExplanationOfBenefitCareTeam
	// Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.
	SupportingInfo []ExplanationOfBenefitSupportingInfo
	// Information about diagnoses relevant to the claim items.
	Diagnosis []ExplanationOfBenefitDiagnosis
	// Procedures performed on the patient relevant to the billing items with the claim.
	Procedure []ExplanationOfBenefitProcedure
	// This indicates the relative order of a series of EOBs related to different coverages for the same suite of services.
	Precedence *PositiveInt
	// Financial instruments for reimbursement for the health care products and services specified on the claim.
	Insurance []ExplanationOfBenefitInsurance
	// Details of a accident which resulted in injuries which required the products and services listed in the claim.
	Accident *ExplanationOfBenefitAccident
	// 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.
	Item []ExplanationOfBenefitItem
	// The first-tier service adjudications for payor added product or service lines.
	AddItem []ExplanationOfBenefitAddItem
	// The adjudication results which are presented at the header level rather than at the line-item or add-item levels.
	Adjudication []ExplanationOfBenefitItemAdjudication
	// Categorized monetary totals for the adjudication.
	Total []ExplanationOfBenefitTotal
	// Payment details for the adjudication of the claim.
	Payment *ExplanationOfBenefitPayment
	// A code for the form to be used for printing the content.
	FormCode *CodeableConcept
	// The actual form, by reference or inclusion, for printing the content or an EOB.
	Form *Attachment
	// A note that describes or explains adjudication results in a human readable form.
	ProcessNote []ExplanationOfBenefitProcessNote
	// The term of the benefits documented in this response.
	BenefitPeriod *Period
	// Balance by Benefit Category.
	BenefitBalance []ExplanationOfBenefitBenefitBalance
}

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 (ExplanationOfBenefit) MarshalJSON

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

func (ExplanationOfBenefit) MarshalXML

func (r ExplanationOfBenefit) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExplanationOfBenefit) MemSize

func (r ExplanationOfBenefit) MemSize() int

func (ExplanationOfBenefit) ResourceId

func (r ExplanationOfBenefit) ResourceId() (string, bool)

func (ExplanationOfBenefit) ResourceType

func (r ExplanationOfBenefit) ResourceType() string

func (ExplanationOfBenefit) String

func (r ExplanationOfBenefit) String() string

func (*ExplanationOfBenefit) UnmarshalJSON

func (r *ExplanationOfBenefit) UnmarshalJSON(b []byte) error

func (*ExplanationOfBenefit) UnmarshalXML

func (r *ExplanationOfBenefit) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitAccident

type ExplanationOfBenefitAccident struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Date of an accident event  related to the products and services contained in the claim.
	Date *Date
	// The type or context of the accident event for the purposes of selection of potential insurance coverages and determination of coordination between insurers.
	Type *CodeableConcept
	// The physical location of the accident event.
	Location isExplanationOfBenefitAccidentLocation
}

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

func (ExplanationOfBenefitAccident) MarshalJSON

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

func (ExplanationOfBenefitAccident) MarshalXML

func (ExplanationOfBenefitAccident) MemSize

func (r ExplanationOfBenefitAccident) MemSize() int

func (*ExplanationOfBenefitAccident) UnmarshalXML

func (r *ExplanationOfBenefitAccident) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitAddItem

type ExplanationOfBenefitAddItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Claim items which this service line is intended to replace.
	ItemSequence []PositiveInt
	// The sequence number of the details within the claim item which this line is intended to replace.
	DetailSequence []PositiveInt
	// The sequence number of the sub-details woithin the details within the claim item which this line is intended to replace.
	SubDetailSequence []PositiveInt
	// The providers who are authorized for the services rendered to the patient.
	Provider []Reference
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// Identifies the program under which this may be recovered.
	ProgramCode []CodeableConcept
	// The date or dates when the service or product was supplied, performed or completed.
	Serviced isExplanationOfBenefitAddItemServiced
	// Where the product or service was provided.
	Location isExplanationOfBenefitAddItemLocation
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// Physical service site on the patient (limb, tooth, etc.).
	BodySite *CodeableConcept
	// A region or surface of the bodySite, e.g. limb region or tooth surface(s).
	SubSite []CodeableConcept
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// The adjudication results.
	Adjudication []ExplanationOfBenefitItemAdjudication
	// The second-tier service adjudications for payor added services.
	Detail []ExplanationOfBenefitAddItemDetail
}

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

func (ExplanationOfBenefitAddItem) MarshalJSON

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

func (ExplanationOfBenefitAddItem) MarshalXML

func (r ExplanationOfBenefitAddItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExplanationOfBenefitAddItem) MemSize

func (r ExplanationOfBenefitAddItem) MemSize() int

func (*ExplanationOfBenefitAddItem) UnmarshalXML

func (r *ExplanationOfBenefitAddItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitAddItemDetail

type ExplanationOfBenefitAddItemDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// The adjudication results.
	Adjudication []ExplanationOfBenefitItemAdjudication
	// The third-tier service adjudications for payor added services.
	SubDetail []ExplanationOfBenefitAddItemDetailSubDetail
}

The second-tier service adjudications for payor added services.

func (ExplanationOfBenefitAddItemDetail) MarshalJSON

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

func (ExplanationOfBenefitAddItemDetail) MarshalXML

func (ExplanationOfBenefitAddItemDetail) MemSize

func (*ExplanationOfBenefitAddItemDetail) UnmarshalXML

type ExplanationOfBenefitAddItemDetailSubDetail

type ExplanationOfBenefitAddItemDetailSubDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// The adjudication results.
	Adjudication []ExplanationOfBenefitItemAdjudication
}

The third-tier service adjudications for payor added services.

func (ExplanationOfBenefitAddItemDetailSubDetail) MarshalJSON

func (ExplanationOfBenefitAddItemDetailSubDetail) MarshalXML

func (ExplanationOfBenefitAddItemDetailSubDetail) MemSize

func (*ExplanationOfBenefitAddItemDetailSubDetail) UnmarshalXML

type ExplanationOfBenefitBenefitBalance

type ExplanationOfBenefitBenefitBalance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Code to identify the general type of benefits under which products and services are provided.
	Category CodeableConcept
	// True if the indicated class of service is excluded from the plan, missing or False indicates the product or service is included in the coverage.
	Excluded *Boolean
	// A short name or tag for the benefit.
	Name *String
	// A richer description of the benefit or services covered.
	Description *String
	// Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.
	Network *CodeableConcept
	// Indicates if the benefits apply to an individual or to the family.
	Unit *CodeableConcept
	// The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.
	Term *CodeableConcept
	// Benefits Used to date.
	Financial []ExplanationOfBenefitBenefitBalanceFinancial
}

Balance by Benefit Category.

func (ExplanationOfBenefitBenefitBalance) MarshalJSON

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

func (ExplanationOfBenefitBenefitBalance) MarshalXML

func (ExplanationOfBenefitBenefitBalance) MemSize

func (*ExplanationOfBenefitBenefitBalance) UnmarshalXML

type ExplanationOfBenefitBenefitBalanceFinancial

type ExplanationOfBenefitBenefitBalanceFinancial struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Classification of benefit being provided.
	Type CodeableConcept
	// The quantity of the benefit which is permitted under the coverage.
	Allowed isExplanationOfBenefitBenefitBalanceFinancialAllowed
	// The quantity of the benefit which have been consumed to date.
	Used isExplanationOfBenefitBenefitBalanceFinancialUsed
}

Benefits Used to date.

func (ExplanationOfBenefitBenefitBalanceFinancial) MarshalJSON

func (ExplanationOfBenefitBenefitBalanceFinancial) MarshalXML

func (ExplanationOfBenefitBenefitBalanceFinancial) MemSize

func (*ExplanationOfBenefitBenefitBalanceFinancial) UnmarshalXML

type ExplanationOfBenefitCareTeam

type ExplanationOfBenefitCareTeam struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify care team entries.
	Sequence PositiveInt
	// Member of the team who provided the product or service.
	Provider Reference
	// The party who is billing and/or responsible for the claimed products or services.
	Responsible *Boolean
	// The lead, assisting or supervising practitioner and their discipline if a multidisciplinary team.
	Role *CodeableConcept
	// The qualification of the practitioner which is applicable for this service.
	Qualification *CodeableConcept
}

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

func (ExplanationOfBenefitCareTeam) MarshalJSON

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

func (ExplanationOfBenefitCareTeam) MarshalXML

func (ExplanationOfBenefitCareTeam) MemSize

func (r ExplanationOfBenefitCareTeam) MemSize() int

func (*ExplanationOfBenefitCareTeam) UnmarshalXML

func (r *ExplanationOfBenefitCareTeam) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitDiagnosis

type ExplanationOfBenefitDiagnosis struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify diagnosis entries.
	Sequence PositiveInt
	// The nature of illness or problem in a coded form or as a reference to an external defined Condition.
	Diagnosis isExplanationOfBenefitDiagnosisDiagnosis
	// When the condition was observed or the relative ranking.
	Type []CodeableConcept
	// Indication of whether the diagnosis was present on admission to a facility.
	OnAdmission *CodeableConcept
	// A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.
	PackageCode *CodeableConcept
}

Information about diagnoses relevant to the claim items.

func (ExplanationOfBenefitDiagnosis) MarshalJSON

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

func (ExplanationOfBenefitDiagnosis) MarshalXML

func (ExplanationOfBenefitDiagnosis) MemSize

func (r ExplanationOfBenefitDiagnosis) MemSize() int

func (*ExplanationOfBenefitDiagnosis) UnmarshalXML

func (r *ExplanationOfBenefitDiagnosis) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitInsurance

type ExplanationOfBenefitInsurance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A flag to indicate that this Coverage is to be used for adjudication of this claim when set to true.
	Focal Boolean
	// Reference to the insurance card level information contained in the Coverage resource. The coverage issuing insurer will use these details to locate the patient's actual coverage within the insurer's information system.
	Coverage Reference
	// Reference numbers previously provided by the insurer to the provider to be quoted on subsequent claims containing services or products related to the prior authorization.
	PreAuthRef []String
}

Financial instruments for reimbursement for the health care products and services specified on the claim.

func (ExplanationOfBenefitInsurance) MarshalJSON

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

func (ExplanationOfBenefitInsurance) MarshalXML

func (ExplanationOfBenefitInsurance) MemSize

func (r ExplanationOfBenefitInsurance) MemSize() int

func (*ExplanationOfBenefitInsurance) UnmarshalXML

func (r *ExplanationOfBenefitInsurance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitItem

type ExplanationOfBenefitItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify item entries.
	Sequence PositiveInt
	// Care team members related to this service or product.
	CareTeamSequence []PositiveInt
	// Diagnoses applicable for this service or product.
	DiagnosisSequence []PositiveInt
	// Procedures applicable for this service or product.
	ProcedureSequence []PositiveInt
	// Exceptions, special conditions and supporting information applicable for this service or product.
	InformationSequence []PositiveInt
	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept
	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// Identifies the program under which this may be recovered.
	ProgramCode []CodeableConcept
	// The date or dates when the service or product was supplied, performed or completed.
	Serviced isExplanationOfBenefitItemServiced
	// Where the product or service was provided.
	Location isExplanationOfBenefitItemLocation
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// Unique Device Identifiers associated with this line item.
	Udi []Reference
	// Physical service site on the patient (limb, tooth, etc.).
	BodySite *CodeableConcept
	// A region or surface of the bodySite, e.g. limb region or tooth surface(s).
	SubSite []CodeableConcept
	// A billed item may include goods or services provided in multiple encounters.
	Encounter []Reference
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// 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.
	Adjudication []ExplanationOfBenefitItemAdjudication
	// Second-tier of goods and services.
	Detail []ExplanationOfBenefitItemDetail
}

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.

func (ExplanationOfBenefitItem) MarshalJSON

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

func (ExplanationOfBenefitItem) MarshalXML

func (r ExplanationOfBenefitItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExplanationOfBenefitItem) MemSize

func (r ExplanationOfBenefitItem) MemSize() int

func (*ExplanationOfBenefitItem) UnmarshalXML

func (r *ExplanationOfBenefitItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitItemAdjudication

type ExplanationOfBenefitItemAdjudication struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code to indicate the information type of this adjudication record. Information types may include: the value submitted, maximum values or percentages allowed or payable under the plan, amounts that the patient is responsible for in-aggregate or pertaining to this item, amounts paid by other coverages, and the benefit payable for this item.
	Category CodeableConcept
	// A code supporting the understanding of the adjudication result and explaining variance from expected amount.
	Reason *CodeableConcept
	// Monetary amount associated with the category.
	Amount *Money
	// A non-monetary value associated with the category. Mutually exclusive to the amount element above.
	Value *Decimal
}

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.

func (ExplanationOfBenefitItemAdjudication) MarshalJSON

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

func (ExplanationOfBenefitItemAdjudication) MarshalXML

func (ExplanationOfBenefitItemAdjudication) MemSize

func (*ExplanationOfBenefitItemAdjudication) UnmarshalXML

type ExplanationOfBenefitItemDetail

type ExplanationOfBenefitItemDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.
	Sequence PositiveInt
	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept
	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// Identifies the program under which this may be recovered.
	ProgramCode []CodeableConcept
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// Unique Device Identifiers associated with this line item.
	Udi []Reference
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// The adjudication results.
	Adjudication []ExplanationOfBenefitItemAdjudication
	// Third-tier of goods and services.
	SubDetail []ExplanationOfBenefitItemDetailSubDetail
}

Second-tier of goods and services.

func (ExplanationOfBenefitItemDetail) MarshalJSON

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

func (ExplanationOfBenefitItemDetail) MarshalXML

func (ExplanationOfBenefitItemDetail) MemSize

func (r ExplanationOfBenefitItemDetail) MemSize() int

func (*ExplanationOfBenefitItemDetail) UnmarshalXML

func (r *ExplanationOfBenefitItemDetail) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitItemDetailSubDetail

type ExplanationOfBenefitItemDetailSubDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.
	Sequence PositiveInt
	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept
	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept
	// When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.
	ProductOrService CodeableConcept
	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []CodeableConcept
	// Identifies the program under which this may be recovered.
	ProgramCode []CodeableConcept
	// The number of repetitions of a service or product.
	Quantity *Quantity
	// If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.
	UnitPrice *Money
	// A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.
	Factor *Decimal
	// The quantity times the unit price for an additional service or product or charge.
	Net *Money
	// Unique Device Identifiers associated with this line item.
	Udi []Reference
	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []PositiveInt
	// The adjudication results.
	Adjudication []ExplanationOfBenefitItemAdjudication
}

Third-tier of goods and services.

func (ExplanationOfBenefitItemDetailSubDetail) MarshalJSON

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

func (ExplanationOfBenefitItemDetailSubDetail) MarshalXML

func (ExplanationOfBenefitItemDetailSubDetail) MemSize

func (*ExplanationOfBenefitItemDetailSubDetail) UnmarshalXML

type ExplanationOfBenefitPayee

type ExplanationOfBenefitPayee struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type of Party to be reimbursed: Subscriber, provider, other.
	Type *CodeableConcept
	// Reference to the individual or organization to whom any payment will be made.
	Party *Reference
}

The party to be reimbursed for cost of the products and services according to the terms of the policy.

func (ExplanationOfBenefitPayee) MarshalJSON

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

func (ExplanationOfBenefitPayee) MarshalXML

func (r ExplanationOfBenefitPayee) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExplanationOfBenefitPayee) MemSize

func (r ExplanationOfBenefitPayee) MemSize() int

func (*ExplanationOfBenefitPayee) UnmarshalXML

func (r *ExplanationOfBenefitPayee) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitPayment

type ExplanationOfBenefitPayment struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Whether this represents partial or complete payment of the benefits payable.
	Type *CodeableConcept
	// Total amount of all adjustments to this payment included in this transaction which are not related to this claim's adjudication.
	Adjustment *Money
	// Reason for the payment adjustment.
	AdjustmentReason *CodeableConcept
	// Estimated date the payment will be issued or the actual issue date of payment.
	Date *Date
	// Benefits payable less any payment adjustment.
	Amount *Money
	// Issuer's unique identifier for the payment instrument.
	Identifier *Identifier
}

Payment details for the adjudication of the claim.

func (ExplanationOfBenefitPayment) MarshalJSON

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

func (ExplanationOfBenefitPayment) MarshalXML

func (r ExplanationOfBenefitPayment) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExplanationOfBenefitPayment) MemSize

func (r ExplanationOfBenefitPayment) MemSize() int

func (*ExplanationOfBenefitPayment) UnmarshalXML

func (r *ExplanationOfBenefitPayment) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitProcedure

type ExplanationOfBenefitProcedure struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify procedure entries.
	Sequence PositiveInt
	// When the condition was observed or the relative ranking.
	Type []CodeableConcept
	// Date and optionally time the procedure was performed.
	Date *DateTime
	// The code or reference to a Procedure resource which identifies the clinical intervention performed.
	Procedure isExplanationOfBenefitProcedureProcedure
	// Unique Device Identifiers associated with this line item.
	Udi []Reference
}

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

func (ExplanationOfBenefitProcedure) MarshalJSON

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

func (ExplanationOfBenefitProcedure) MarshalXML

func (ExplanationOfBenefitProcedure) MemSize

func (r ExplanationOfBenefitProcedure) MemSize() int

func (*ExplanationOfBenefitProcedure) UnmarshalXML

func (r *ExplanationOfBenefitProcedure) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitProcessNote

type ExplanationOfBenefitProcessNote struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify a note entry.
	Number *PositiveInt
	// The business purpose of the note text.
	Type *Code
	// The explanation or description associated with the processing.
	Text *String
	// A code to define the language used in the text of the note.
	Language *CodeableConcept
}

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

func (ExplanationOfBenefitProcessNote) MarshalJSON

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

func (ExplanationOfBenefitProcessNote) MarshalXML

func (ExplanationOfBenefitProcessNote) MemSize

func (*ExplanationOfBenefitProcessNote) UnmarshalXML

func (r *ExplanationOfBenefitProcessNote) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitRelated

type ExplanationOfBenefitRelated struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Reference to a related claim.
	Claim *Reference
	// A code to convey how the claims are related.
	Relationship *CodeableConcept
	// An alternate organizational reference to the case or file to which this particular claim pertains.
	Reference *Identifier
}

Other claims which are related to this claim such as prior submissions or claims for related services or for the same event.

func (ExplanationOfBenefitRelated) MarshalJSON

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

func (ExplanationOfBenefitRelated) MarshalXML

func (r ExplanationOfBenefitRelated) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExplanationOfBenefitRelated) MemSize

func (r ExplanationOfBenefitRelated) MemSize() int

func (*ExplanationOfBenefitRelated) UnmarshalXML

func (r *ExplanationOfBenefitRelated) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ExplanationOfBenefitSupportingInfo

type ExplanationOfBenefitSupportingInfo struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A number to uniquely identify supporting information entries.
	Sequence PositiveInt
	// The general class of the information supplied: information; exception; accident, employment; onset, etc.
	Category CodeableConcept
	// System and code pertaining to the specific information regarding special conditions relating to the setting, treatment or patient  for which care is sought.
	Code *CodeableConcept
	// The date when or period to which this information refers.
	Timing isExplanationOfBenefitSupportingInfoTiming
	// Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.
	Value isExplanationOfBenefitSupportingInfoValue
	// Provides the reason in the situation where a reason code is required in addition to the content.
	Reason *Coding
}

Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.

func (ExplanationOfBenefitSupportingInfo) MarshalJSON

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

func (ExplanationOfBenefitSupportingInfo) MarshalXML

func (ExplanationOfBenefitSupportingInfo) MemSize

func (*ExplanationOfBenefitSupportingInfo) UnmarshalXML

type ExplanationOfBenefitTotal

type ExplanationOfBenefitTotal struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code to indicate the information type of this adjudication record. Information types may include: the value submitted, maximum values or percentages allowed or payable under the plan, amounts that the patient is responsible for in aggregate or pertaining to this item, amounts paid by other coverages, and the benefit payable for this item.
	Category CodeableConcept
	// Monetary total amount associated with the category.
	Amount Money
}

Categorized monetary totals for the adjudication.

func (ExplanationOfBenefitTotal) MarshalJSON

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

func (ExplanationOfBenefitTotal) MarshalXML

func (r ExplanationOfBenefitTotal) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ExplanationOfBenefitTotal) MemSize

func (r ExplanationOfBenefitTotal) MemSize() int

func (*ExplanationOfBenefitTotal) UnmarshalXML

func (r *ExplanationOfBenefitTotal) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Expression

type Expression struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// A brief, natural language description of the condition that effectively communicates the intended semantics.
	Description *String
	// A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined.
	Name *Id
	// The media type of the language for the expression.
	Language Code
	// An expression in the specified language that returns a value.
	Expression *String
	// A URI that defines where the expression is found.
	Reference *Uri
}

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.

func (Expression) MarshalJSON

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

func (Expression) MarshalXML

func (r Expression) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Expression) MemSize

func (r Expression) MemSize() int

func (Expression) String

func (r Expression) String() string

func (*Expression) UnmarshalXML

func (r *Expression) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Extension

type Extension struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Source of the definition for the extension code - a logical name or a URL.
	Url string
	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	Value isExtensionValue
}

Base StructureDefinition for Extension Type: Optional Extension Element - found in all resources.

The ability to add extensions in a structured way is what keeps FHIR resources simple.

func (Extension) MarshalJSON

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

func (Extension) MarshalXML

func (r Extension) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Extension) MemSize

func (r Extension) MemSize() int

func (Extension) String

func (r Extension) String() string

func (*Extension) UnmarshalXML

func (r *Extension) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type FamilyMemberHistory

type FamilyMemberHistory struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this family member history by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.
	InstantiatesCanonical []Canonical
	// The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory.
	InstantiatesUri []Uri
	// A code specifying the status of the record of the family history of a specific family member.
	Status Code
	// Describes why the family member's history is not available.
	DataAbsentReason *CodeableConcept
	// The person who this history concerns.
	Patient Reference
	// The date (and possibly time) when the family member history was recorded or last updated.
	Date *DateTime
	// This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair".
	Name *String
	// The type of relationship this person has to the patient (father, mother, brother etc.).
	Relationship CodeableConcept
	// The birth sex of the family member.
	Sex *CodeableConcept
	// The actual or approximate date of birth of the relative.
	Born isFamilyMemberHistoryBorn
	// The age of the relative at the time the family member history is recorded.
	Age isFamilyMemberHistoryAge
	// If true, indicates that the age value specified is an estimated value.
	EstimatedAge *Boolean
	// Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.
	Deceased isFamilyMemberHistoryDeceased
	// Describes why the family member history occurred in coded or textual form.
	ReasonCode []CodeableConcept
	// Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event.
	ReasonReference []Reference
	// This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible.
	Note []Annotation
	// 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.
	Condition []FamilyMemberHistoryCondition
}

Significant health conditions for a person related to the patient relevant in the context of care for the patient.

func (FamilyMemberHistory) MarshalJSON

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

func (FamilyMemberHistory) MarshalXML

func (r FamilyMemberHistory) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (FamilyMemberHistory) MemSize

func (r FamilyMemberHistory) MemSize() int

func (FamilyMemberHistory) ResourceId

func (r FamilyMemberHistory) ResourceId() (string, bool)

func (FamilyMemberHistory) ResourceType

func (r FamilyMemberHistory) ResourceType() string

func (FamilyMemberHistory) String

func (r FamilyMemberHistory) String() string

func (*FamilyMemberHistory) UnmarshalJSON

func (r *FamilyMemberHistory) UnmarshalJSON(b []byte) error

func (*FamilyMemberHistory) UnmarshalXML

func (r *FamilyMemberHistory) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type FamilyMemberHistoryCondition

type FamilyMemberHistoryCondition struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system.
	Code CodeableConcept
	// Indicates what happened following the condition.  If the condition resulted in death, deceased date is captured on the relation.
	Outcome *CodeableConcept
	// This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown.
	ContributedToDeath *Boolean
	// Either the age of onset, range of approximate age or descriptive string can be recorded.  For conditions with multiple occurrences, this describes the first known occurrence.
	Onset isFamilyMemberHistoryConditionOnset
	// An area where general notes can be placed about this specific condition.
	Note []Annotation
}

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.

func (FamilyMemberHistoryCondition) MarshalJSON

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

func (FamilyMemberHistoryCondition) MarshalXML

func (FamilyMemberHistoryCondition) MemSize

func (r FamilyMemberHistoryCondition) MemSize() int

func (*FamilyMemberHistoryCondition) UnmarshalXML

func (r *FamilyMemberHistoryCondition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Flag

type Flag struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this flag by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// Supports basic workflow.
	Status Code
	// Allows a flag to be divided into different categories like clinical, administrative etc. Intended to be used as a means of filtering which flags are displayed to particular user or in a given context.
	Category []CodeableConcept
	// The coded value or textual component of the flag to display to the user.
	Code CodeableConcept
	// The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with.
	Subject Reference
	// The period of time from the activation of the flag to inactivation of the flag. If the flag is active, the end of the period should be unspecified.
	Period *Period
	// This alert is only relevant during the encounter.
	Encounter *Reference
	// The person, organization or device that created the flag.
	Author *Reference
}

Prospective warnings of potential issues when providing care to the patient.

func (Flag) MarshalJSON

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

func (Flag) MarshalXML

func (r Flag) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Flag) MemSize

func (r Flag) MemSize() int

func (Flag) ResourceId

func (r Flag) ResourceId() (string, bool)

func (Flag) ResourceType

func (r Flag) ResourceType() string

func (Flag) String

func (r Flag) String() string

func (*Flag) UnmarshalJSON

func (r *Flag) UnmarshalJSON(b []byte) error

func (*Flag) UnmarshalXML

func (r *Flag) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Goal

type Goal struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this goal by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// The state of the goal throughout its lifecycle.
	LifecycleStatus Code
	// Describes the progression, or lack thereof, towards the goal against the target.
	AchievementStatus *CodeableConcept
	// Indicates a category the goal falls within.
	Category []CodeableConcept
	// Identifies the mutually agreed level of importance associated with reaching/sustaining the goal.
	Priority *CodeableConcept
	// Human-readable and/or coded description of a specific desired objective of care, such as "control blood pressure" or "negotiate an obstacle course" or "dance with child at wedding".
	Description CodeableConcept
	// Identifies the patient, group or organization for whom the goal is being established.
	Subject Reference
	// The date or event after which the goal should begin being pursued.
	Start isGoalStart
	// Indicates what should be done by when.
	Target []GoalTarget
	// Identifies when the current status.  I.e. When initially created, when achieved, when cancelled, etc.
	StatusDate *Date
	// Captures the reason for the current status.
	StatusReason *String
	// Indicates whose goal this is - patient goal, practitioner goal, etc.
	ExpressedBy *Reference
	// The identified conditions and other health record elements that are intended to be addressed by the goal.
	Addresses []Reference
	// Any comments related to the goal.
	Note []Annotation
	// Identifies the change (or lack of change) at the point when the status of the goal is assessed.
	OutcomeCode []CodeableConcept
	// Details of what's changed (or not changed).
	OutcomeReference []Reference
}

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 (Goal) MarshalJSON

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

func (Goal) MarshalXML

func (r Goal) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Goal) MemSize

func (r Goal) MemSize() int

func (Goal) ResourceId

func (r Goal) ResourceId() (string, bool)

func (Goal) ResourceType

func (r Goal) ResourceType() string

func (Goal) String

func (r Goal) String() string

func (*Goal) UnmarshalJSON

func (r *Goal) UnmarshalJSON(b []byte) error

func (*Goal) UnmarshalXML

func (r *Goal) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type GoalTarget

type GoalTarget struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
	Measure *CodeableConcept
	// The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.
	Detail isGoalTargetDetail
	// Indicates either the date or the duration after start by which the goal should be met.
	Due isGoalTargetDue
}

Indicates what should be done by when.

func (GoalTarget) MarshalJSON

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

func (GoalTarget) MarshalXML

func (r GoalTarget) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (GoalTarget) MemSize

func (r GoalTarget) MemSize() int

func (*GoalTarget) UnmarshalXML

func (r *GoalTarget) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type GraphDefinition

type GraphDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.
	Url *Uri
	// The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name String
	// The status of this graph definition. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the graph definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes.
	Date *DateTime
	// The name of the organization or individual that published the graph definition.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the graph definition from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate graph definition instances.
	UseContext []UsageContext
	// A legal or geographic region in which the graph definition is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this graph definition is needed and why it has been designed as it has.
	Purpose *Markdown
	// The type of FHIR resource at which instances of this graph start.
	Start Code
	// The profile that describes the use of the base resource.
	Profile *Canonical
	// Links this graph makes rules about.
	Link []GraphDefinitionLink
}

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 (GraphDefinition) MarshalJSON

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

func (GraphDefinition) MarshalXML

func (r GraphDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (GraphDefinition) MemSize

func (r GraphDefinition) MemSize() int

func (GraphDefinition) ResourceId

func (r GraphDefinition) ResourceId() (string, bool)

func (GraphDefinition) ResourceType

func (r GraphDefinition) ResourceType() string

func (GraphDefinition) String

func (r GraphDefinition) String() string

func (*GraphDefinition) UnmarshalJSON

func (r *GraphDefinition) UnmarshalJSON(b []byte) error

func (*GraphDefinition) UnmarshalXML

func (r *GraphDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
type GraphDefinitionLink struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A FHIR expression that identifies one of FHIR References to other resources.
	Path *String
	// Which slice (if profiled).
	SliceName *String
	// Minimum occurrences for this link.
	Min *Integer
	// Maximum occurrences for this link.
	Max *String
	// Information about why this link is of interest in this graph definition.
	Description *String
	// Potential target for the link.
	Target []GraphDefinitionLinkTarget
}

Links this graph makes rules about.

func (GraphDefinitionLink) MarshalJSON

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

func (GraphDefinitionLink) MarshalXML

func (r GraphDefinitionLink) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (GraphDefinitionLink) MemSize

func (r GraphDefinitionLink) MemSize() int

func (*GraphDefinitionLink) UnmarshalXML

func (r *GraphDefinitionLink) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type GraphDefinitionLinkTarget

type GraphDefinitionLinkTarget struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type of resource this link refers to.
	Type Code
	// A set of parameters to look up.
	Params *String
	// Profile for the target resource.
	Profile *Canonical
	// Compartment Consistency Rules.
	Compartment []GraphDefinitionLinkTargetCompartment
	// Additional links from target resource.
	Link []GraphDefinitionLink
}

Potential target for the link.

func (GraphDefinitionLinkTarget) MarshalJSON

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

func (GraphDefinitionLinkTarget) MarshalXML

func (r GraphDefinitionLinkTarget) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (GraphDefinitionLinkTarget) MemSize

func (r GraphDefinitionLinkTarget) MemSize() int

func (*GraphDefinitionLinkTarget) UnmarshalXML

func (r *GraphDefinitionLinkTarget) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type GraphDefinitionLinkTargetCompartment

type GraphDefinitionLinkTargetCompartment struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Defines how the compartment rule is used - whether it it is used to test whether resources are subject to the rule, or whether it is a rule that must be followed.
	Use Code
	// Identifies the compartment.
	Code Code
	// identical | matching | different | no-rule | custom.
	Rule Code
	// Custom rule, as a FHIRPath expression.
	Expression *String
	// Documentation for FHIRPath expression.
	Description *String
}

Compartment Consistency Rules.

func (GraphDefinitionLinkTargetCompartment) MarshalJSON

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

func (GraphDefinitionLinkTargetCompartment) MarshalXML

func (GraphDefinitionLinkTargetCompartment) MemSize

func (*GraphDefinitionLinkTargetCompartment) UnmarshalXML

type Group

type Group struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique business identifier for this group.
	Identifier []Identifier
	// Indicates whether the record for the group is available for use or is merely being retained for historical purposes.
	Active *Boolean
	// Identifies the broad classification of the kind of resources the group includes.
	Type Code
	// If true, indicates that the resource refers to a specific group of real individuals.  If false, the group defines a set of intended individuals.
	Actual Boolean
	// Provides a specific type of resource the group includes; e.g. "cow", "syringe", etc.
	Code *CodeableConcept
	// A label assigned to the group for human identification and communication.
	Name *String
	// A count of the number of resource instances that are part of the group.
	Quantity *UnsignedInt
	// Entity responsible for defining and maintaining Group characteristics and/or registered members.
	ManagingEntity *Reference
	// Identifies traits whose presence r absence is shared by members of the group.
	Characteristic []GroupCharacteristic
	// Identifies the resource instances that are members of the group.
	Member []GroupMember
}

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 (Group) MarshalJSON

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

func (Group) MarshalXML

func (r Group) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Group) MemSize

func (r Group) MemSize() int

func (Group) ResourceId

func (r Group) ResourceId() (string, bool)

func (Group) ResourceType

func (r Group) ResourceType() string

func (Group) String

func (r Group) String() string

func (*Group) UnmarshalJSON

func (r *Group) UnmarshalJSON(b []byte) error

func (*Group) UnmarshalXML

func (r *Group) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type GroupCharacteristic

type GroupCharacteristic struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code that identifies the kind of trait being asserted.
	Code CodeableConcept
	// The value of the trait that holds (or does not hold - see 'exclude') for members of the group.
	Value isGroupCharacteristicValue
	// If true, indicates the characteristic is one that is NOT held by members of the group.
	Exclude Boolean
	// The period over which the characteristic is tested; e.g. the patient had an operation during the month of June.
	Period *Period
}

Identifies traits whose presence r absence is shared by members of the group.

func (GroupCharacteristic) MarshalJSON

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

func (GroupCharacteristic) MarshalXML

func (r GroupCharacteristic) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (GroupCharacteristic) MemSize

func (r GroupCharacteristic) MemSize() int

func (*GroupCharacteristic) UnmarshalXML

func (r *GroupCharacteristic) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type GroupMember

type GroupMember struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A reference to the entity that is a member of the group. Must be consistent with Group.type. If the entity is another group, then the type must be the same.
	Entity Reference
	// The period that the member was in the group, if known.
	Period *Period
	// A flag to indicate that the member is no longer in the group, but previously may have been a member.
	Inactive *Boolean
}

Identifies the resource instances that are members of the group.

func (GroupMember) MarshalJSON

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

func (GroupMember) MarshalXML

func (r GroupMember) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (GroupMember) MemSize

func (r GroupMember) MemSize() int

func (*GroupMember) UnmarshalXML

func (r *GroupMember) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type GuidanceResponse

type GuidanceResponse struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The identifier of the request associated with this response. If an identifier was given as part of the request, it will be reproduced here to enable the requester to more easily identify the response in a multi-request scenario.
	RequestIdentifier *Identifier
	// Allows a service to provide  unique, business identifiers for the response.
	Identifier []Identifier
	// An identifier, CodeableConcept or canonical reference to the guidance that was requested.
	Module isGuidanceResponseModule
	// The status of the response. If the evaluation is completed successfully, the status will indicate success. However, in order to complete the evaluation, the engine may require more information. In this case, the status will be data-required, and the response will contain a description of the additional required information. If the evaluation completed successfully, but the engine determines that a potentially more accurate response could be provided if more data was available, the status will be data-requested, and the response will contain a description of the additional requested information.
	Status Code
	// The patient for which the request was processed.
	Subject *Reference
	// The encounter during which this response was created or to which the creation of this record is tightly associated.
	Encounter *Reference
	// Indicates when the guidance response was processed.
	OccurrenceDateTime *DateTime
	// Provides a reference to the device that performed the guidance.
	Performer *Reference
	// Describes the reason for the guidance response in coded or textual form.
	ReasonCode []CodeableConcept
	// Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response.
	ReasonReference []Reference
	// Provides a mechanism to communicate additional information about the response.
	Note []Annotation
	// Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element.
	EvaluationMessage []Reference
	// The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element.
	OutputParameters *Reference
	// The actions, if any, produced by the evaluation of the artifact.
	Result *Reference
	// If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data.
	DataRequirement []DataRequirement
}

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.

The GuidanceResponse resource supports recording the results of decision support interactions, reportability determination for public health, as well as the communication of additional data requirements for subsequent interactions.

func (GuidanceResponse) MarshalJSON

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

func (GuidanceResponse) MarshalXML

func (r GuidanceResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (GuidanceResponse) MemSize

func (r GuidanceResponse) MemSize() int

func (GuidanceResponse) ResourceId

func (r GuidanceResponse) ResourceId() (string, bool)

func (GuidanceResponse) ResourceType

func (r GuidanceResponse) ResourceType() string

func (GuidanceResponse) String

func (r GuidanceResponse) String() string

func (*GuidanceResponse) UnmarshalJSON

func (r *GuidanceResponse) UnmarshalJSON(b []byte) error

func (*GuidanceResponse) UnmarshalXML

func (r *GuidanceResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type HealthcareService

type HealthcareService struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// External identifiers for this item.
	Identifier []Identifier
	// This flag is used to mark the record to not be used. This is not used when a center is closed for maintenance, or for holidays, the notAvailable period is to be used for this.
	Active *Boolean
	// The organization that provides this healthcare service.
	ProvidedBy *Reference
	// Identifies the broad category of service being performed or delivered.
	Category []CodeableConcept
	// The specific type of service that may be delivered or performed.
	Type []CodeableConcept
	// Collection of specialties handled by the service site. This is more of a medical term.
	Specialty []CodeableConcept
	// The location(s) where this healthcare service may be provided.
	Location []Reference
	// Further description of the service as it would be presented to a consumer while searching.
	Name *String
	// Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName.
	Comment *String
	// Extra details about the service that can't be placed in the other fields.
	ExtraDetails *Markdown
	// If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list.
	Photo *Attachment
	// List of contacts related to this specific healthcare service.
	Telecom []ContactPoint
	// The location(s) that this service is available to (not where the service is provided).
	CoverageArea []Reference
	// The code(s) that detail the conditions under which the healthcare service is available/offered.
	ServiceProvisionCode []CodeableConcept
	// Does this service have specific eligibility requirements that need to be met in order to use the service?
	Eligibility []HealthcareServiceEligibility
	// Programs that this service is applicable to.
	Program []CodeableConcept
	// Collection of characteristics (attributes).
	Characteristic []CodeableConcept
	// Some services are specifically made available in multiple languages, this property permits a directory to declare the languages this is offered in. Typically this is only provided where a service operates in communities with mixed languages used.
	Communication []CodeableConcept
	// Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required.
	ReferralMethod []CodeableConcept
	// Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service.
	AppointmentRequired *Boolean
	// A collection of times that the Service Site is available.
	AvailableTime []HealthcareServiceAvailableTime
	// The HealthcareService is not available during this period of time due to the provided reason.
	NotAvailable []HealthcareServiceNotAvailable
	// A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.
	AvailabilityExceptions *String
	// Technical endpoints providing access to services operated for the specific healthcare services defined at this resource.
	Endpoint []Reference
}

The details of a healthcare service available at a location.

func (HealthcareService) MarshalJSON

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

func (HealthcareService) MarshalXML

func (r HealthcareService) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (HealthcareService) MemSize

func (r HealthcareService) MemSize() int

func (HealthcareService) ResourceId

func (r HealthcareService) ResourceId() (string, bool)

func (HealthcareService) ResourceType

func (r HealthcareService) ResourceType() string

func (HealthcareService) String

func (r HealthcareService) String() string

func (*HealthcareService) UnmarshalJSON

func (r *HealthcareService) UnmarshalJSON(b []byte) error

func (*HealthcareService) UnmarshalXML

func (r *HealthcareService) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type HealthcareServiceAvailableTime

type HealthcareServiceAvailableTime struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates which days of the week are available between the start and end Times.
	DaysOfWeek []Code
	// Is this always available? (hence times are irrelevant) e.g. 24 hour service.
	AllDay *Boolean
	// The opening time of day. Note: If the AllDay flag is set, then this time is ignored.
	AvailableStartTime *Time
	// The closing time of day. Note: If the AllDay flag is set, then this time is ignored.
	AvailableEndTime *Time
}

A collection of times that the Service Site is available.

func (HealthcareServiceAvailableTime) MarshalJSON

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

func (HealthcareServiceAvailableTime) MarshalXML

func (HealthcareServiceAvailableTime) MemSize

func (r HealthcareServiceAvailableTime) MemSize() int

func (*HealthcareServiceAvailableTime) UnmarshalXML

func (r *HealthcareServiceAvailableTime) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type HealthcareServiceEligibility

type HealthcareServiceEligibility struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Coded value for the eligibility.
	Code *CodeableConcept
	// Describes the eligibility conditions for the service.
	Comment *Markdown
}

Does this service have specific eligibility requirements that need to be met in order to use the service?

func (HealthcareServiceEligibility) MarshalJSON

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

func (HealthcareServiceEligibility) MarshalXML

func (HealthcareServiceEligibility) MemSize

func (r HealthcareServiceEligibility) MemSize() int

func (*HealthcareServiceEligibility) UnmarshalXML

func (r *HealthcareServiceEligibility) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type HealthcareServiceNotAvailable

type HealthcareServiceNotAvailable struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The reason that can be presented to the user as to why this time is not available.
	Description String
	// Service is not available (seasonally or for a public holiday) from this date.
	During *Period
}

The HealthcareService is not available during this period of time due to the provided reason.

func (HealthcareServiceNotAvailable) MarshalJSON

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

func (HealthcareServiceNotAvailable) MarshalXML

func (HealthcareServiceNotAvailable) MemSize

func (r HealthcareServiceNotAvailable) MemSize() int

func (*HealthcareServiceNotAvailable) UnmarshalXML

func (r *HealthcareServiceNotAvailable) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type HumanName

type HumanName struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Identifies the purpose for this name.
	Use *Code
	// Specifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts.
	Text *String
	// The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.
	Family *String
	// Given name.
	Given []String
	// Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.
	Prefix []String
	// Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.
	Suffix []String
	// Indicates the period of time when this name was valid for the named person.
	Period *Period
}

Base StructureDefinition for HumanName Type: A human's name with the ability to identify parts and usage.

Need to be able to record names, along with notes about their use.

func (HumanName) MarshalJSON

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

func (HumanName) MarshalXML

func (r HumanName) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (HumanName) MemSize

func (r HumanName) MemSize() int

func (HumanName) String

func (r HumanName) String() string

func (*HumanName) UnmarshalXML

func (r *HumanName) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Id

type Id struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Primitive value for id
	Value *string
}

Base StructureDefinition for id type: Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

func (Id) MarshalJSON

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

func (Id) MarshalXML

func (r Id) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Id) MemSize

func (r Id) MemSize() int

func (*Id) UnmarshalJSON

func (r *Id) UnmarshalJSON(b []byte) error

func (*Id) UnmarshalXML

func (r *Id) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Identifier

type Identifier struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The purpose of this identifier.
	Use *Code
	// A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
	Type *CodeableConcept
	// Establishes the namespace for the value - that is, a URL that describes a set values that are unique.
	System *Uri
	// The portion of the identifier typically relevant to the user and which is unique within the context of the system.
	Value *String
	// Time period during which identifier is/was valid for use.
	Period *Period
	// Organization that issued/manages the identifier.
	Assigner *Reference
}

Base StructureDefinition for Identifier Type: An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

Need to be able to identify things with confidence and be sure that the identification is not subject to misinterpretation.

func (Identifier) MarshalJSON

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

func (Identifier) MarshalXML

func (r Identifier) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Identifier) MemSize

func (r Identifier) MemSize() int

func (Identifier) String

func (r Identifier) String() string

func (*Identifier) UnmarshalXML

func (r *Identifier) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImagingStudy

type ImagingStudy struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers for the ImagingStudy such as DICOM Study Instance UID, and Accession Number.
	Identifier []Identifier
	// The current state of the ImagingStudy.
	Status Code
	// A list of all the series.modality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19).
	Modality []Coding
	// The subject, typically a patient, of the imaging study.
	Subject Reference
	// The healthcare event (e.g. a patient and healthcare provider interaction) during which this ImagingStudy is made.
	Encounter *Reference
	// Date and time the study started.
	Started *DateTime
	// A list of the diagnostic requests that resulted in this imaging study being performed.
	BasedOn []Reference
	// The requesting/referring physician.
	Referrer *Reference
	// Who read the study and interpreted the images or other content.
	Interpreter []Reference
	// The network service providing access (e.g., query, view, or retrieval) for the study. See implementation notes for information about using DICOM endpoints. A study-level endpoint applies to each series in the study, unless overridden by a series-level endpoint with the same Endpoint.connectionType.
	Endpoint []Reference
	// Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present.
	NumberOfSeries *UnsignedInt
	// Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.
	NumberOfInstances *UnsignedInt
	// The procedure which this ImagingStudy was part of.
	ProcedureReference *Reference
	// The code for the performed procedure type.
	ProcedureCode []CodeableConcept
	// The principal physical location where the ImagingStudy was performed.
	Location *Reference
	// Description of clinical condition indicating why the ImagingStudy was requested.
	ReasonCode []CodeableConcept
	// Indicates another resource whose existence justifies this Study.
	ReasonReference []Reference
	// Per the recommended DICOM mapping, this element is derived from the Study Description attribute (0008,1030). Observations or findings about the imaging study should be recorded in another resource, e.g. Observation, and not in this element.
	Note []Annotation
	// The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed.
	Description *String
	// Each study has one or more series of images or other content.
	Series []ImagingStudySeries
}

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 (ImagingStudy) MarshalJSON

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

func (ImagingStudy) MarshalXML

func (r ImagingStudy) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImagingStudy) MemSize

func (r ImagingStudy) MemSize() int

func (ImagingStudy) ResourceId

func (r ImagingStudy) ResourceId() (string, bool)

func (ImagingStudy) ResourceType

func (r ImagingStudy) ResourceType() string

func (ImagingStudy) String

func (r ImagingStudy) String() string

func (*ImagingStudy) UnmarshalJSON

func (r *ImagingStudy) UnmarshalJSON(b []byte) error

func (*ImagingStudy) UnmarshalXML

func (r *ImagingStudy) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImagingStudySeries

type ImagingStudySeries struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The DICOM Series Instance UID for the series.
	Uid Id
	// The numeric identifier of this series in the study.
	Number *UnsignedInt
	// The modality of this series sequence.
	Modality Coding
	// A description of the series.
	Description *String
	// Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.
	NumberOfInstances *UnsignedInt
	// The network service providing access (e.g., query, view, or retrieval) for this series. See implementation notes for information about using DICOM endpoints. A series-level endpoint, if present, has precedence over a study-level endpoint with the same Endpoint.connectionType.
	Endpoint []Reference
	// The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality.
	BodySite *Coding
	// The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite.
	Laterality *Coding
	// The specimen imaged, e.g., for whole slide imaging of a biopsy.
	Specimen []Reference
	// The date and time the series was started.
	Started *DateTime
	// Indicates who or what performed the series and how they were involved.
	Performer []ImagingStudySeriesPerformer
	// A single SOP instance within the series, e.g. an image, or presentation state.
	Instance []ImagingStudySeriesInstance
}

Each study has one or more series of images or other content.

func (ImagingStudySeries) MarshalJSON

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

func (ImagingStudySeries) MarshalXML

func (r ImagingStudySeries) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImagingStudySeries) MemSize

func (r ImagingStudySeries) MemSize() int

func (*ImagingStudySeries) UnmarshalXML

func (r *ImagingStudySeries) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImagingStudySeriesInstance

type ImagingStudySeriesInstance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The DICOM SOP Instance UID for this image or other DICOM content.
	Uid Id
	// DICOM instance  type.
	SopClass Coding
	// The number of instance in the series.
	Number *UnsignedInt
	// The description of the instance.
	Title *String
}

A single SOP instance within the series, e.g. an image, or presentation state.

func (ImagingStudySeriesInstance) MarshalJSON

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

func (ImagingStudySeriesInstance) MarshalXML

func (r ImagingStudySeriesInstance) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImagingStudySeriesInstance) MemSize

func (r ImagingStudySeriesInstance) MemSize() int

func (*ImagingStudySeriesInstance) UnmarshalXML

func (r *ImagingStudySeriesInstance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImagingStudySeriesPerformer

type ImagingStudySeriesPerformer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Distinguishes the type of involvement of the performer in the series.
	Function *CodeableConcept
	// Indicates who or what performed the series.
	Actor Reference
}

Indicates who or what performed the series and how they were involved.

func (ImagingStudySeriesPerformer) MarshalJSON

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

func (ImagingStudySeriesPerformer) MarshalXML

func (r ImagingStudySeriesPerformer) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImagingStudySeriesPerformer) MemSize

func (r ImagingStudySeriesPerformer) MemSize() int

func (*ImagingStudySeriesPerformer) UnmarshalXML

func (r *ImagingStudySeriesPerformer) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Immunization

type Immunization struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this immunization record.
	Identifier []Identifier
	// Indicates the current status of the immunization event.
	Status Code
	// Indicates the reason the immunization event was not performed.
	StatusReason *CodeableConcept
	// Vaccine that was administered or was to be administered.
	VaccineCode CodeableConcept
	// The patient who either received or did not receive the immunization.
	Patient Reference
	// The visit or admission or other contact between patient and health care provider the immunization was performed as part of.
	Encounter *Reference
	// Date vaccine administered or was to be administered.
	Occurrence isImmunizationOccurrence
	// The date the occurrence of the immunization was first captured in the record - potentially significantly after the occurrence of the event.
	Recorded *DateTime
	// An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recorded.
	PrimarySource *Boolean
	// The source of the data when the report of the immunization event is not based on information from the person who administered the vaccine.
	ReportOrigin *CodeableConcept
	// The service delivery location where the vaccine administration occurred.
	Location *Reference
	// Name of vaccine manufacturer.
	Manufacturer *Reference
	// Lot number of the  vaccine product.
	LotNumber *String
	// Date vaccine batch expires.
	ExpirationDate *Date
	// Body site where vaccine was administered.
	Site *CodeableConcept
	// The path by which the vaccine product is taken into the body.
	Route *CodeableConcept
	// The quantity of vaccine product that was administered.
	DoseQuantity *Quantity
	// Indicates who performed the immunization event.
	Performer []ImmunizationPerformer
	// Extra information about the immunization that is not conveyed by the other attributes.
	Note []Annotation
	// Reasons why the vaccine was administered.
	ReasonCode []CodeableConcept
	// Condition, Observation or DiagnosticReport that supports why the immunization was administered.
	ReasonReference []Reference
	// Indication if a dose is considered to be subpotent. By default, a dose should be considered to be potent.
	IsSubpotent *Boolean
	// Reason why a dose is considered to be subpotent.
	SubpotentReason []CodeableConcept
	// Educational material presented to the patient (or guardian) at the time of vaccine administration.
	Education []ImmunizationEducation
	// Indicates a patient's eligibility for a funding program.
	ProgramEligibility []CodeableConcept
	// Indicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered).
	FundingSource *CodeableConcept
	// Categorical data indicating that an adverse event is associated in time to an immunization.
	Reaction []ImmunizationReaction
	// The protocol (set of recommendations) being followed by the provider who administered the dose.
	ProtocolApplied []ImmunizationProtocolApplied
}

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 (Immunization) MarshalJSON

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

func (Immunization) MarshalXML

func (r Immunization) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Immunization) MemSize

func (r Immunization) MemSize() int

func (Immunization) ResourceId

func (r Immunization) ResourceId() (string, bool)

func (Immunization) ResourceType

func (r Immunization) ResourceType() string

func (Immunization) String

func (r Immunization) String() string

func (*Immunization) UnmarshalJSON

func (r *Immunization) UnmarshalJSON(b []byte) error

func (*Immunization) UnmarshalXML

func (r *Immunization) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImmunizationEducation

type ImmunizationEducation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier of the material presented to the patient.
	DocumentType *String
	// Reference pointer to the educational material given to the patient if the information was on line.
	Reference *Uri
	// Date the educational material was published.
	PublicationDate *DateTime
	// Date the educational material was given to the patient.
	PresentationDate *DateTime
}

Educational material presented to the patient (or guardian) at the time of vaccine administration.

func (ImmunizationEducation) MarshalJSON

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

func (ImmunizationEducation) MarshalXML

func (r ImmunizationEducation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImmunizationEducation) MemSize

func (r ImmunizationEducation) MemSize() int

func (*ImmunizationEducation) UnmarshalXML

func (r *ImmunizationEducation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImmunizationEvaluation

type ImmunizationEvaluation struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this immunization evaluation record.
	Identifier []Identifier
	// Indicates the current status of the evaluation of the vaccination administration event.
	Status Code
	// The individual for whom the evaluation is being done.
	Patient Reference
	// The date the evaluation of the vaccine administration event was performed.
	Date *DateTime
	// Indicates the authority who published the protocol (e.g. ACIP).
	Authority *Reference
	// The vaccine preventable disease the dose is being evaluated against.
	TargetDisease CodeableConcept
	// The vaccine administration event being evaluated.
	ImmunizationEvent Reference
	// Indicates if the dose is valid or not valid with respect to the published recommendations.
	DoseStatus CodeableConcept
	// Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations.
	DoseStatusReason []CodeableConcept
	// Additional information about the evaluation.
	Description *String
	// One possible path to achieve presumed immunity against a disease - within the context of an authority.
	Series *String
	// Nominal position in a series.
	DoseNumber isImmunizationEvaluationDoseNumber
	// The recommended number of doses to achieve immunity.
	SeriesDoses isImmunizationEvaluationSeriesDoses
}

Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those recommendations.

func (ImmunizationEvaluation) MarshalJSON

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

func (ImmunizationEvaluation) MarshalXML

func (r ImmunizationEvaluation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImmunizationEvaluation) MemSize

func (r ImmunizationEvaluation) MemSize() int

func (ImmunizationEvaluation) ResourceId

func (r ImmunizationEvaluation) ResourceId() (string, bool)

func (ImmunizationEvaluation) ResourceType

func (r ImmunizationEvaluation) ResourceType() string

func (ImmunizationEvaluation) String

func (r ImmunizationEvaluation) String() string

func (*ImmunizationEvaluation) UnmarshalJSON

func (r *ImmunizationEvaluation) UnmarshalJSON(b []byte) error

func (*ImmunizationEvaluation) UnmarshalXML

func (r *ImmunizationEvaluation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImmunizationPerformer

type ImmunizationPerformer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Describes the type of performance (e.g. ordering provider, administering provider, etc.).
	Function *CodeableConcept
	// The practitioner or organization who performed the action.
	Actor Reference
}

Indicates who performed the immunization event.

func (ImmunizationPerformer) MarshalJSON

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

func (ImmunizationPerformer) MarshalXML

func (r ImmunizationPerformer) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImmunizationPerformer) MemSize

func (r ImmunizationPerformer) MemSize() int

func (*ImmunizationPerformer) UnmarshalXML

func (r *ImmunizationPerformer) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImmunizationProtocolApplied

type ImmunizationProtocolApplied struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// One possible path to achieve presumed immunity against a disease - within the context of an authority.
	Series *String
	// Indicates the authority who published the protocol (e.g. ACIP) that is being followed.
	Authority *Reference
	// The vaccine preventable disease the dose is being administered against.
	TargetDisease []CodeableConcept
	// Nominal position in a series.
	DoseNumber isImmunizationProtocolAppliedDoseNumber
	// The recommended number of doses to achieve immunity.
	SeriesDoses isImmunizationProtocolAppliedSeriesDoses
}

The protocol (set of recommendations) being followed by the provider who administered the dose.

func (ImmunizationProtocolApplied) MarshalJSON

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

func (ImmunizationProtocolApplied) MarshalXML

func (r ImmunizationProtocolApplied) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImmunizationProtocolApplied) MemSize

func (r ImmunizationProtocolApplied) MemSize() int

func (*ImmunizationProtocolApplied) UnmarshalXML

func (r *ImmunizationProtocolApplied) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImmunizationReaction

type ImmunizationReaction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Date of reaction to the immunization.
	Date *DateTime
	// Details of the reaction.
	Detail *Reference
	// Self-reported indicator.
	Reported *Boolean
}

Categorical data indicating that an adverse event is associated in time to an immunization.

func (ImmunizationReaction) MarshalJSON

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

func (ImmunizationReaction) MarshalXML

func (r ImmunizationReaction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImmunizationReaction) MemSize

func (r ImmunizationReaction) MemSize() int

func (*ImmunizationReaction) UnmarshalXML

func (r *ImmunizationReaction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImmunizationRecommendation

type ImmunizationRecommendation struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this particular recommendation record.
	Identifier []Identifier
	// The patient the recommendation(s) are for.
	Patient Reference
	// The date the immunization recommendation(s) were created.
	Date DateTime
	// Indicates the authority who published the protocol (e.g. ACIP).
	Authority *Reference
	// Vaccine administration recommendations.
	Recommendation []ImmunizationRecommendationRecommendation
}

A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.

func (ImmunizationRecommendation) MarshalJSON

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

func (ImmunizationRecommendation) MarshalXML

func (r ImmunizationRecommendation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImmunizationRecommendation) MemSize

func (r ImmunizationRecommendation) MemSize() int

func (ImmunizationRecommendation) ResourceId

func (r ImmunizationRecommendation) ResourceId() (string, bool)

func (ImmunizationRecommendation) ResourceType

func (r ImmunizationRecommendation) ResourceType() string

func (ImmunizationRecommendation) String

func (*ImmunizationRecommendation) UnmarshalJSON

func (r *ImmunizationRecommendation) UnmarshalJSON(b []byte) error

func (*ImmunizationRecommendation) UnmarshalXML

func (r *ImmunizationRecommendation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImmunizationRecommendationRecommendation

type ImmunizationRecommendationRecommendation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Vaccine(s) or vaccine group that pertain to the recommendation.
	VaccineCode []CodeableConcept
	// The targeted disease for the recommendation.
	TargetDisease *CodeableConcept
	// Vaccine(s) which should not be used to fulfill the recommendation.
	ContraindicatedVaccineCode []CodeableConcept
	// Indicates the patient status with respect to the path to immunity for the target disease.
	ForecastStatus CodeableConcept
	// The reason for the assigned forecast status.
	ForecastReason []CodeableConcept
	// Vaccine date recommendations.  For example, earliest date to administer, latest date to administer, etc.
	DateCriterion []ImmunizationRecommendationRecommendationDateCriterion
	// Contains the description about the protocol under which the vaccine was administered.
	Description *String
	// One possible path to achieve presumed immunity against a disease - within the context of an authority.
	Series *String
	// Nominal position of the recommended dose in a series (e.g. dose 2 is the next recommended dose).
	DoseNumber isImmunizationRecommendationRecommendationDoseNumber
	// The recommended number of doses to achieve immunity.
	SeriesDoses isImmunizationRecommendationRecommendationSeriesDoses
	// Immunization event history and/or evaluation that supports the status and recommendation.
	SupportingImmunization []Reference
	// Patient Information that supports the status and recommendation.  This includes patient observations, adverse reactions and allergy/intolerance information.
	SupportingPatientInformation []Reference
}

Vaccine administration recommendations.

func (ImmunizationRecommendationRecommendation) MarshalJSON

func (ImmunizationRecommendationRecommendation) MarshalXML

func (ImmunizationRecommendationRecommendation) MemSize

func (*ImmunizationRecommendationRecommendation) UnmarshalXML

type ImmunizationRecommendationRecommendationDateCriterion

type ImmunizationRecommendationRecommendationDateCriterion struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Date classification of recommendation.  For example, earliest date to give, latest date to give, etc.
	Code CodeableConcept
	// The date whose meaning is specified by dateCriterion.code.
	Value DateTime
}

Vaccine date recommendations. For example, earliest date to administer, latest date to administer, etc.

func (ImmunizationRecommendationRecommendationDateCriterion) MarshalJSON

func (ImmunizationRecommendationRecommendationDateCriterion) MarshalXML

func (ImmunizationRecommendationRecommendationDateCriterion) MemSize

func (*ImmunizationRecommendationRecommendationDateCriterion) UnmarshalXML

type ImplementationGuide

type ImplementationGuide struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.
	Url Uri
	// The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name String
	// A short, descriptive, user-friendly title for the implementation guide.
	Title *String
	// The status of this implementation guide. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the implementation guide was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.
	Date *DateTime
	// The name of the organization or individual that published the implementation guide.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the implementation guide from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances.
	UseContext []UsageContext
	// A legal or geographic region in which the implementation guide is intended to be used.
	Jurisdiction []CodeableConcept
	// A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.
	Copyright *Markdown
	// The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care.
	PackageId Id
	// The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.
	License *Code
	// The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.3.0 for this version.
	FhirVersion []Code
	// Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.
	DependsOn []ImplementationGuideDependsOn
	// A set of profiles that all resources covered by this implementation guide must conform to.
	Global []ImplementationGuideGlobal
	// The information needed by an IG publisher tool to publish the whole implementation guide.
	Definition *ImplementationGuideDefinition
	// Information about an assembled implementation guide, created by the publication tooling.
	Manifest *ImplementationGuideManifest
}

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.

An implementation guide is able to define default profiles that must apply to any use of a resource, so validation services may need to take one or more implementation guide resources when validating.

func (ImplementationGuide) MarshalJSON

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

func (ImplementationGuide) MarshalXML

func (r ImplementationGuide) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImplementationGuide) MemSize

func (r ImplementationGuide) MemSize() int

func (ImplementationGuide) ResourceId

func (r ImplementationGuide) ResourceId() (string, bool)

func (ImplementationGuide) ResourceType

func (r ImplementationGuide) ResourceType() string

func (ImplementationGuide) String

func (r ImplementationGuide) String() string

func (*ImplementationGuide) UnmarshalJSON

func (r *ImplementationGuide) UnmarshalJSON(b []byte) error

func (*ImplementationGuide) UnmarshalXML

func (r *ImplementationGuide) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImplementationGuideDefinition

type ImplementationGuideDefinition struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A logical group of resources. Logical groups can be used when building pages.
	Grouping []ImplementationGuideDefinitionGrouping
	// 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.
	Resource []ImplementationGuideDefinitionResource
	// A page / section in the implementation guide. The root page is the implementation guide home page.
	Page *ImplementationGuideDefinitionPage
	// Defines how IG is built by tools.
	Parameter []ImplementationGuideDefinitionParameter
	// A template for building resources.
	Template []ImplementationGuideDefinitionTemplate
}

The information needed by an IG publisher tool to publish the whole implementation guide.

func (ImplementationGuideDefinition) MarshalJSON

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

func (ImplementationGuideDefinition) MarshalXML

func (ImplementationGuideDefinition) MemSize

func (r ImplementationGuideDefinition) MemSize() int

func (*ImplementationGuideDefinition) UnmarshalXML

func (r *ImplementationGuideDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImplementationGuideDefinitionGrouping

type ImplementationGuideDefinitionGrouping struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The human-readable title to display for the package of resources when rendering the implementation guide.
	Name String
	// Human readable text describing the package.
	Description *String
}

A logical group of resources. Logical groups can be used when building pages.

func (ImplementationGuideDefinitionGrouping) MarshalJSON

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

func (ImplementationGuideDefinitionGrouping) MarshalXML

func (ImplementationGuideDefinitionGrouping) MemSize

func (*ImplementationGuideDefinitionGrouping) UnmarshalXML

type ImplementationGuideDefinitionPage

type ImplementationGuideDefinitionPage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The source address for the page.
	Name isImplementationGuideDefinitionPageName
	// A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.
	Title String
	// A code that indicates how the page is generated.
	Generation Code
	// Nested Pages/Sections under this page.
	Page []ImplementationGuideDefinitionPage
}

A page / section in the implementation guide. The root page is the implementation guide home page.

func (ImplementationGuideDefinitionPage) MarshalJSON

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

func (ImplementationGuideDefinitionPage) MarshalXML

func (ImplementationGuideDefinitionPage) MemSize

func (*ImplementationGuideDefinitionPage) UnmarshalXML

type ImplementationGuideDefinitionParameter

type ImplementationGuideDefinitionParameter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// apply | path-resource | path-pages | path-tx-cache | expansion-parameter | rule-broken-links | generate-xml | generate-json | generate-turtle | html-template.
	Code Code
	// Value for named type.
	Value String
}

Defines how IG is built by tools.

func (ImplementationGuideDefinitionParameter) MarshalJSON

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

func (ImplementationGuideDefinitionParameter) MarshalXML

func (ImplementationGuideDefinitionParameter) MemSize

func (*ImplementationGuideDefinitionParameter) UnmarshalXML

type ImplementationGuideDefinitionResource

type ImplementationGuideDefinitionResource struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Where this resource is found.
	Reference Reference
	// Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion.
	FhirVersion []Code
	// A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).
	Name *String
	// A description of the reason that a resource has been included in the implementation guide.
	Description *String
	// If true or a reference, indicates the resource is an example instance.  If a reference is present, indicates that the example is an example of the specified profile.
	Example isImplementationGuideDefinitionResourceExample
	// Reference to the id of the grouping this resource appears in.
	GroupingId *Id
}

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.

func (ImplementationGuideDefinitionResource) MarshalJSON

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

func (ImplementationGuideDefinitionResource) MarshalXML

func (ImplementationGuideDefinitionResource) MemSize

func (*ImplementationGuideDefinitionResource) UnmarshalXML

type ImplementationGuideDefinitionTemplate

type ImplementationGuideDefinitionTemplate struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type of template specified.
	Code Code
	// The source location for the template.
	Source String
	// The scope in which the template applies.
	Scope *String
}

A template for building resources.

func (ImplementationGuideDefinitionTemplate) MarshalJSON

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

func (ImplementationGuideDefinitionTemplate) MarshalXML

func (ImplementationGuideDefinitionTemplate) MemSize

func (*ImplementationGuideDefinitionTemplate) UnmarshalXML

type ImplementationGuideDependsOn

type ImplementationGuideDependsOn struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A canonical reference to the Implementation guide for the dependency.
	Uri Canonical
	// The NPM package name for the Implementation Guide that this IG depends on.
	PackageId *Id
	// The version of the IG that is depended on, when the correct version is required to understand the IG correctly.
	Version *String
}

Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.

func (ImplementationGuideDependsOn) MarshalJSON

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

func (ImplementationGuideDependsOn) MarshalXML

func (ImplementationGuideDependsOn) MemSize

func (r ImplementationGuideDependsOn) MemSize() int

func (*ImplementationGuideDependsOn) UnmarshalXML

func (r *ImplementationGuideDependsOn) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImplementationGuideGlobal

type ImplementationGuideGlobal struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of resource that all instances must conform to.
	Type Code
	// A reference to the profile that all instances must conform to.
	Profile Canonical
}

A set of profiles that all resources covered by this implementation guide must conform to.

func (ImplementationGuideGlobal) MarshalJSON

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

func (ImplementationGuideGlobal) MarshalXML

func (r ImplementationGuideGlobal) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImplementationGuideGlobal) MemSize

func (r ImplementationGuideGlobal) MemSize() int

func (*ImplementationGuideGlobal) UnmarshalXML

func (r *ImplementationGuideGlobal) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImplementationGuideManifest

type ImplementationGuideManifest struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A pointer to official web page, PDF or other rendering of the implementation guide.
	Rendering *Url
	// 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.
	Resource []ImplementationGuideManifestResource
	// Information about a page within the IG.
	Page []ImplementationGuideManifestPage
	// Indicates a relative path to an image that exists within the IG.
	Image []String
	// Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG.
	Other []String
}

Information about an assembled implementation guide, created by the publication tooling.

func (ImplementationGuideManifest) MarshalJSON

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

func (ImplementationGuideManifest) MarshalXML

func (r ImplementationGuideManifest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ImplementationGuideManifest) MemSize

func (r ImplementationGuideManifest) MemSize() int

func (*ImplementationGuideManifest) UnmarshalXML

func (r *ImplementationGuideManifest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImplementationGuideManifestPage

type ImplementationGuideManifestPage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Relative path to the page.
	Name String
	// Label for the page intended for human display.
	Title *String
	// The name of an anchor available on the page.
	Anchor []String
}

Information about a page within the IG.

func (ImplementationGuideManifestPage) MarshalJSON

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

func (ImplementationGuideManifestPage) MarshalXML

func (ImplementationGuideManifestPage) MemSize

func (*ImplementationGuideManifestPage) UnmarshalXML

func (r *ImplementationGuideManifestPage) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ImplementationGuideManifestResource

type ImplementationGuideManifestResource struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Where this resource is found.
	Reference Reference
	// If true or a reference, indicates the resource is an example instance.  If a reference is present, indicates that the example is an example of the specified profile.
	Example isImplementationGuideManifestResourceExample
	// The relative path for primary page for this resource within the IG.
	RelativePath *Url
}

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.

func (ImplementationGuideManifestResource) MarshalJSON

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

func (ImplementationGuideManifestResource) MarshalXML

func (ImplementationGuideManifestResource) MemSize

func (*ImplementationGuideManifestResource) UnmarshalXML

type Ingredient

type Ingredient struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The identifier(s) of this Ingredient that are assigned by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate.
	Identifier *Identifier
	// The status of this ingredient. Enables tracking the life-cycle of the content.
	Status Code
	// The product which this ingredient is a constituent part of.
	For []Reference
	// A classification of the ingredient identifying its purpose within the product, e.g. active, inactive.
	Role CodeableConcept
	// A classification of the ingredient identifying its precise purpose(s) in the drug product. This extends the Ingredient.role to add more detail. Example: antioxidant, alkalizing agent.
	Function []CodeableConcept
	// If the ingredient is a known or suspected allergen. Note that this is a property of the substance, so if a reference to a SubstanceDefinition is used to decribe that (rather than just a code), the allergen information should go there, not here.
	AllergenicIndicator *Boolean
	// The organization(s) that manufacture this ingredient. Can be used to indicate:         1) Organizations we are aware of that manufacture this ingredient         2) Specific Manufacturer(s) currently being used         3) Set of organisations allowed to manufacture this ingredient for this product         Users must be clear on the application of context relevant to their use case.
	Manufacturer []IngredientManufacturer
	// The substance that comprises this ingredient.
	Substance IngredientSubstance
}

An ingredient of a manufactured item or pharmaceutical product.

func (Ingredient) MarshalJSON

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

func (Ingredient) MarshalXML

func (r Ingredient) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Ingredient) MemSize

func (r Ingredient) MemSize() int

func (Ingredient) ResourceId

func (r Ingredient) ResourceId() (string, bool)

func (Ingredient) ResourceType

func (r Ingredient) ResourceType() string

func (Ingredient) String

func (r Ingredient) String() string

func (*Ingredient) UnmarshalJSON

func (r *Ingredient) UnmarshalJSON(b []byte) error

func (*Ingredient) UnmarshalXML

func (r *Ingredient) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type IngredientManufacturer

type IngredientManufacturer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The way in which this manufacturer is associated with the ingredient. For example whether it is a possible one (others allowed), or an exclusive authorized one for this ingredient. Note that this is not the manufacturing process role.
	Role *Code
	// An organization that manufactures this ingredient.
	Manufacturer Reference
}

The organization(s) that manufacture this ingredient. Can be used to indicate: 1) Organizations we are aware of that manufacture this ingredient 2) Specific Manufacturer(s) currently being used 3) Set of organisations allowed to manufacture this ingredient for this product Users must be clear on the application of context relevant to their use case.

func (IngredientManufacturer) MarshalJSON

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

func (IngredientManufacturer) MarshalXML

func (r IngredientManufacturer) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (IngredientManufacturer) MemSize

func (r IngredientManufacturer) MemSize() int

func (*IngredientManufacturer) UnmarshalXML

func (r *IngredientManufacturer) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type IngredientSubstance

type IngredientSubstance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code or full resource that represents the ingredient's substance.
	Code CodeableReference
	// The quantity of substance in the unit of presentation, or in the volume (or mass) of the single pharmaceutical product or manufactured item. The allowed repetitions do not represent different strengths, but are different representations - mathematically equivalent - of a single strength.
	Strength []IngredientSubstanceStrength
}

The substance that comprises this ingredient.

func (IngredientSubstance) MarshalJSON

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

func (IngredientSubstance) MarshalXML

func (r IngredientSubstance) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (IngredientSubstance) MemSize

func (r IngredientSubstance) MemSize() int

func (*IngredientSubstance) UnmarshalXML

func (r *IngredientSubstance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type IngredientSubstanceStrength

type IngredientSubstanceStrength struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The quantity of substance in the unit of presentation, or in the volume (or mass) of the single pharmaceutical product or manufactured item. Unit of presentation refers to the quantity that the item occurs in e.g. a strength per tablet size, perhaps 'per 20mg' (the size of the tablet). It is not generally normalized as a unitary unit, which would be 'per mg').
	Presentation isIngredientSubstanceStrengthPresentation
	// A textual represention of either the whole of the presentation strength or a part of it - with the rest being in Strength.presentation as a ratio.
	TextPresentation *String
	// The strength per unitary volume (or mass).
	Concentration isIngredientSubstanceStrengthConcentration
	// A textual represention of either the whole of the concentration strength or a part of it - with the rest being in Strength.concentration as a ratio.
	TextConcentration *String
	// For when strength is measured at a particular point or distance. There are products where strength is measured at a particular point. For example, the strength of the ingredient in some inhalers is measured at a particular position relative to the point of aerosolization.
	MeasurementPoint *String
	// The country or countries for which the strength range applies.
	Country []CodeableConcept
	// Strength expressed in terms of a reference substance. For when the ingredient strength is additionally expressed as equivalent to the strength of some other closely related substance (e.g. salt vs. base). Reference strength represents the strength (quantitative composition) of the active moiety of the active substance. There are situations when the active substance and active moiety are different, therefore both a strength and a reference strength are needed.
	ReferenceStrength []IngredientSubstanceStrengthReferenceStrength
}

The quantity of substance in the unit of presentation, or in the volume (or mass) of the single pharmaceutical product or manufactured item. The allowed repetitions do not represent different strengths, but are different representations - mathematically equivalent - of a single strength.

func (IngredientSubstanceStrength) MarshalJSON

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

func (IngredientSubstanceStrength) MarshalXML

func (r IngredientSubstanceStrength) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (IngredientSubstanceStrength) MemSize

func (r IngredientSubstanceStrength) MemSize() int

func (*IngredientSubstanceStrength) UnmarshalXML

func (r *IngredientSubstanceStrength) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type IngredientSubstanceStrengthReferenceStrength

type IngredientSubstanceStrengthReferenceStrength struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Relevant reference substance.
	Substance *CodeableReference
	// Strength expressed in terms of a reference substance.
	Strength isIngredientSubstanceStrengthReferenceStrengthStrength
	// For when strength is measured at a particular point or distance.
	MeasurementPoint *String
	// The country or countries for which the strength range applies.
	Country []CodeableConcept
}

Strength expressed in terms of a reference substance. For when the ingredient strength is additionally expressed as equivalent to the strength of some other closely related substance (e.g. salt vs. base). Reference strength represents the strength (quantitative composition) of the active moiety of the active substance. There are situations when the active substance and active moiety are different, therefore both a strength and a reference strength are needed.

func (IngredientSubstanceStrengthReferenceStrength) MarshalJSON

func (IngredientSubstanceStrengthReferenceStrength) MarshalXML

func (IngredientSubstanceStrengthReferenceStrength) MemSize

func (*IngredientSubstanceStrengthReferenceStrength) UnmarshalXML

type Instant

type Instant struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The actual value
	Value *string
}

Base StructureDefinition for instant Type: An instant in time - known at least to the second

func (Instant) MarshalJSON

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

func (Instant) MarshalXML

func (r Instant) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Instant) MemSize

func (r Instant) MemSize() int

func (*Instant) UnmarshalJSON

func (r *Instant) UnmarshalJSON(b []byte) error

func (*Instant) UnmarshalXML

func (r *Instant) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type InsurancePlan

type InsurancePlan struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this health insurance product which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// The current state of the health insurance product.
	Status *Code
	// The kind of health insurance product.
	Type []CodeableConcept
	// Official name of the health insurance product as designated by the owner.
	Name *String
	// A list of alternate names that the product is known as, or was known as in the past.
	Alias []String
	// The period of time that the health insurance product is available.
	Period *Period
	// The entity that is providing  the health insurance product and underwriting the risk.  This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'.
	OwnedBy *Reference
	// An organization which administer other services such as underwriting, customer service and/or claims processing on behalf of the health insurance product owner.
	AdministeredBy *Reference
	// The geographic region in which a health insurance product's benefits apply.
	CoverageArea []Reference
	// The contact for the health insurance product for a certain purpose.
	Contact []InsurancePlanContact
	// The technical endpoints providing access to services operated for the health insurance product.
	Endpoint []Reference
	// Reference to the network included in the health insurance product.
	Network []Reference
	// Details about the coverage offered by the insurance product.
	Coverage []InsurancePlanCoverage
	// Details about an insurance plan.
	Plan []InsurancePlanPlan
}

Details of a Health Insurance product/plan provided by an organization.

func (InsurancePlan) MarshalJSON

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

func (InsurancePlan) MarshalXML

func (r InsurancePlan) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (InsurancePlan) MemSize

func (r InsurancePlan) MemSize() int

func (InsurancePlan) ResourceId

func (r InsurancePlan) ResourceId() (string, bool)

func (InsurancePlan) ResourceType

func (r InsurancePlan) ResourceType() string

func (InsurancePlan) String

func (r InsurancePlan) String() string

func (*InsurancePlan) UnmarshalJSON

func (r *InsurancePlan) UnmarshalJSON(b []byte) error

func (*InsurancePlan) UnmarshalXML

func (r *InsurancePlan) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type InsurancePlanContact

type InsurancePlanContact struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates a purpose for which the contact can be reached.
	Purpose *CodeableConcept
	// A name associated with the contact.
	Name *HumanName
	// A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
	Telecom []ContactPoint
	// Visiting or postal addresses for the contact.
	Address *Address
}

The contact for the health insurance product for a certain purpose.

func (InsurancePlanContact) MarshalJSON

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

func (InsurancePlanContact) MarshalXML

func (r InsurancePlanContact) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (InsurancePlanContact) MemSize

func (r InsurancePlanContact) MemSize() int

func (*InsurancePlanContact) UnmarshalXML

func (r *InsurancePlanContact) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type InsurancePlanCoverage

type InsurancePlanCoverage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type of coverage  (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health).
	Type CodeableConcept
	// Reference to the network that providing the type of coverage.
	Network []Reference
	// Specific benefits under this type of coverage.
	Benefit []InsurancePlanCoverageBenefit
}

Details about the coverage offered by the insurance product.

func (InsurancePlanCoverage) MarshalJSON

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

func (InsurancePlanCoverage) MarshalXML

func (r InsurancePlanCoverage) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (InsurancePlanCoverage) MemSize

func (r InsurancePlanCoverage) MemSize() int

func (*InsurancePlanCoverage) UnmarshalXML

func (r *InsurancePlanCoverage) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type InsurancePlanCoverageBenefit

type InsurancePlanCoverageBenefit struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type of benefit (primary care; speciality care; inpatient; outpatient).
	Type CodeableConcept
	// The referral requirements to have access/coverage for this benefit.
	Requirement *String
	// The specific limits on the benefit.
	Limit []InsurancePlanCoverageBenefitLimit
}

Specific benefits under this type of coverage.

func (InsurancePlanCoverageBenefit) MarshalJSON

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

func (InsurancePlanCoverageBenefit) MarshalXML

func (InsurancePlanCoverageBenefit) MemSize

func (r InsurancePlanCoverageBenefit) MemSize() int

func (*InsurancePlanCoverageBenefit) UnmarshalXML

func (r *InsurancePlanCoverageBenefit) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type InsurancePlanCoverageBenefitLimit

type InsurancePlanCoverageBenefitLimit struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The maximum amount of a service item a plan will pay for a covered benefit.  For examples. wellness visits, or eyeglasses.
	Value *Quantity
	// The specific limit on the benefit.
	Code *CodeableConcept
}

The specific limits on the benefit.

func (InsurancePlanCoverageBenefitLimit) MarshalJSON

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

func (InsurancePlanCoverageBenefitLimit) MarshalXML

func (InsurancePlanCoverageBenefitLimit) MemSize

func (*InsurancePlanCoverageBenefitLimit) UnmarshalXML

type InsurancePlanPlan

type InsurancePlanPlan struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this health insurance plan which remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// Type of plan. For example, "Platinum" or "High Deductable".
	Type *CodeableConcept
	// The geographic region in which a health insurance plan's benefits apply.
	CoverageArea []Reference
	// Reference to the network that providing the type of coverage.
	Network []Reference
	// Overall costs associated with the plan.
	GeneralCost []InsurancePlanPlanGeneralCost
	// Costs associated with the coverage provided by the product.
	SpecificCost []InsurancePlanPlanSpecificCost
}

Details about an insurance plan.

func (InsurancePlanPlan) MarshalJSON

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

func (InsurancePlanPlan) MarshalXML

func (r InsurancePlanPlan) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (InsurancePlanPlan) MemSize

func (r InsurancePlanPlan) MemSize() int

func (*InsurancePlanPlan) UnmarshalXML

func (r *InsurancePlanPlan) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type InsurancePlanPlanGeneralCost

type InsurancePlanPlanGeneralCost struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type of cost.
	Type *CodeableConcept
	// Number of participants enrolled in the plan.
	GroupSize *PositiveInt
	// Value of the cost.
	Cost *Money
	// Additional information about the general costs associated with this plan.
	Comment *String
}

Overall costs associated with the plan.

func (InsurancePlanPlanGeneralCost) MarshalJSON

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

func (InsurancePlanPlanGeneralCost) MarshalXML

func (InsurancePlanPlanGeneralCost) MemSize

func (r InsurancePlanPlanGeneralCost) MemSize() int

func (*InsurancePlanPlanGeneralCost) UnmarshalXML

func (r *InsurancePlanPlanGeneralCost) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type InsurancePlanPlanSpecificCost

type InsurancePlanPlanSpecificCost struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health).
	Category CodeableConcept
	// List of the specific benefits under this category of benefit.
	Benefit []InsurancePlanPlanSpecificCostBenefit
}

Costs associated with the coverage provided by the product.

func (InsurancePlanPlanSpecificCost) MarshalJSON

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

func (InsurancePlanPlanSpecificCost) MarshalXML

func (InsurancePlanPlanSpecificCost) MemSize

func (r InsurancePlanPlanSpecificCost) MemSize() int

func (*InsurancePlanPlanSpecificCost) UnmarshalXML

func (r *InsurancePlanPlanSpecificCost) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type InsurancePlanPlanSpecificCostBenefit

type InsurancePlanPlanSpecificCostBenefit struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care).
	Type CodeableConcept
	// List of the costs associated with a specific benefit.
	Cost []InsurancePlanPlanSpecificCostBenefitCost
}

List of the specific benefits under this category of benefit.

func (InsurancePlanPlanSpecificCostBenefit) MarshalJSON

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

func (InsurancePlanPlanSpecificCostBenefit) MarshalXML

func (InsurancePlanPlanSpecificCostBenefit) MemSize

func (*InsurancePlanPlanSpecificCostBenefit) UnmarshalXML

type InsurancePlanPlanSpecificCostBenefitCost

type InsurancePlanPlanSpecificCostBenefitCost struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type of cost (copay; individual cap; family cap; coinsurance; deductible).
	Type CodeableConcept
	// Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other).
	Applicability *CodeableConcept
	// Additional information about the cost, such as information about funding sources (e.g. HSA, HRA, FSA, RRA).
	Qualifiers []CodeableConcept
	// The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance).
	Value *Quantity
}

List of the costs associated with a specific benefit.

func (InsurancePlanPlanSpecificCostBenefitCost) MarshalJSON

func (InsurancePlanPlanSpecificCostBenefitCost) MarshalXML

func (InsurancePlanPlanSpecificCostBenefitCost) MemSize

func (*InsurancePlanPlanSpecificCostBenefitCost) UnmarshalXML

type Integer

type Integer struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The actual value
	Value *int32
}

Base StructureDefinition for integer Type: A whole number

func (Integer) MarshalJSON

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

func (Integer) MarshalXML

func (r Integer) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Integer) MemSize

func (r Integer) MemSize() int

func (*Integer) UnmarshalJSON

func (r *Integer) UnmarshalJSON(b []byte) error

func (*Integer) UnmarshalXML

func (r *Integer) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Invoice

type Invoice struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments.
	Identifier []Identifier
	// The current state of the Invoice.
	Status Code
	// In case of Invoice cancellation a reason must be given (entered in error, superseded by corrected invoice etc.).
	CancelledReason *String
	// Type of Invoice depending on domain, realm an usage (e.g. internal/external, dental, preliminary).
	Type *CodeableConcept
	// The individual or set of individuals receiving the goods and services billed in this invoice.
	Subject *Reference
	// The individual or Organization responsible for balancing of this invoice.
	Recipient *Reference
	// Date/time(s) of when this Invoice was posted.
	Date *DateTime
	// Indicates who or what performed or participated in the charged service.
	Participant []InvoiceParticipant
	// The organizationissuing the Invoice.
	Issuer *Reference
	// Account which is supposed to be balanced with this Invoice.
	Account *Reference
	// 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.
	LineItem []InvoiceLineItem
	// The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions.  The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated.
	TotalPriceComponent []InvoiceLineItemPriceComponent
	// Invoice total , taxes excluded.
	TotalNet *Money
	// Invoice total, tax included.
	TotalGross *Money
	// Payment details such as banking details, period of payment, deductibles, methods of payment.
	PaymentTerms *Markdown
	// Comments made about the invoice by the issuer, subject, or other participants.
	Note []Annotation
}

Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.

func (Invoice) MarshalJSON

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

func (Invoice) MarshalXML

func (r Invoice) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Invoice) MemSize

func (r Invoice) MemSize() int

func (Invoice) ResourceId

func (r Invoice) ResourceId() (string, bool)

func (Invoice) ResourceType

func (r Invoice) ResourceType() string

func (Invoice) String

func (r Invoice) String() string

func (*Invoice) UnmarshalJSON

func (r *Invoice) UnmarshalJSON(b []byte) error

func (*Invoice) UnmarshalXML

func (r *Invoice) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type InvoiceLineItem

type InvoiceLineItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Sequence in which the items appear on the invoice.
	Sequence *PositiveInt
	// The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference.
	ChargeItem isInvoiceLineItemChargeItem
	// 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.
	PriceComponent []InvoiceLineItemPriceComponent
}

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.

func (InvoiceLineItem) MarshalJSON

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

func (InvoiceLineItem) MarshalXML

func (r InvoiceLineItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (InvoiceLineItem) MemSize

func (r InvoiceLineItem) MemSize() int

func (*InvoiceLineItem) UnmarshalXML

func (r *InvoiceLineItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type InvoiceLineItemPriceComponent

type InvoiceLineItemPriceComponent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// This code identifies the type of the component.
	Type Code
	// A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.
	Code *CodeableConcept
	// The factor that has been applied on the base price for calculating this component.
	Factor *Decimal
	// The amount calculated for this component.
	Amount *Money
}

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.

func (InvoiceLineItemPriceComponent) MarshalJSON

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

func (InvoiceLineItemPriceComponent) MarshalXML

func (InvoiceLineItemPriceComponent) MemSize

func (r InvoiceLineItemPriceComponent) MemSize() int

func (*InvoiceLineItemPriceComponent) UnmarshalXML

func (r *InvoiceLineItemPriceComponent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type InvoiceParticipant

type InvoiceParticipant struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Describes the type of involvement (e.g. transcriptionist, creator etc.). If the invoice has been created automatically, the Participant may be a billing engine or another kind of device.
	Role *CodeableConcept
	// The device, practitioner, etc. who performed or participated in the service.
	Actor Reference
}

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

func (InvoiceParticipant) MarshalJSON

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

func (InvoiceParticipant) MarshalXML

func (r InvoiceParticipant) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (InvoiceParticipant) MemSize

func (r InvoiceParticipant) MemSize() int

func (*InvoiceParticipant) UnmarshalXML

func (r *InvoiceParticipant) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Library

type Library struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this library when it is represented in other formats, or referenced in a specification, model, design or an instance. e.g. CMS or NQF identifiers for a measure artifact. Note that at least one identifier is required for non-experimental active artifacts.
	Identifier []Identifier
	// The identifier that is used to identify this version of the library when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the library author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.
	Version *String
	// A natural language name identifying the library. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the library.
	Title *String
	// An explanatory or alternate title for the library giving additional information about its content.
	Subtitle *String
	// The status of this library. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this library is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definition.
	Type CodeableConcept
	// A code or group definition that describes the intended subject of the contents of the library.
	Subject isLibrarySubject
	// The date  (and optionally time) when the library was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the library changes.
	Date *DateTime
	// The name of the organization or individual that published the library.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the library from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate library instances.
	UseContext []UsageContext
	// A legal or geographic region in which the library is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this library is needed and why it has been designed as it has.
	Purpose *Markdown
	// A detailed description of how the library is used from a clinical perspective.
	Usage *String
	// A copyright statement relating to the library and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the library.
	Copyright *Markdown
	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate *Date
	// The period during which the library content was or is planned to be in active use.
	EffectivePeriod *Period
	// Descriptive topics related to the content of the library. Topics provide a high-level categorization of the library that can be useful for filtering and searching.
	Topic []CodeableConcept
	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []ContactDetail
	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []ContactDetail
	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []ContactDetail
	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []ContactDetail
	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []RelatedArtifact
	// The parameter element defines parameters used by the library.
	Parameter []ParameterDefinition
	// Describes a set of data that must be provided in order to be able to successfully perform the computations defined by the library.
	DataRequirement []DataRequirement
	// The content of the library as an Attachment. The content may be a reference to a url, or may be directly embedded as a base-64 string. Either way, the contentType of the attachment determines how to interpret the content.
	Content []Attachment
}

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 (Library) MarshalJSON

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

func (Library) MarshalXML

func (r Library) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Library) MemSize

func (r Library) MemSize() int

func (Library) ResourceId

func (r Library) ResourceId() (string, bool)

func (Library) ResourceType

func (r Library) ResourceType() string

func (Library) String

func (r Library) String() string

func (*Library) UnmarshalJSON

func (r *Library) UnmarshalJSON(b []byte) error

func (*Library) UnmarshalXML

func (r *Library) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Linkage

type Linkage struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates whether the asserted set of linkages are considered to be "in effect".
	Active *Boolean
	// Identifies the user or organization responsible for asserting the linkages as well as the user or organization who establishes the context in which the nature of each linkage is evaluated.
	Author *Reference
	// 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.
	Item []LinkageItem
}

Identifies two or more records (resource instances) that refer to the same real-world "occurrence".

func (Linkage) MarshalJSON

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

func (Linkage) MarshalXML

func (r Linkage) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Linkage) MemSize

func (r Linkage) MemSize() int

func (Linkage) ResourceId

func (r Linkage) ResourceId() (string, bool)

func (Linkage) ResourceType

func (r Linkage) ResourceType() string

func (Linkage) String

func (r Linkage) String() string

func (*Linkage) UnmarshalJSON

func (r *Linkage) UnmarshalJSON(b []byte) error

func (*Linkage) UnmarshalXML

func (r *Linkage) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type LinkageItem

type LinkageItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Distinguishes which item is "source of truth" (if any) and which items are no longer considered to be current representations.
	Type Code
	// The resource instance being linked as part of the group.
	Resource Reference
}

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.

func (LinkageItem) MarshalJSON

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

func (LinkageItem) MarshalXML

func (r LinkageItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (LinkageItem) MemSize

func (r LinkageItem) MemSize() int

func (*LinkageItem) UnmarshalXML

func (r *LinkageItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type List

type List struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier for the List assigned for business purposes outside the context of FHIR.
	Identifier []Identifier
	// Indicates the current state of this list.
	Status Code
	// How this list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.
	Mode Code
	// A label for the list assigned by the author.
	Title *String
	// This code defines the purpose of the list - why it was created.
	Code *CodeableConcept
	// The common subject (or patient) of the resources that are in the list if there is one.
	Subject *Reference
	// The encounter that is the context in which this list was created.
	Encounter *Reference
	// The date that the list was prepared.
	Date *DateTime
	// The entity responsible for deciding what the contents of the list were. Where the list was created by a human, this is the same as the author of the list.
	Source *Reference
	// What order applies to the items in the list.
	OrderedBy *CodeableConcept
	// Comments that apply to the overall list.
	Note []Annotation
	// Entries in this list.
	Entry []ListEntry
	// If the list is empty, why the list is empty.
	EmptyReason *CodeableConcept
}

A list is a curated collection of resources.

func (List) MarshalJSON

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

func (List) MarshalXML

func (r List) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (List) MemSize

func (r List) MemSize() int

func (List) ResourceId

func (r List) ResourceId() (string, bool)

func (List) ResourceType

func (r List) ResourceType() string

func (List) String

func (r List) String() string

func (*List) UnmarshalJSON

func (r *List) UnmarshalJSON(b []byte) error

func (*List) UnmarshalXML

func (r *List) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ListEntry

type ListEntry struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The flag allows the system constructing the list to indicate the role and significance of the item in the list.
	Flag *CodeableConcept
	// True if this item is marked as deleted in the list.
	Deleted *Boolean
	// When this item was added to the list.
	Date *DateTime
	// A reference to the actual resource from which data was derived.
	Item Reference
}

Entries in this list.

func (ListEntry) MarshalJSON

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

func (ListEntry) MarshalXML

func (r ListEntry) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ListEntry) MemSize

func (r ListEntry) MemSize() int

func (*ListEntry) UnmarshalXML

func (r *ListEntry) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Location

type Location struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique code or number identifying the location to its users.
	Identifier []Identifier
	// The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location.
	Status *Code
	// The operational status covers operation values most relevant to beds (but can also apply to rooms/units/chairs/etc. such as an isolation unit/dialysis chair). This typically covers concepts such as contamination, housekeeping, and other activities like maintenance.
	OperationalStatus *Coding
	// Name of the location as used by humans. Does not need to be unique.
	Name *String
	// A list of alternate names that the location is known as, or was known as, in the past.
	Alias []String
	// Description of the Location, which helps in finding or referencing the place.
	Description *String
	// Indicates whether a resource instance represents a specific location or a class of locations.
	Mode *Code
	// Indicates the type of function performed at the location.
	Type []CodeableConcept
	// The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites.
	Telecom []ContactPoint
	// Physical location.
	Address *Address
	// Physical form of the location, e.g. building, room, vehicle, road.
	PhysicalType *CodeableConcept
	// The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).
	Position *LocationPosition
	// The organization responsible for the provisioning and upkeep of the location.
	ManagingOrganization *Reference
	// Another Location of which this Location is physically a part of.
	PartOf *Reference
	// What days/times during a week is this location usually open.
	HoursOfOperation []LocationHoursOfOperation
	// A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times.
	AvailabilityExceptions *String
	// Technical endpoints providing access to services operated for the location.
	Endpoint []Reference
}

Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.

func (Location) MarshalJSON

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

func (Location) MarshalXML

func (r Location) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Location) MemSize

func (r Location) MemSize() int

func (Location) ResourceId

func (r Location) ResourceId() (string, bool)

func (Location) ResourceType

func (r Location) ResourceType() string

func (Location) String

func (r Location) String() string

func (*Location) UnmarshalJSON

func (r *Location) UnmarshalJSON(b []byte) error

func (*Location) UnmarshalXML

func (r *Location) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type LocationHoursOfOperation

type LocationHoursOfOperation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates which days of the week are available between the start and end Times.
	DaysOfWeek []Code
	// The Location is open all day.
	AllDay *Boolean
	// Time that the Location opens.
	OpeningTime *Time
	// Time that the Location closes.
	ClosingTime *Time
}

What days/times during a week is this location usually open.

func (LocationHoursOfOperation) MarshalJSON

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

func (LocationHoursOfOperation) MarshalXML

func (r LocationHoursOfOperation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (LocationHoursOfOperation) MemSize

func (r LocationHoursOfOperation) MemSize() int

func (*LocationHoursOfOperation) UnmarshalXML

func (r *LocationHoursOfOperation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type LocationPosition

type LocationPosition struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below).
	Longitude Decimal
	// Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).
	Latitude Decimal
	// Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below).
	Altitude *Decimal
}

The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).

func (LocationPosition) MarshalJSON

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

func (LocationPosition) MarshalXML

func (r LocationPosition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (LocationPosition) MemSize

func (r LocationPosition) MemSize() int

func (*LocationPosition) UnmarshalXML

func (r *LocationPosition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ManufacturedItemDefinition

type ManufacturedItemDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique identifier.
	Identifier []Identifier
	// The status of this item. Enables tracking the life-cycle of the content.
	Status Code
	// Dose form as manufactured and before any transformation into the pharmaceutical product.
	ManufacturedDoseForm CodeableConcept
	// The “real world” units in which the quantity of the manufactured item is described.
	UnitOfPresentation *CodeableConcept
	// Manufacturer of the item (Note that this should be named "manufacturer" but it currently causes technical issues).
	Manufacturer []Reference
	// The ingredients of this manufactured item. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource.
	Ingredient []CodeableConcept
	// General characteristics of this item.
	Property []ManufacturedItemDefinitionProperty
}

The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product.

func (ManufacturedItemDefinition) MarshalJSON

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

func (ManufacturedItemDefinition) MarshalXML

func (r ManufacturedItemDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ManufacturedItemDefinition) MemSize

func (r ManufacturedItemDefinition) MemSize() int

func (ManufacturedItemDefinition) ResourceId

func (r ManufacturedItemDefinition) ResourceId() (string, bool)

func (ManufacturedItemDefinition) ResourceType

func (r ManufacturedItemDefinition) ResourceType() string

func (ManufacturedItemDefinition) String

func (*ManufacturedItemDefinition) UnmarshalJSON

func (r *ManufacturedItemDefinition) UnmarshalJSON(b []byte) error

func (*ManufacturedItemDefinition) UnmarshalXML

func (r *ManufacturedItemDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ManufacturedItemDefinitionProperty

type ManufacturedItemDefinitionProperty struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code expressing the type of characteristic.
	Type CodeableConcept
	// A value for the characteristic.
	Value isManufacturedItemDefinitionPropertyValue
}

General characteristics of this item.

func (ManufacturedItemDefinitionProperty) MarshalJSON

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

func (ManufacturedItemDefinitionProperty) MarshalXML

func (ManufacturedItemDefinitionProperty) MemSize

func (*ManufacturedItemDefinitionProperty) UnmarshalXML

type Markdown

type Markdown struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Primitive value for markdown
	Value *string
}

Base StructureDefinition for markdown type: A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

func (Markdown) MarshalJSON

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

func (Markdown) MarshalXML

func (r Markdown) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Markdown) MemSize

func (r Markdown) MemSize() int

func (*Markdown) UnmarshalJSON

func (r *Markdown) UnmarshalJSON(b []byte) error

func (*Markdown) UnmarshalXML

func (r *Markdown) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MarketingStatus

type MarketingStatus struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ‑ 1 alpha-2 code elements.
	Country *CodeableConcept
	// Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified.
	Jurisdiction *CodeableConcept
	// This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples.
	Status CodeableConcept
	// The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain.
	DateRange *Period
	// The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE “Placed on the market” refers to the release of the Medicinal Product into the distribution chain.
	RestoreDate *DateTime
}

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.

func (MarketingStatus) MarshalJSON

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

func (MarketingStatus) MarshalXML

func (r MarketingStatus) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MarketingStatus) MemSize

func (r MarketingStatus) MemSize() int

func (MarketingStatus) String

func (r MarketingStatus) String() string

func (*MarketingStatus) UnmarshalXML

func (r *MarketingStatus) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Measure

type Measure struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this measure when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the measure when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the measure author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.
	Version *String
	// A natural language name identifying the measure. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the measure.
	Title *String
	// An explanatory or alternate title for the measure giving additional information about its content.
	Subtitle *String
	// The status of this measure. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this measure is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The intended subjects for the measure. If this element is not provided, a Patient subject is assumed, but the subject of the measure can be anything.
	Subject isMeasureSubject
	// The date  (and optionally time) when the measure was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the measure changes.
	Date *DateTime
	// The name of the organization or individual that published the measure.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the measure from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate measure instances.
	UseContext []UsageContext
	// A legal or geographic region in which the measure is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this measure is needed and why it has been designed as it has.
	Purpose *Markdown
	// A detailed description, from a clinical perspective, of how the measure is used.
	Usage *String
	// A copyright statement relating to the measure and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the measure.
	Copyright *Markdown
	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate *Date
	// The period during which the measure content was or is planned to be in active use.
	EffectivePeriod *Period
	// Descriptive topics related to the content of the measure. Topics provide a high-level categorization grouping types of measures that can be useful for filtering and searching.
	Topic []CodeableConcept
	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []ContactDetail
	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []ContactDetail
	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []ContactDetail
	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []ContactDetail
	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []RelatedArtifact
	// A reference to a Library resource containing the formal logic used by the measure.
	Library []Canonical
	// Notices and disclaimers regarding the use of the measure or related to intellectual property (such as code systems) referenced by the measure.
	Disclaimer *Markdown
	// Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented.
	Scoring *CodeableConcept
	// If this is a composite measure, the scoring method used to combine the component measures to determine the composite score.
	CompositeScoring *CodeableConcept
	// Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization.
	Type []CodeableConcept
	// A description of the risk adjustment factors that may impact the resulting score for the measure and how they may be accounted for when computing and reporting measure results.
	RiskAdjustment *String
	// Describes how to combine the information calculated, based on logic in each of several populations, into one summarized result.
	RateAggregation *String
	// Provides a succinct statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence.
	Rationale *Markdown
	// Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure.
	ClinicalRecommendationStatement *Markdown
	// Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is within a range).
	ImprovementNotation *CodeableConcept
	// Provides a description of an individual term used within the measure.
	Definition []Markdown
	// Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure.
	Guidance *Markdown
	// A group of population criteria for the measure.
	Group []MeasureGroup
	// 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.
	SupplementalData []MeasureSupplementalData
}

The Measure resource provides the definition of a quality measure.

func (Measure) MarshalJSON

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

func (Measure) MarshalXML

func (r Measure) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Measure) MemSize

func (r Measure) MemSize() int

func (Measure) ResourceId

func (r Measure) ResourceId() (string, bool)

func (Measure) ResourceType

func (r Measure) ResourceType() string

func (Measure) String

func (r Measure) String() string

func (*Measure) UnmarshalJSON

func (r *Measure) UnmarshalJSON(b []byte) error

func (*Measure) UnmarshalXML

func (r *Measure) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MeasureGroup

type MeasureGroup struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates a meaning for the group. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing groups to be correlated across measures.
	Code *CodeableConcept
	// The human readable description of this population group.
	Description *String
	// A population criteria for the measure.
	Population []MeasureGroupPopulation
	// 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.
	Stratifier []MeasureGroupStratifier
}

A group of population criteria for the measure.

func (MeasureGroup) MarshalJSON

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

func (MeasureGroup) MarshalXML

func (r MeasureGroup) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MeasureGroup) MemSize

func (r MeasureGroup) MemSize() int

func (*MeasureGroup) UnmarshalXML

func (r *MeasureGroup) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MeasureGroupPopulation

type MeasureGroupPopulation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of population criteria.
	Code *CodeableConcept
	// The human readable description of this population criteria.
	Description *String
	// An expression that specifies the criteria for the population, typically the name of an expression in a library.
	Criteria Expression
}

A population criteria for the measure.

func (MeasureGroupPopulation) MarshalJSON

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

func (MeasureGroupPopulation) MarshalXML

func (r MeasureGroupPopulation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MeasureGroupPopulation) MemSize

func (r MeasureGroupPopulation) MemSize() int

func (*MeasureGroupPopulation) UnmarshalXML

func (r *MeasureGroupPopulation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MeasureGroupStratifier

type MeasureGroupStratifier struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates a meaning for the stratifier. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing stratifiers to be correlated across measures.
	Code *CodeableConcept
	// The human readable description of this stratifier criteria.
	Description *String
	// An expression that specifies the criteria for the stratifier. This is typically the name of an expression defined within a referenced library, but it may also be a path to a stratifier element.
	Criteria *Expression
	// 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.
	Component []MeasureGroupStratifierComponent
}

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.

func (MeasureGroupStratifier) MarshalJSON

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

func (MeasureGroupStratifier) MarshalXML

func (r MeasureGroupStratifier) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MeasureGroupStratifier) MemSize

func (r MeasureGroupStratifier) MemSize() int

func (*MeasureGroupStratifier) UnmarshalXML

func (r *MeasureGroupStratifier) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MeasureGroupStratifierComponent

type MeasureGroupStratifierComponent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates a meaning for the stratifier component. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing stratifiers to be correlated across measures.
	Code *CodeableConcept
	// The human readable description of this stratifier criteria component.
	Description *String
	// An expression that specifies the criteria for this component of the stratifier. This is typically the name of an expression defined within a referenced library, but it may also be a path to a stratifier element.
	Criteria Expression
}

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.

func (MeasureGroupStratifierComponent) MarshalJSON

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

func (MeasureGroupStratifierComponent) MarshalXML

func (MeasureGroupStratifierComponent) MemSize

func (*MeasureGroupStratifierComponent) UnmarshalXML

func (r *MeasureGroupStratifierComponent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MeasureReport

type MeasureReport struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A formal identifier that is used to identify this MeasureReport when it is represented in other formats or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The MeasureReport status. No data will be available until the MeasureReport status is complete.
	Status Code
	// The type of measure report. This may be an individual report, which provides the score for the measure for an individual member of the population; a subject-listing, which returns the list of members that meet the various criteria in the measure; a summary report, which returns a population count for each of the criteria in the measure; or a data-collection, which enables the MeasureReport to be used to exchange the data-of-interest for a quality measure.
	Type Code
	// A reference to the Measure that was calculated to produce this report.
	Measure Canonical
	// Optional subject identifying the individual or individuals the report is for.
	Subject *Reference
	// The date this measure report was generated.
	Date *DateTime
	// The individual, location, or organization that is reporting the data.
	Reporter *Reference
	// The reporting period for which the report was calculated.
	Period Period
	// Whether improvement in the measure is noted by an increase or decrease in the measure score.
	ImprovementNotation *CodeableConcept
	// The results of the calculation, one for each population group in the measure.
	Group []MeasureReportGroup
	// A reference to a Bundle containing the Resources that were used in the calculation of this measure.
	EvaluatedResource []Reference
}

The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.

func (MeasureReport) MarshalJSON

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

func (MeasureReport) MarshalXML

func (r MeasureReport) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MeasureReport) MemSize

func (r MeasureReport) MemSize() int

func (MeasureReport) ResourceId

func (r MeasureReport) ResourceId() (string, bool)

func (MeasureReport) ResourceType

func (r MeasureReport) ResourceType() string

func (MeasureReport) String

func (r MeasureReport) String() string

func (*MeasureReport) UnmarshalJSON

func (r *MeasureReport) UnmarshalJSON(b []byte) error

func (*MeasureReport) UnmarshalXML

func (r *MeasureReport) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MeasureReportGroup

type MeasureReportGroup struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The meaning of the population group as defined in the measure definition.
	Code *CodeableConcept
	// The populations that make up the population group, one for each type of population appropriate for the measure.
	Population []MeasureReportGroupPopulation
	// The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group.
	MeasureScore *Quantity
	// When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure.
	Stratifier []MeasureReportGroupStratifier
}

The results of the calculation, one for each population group in the measure.

func (MeasureReportGroup) MarshalJSON

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

func (MeasureReportGroup) MarshalXML

func (r MeasureReportGroup) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MeasureReportGroup) MemSize

func (r MeasureReportGroup) MemSize() int

func (*MeasureReportGroup) UnmarshalXML

func (r *MeasureReportGroup) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MeasureReportGroupPopulation

type MeasureReportGroupPopulation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of the population.
	Code *CodeableConcept
	// The number of members of the population.
	Count *Integer
	// This element refers to a List of subject level MeasureReport resources, one for each subject in this population.
	SubjectResults *Reference
}

The populations that make up the population group, one for each type of population appropriate for the measure.

func (MeasureReportGroupPopulation) MarshalJSON

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

func (MeasureReportGroupPopulation) MarshalXML

func (MeasureReportGroupPopulation) MemSize

func (r MeasureReportGroupPopulation) MemSize() int

func (*MeasureReportGroupPopulation) UnmarshalXML

func (r *MeasureReportGroupPopulation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MeasureReportGroupStratifier

type MeasureReportGroupStratifier struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The meaning of this stratifier, as defined in the measure definition.
	Code []CodeableConcept
	// 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.
	Stratum []MeasureReportGroupStratifierStratum
}

When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure.

func (MeasureReportGroupStratifier) MarshalJSON

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

func (MeasureReportGroupStratifier) MarshalXML

func (MeasureReportGroupStratifier) MemSize

func (r MeasureReportGroupStratifier) MemSize() int

func (*MeasureReportGroupStratifier) UnmarshalXML

func (r *MeasureReportGroupStratifier) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MeasureReportGroupStratifierStratum

type MeasureReportGroupStratifierStratum struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The value for this stratum, expressed as a CodeableConcept. When defining stratifiers on complex values, the value must be rendered such that the value for each stratum within the stratifier is unique.
	Value *CodeableConcept
	// A stratifier component value.
	Component []MeasureReportGroupStratifierStratumComponent
	// The populations that make up the stratum, one for each type of population appropriate to the measure.
	Population []MeasureReportGroupStratifierStratumPopulation
	// The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum.
	MeasureScore *Quantity
}

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.

func (MeasureReportGroupStratifierStratum) MarshalJSON

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

func (MeasureReportGroupStratifierStratum) MarshalXML

func (MeasureReportGroupStratifierStratum) MemSize

func (*MeasureReportGroupStratifierStratum) UnmarshalXML

type MeasureReportGroupStratifierStratumComponent

type MeasureReportGroupStratifierStratumComponent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The code for the stratum component value.
	Code CodeableConcept
	// The stratum component value.
	Value CodeableConcept
}

A stratifier component value.

func (MeasureReportGroupStratifierStratumComponent) MarshalJSON

func (MeasureReportGroupStratifierStratumComponent) MarshalXML

func (MeasureReportGroupStratifierStratumComponent) MemSize

func (*MeasureReportGroupStratifierStratumComponent) UnmarshalXML

type MeasureReportGroupStratifierStratumPopulation

type MeasureReportGroupStratifierStratumPopulation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of the population.
	Code *CodeableConcept
	// The number of members of the population in this stratum.
	Count *Integer
	// This element refers to a List of subject level MeasureReport resources, one for each subject in this population in this stratum.
	SubjectResults *Reference
}

The populations that make up the stratum, one for each type of population appropriate to the measure.

func (MeasureReportGroupStratifierStratumPopulation) MarshalJSON

func (MeasureReportGroupStratifierStratumPopulation) MarshalXML

func (MeasureReportGroupStratifierStratumPopulation) MemSize

func (*MeasureReportGroupStratifierStratumPopulation) UnmarshalXML

type MeasureSupplementalData

type MeasureSupplementalData struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates a meaning for the supplemental data. This can be as simple as a unique identifier, or it can establish meaning in a broader context by drawing from a terminology, allowing supplemental data to be correlated across measures.
	Code *CodeableConcept
	// An indicator of the intended usage for the supplemental data element. Supplemental data indicates the data is additional information requested to augment the measure information. Risk adjustment factor indicates the data is additional information used to calculate risk adjustment factors when applying a risk model to the measure calculation.
	Usage []CodeableConcept
	// The human readable description of this supplemental data.
	Description *String
	// The criteria for the supplemental data. This is typically the name of a valid expression defined within a referenced library, but it may also be a path to a specific data element. The criteria defines the data to be returned for this element.
	Criteria Expression
}

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.

func (MeasureSupplementalData) MarshalJSON

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

func (MeasureSupplementalData) MarshalXML

func (r MeasureSupplementalData) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MeasureSupplementalData) MemSize

func (r MeasureSupplementalData) MemSize() int

func (*MeasureSupplementalData) UnmarshalXML

func (r *MeasureSupplementalData) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Media

type Media struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers.
	Identifier []Identifier
	// A procedure that is fulfilled in whole or in part by the creation of this media.
	BasedOn []Reference
	// A larger event of which this particular event is a component or step.
	PartOf []Reference
	// The current state of the {{title}}.
	Status Code
	// A code that classifies whether the media is an image, video or audio recording or some other media category.
	Type *CodeableConcept
	// Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality.
	Modality *CodeableConcept
	// The name of the imaging view e.g. Lateral or Antero-posterior (AP).
	View *CodeableConcept
	// Who/What this Media is a record of.
	Subject *Reference
	// The encounter that establishes the context for this media.
	Encounter *Reference
	// The date and time(s) at which the media was collected.
	Created isMediaCreated
	// The date and time this version of the media was made available to providers, typically after having been reviewed.
	Issued *Instant
	// The person who administered the collection of the image.
	Operator *Reference
	// Describes why the event occurred in coded or textual form.
	ReasonCode []CodeableConcept
	// Indicates the site on the subject's body where the observation was made (i.e. the target site).
	BodySite *CodeableConcept
	// The name of the device / manufacturer of the device  that was used to make the recording.
	DeviceName *String
	// The device used to collect the media.
	Device *Reference
	// Height of the image in pixels (photo/video).
	Height *PositiveInt
	// Width of the image in pixels (photo/video).
	Width *PositiveInt
	// The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required.
	Frames *PositiveInt
	// The duration of the recording in seconds - for audio and video.
	Duration *Decimal
	// The actual content of the media - inline or by direct reference to the media source file.
	Content Attachment
	// Comments made about the media by the performer, subject or other participants.
	Note []Annotation
}

A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.

func (Media) MarshalJSON

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

func (Media) MarshalXML

func (r Media) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Media) MemSize

func (r Media) MemSize() int

func (Media) ResourceId

func (r Media) ResourceId() (string, bool)

func (Media) ResourceType

func (r Media) ResourceType() string

func (Media) String

func (r Media) String() string

func (*Media) UnmarshalJSON

func (r *Media) UnmarshalJSON(b []byte) error

func (*Media) UnmarshalXML

func (r *Media) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Medication

type Medication struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifier for this medication.
	Identifier []Identifier
	// A code (or set of codes) that specify this medication, or a textual description if no code is available. Usage note: This could be a standard medication code such as a code from RxNorm, SNOMED CT, IDMP etc. It could also be a national or local formulary code, optionally with translations to other code systems.
	Code *CodeableConcept
	// A code to indicate if the medication is in active use.
	Status *Code
	// Describes the details of the manufacturer of the medication product.  This is not intended to represent the distributor of a medication product.
	Manufacturer *Reference
	// Describes the form of the item.  Powder; tablets; capsule.
	Form *CodeableConcept
	// Specific amount of the drug in the packaged product.  For example, when specifying a product that has the same strength (For example, Insulin glargine 100 unit per mL solution for injection), this attribute provides additional clarification of the package amount (For example, 3 mL, 10mL, etc.).
	Amount *Ratio
	// Identifies a particular constituent of interest in the product.
	Ingredient []MedicationIngredient
	// Information that only applies to packages (not products).
	Batch *MedicationBatch
}

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 (Medication) MarshalJSON

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

func (Medication) MarshalXML

func (r Medication) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Medication) MemSize

func (r Medication) MemSize() int

func (Medication) ResourceId

func (r Medication) ResourceId() (string, bool)

func (Medication) ResourceType

func (r Medication) ResourceType() string

func (Medication) String

func (r Medication) String() string

func (*Medication) UnmarshalJSON

func (r *Medication) UnmarshalJSON(b []byte) error

func (*Medication) UnmarshalXML

func (r *Medication) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationAdministration

type MedicationAdministration struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers associated with this Medication Administration that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event.
	Instantiates []Uri
	// A larger event of which this particular event is a component or step.
	PartOf []Reference
	// Will generally be set to show that the administration has been completed.  For some long running administrations such as infusions, it is possible for an administration to be started but not completed or it may be paused while some other process is under way.
	Status Code
	// A code indicating why the administration was not performed.
	StatusReason []CodeableConcept
	// Indicates where the medication is expected to be consumed or administered.
	Category *CodeableConcept
	// Identifies the medication that was administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.
	Medication isMedicationAdministrationMedication
	// The person or animal or group receiving the medication.
	Subject Reference
	// The visit, admission, or other contact between patient and health care provider during which the medication administration was performed.
	Context *Reference
	// Additional information (for example, patient height and weight) that supports the administration of the medication.
	SupportingInformation []Reference
	// A specific date/time or interval of time during which the administration took place (or did not take place, when the 'notGiven' attribute is true). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate.
	Effective isMedicationAdministrationEffective
	// Indicates who or what performed the medication administration and how they were involved.
	Performer []MedicationAdministrationPerformer
	// A code indicating why the medication was given.
	ReasonCode []CodeableConcept
	// Condition or observation that supports why the medication was administered.
	ReasonReference []Reference
	// The original request, instruction or authority to perform the administration.
	Request *Reference
	// The device used in administering the medication to the patient.  For example, a particular infusion pump.
	Device []Reference
	// Extra information about the medication administration that is not conveyed by the other attributes.
	Note []Annotation
	// Describes the medication dosage information details e.g. dose, rate, site, route, etc.
	Dosage *MedicationAdministrationDosage
	// A summary of the events of interest that have occurred, such as when the administration was verified.
	EventHistory []Reference
}

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 (MedicationAdministration) MarshalJSON

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

func (MedicationAdministration) MarshalXML

func (r MedicationAdministration) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MedicationAdministration) MemSize

func (r MedicationAdministration) MemSize() int

func (MedicationAdministration) ResourceId

func (r MedicationAdministration) ResourceId() (string, bool)

func (MedicationAdministration) ResourceType

func (r MedicationAdministration) ResourceType() string

func (MedicationAdministration) String

func (r MedicationAdministration) String() string

func (*MedicationAdministration) UnmarshalJSON

func (r *MedicationAdministration) UnmarshalJSON(b []byte) error

func (*MedicationAdministration) UnmarshalXML

func (r *MedicationAdministration) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationAdministrationDosage

type MedicationAdministrationDosage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Free text dosage can be used for cases where the dosage administered is too complex to code. When coded dosage is present, the free text dosage may still be present for display to humans.The dosage instructions should reflect the dosage of the medication that was administered.
	Text *String
	// A coded specification of the anatomic site where the medication first entered the body.  For example, "left arm".
	Site *CodeableConcept
	// A code specifying the route or physiological path of administration of a therapeutic agent into or onto the patient.  For example, topical, intravenous, etc.
	Route *CodeableConcept
	// A coded value indicating the method by which the medication is intended to be or was introduced into or on the body.  This attribute will most often NOT be populated.  It is most commonly used for injections.  For example, Slow Push, Deep IV.
	Method *CodeableConcept
	// The amount of the medication given at one administration event.   Use this value when the administration is essentially an instantaneous event such as a swallowing a tablet or giving an injection.
	Dose *Quantity
	// Identifies the speed with which the medication was or will be introduced into the patient.  Typically, the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr.  May also be expressed as a rate per unit of time, e.g. 500 ml per 2 hours.  Other examples:  200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours.
	Rate isMedicationAdministrationDosageRate
}

Describes the medication dosage information details e.g. dose, rate, site, route, etc.

func (MedicationAdministrationDosage) MarshalJSON

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

func (MedicationAdministrationDosage) MarshalXML

func (MedicationAdministrationDosage) MemSize

func (r MedicationAdministrationDosage) MemSize() int

func (*MedicationAdministrationDosage) UnmarshalXML

func (r *MedicationAdministrationDosage) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationAdministrationPerformer

type MedicationAdministrationPerformer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Distinguishes the type of involvement of the performer in the medication administration.
	Function *CodeableConcept
	// Indicates who or what performed the medication administration.
	Actor Reference
}

Indicates who or what performed the medication administration and how they were involved.

func (MedicationAdministrationPerformer) MarshalJSON

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

func (MedicationAdministrationPerformer) MarshalXML

func (MedicationAdministrationPerformer) MemSize

func (*MedicationAdministrationPerformer) UnmarshalXML

type MedicationBatch

type MedicationBatch struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The assigned lot number of a batch of the specified product.
	LotNumber *String
	// When this specific batch of product will expire.
	ExpirationDate *DateTime
}

Information that only applies to packages (not products).

func (MedicationBatch) MarshalJSON

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

func (MedicationBatch) MarshalXML

func (r MedicationBatch) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MedicationBatch) MemSize

func (r MedicationBatch) MemSize() int

func (*MedicationBatch) UnmarshalXML

func (r *MedicationBatch) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationDispense

type MedicationDispense struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers associated with this Medication Dispense that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// The procedure that trigger the dispense.
	PartOf []Reference
	// A code specifying the state of the set of dispense events.
	Status Code
	// Indicates the reason why a dispense was not performed.
	StatusReason isMedicationDispenseStatusReason
	// Indicates the type of medication dispense (for example, where the medication is expected to be consumed or administered (i.e. inpatient or outpatient)).
	Category *CodeableConcept
	// Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.
	Medication isMedicationDispenseMedication
	// A link to a resource representing the person or the group to whom the medication will be given.
	Subject *Reference
	// The encounter or episode of care that establishes the context for this event.
	Context *Reference
	// Additional information that supports the medication being dispensed.
	SupportingInformation []Reference
	// Indicates who or what performed the event.
	Performer []MedicationDispensePerformer
	// The principal physical location where the dispense was performed.
	Location *Reference
	// Indicates the medication order that is being dispensed against.
	AuthorizingPrescription []Reference
	// Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.
	Type *CodeableConcept
	// The amount of medication that has been dispensed. Includes unit of measure.
	Quantity *Quantity
	// The amount of medication expressed as a timing amount.
	DaysSupply *Quantity
	// The time when the dispensed product was packaged and reviewed.
	WhenPrepared *DateTime
	// The time the dispensed product was provided to the patient or their representative.
	WhenHandedOver *DateTime
	// Identification of the facility/location where the medication was shipped to, as part of the dispense event.
	Destination *Reference
	// Identifies the person who picked up the medication.  This will usually be a patient or their caregiver, but some cases exist where it can be a healthcare professional.
	Receiver []Reference
	// Extra information about the dispense that could not be conveyed in the other attributes.
	Note []Annotation
	// Indicates how the medication is to be used by the patient.
	DosageInstruction []Dosage
	// 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.
	Substitution *MedicationDispenseSubstitution
	// 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, duplicate therapy, dosage alert etc.
	DetectedIssue []Reference
	// A summary of the events of interest that have occurred, such as when the dispense was verified.
	EventHistory []Reference
}

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 (MedicationDispense) MarshalJSON

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

func (MedicationDispense) MarshalXML

func (r MedicationDispense) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MedicationDispense) MemSize

func (r MedicationDispense) MemSize() int

func (MedicationDispense) ResourceId

func (r MedicationDispense) ResourceId() (string, bool)

func (MedicationDispense) ResourceType

func (r MedicationDispense) ResourceType() string

func (MedicationDispense) String

func (r MedicationDispense) String() string

func (*MedicationDispense) UnmarshalJSON

func (r *MedicationDispense) UnmarshalJSON(b []byte) error

func (*MedicationDispense) UnmarshalXML

func (r *MedicationDispense) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationDispensePerformer

type MedicationDispensePerformer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Distinguishes the type of performer in the dispense.  For example, date enterer, packager, final checker.
	Function *CodeableConcept
	// The device, practitioner, etc. who performed the action.  It should be assumed that the actor is the dispenser of the medication.
	Actor Reference
}

Indicates who or what performed the event.

func (MedicationDispensePerformer) MarshalJSON

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

func (MedicationDispensePerformer) MarshalXML

func (r MedicationDispensePerformer) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MedicationDispensePerformer) MemSize

func (r MedicationDispensePerformer) MemSize() int

func (*MedicationDispensePerformer) UnmarshalXML

func (r *MedicationDispensePerformer) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationDispenseSubstitution

type MedicationDispenseSubstitution struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// True if the dispenser dispensed a different drug or product from what was prescribed.
	WasSubstituted Boolean
	// A code signifying whether a different drug was dispensed from what was prescribed.
	Type *CodeableConcept
	// Indicates the reason for the substitution (or lack of substitution) from what was prescribed.
	Reason []CodeableConcept
	// The person or organization that has primary responsibility for the substitution.
	ResponsibleParty []Reference
}

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.

func (MedicationDispenseSubstitution) MarshalJSON

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

func (MedicationDispenseSubstitution) MarshalXML

func (MedicationDispenseSubstitution) MemSize

func (r MedicationDispenseSubstitution) MemSize() int

func (*MedicationDispenseSubstitution) UnmarshalXML

func (r *MedicationDispenseSubstitution) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationIngredient

type MedicationIngredient struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The actual ingredient - either a substance (simple ingredient) or another medication of a medication.
	Item isMedicationIngredientItem
	// Indication of whether this ingredient affects the therapeutic action of the drug.
	IsActive *Boolean
	// Specifies how many (or how much) of the items there are in this Medication.  For example, 250 mg per tablet.  This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet.
	Strength *Ratio
}

Identifies a particular constituent of interest in the product.

func (MedicationIngredient) MarshalJSON

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

func (MedicationIngredient) MarshalXML

func (r MedicationIngredient) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MedicationIngredient) MemSize

func (r MedicationIngredient) MemSize() int

func (*MedicationIngredient) UnmarshalXML

func (r *MedicationIngredient) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationKnowledge

type MedicationKnowledge struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code that specifies this medication, or a textual description if no code is available. Usage note: This could be a standard medication code such as a code from RxNorm, SNOMED CT, IDMP etc. It could also be a national or local formulary code, optionally with translations to other code systems.
	Code *CodeableConcept
	// A code to indicate if the medication is in active use.  The status refers to the validity about the information of the medication and not to its medicinal properties.
	Status *Code
	// Describes the details of the manufacturer of the medication product.  This is not intended to represent the distributor of a medication product.
	Manufacturer *Reference
	// Describes the form of the item.  Powder; tablets; capsule.
	DoseForm *CodeableConcept
	// Specific amount of the drug in the packaged product.  For example, when specifying a product that has the same strength (For example, Insulin glargine 100 unit per mL solution for injection), this attribute provides additional clarification of the package amount (For example, 3 mL, 10mL, etc.).
	Amount *Quantity
	// Additional names for a medication, for example, the name(s) given to a medication in different countries.  For example, acetaminophen and paracetamol or salbutamol and albuterol.
	Synonym []String
	// Associated or related knowledge about a medication.
	RelatedMedicationKnowledge []MedicationKnowledgeRelatedMedicationKnowledge
	// Associated or related medications.  For example, if the medication is a branded product (e.g. Crestor), this is the Therapeutic Moeity (e.g. Rosuvastatin) or if this is a generic medication (e.g. Rosuvastatin), this would link to a branded product (e.g. Crestor).
	AssociatedMedication []Reference
	// Category of the medication or product (e.g. branded product, therapeutic moeity, generic product, innovator product, etc.).
	ProductType []CodeableConcept
	// Associated documentation about the medication.
	Monograph []MedicationKnowledgeMonograph
	// Identifies a particular constituent of interest in the product.
	Ingredient []MedicationKnowledgeIngredient
	// The instructions for preparing the medication.
	PreparationInstruction *Markdown
	// The intended or approved route of administration.
	IntendedRoute []CodeableConcept
	// The price of the medication.
	Cost []MedicationKnowledgeCost
	// The program under which the medication is reviewed.
	MonitoringProgram []MedicationKnowledgeMonitoringProgram
	// Guidelines for the administration of the medication.
	AdministrationGuidelines []MedicationKnowledgeAdministrationGuidelines
	// Categorization of the medication within a formulary or classification system.
	MedicineClassification []MedicationKnowledgeMedicineClassification
	// Information that only applies to packages (not products).
	Packaging *MedicationKnowledgePackaging
	// Specifies descriptive properties of the medicine, such as color, shape, imprints, etc.
	DrugCharacteristic []MedicationKnowledgeDrugCharacteristic
	// Potential clinical issue with or between medication(s) (for example, drug-drug interaction, drug-disease contraindication, drug-allergy interaction, etc.).
	Contraindication []Reference
	// Regulatory information about a medication.
	Regulatory []MedicationKnowledgeRegulatory
	// The time course of drug absorption, distribution, metabolism and excretion of a medication from the body.
	Kinetics []MedicationKnowledgeKinetics
}

Information about a medication that is used to support knowledge.

func (MedicationKnowledge) MarshalJSON

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

func (MedicationKnowledge) MarshalXML

func (r MedicationKnowledge) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MedicationKnowledge) MemSize

func (r MedicationKnowledge) MemSize() int

func (MedicationKnowledge) ResourceId

func (r MedicationKnowledge) ResourceId() (string, bool)

func (MedicationKnowledge) ResourceType

func (r MedicationKnowledge) ResourceType() string

func (MedicationKnowledge) String

func (r MedicationKnowledge) String() string

func (*MedicationKnowledge) UnmarshalJSON

func (r *MedicationKnowledge) UnmarshalJSON(b []byte) error

func (*MedicationKnowledge) UnmarshalXML

func (r *MedicationKnowledge) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationKnowledgeAdministrationGuidelines

type MedicationKnowledgeAdministrationGuidelines struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Dosage for the medication for the specific guidelines.
	Dosage []MedicationKnowledgeAdministrationGuidelinesDosage
	// Indication for use that apply to the specific administration guidelines.
	Indication isMedicationKnowledgeAdministrationGuidelinesIndication
	// Characteristics of the patient that are relevant to the administration guidelines (for example, height, weight, gender, etc.).
	PatientCharacteristics []MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics
}

Guidelines for the administration of the medication.

func (MedicationKnowledgeAdministrationGuidelines) MarshalJSON

func (MedicationKnowledgeAdministrationGuidelines) MarshalXML

func (MedicationKnowledgeAdministrationGuidelines) MemSize

func (*MedicationKnowledgeAdministrationGuidelines) UnmarshalXML

type MedicationKnowledgeAdministrationGuidelinesDosage

type MedicationKnowledgeAdministrationGuidelinesDosage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of dosage (for example, prophylaxis, maintenance, therapeutic, etc.).
	Type CodeableConcept
	// Dosage for the medication for the specific guidelines.
	Dosage []Dosage
}

Dosage for the medication for the specific guidelines.

func (MedicationKnowledgeAdministrationGuidelinesDosage) MarshalJSON

func (MedicationKnowledgeAdministrationGuidelinesDosage) MarshalXML

func (MedicationKnowledgeAdministrationGuidelinesDosage) MemSize

func (*MedicationKnowledgeAdministrationGuidelinesDosage) UnmarshalXML

type MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics

type MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Specific characteristic that is relevant to the administration guideline (e.g. height, weight, gender).
	Characteristic isMedicationKnowledgeAdministrationGuidelinesPatientCharacteristicsCharacteristic
	// The specific characteristic (e.g. height, weight, gender, etc.).
	Value []String
}

Characteristics of the patient that are relevant to the administration guidelines (for example, height, weight, gender, etc.).

func (MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics) MarshalJSON

func (MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics) MarshalXML

func (MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics) MemSize

func (*MedicationKnowledgeAdministrationGuidelinesPatientCharacteristics) UnmarshalXML

type MedicationKnowledgeCost

type MedicationKnowledgeCost struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The category of the cost information.  For example, manufacturers' cost, patient cost, claim reimbursement cost, actual acquisition cost.
	Type CodeableConcept
	// The source or owner that assigns the price to the medication.
	Source *String
	// The price of the medication.
	Cost Money
}

The price of the medication.

func (MedicationKnowledgeCost) MarshalJSON

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

func (MedicationKnowledgeCost) MarshalXML

func (r MedicationKnowledgeCost) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MedicationKnowledgeCost) MemSize

func (r MedicationKnowledgeCost) MemSize() int

func (*MedicationKnowledgeCost) UnmarshalXML

func (r *MedicationKnowledgeCost) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationKnowledgeDrugCharacteristic

type MedicationKnowledgeDrugCharacteristic struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code specifying which characteristic of the medicine is being described (for example, colour, shape, imprint).
	Type *CodeableConcept
	// Description of the characteristic.
	Value isMedicationKnowledgeDrugCharacteristicValue
}

Specifies descriptive properties of the medicine, such as color, shape, imprints, etc.

func (MedicationKnowledgeDrugCharacteristic) MarshalJSON

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

func (MedicationKnowledgeDrugCharacteristic) MarshalXML

func (MedicationKnowledgeDrugCharacteristic) MemSize

func (*MedicationKnowledgeDrugCharacteristic) UnmarshalXML

type MedicationKnowledgeIngredient

type MedicationKnowledgeIngredient struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The actual ingredient - either a substance (simple ingredient) or another medication.
	Item isMedicationKnowledgeIngredientItem
	// Indication of whether this ingredient affects the therapeutic action of the drug.
	IsActive *Boolean
	// Specifies how many (or how much) of the items there are in this Medication.  For example, 250 mg per tablet.  This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet.
	Strength *Ratio
}

Identifies a particular constituent of interest in the product.

func (MedicationKnowledgeIngredient) MarshalJSON

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

func (MedicationKnowledgeIngredient) MarshalXML

func (MedicationKnowledgeIngredient) MemSize

func (r MedicationKnowledgeIngredient) MemSize() int

func (*MedicationKnowledgeIngredient) UnmarshalXML

func (r *MedicationKnowledgeIngredient) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationKnowledgeKinetics

type MedicationKnowledgeKinetics struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The drug concentration measured at certain discrete points in time.
	AreaUnderCurve []Quantity
	// The median lethal dose of a drug.
	LethalDose50 []Quantity
	// The time required for any specified property (e.g., the concentration of a substance in the body) to decrease by half.
	HalfLifePeriod *Duration
}

The time course of drug absorption, distribution, metabolism and excretion of a medication from the body.

func (MedicationKnowledgeKinetics) MarshalJSON

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

func (MedicationKnowledgeKinetics) MarshalXML

func (r MedicationKnowledgeKinetics) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MedicationKnowledgeKinetics) MemSize

func (r MedicationKnowledgeKinetics) MemSize() int

func (*MedicationKnowledgeKinetics) UnmarshalXML

func (r *MedicationKnowledgeKinetics) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationKnowledgeMedicineClassification

type MedicationKnowledgeMedicineClassification struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of category for the medication (for example, therapeutic classification, therapeutic sub-classification).
	Type CodeableConcept
	// Specific category assigned to the medication (e.g. anti-infective, anti-hypertensive, antibiotic, etc.).
	Classification []CodeableConcept
}

Categorization of the medication within a formulary or classification system.

func (MedicationKnowledgeMedicineClassification) MarshalJSON

func (MedicationKnowledgeMedicineClassification) MarshalXML

func (MedicationKnowledgeMedicineClassification) MemSize

func (*MedicationKnowledgeMedicineClassification) UnmarshalXML

type MedicationKnowledgeMonitoringProgram

type MedicationKnowledgeMonitoringProgram struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type of program under which the medication is monitored.
	Type *CodeableConcept
	// Name of the reviewing program.
	Name *String
}

The program under which the medication is reviewed.

func (MedicationKnowledgeMonitoringProgram) MarshalJSON

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

func (MedicationKnowledgeMonitoringProgram) MarshalXML

func (MedicationKnowledgeMonitoringProgram) MemSize

func (*MedicationKnowledgeMonitoringProgram) UnmarshalXML

type MedicationKnowledgeMonograph

type MedicationKnowledgeMonograph struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The category of documentation about the medication. (e.g. professional monograph, patient education monograph).
	Type *CodeableConcept
	// Associated documentation about the medication.
	Source *Reference
}

Associated documentation about the medication.

func (MedicationKnowledgeMonograph) MarshalJSON

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

func (MedicationKnowledgeMonograph) MarshalXML

func (MedicationKnowledgeMonograph) MemSize

func (r MedicationKnowledgeMonograph) MemSize() int

func (*MedicationKnowledgeMonograph) UnmarshalXML

func (r *MedicationKnowledgeMonograph) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationKnowledgePackaging

type MedicationKnowledgePackaging struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code that defines the specific type of packaging that the medication can be found in (e.g. blister sleeve, tube, bottle).
	Type *CodeableConcept
	// The number of product units the package would contain if fully loaded.
	Quantity *Quantity
}

Information that only applies to packages (not products).

func (MedicationKnowledgePackaging) MarshalJSON

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

func (MedicationKnowledgePackaging) MarshalXML

func (MedicationKnowledgePackaging) MemSize

func (r MedicationKnowledgePackaging) MemSize() int

func (*MedicationKnowledgePackaging) UnmarshalXML

func (r *MedicationKnowledgePackaging) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationKnowledgeRegulatory

type MedicationKnowledgeRegulatory struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The authority that is specifying the regulations.
	RegulatoryAuthority Reference
	// Specifies if changes are allowed when dispensing a medication from a regulatory perspective.
	Substitution []MedicationKnowledgeRegulatorySubstitution
	// Specifies the schedule of a medication in jurisdiction.
	Schedule []MedicationKnowledgeRegulatorySchedule
	// The maximum number of units of the medication that can be dispensed in a period.
	MaxDispense *MedicationKnowledgeRegulatoryMaxDispense
}

Regulatory information about a medication.

func (MedicationKnowledgeRegulatory) MarshalJSON

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

func (MedicationKnowledgeRegulatory) MarshalXML

func (MedicationKnowledgeRegulatory) MemSize

func (r MedicationKnowledgeRegulatory) MemSize() int

func (*MedicationKnowledgeRegulatory) UnmarshalXML

func (r *MedicationKnowledgeRegulatory) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationKnowledgeRegulatoryMaxDispense

type MedicationKnowledgeRegulatoryMaxDispense struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The maximum number of units of the medication that can be dispensed.
	Quantity Quantity
	// The period that applies to the maximum number of units.
	Period *Duration
}

The maximum number of units of the medication that can be dispensed in a period.

func (MedicationKnowledgeRegulatoryMaxDispense) MarshalJSON

func (MedicationKnowledgeRegulatoryMaxDispense) MarshalXML

func (MedicationKnowledgeRegulatoryMaxDispense) MemSize

func (*MedicationKnowledgeRegulatoryMaxDispense) UnmarshalXML

type MedicationKnowledgeRegulatorySchedule

type MedicationKnowledgeRegulatorySchedule struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Specifies the specific drug schedule.
	Schedule CodeableConcept
}

Specifies the schedule of a medication in jurisdiction.

func (MedicationKnowledgeRegulatorySchedule) MarshalJSON

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

func (MedicationKnowledgeRegulatorySchedule) MarshalXML

func (MedicationKnowledgeRegulatorySchedule) MemSize

func (*MedicationKnowledgeRegulatorySchedule) UnmarshalXML

type MedicationKnowledgeRegulatorySubstitution

type MedicationKnowledgeRegulatorySubstitution struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Specifies the type of substitution allowed.
	Type CodeableConcept
	// Specifies if regulation allows for changes in the medication when dispensing.
	Allowed Boolean
}

Specifies if changes are allowed when dispensing a medication from a regulatory perspective.

func (MedicationKnowledgeRegulatorySubstitution) MarshalJSON

func (MedicationKnowledgeRegulatorySubstitution) MarshalXML

func (MedicationKnowledgeRegulatorySubstitution) MemSize

func (*MedicationKnowledgeRegulatorySubstitution) UnmarshalXML

type MedicationKnowledgeRelatedMedicationKnowledge

type MedicationKnowledgeRelatedMedicationKnowledge struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The category of the associated medication knowledge reference.
	Type CodeableConcept
	// Associated documentation about the associated medication knowledge.
	Reference []Reference
}

Associated or related knowledge about a medication.

func (MedicationKnowledgeRelatedMedicationKnowledge) MarshalJSON

func (MedicationKnowledgeRelatedMedicationKnowledge) MarshalXML

func (MedicationKnowledgeRelatedMedicationKnowledge) MemSize

func (*MedicationKnowledgeRelatedMedicationKnowledge) UnmarshalXML

type MedicationRequest

type MedicationRequest struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers associated with this medication request that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// A code specifying the current state of the order.  Generally, this will be active or completed state.
	Status Code
	// Captures the reason for the current state of the MedicationRequest.
	StatusReason *CodeableConcept
	// Whether the request is a proposal, plan, or an original order.
	Intent Code
	// Indicates the type of medication request (for example, where the medication is expected to be consumed or administered (i.e. inpatient or outpatient)).
	Category []CodeableConcept
	// Indicates how quickly the Medication Request should be addressed with respect to other requests.
	Priority *Code
	// If true indicates that the provider is asking for the medication request not to occur.
	DoNotPerform *Boolean
	// Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record.  It may also indicate the source of the report.
	Reported isMedicationRequestReported
	// Identifies the medication being requested. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications.
	Medication isMedicationRequestMedication
	// A link to a resource representing the person or set of individuals to whom the medication will be given.
	Subject Reference
	// The Encounter during which this [x] was created or to which the creation of this record is tightly associated.
	Encounter *Reference
	// Include additional information (for example, patient height and weight) that supports the ordering of the medication.
	SupportingInformation []Reference
	// The date (and perhaps time) when the prescription was initially written or authored on.
	AuthoredOn *DateTime
	// The individual, organization, or device that initiated the request and has responsibility for its activation.
	Requester *Reference
	// The specified desired performer of the medication treatment (e.g. the performer of the medication administration).
	Performer *Reference
	// Indicates the type of performer of the administration of the medication.
	PerformerType *CodeableConcept
	// The person who entered the order on behalf of another individual for example in the case of a verbal or a telephone order.
	Recorder *Reference
	// The reason or the indication for ordering or not ordering the medication.
	ReasonCode []CodeableConcept
	// Condition or observation that supports why the medication was ordered.
	ReasonReference []Reference
	// The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest.
	InstantiatesCanonical []Canonical
	// The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest.
	InstantiatesUri []Uri
	// A plan or request that is fulfilled in whole or in part by this medication request.
	BasedOn []Reference
	// A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition or prescription.
	GroupIdentifier *Identifier
	// The description of the overall patte3rn of the administration of the medication to the patient.
	CourseOfTherapyType *CodeableConcept
	// Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.
	Insurance []Reference
	// Extra information about the prescription that could not be conveyed by the other attributes.
	Note []Annotation
	// Indicates how the medication is to be used by the patient.
	DosageInstruction []Dosage
	// 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.
	DispenseRequest *MedicationRequestDispenseRequest
	// 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.
	Substitution *MedicationRequestSubstitution
	// A link to a resource representing an earlier order related order or prescription.
	PriorPrescription *Reference
	// 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, duplicate therapy, dosage alert etc.
	DetectedIssue []Reference
	// Links to Provenance records for past versions of this resource or fulfilling request or event resources that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the resource.
	EventHistory []Reference
}

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 (MedicationRequest) MarshalJSON

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

func (MedicationRequest) MarshalXML

func (r MedicationRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MedicationRequest) MemSize

func (r MedicationRequest) MemSize() int

func (MedicationRequest) ResourceId

func (r MedicationRequest) ResourceId() (string, bool)

func (MedicationRequest) ResourceType

func (r MedicationRequest) ResourceType() string

func (MedicationRequest) String

func (r MedicationRequest) String() string

func (*MedicationRequest) UnmarshalJSON

func (r *MedicationRequest) UnmarshalJSON(b []byte) error

func (*MedicationRequest) UnmarshalXML

func (r *MedicationRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationRequestDispenseRequest

type MedicationRequestDispenseRequest struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates the quantity or duration for the first dispense of the medication.
	InitialFill *MedicationRequestDispenseRequestInitialFill
	// The minimum period of time that must occur between dispenses of the medication.
	DispenseInterval *Duration
	// This indicates the validity period of a prescription (stale dating the Prescription).
	ValidityPeriod *Period
	// An integer indicating the number of times, in addition to the original dispense, (aka refills or repeats) that the patient can receive the prescribed medication. Usage Notes: This integer does not include the original order dispense. This means that if an order indicates dispense 30 tablets plus "3 repeats", then the order can be dispensed a total of 4 times and the patient can receive a total of 120 tablets.  A prescriber may explicitly say that zero refills are permitted after the initial dispense.
	NumberOfRepeatsAllowed *UnsignedInt
	// The amount that is to be dispensed for one fill.
	Quantity *Quantity
	// Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last.
	ExpectedSupplyDuration *Duration
	// Indicates the intended dispensing Organization specified by the prescriber.
	Performer *Reference
}

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.

func (MedicationRequestDispenseRequest) MarshalJSON

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

func (MedicationRequestDispenseRequest) MarshalXML

func (MedicationRequestDispenseRequest) MemSize

func (*MedicationRequestDispenseRequest) UnmarshalXML

type MedicationRequestDispenseRequestInitialFill

type MedicationRequestDispenseRequestInitialFill struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The amount or quantity to provide as part of the first dispense.
	Quantity *Quantity
	// The length of time that the first dispense is expected to last.
	Duration *Duration
}

Indicates the quantity or duration for the first dispense of the medication.

func (MedicationRequestDispenseRequestInitialFill) MarshalJSON

func (MedicationRequestDispenseRequestInitialFill) MarshalXML

func (MedicationRequestDispenseRequestInitialFill) MemSize

func (*MedicationRequestDispenseRequestInitialFill) UnmarshalXML

type MedicationRequestSubstitution

type MedicationRequestSubstitution struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// True if the prescriber allows a different drug to be dispensed from what was prescribed.
	Allowed isMedicationRequestSubstitutionAllowed
	// Indicates the reason for the substitution, or why substitution must or must not be performed.
	Reason *CodeableConcept
}

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.

func (MedicationRequestSubstitution) MarshalJSON

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

func (MedicationRequestSubstitution) MarshalXML

func (MedicationRequestSubstitution) MemSize

func (r MedicationRequestSubstitution) MemSize() int

func (*MedicationRequestSubstitution) UnmarshalXML

func (r *MedicationRequestSubstitution) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicationStatement

type MedicationStatement struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers associated with this Medication Statement that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// A plan, proposal or order that is fulfilled in whole or in part by this event.
	BasedOn []Reference
	// A larger event of which this particular event is a component or step.
	PartOf []Reference
	// A code representing the patient or other source's judgment about the state of the medication used that this statement is about.  Generally, this will be active or completed.
	Status Code
	// Captures the reason for the current state of the MedicationStatement.
	StatusReason []CodeableConcept
	// Indicates where the medication is expected to be consumed or administered.
	Category *CodeableConcept
	// Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.
	Medication isMedicationStatementMedication
	// The person, animal or group who is/was taking the medication.
	Subject Reference
	// The encounter or episode of care that establishes the context for this MedicationStatement.
	Context *Reference
	// The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.taken element is No).
	Effective isMedicationStatementEffective
	// The date when the medication statement was asserted by the information source.
	DateAsserted *DateTime
	// The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest.
	InformationSource *Reference
	// Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement.
	DerivedFrom []Reference
	// A reason for why the medication is being/was taken.
	ReasonCode []CodeableConcept
	// Condition or observation that supports why the medication is being/was taken.
	ReasonReference []Reference
	// Provides extra information about the medication statement that is not conveyed by the other attributes.
	Note []Annotation
	// Indicates how the medication is/was or should be taken by the patient.
	Dosage []Dosage
}

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 (MedicationStatement) MarshalJSON

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

func (MedicationStatement) MarshalXML

func (r MedicationStatement) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MedicationStatement) MemSize

func (r MedicationStatement) MemSize() int

func (MedicationStatement) ResourceId

func (r MedicationStatement) ResourceId() (string, bool)

func (MedicationStatement) ResourceType

func (r MedicationStatement) ResourceType() string

func (MedicationStatement) String

func (r MedicationStatement) String() string

func (*MedicationStatement) UnmarshalJSON

func (r *MedicationStatement) UnmarshalJSON(b []byte) error

func (*MedicationStatement) UnmarshalXML

func (r *MedicationStatement) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicinalProductDefinition

type MedicinalProductDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifier for this product. Could be an MPID. When in development or being regulated, products are typically referenced by official identifiers, assigned by a manufacturer or regulator, and unique to a product (which, when compared to a product instance being prescribed, is actually a product type). See also MedicinalProductDefinition.code.
	Identifier []Identifier
	// Regulatory type, e.g. Investigational or Authorized.
	Type *CodeableConcept
	// If this medicine applies to human or veterinary uses.
	Domain *CodeableConcept
	// A business identifier relating to a specific version of the product, this is commonly used to support revisions to an existing product.
	Version *String
	// The status within the lifecycle of this product record. A high-level status, this is not intended to duplicate details carried elsewhere such as legal status, or authorization status.
	Status *CodeableConcept
	// The date at which the given status became applicable.
	StatusDate *DateTime
	// General description of this product.
	Description *Markdown
	// The dose form for a single part product, or combined form of a multiple part product. This is one concept that describes all the components. It does not represent the form with components physically mixed, if that might be necessary, for which see (AdministrableProductDefinition.administrableDoseForm).
	CombinedPharmaceuticalDoseForm *CodeableConcept
	// The path by which the product is taken into or makes contact with the body. In some regions this is referred to as the licenced or approved route. See also AdministrableProductDefinition resource. MedicinalProductDefinition.route is the same concept as AdministrableProductDefinition.routeOfAdministration.code, and they cannot be used together.
	Route []CodeableConcept
	// Description of indication(s) for this product, used when structured indications are not required. In cases where structured indications are required, they are captured using the ClinicalUseDefinition resource. An indication is a medical situation for which using the product is appropriate.
	Indication *Markdown
	// The legal status of supply of the medicinal product as classified by the regulator.
	LegalStatusOfSupply *CodeableConcept
	// Whether the Medicinal Product is subject to additional monitoring for regulatory reasons, such as heightened reporting requirements.
	AdditionalMonitoringIndicator *CodeableConcept
	// Whether the Medicinal Product is subject to special measures for regulatory reasons, such as a requirement to conduct post-authorisation studies.
	SpecialMeasures []CodeableConcept
	// If authorised for use in children, or infants, neonates etc.
	PediatricUseIndicator *CodeableConcept
	// Allows the product to be classified by various systems, commonly WHO ATC.
	Classification []CodeableConcept
	// Marketing status of the medicinal product, in contrast to marketing authorization. This refers to the product being actually 'on the market' as opposed to being allowed to be on the market (which is an authorization).
	MarketingStatus []MarketingStatus
	// Package type for the product. See also the PackagedProductDefinition resource.
	PackagedMedicinalProduct []CodeableConcept
	// The ingredients of this medicinal product - when not detailed in other resources. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource, or indirectly via incoming AdministrableProductDefinition, PackagedProductDefinition or ManufacturedItemDefinition references. In cases where those levels of detail are not used, the ingredients may be specified directly here as codes.
	Ingredient []CodeableConcept
	// Any component of the drug product which is not the chemical entity defined as the drug substance, or an excipient in the drug product. This includes process-related impurities and contaminants, product-related impurities including degradation products.
	Impurity []CodeableReference
	// Additional information or supporting documentation about the medicinal product.
	AttachedDocument []Reference
	// A master file for the medicinal product (e.g. Pharmacovigilance System Master File). Drug master files (DMFs) are documents submitted to regulatory agencies to provide confidential detailed information about facilities, processes or articles used in the manufacturing, processing, packaging and storing of drug products.
	MasterFile []Reference
	// A product specific contact, person (in a role), or an organization.
	Contact []MedicinalProductDefinitionContact
	// Clinical trials or studies that this product is involved in.
	ClinicalTrial []Reference
	// A code that this product is known by, usually within some formal terminology, perhaps assigned by a third party (i.e. not the manufacturer or regulator). Products (types of medications) tend to be known by identifiers during development and within regulatory process. However when they are prescribed they tend to be identified by codes. The same product may be have multiple codes, applied to it by multiple organizations.
	Code []Coding
	// The product's name, including full name and possibly coded parts.
	Name []MedicinalProductDefinitionName
	// Reference to another product, e.g. for linking authorised to investigational product, or a virtual product.
	CrossReference []MedicinalProductDefinitionCrossReference
	// A manufacturing or administrative process or step associated with (or performed on) the medicinal product.
	Operation []MedicinalProductDefinitionOperation
	// Allows the key product features to be recorded, such as "sugar free", "modified release", "parallel import".
	Characteristic []MedicinalProductDefinitionCharacteristic
}

Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.).

func (MedicinalProductDefinition) MarshalJSON

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

func (MedicinalProductDefinition) MarshalXML

func (r MedicinalProductDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MedicinalProductDefinition) MemSize

func (r MedicinalProductDefinition) MemSize() int

func (MedicinalProductDefinition) ResourceId

func (r MedicinalProductDefinition) ResourceId() (string, bool)

func (MedicinalProductDefinition) ResourceType

func (r MedicinalProductDefinition) ResourceType() string

func (MedicinalProductDefinition) String

func (*MedicinalProductDefinition) UnmarshalJSON

func (r *MedicinalProductDefinition) UnmarshalJSON(b []byte) error

func (*MedicinalProductDefinition) UnmarshalXML

func (r *MedicinalProductDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicinalProductDefinitionCharacteristic

type MedicinalProductDefinitionCharacteristic struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code expressing the type of characteristic.
	Type CodeableConcept
	// A value for the characteristic.
	Value isMedicinalProductDefinitionCharacteristicValue
}

Allows the key product features to be recorded, such as "sugar free", "modified release", "parallel import".

func (MedicinalProductDefinitionCharacteristic) MarshalJSON

func (MedicinalProductDefinitionCharacteristic) MarshalXML

func (MedicinalProductDefinitionCharacteristic) MemSize

func (*MedicinalProductDefinitionCharacteristic) UnmarshalXML

type MedicinalProductDefinitionContact

type MedicinalProductDefinitionContact struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information.
	Type *CodeableConcept
	// A product specific contact, person (in a role), or an organization.
	Contact Reference
}

A product specific contact, person (in a role), or an organization.

func (MedicinalProductDefinitionContact) MarshalJSON

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

func (MedicinalProductDefinitionContact) MarshalXML

func (MedicinalProductDefinitionContact) MemSize

func (*MedicinalProductDefinitionContact) UnmarshalXML

type MedicinalProductDefinitionCrossReference

type MedicinalProductDefinitionCrossReference struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Reference to another product, e.g. for linking authorised to investigational product.
	Product CodeableReference
	// The type of relationship, for instance branded to generic, virtual to actual product, product to development product (investigational), parallel import version.
	Type *CodeableConcept
}

Reference to another product, e.g. for linking authorised to investigational product, or a virtual product.

func (MedicinalProductDefinitionCrossReference) MarshalJSON

func (MedicinalProductDefinitionCrossReference) MarshalXML

func (MedicinalProductDefinitionCrossReference) MemSize

func (*MedicinalProductDefinitionCrossReference) UnmarshalXML

type MedicinalProductDefinitionName

type MedicinalProductDefinitionName struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The full product name.
	ProductName String
	// Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary.
	Type *CodeableConcept
	// Coding words or phrases of the name.
	NamePart []MedicinalProductDefinitionNameNamePart
	// Country and jurisdiction where the name applies, and associated language.
	CountryLanguage []MedicinalProductDefinitionNameCountryLanguage
}

The product's name, including full name and possibly coded parts.

func (MedicinalProductDefinitionName) MarshalJSON

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

func (MedicinalProductDefinitionName) MarshalXML

func (MedicinalProductDefinitionName) MemSize

func (r MedicinalProductDefinitionName) MemSize() int

func (*MedicinalProductDefinitionName) UnmarshalXML

func (r *MedicinalProductDefinitionName) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MedicinalProductDefinitionNameCountryLanguage

type MedicinalProductDefinitionNameCountryLanguage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Country code for where this name applies.
	Country CodeableConcept
	// Jurisdiction code for where this name applies. A jurisdiction may be a sub- or supra-national entity (e.g. a state or a geographic region).
	Jurisdiction *CodeableConcept
	// Language code for this name.
	Language CodeableConcept
}

Country and jurisdiction where the name applies, and associated language.

func (MedicinalProductDefinitionNameCountryLanguage) MarshalJSON

func (MedicinalProductDefinitionNameCountryLanguage) MarshalXML

func (MedicinalProductDefinitionNameCountryLanguage) MemSize

func (*MedicinalProductDefinitionNameCountryLanguage) UnmarshalXML

type MedicinalProductDefinitionNameNamePart

type MedicinalProductDefinitionNameNamePart struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A fragment of a product name.
	Part String
	// Identifying type for this part of the name (e.g. strength part).
	Type CodeableConcept
}

Coding words or phrases of the name.

func (MedicinalProductDefinitionNameNamePart) MarshalJSON

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

func (MedicinalProductDefinitionNameNamePart) MarshalXML

func (MedicinalProductDefinitionNameNamePart) MemSize

func (*MedicinalProductDefinitionNameNamePart) UnmarshalXML

type MedicinalProductDefinitionOperation

type MedicinalProductDefinitionOperation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of manufacturing operation e.g. manufacturing itself, re-packaging. For the authorization of this, a RegulatedAuthorization would point to the same plan or activity referenced here.
	Type *CodeableReference
	// Date range of applicability.
	EffectiveDate *Period
	// The organization or establishment responsible for (or associated with) the particular process or step, examples include the manufacturer, importer, agent.
	Organization []Reference
	// Specifies whether this particular business or manufacturing process is considered proprietary or confidential.
	ConfidentialityIndicator *CodeableConcept
}

A manufacturing or administrative process or step associated with (or performed on) the medicinal product.

func (MedicinalProductDefinitionOperation) MarshalJSON

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

func (MedicinalProductDefinitionOperation) MarshalXML

func (MedicinalProductDefinitionOperation) MemSize

func (*MedicinalProductDefinitionOperation) UnmarshalXML

type MessageDefinition

type MessageDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The business identifier that is used to reference the MessageDefinition and *is* expected to be consistent from server to server.
	Url *Uri
	// A formal identifier that is used to identify this message definition when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the message definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the message definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the message definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the message definition.
	Title *String
	// A MessageDefinition that is superseded by this definition.
	Replaces []Canonical
	// The status of this message definition. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this message definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the message definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the message definition changes.
	Date DateTime
	// The name of the organization or individual that published the message definition.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the message definition from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate message definition instances.
	UseContext []UsageContext
	// A legal or geographic region in which the message definition is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this message definition is needed and why it has been designed as it has.
	Purpose *Markdown
	// A copyright statement relating to the message definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the message definition.
	Copyright *Markdown
	// The MessageDefinition that is the basis for the contents of this resource.
	Base *Canonical
	// Identifies a protocol or workflow that this MessageDefinition represents a step in.
	Parent []Canonical
	// Event code or link to the EventDefinition.
	Event isMessageDefinitionEvent
	// The impact of the content of the message.
	Category *Code
	// 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.
	Focus []MessageDefinitionFocus
	// Declare at a message definition level whether a response is required or only upon error or success, or never.
	ResponseRequired *Code
	// Indicates what types of messages may be sent as an application-level response to this message.
	AllowedResponse []MessageDefinitionAllowedResponse
	// Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [GraphDefinition](graphdefinition.html) that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources.
	Graph []Canonical
}

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.

Allows messages to be defined once and re-used across systems.

func (MessageDefinition) MarshalJSON

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

func (MessageDefinition) MarshalXML

func (r MessageDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MessageDefinition) MemSize

func (r MessageDefinition) MemSize() int

func (MessageDefinition) ResourceId

func (r MessageDefinition) ResourceId() (string, bool)

func (MessageDefinition) ResourceType

func (r MessageDefinition) ResourceType() string

func (MessageDefinition) String

func (r MessageDefinition) String() string

func (*MessageDefinition) UnmarshalJSON

func (r *MessageDefinition) UnmarshalJSON(b []byte) error

func (*MessageDefinition) UnmarshalXML

func (r *MessageDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MessageDefinitionAllowedResponse

type MessageDefinitionAllowedResponse struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A reference to the message definition that must be adhered to by this supported response.
	Message Canonical
	// Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses).
	Situation *Markdown
}

Indicates what types of messages may be sent as an application-level response to this message.

func (MessageDefinitionAllowedResponse) MarshalJSON

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

func (MessageDefinitionAllowedResponse) MarshalXML

func (MessageDefinitionAllowedResponse) MemSize

func (*MessageDefinitionAllowedResponse) UnmarshalXML

type MessageDefinitionFocus

type MessageDefinitionFocus struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The kind of resource that must be the focus for this message.
	Code Code
	// A profile that reflects constraints for the focal resource (and potentially for related resources).
	Profile *Canonical
	// Identifies the minimum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.
	Min UnsignedInt
	// Identifies the maximum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.
	Max *String
}

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.

func (MessageDefinitionFocus) MarshalJSON

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

func (MessageDefinitionFocus) MarshalXML

func (r MessageDefinitionFocus) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MessageDefinitionFocus) MemSize

func (r MessageDefinitionFocus) MemSize() int

func (*MessageDefinitionFocus) UnmarshalXML

func (r *MessageDefinitionFocus) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MessageHeader

type MessageHeader struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events".  Alternatively uri to the EventDefinition.
	Event isMessageHeaderEvent
	// The destination application which the message is intended for.
	Destination []MessageHeaderDestination
	// Identifies the sending system to allow the use of a trust relationship.
	Sender *Reference
	// The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.
	Enterer *Reference
	// The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.
	Author *Reference
	// The source application from which this message originated.
	Source MessageHeaderSource
	// The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.
	Responsible *Reference
	// Coded indication of the cause for the event - indicates  a reason for the occurrence of the event that is a focus of this message.
	Reason *CodeableConcept
	// Information about the message that this message is a response to.  Only present if this message is a response.
	Response *MessageHeaderResponse
	// The actual data of the message - a reference to the root/focus class of the event.
	Focus []Reference
	// Permanent link to the MessageDefinition for this message.
	Definition *Canonical
}

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.

Many implementations are not prepared to use REST and need a messaging based infrastructure.

func (MessageHeader) MarshalJSON

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

func (MessageHeader) MarshalXML

func (r MessageHeader) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MessageHeader) MemSize

func (r MessageHeader) MemSize() int

func (MessageHeader) ResourceId

func (r MessageHeader) ResourceId() (string, bool)

func (MessageHeader) ResourceType

func (r MessageHeader) ResourceType() string

func (MessageHeader) String

func (r MessageHeader) String() string

func (*MessageHeader) UnmarshalJSON

func (r *MessageHeader) UnmarshalJSON(b []byte) error

func (*MessageHeader) UnmarshalXML

func (r *MessageHeader) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MessageHeaderDestination

type MessageHeaderDestination struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Human-readable name for the target system.
	Name *String
	// Identifies the target end system in situations where the initial message transmission is to an intermediary system.
	Target *Reference
	// Indicates where the message should be routed to.
	Endpoint Url
	// Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.
	Receiver *Reference
}

The destination application which the message is intended for.

func (MessageHeaderDestination) MarshalJSON

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

func (MessageHeaderDestination) MarshalXML

func (r MessageHeaderDestination) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MessageHeaderDestination) MemSize

func (r MessageHeaderDestination) MemSize() int

func (*MessageHeaderDestination) UnmarshalXML

func (r *MessageHeaderDestination) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MessageHeaderResponse

type MessageHeaderResponse struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The MessageHeader.id of the message to which this message is a response.
	Identifier Id
	// Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not.
	Code Code
	// Full details of any issues found in the message.
	Details *Reference
}

Information about the message that this message is a response to. Only present if this message is a response.

func (MessageHeaderResponse) MarshalJSON

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

func (MessageHeaderResponse) MarshalXML

func (r MessageHeaderResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MessageHeaderResponse) MemSize

func (r MessageHeaderResponse) MemSize() int

func (*MessageHeaderResponse) UnmarshalXML

func (r *MessageHeaderResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MessageHeaderSource

type MessageHeaderSource struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Human-readable name for the source system.
	Name *String
	// May include configuration or other information useful in debugging.
	Software *String
	// Can convey versions of multiple systems in situations where a message passes through multiple hands.
	Version *String
	// An e-mail, phone, website or other contact point to use to resolve issues with message communications.
	Contact *ContactPoint
	// Identifies the routing target to send acknowledgements to.
	Endpoint Url
}

The source application from which this message originated.

func (MessageHeaderSource) MarshalJSON

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

func (MessageHeaderSource) MarshalXML

func (r MessageHeaderSource) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MessageHeaderSource) MemSize

func (r MessageHeaderSource) MemSize() int

func (*MessageHeaderSource) UnmarshalXML

func (r *MessageHeaderSource) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Meta

type Meta struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.
	VersionId *Id
	// When the resource last changed - e.g. when the version changed.
	LastUpdated *Instant
	// A uri that identifies the source system of the resource. This provides a minimal amount of [Provenance](provenance.html#) information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.
	Source *Uri
	// A list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url](structuredefinition-definitions.html#StructureDefinition.url).
	Profile []Canonical
	// Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
	Security []Coding
	// Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
	Tag []Coding
}

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.

func (Meta) MarshalJSON

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

func (Meta) MarshalXML

func (r Meta) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Meta) MemSize

func (r Meta) MemSize() int

func (Meta) String

func (r Meta) String() string

func (*Meta) UnmarshalXML

func (r *Meta) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MolecularSequence

type MolecularSequence struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier for this particular sequence instance. This is a FHIR-defined id.
	Identifier []Identifier
	// Amino Acid Sequence/ DNA Sequence / RNA Sequence.
	Type *Code
	// Whether the sequence is numbered starting at 0 (0-based numbering or coordinates, inclusive start, exclusive end) or starting at 1 (1-based numbering, inclusive start and inclusive end).
	CoordinateSystem Integer
	// The patient whose sequencing results are described by this resource.
	Patient *Reference
	// Specimen used for sequencing.
	Specimen *Reference
	// The method for sequencing, for example, chip information.
	Device *Reference
	// The organization or lab that should be responsible for this result.
	Performer *Reference
	// The number of copies of the sequence of interest. (RNASeq).
	Quantity *Quantity
	// A sequence that is used as a reference to describe variants that are present in a sequence analyzed.
	ReferenceSeq *MolecularSequenceReferenceSeq
	// 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.
	Variant []MolecularSequenceVariant
	// Sequence that was observed. It is the result marked by referenceSeq along with variant records on referenceSeq. This shall start from referenceSeq.windowStart and end by referenceSeq.windowEnd.
	ObservedSeq *String
	// 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)).
	Quality []MolecularSequenceQuality
	// Coverage (read depth or depth) is the average number of reads representing a given nucleotide in the reconstructed sequence.
	ReadCoverage *Integer
	// Configurations of the external repository. The repository shall store target's observedSeq or records related with target's observedSeq.
	Repository []MolecularSequenceRepository
	// Pointer to next atomic sequence which at most contains one variant.
	Pointer []Reference
	// Information about chromosome structure variation.
	StructureVariant []MolecularSequenceStructureVariant
}

Raw data describing a biological sequence.

func (MolecularSequence) MarshalJSON

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

func (MolecularSequence) MarshalXML

func (r MolecularSequence) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MolecularSequence) MemSize

func (r MolecularSequence) MemSize() int

func (MolecularSequence) ResourceId

func (r MolecularSequence) ResourceId() (string, bool)

func (MolecularSequence) ResourceType

func (r MolecularSequence) ResourceType() string

func (MolecularSequence) String

func (r MolecularSequence) String() string

func (*MolecularSequence) UnmarshalJSON

func (r *MolecularSequence) UnmarshalJSON(b []byte) error

func (*MolecularSequence) UnmarshalXML

func (r *MolecularSequence) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MolecularSequenceQuality

type MolecularSequenceQuality struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// INDEL / SNP / Undefined variant.
	Type Code
	// Gold standard sequence used for comparing against.
	StandardSequence *CodeableConcept
	// Start position of the sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.
	Start *Integer
	// End position of the sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.
	End *Integer
	// The score of an experimentally derived feature such as a p-value ([SO:0001685](http://www.sequenceontology.org/browser/current_svn/term/SO:0001685)).
	Score *Quantity
	// Which method is used to get sequence quality.
	Method *CodeableConcept
	// True positives, from the perspective of the truth data, i.e. the number of sites in the Truth Call Set for which there are paths through the Query Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event.
	TruthTp *Decimal
	// True positives, from the perspective of the query data, i.e. the number of sites in the Query Call Set for which there are paths through the Truth Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the event.
	QueryTp *Decimal
	// False negatives, i.e. the number of sites in the Truth Call Set for which there is no path through the Query Call Set that is consistent with all of the alleles at this site, or sites for which there is an inaccurate genotype call for the event. Sites with correct variant but incorrect genotype are counted here.
	TruthFn *Decimal
	// False positives, i.e. the number of sites in the Query Call Set for which there is no path through the Truth Call Set that is consistent with this site. Sites with correct variant but incorrect genotype are counted here.
	QueryFp *Decimal
	// The number of false positives where the non-REF alleles in the Truth and Query Call Sets match (i.e. cases where the truth is 1/1 and the query is 0/1 or similar).
	GtFp *Decimal
	// QUERY.TP / (QUERY.TP + QUERY.FP).
	Precision *Decimal
	// TRUTH.TP / (TRUTH.TP + TRUTH.FN).
	Recall *Decimal
	// Harmonic mean of Recall and Precision, computed as: 2 * precision * recall / (precision + recall).
	FScore *Decimal
	// Receiver Operator Characteristic (ROC) Curve  to give sensitivity/specificity tradeoff.
	Roc *MolecularSequenceQualityRoc
}

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)).

func (MolecularSequenceQuality) MarshalJSON

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

func (MolecularSequenceQuality) MarshalXML

func (r MolecularSequenceQuality) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MolecularSequenceQuality) MemSize

func (r MolecularSequenceQuality) MemSize() int

func (*MolecularSequenceQuality) UnmarshalXML

func (r *MolecularSequenceQuality) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MolecularSequenceQualityRoc

type MolecularSequenceQualityRoc struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Invidual data point representing the GQ (genotype quality) score threshold.
	Score []Integer
	// The number of true positives if the GQ score threshold was set to "score" field value.
	NumTp []Integer
	// The number of false positives if the GQ score threshold was set to "score" field value.
	NumFp []Integer
	// The number of false negatives if the GQ score threshold was set to "score" field value.
	NumFn []Integer
	// Calculated precision if the GQ score threshold was set to "score" field value.
	Precision []Decimal
	// Calculated sensitivity if the GQ score threshold was set to "score" field value.
	Sensitivity []Decimal
	// Calculated fScore if the GQ score threshold was set to "score" field value.
	FMeasure []Decimal
}

Receiver Operator Characteristic (ROC) Curve to give sensitivity/specificity tradeoff.

func (MolecularSequenceQualityRoc) MarshalJSON

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

func (MolecularSequenceQualityRoc) MarshalXML

func (r MolecularSequenceQualityRoc) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MolecularSequenceQualityRoc) MemSize

func (r MolecularSequenceQualityRoc) MemSize() int

func (*MolecularSequenceQualityRoc) UnmarshalXML

func (r *MolecularSequenceQualityRoc) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MolecularSequenceReferenceSeq

type MolecularSequenceReferenceSeq struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Structural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340)).
	Chromosome *CodeableConcept
	// The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'.  Version number must be included if a versioned release of a primary build was used.
	GenomeBuild *String
	// A relative reference to a DNA strand based on gene orientation. The strand that contains the open reading frame of the gene is the "sense" strand, and the opposite complementary strand is the "antisense" strand.
	Orientation *Code
	// Reference identifier of reference sequence submitted to NCBI. It must match the type in the MolecularSequence.type field. For example, the prefix, “NG_” identifies reference sequence for genes, “NM_” for messenger RNA transcripts, and “NP_” for amino acid sequences.
	ReferenceSeqId *CodeableConcept
	// A pointer to another MolecularSequence entity as reference sequence.
	ReferenceSeqPointer *Reference
	// A string like "ACGT".
	ReferenceSeqString *String
	// An absolute reference to a strand. The Watson strand is the strand whose 5'-end is on the short arm of the chromosome, and the Crick strand as the one whose 5'-end is on the long arm.
	Strand *Code
	// Start position of the window on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.
	WindowStart *Integer
	// End position of the window on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.
	WindowEnd *Integer
}

A sequence that is used as a reference to describe variants that are present in a sequence analyzed.

func (MolecularSequenceReferenceSeq) MarshalJSON

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

func (MolecularSequenceReferenceSeq) MarshalXML

func (MolecularSequenceReferenceSeq) MemSize

func (r MolecularSequenceReferenceSeq) MemSize() int

func (*MolecularSequenceReferenceSeq) UnmarshalXML

func (r *MolecularSequenceReferenceSeq) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MolecularSequenceRepository

type MolecularSequenceRepository struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Click and see / RESTful API / Need login to see / RESTful API with authentication / Other ways to see resource.
	Type Code
	// URI of an external repository which contains further details about the genetics data.
	Url *Uri
	// URI of an external repository which contains further details about the genetics data.
	Name *String
	// Id of the variant in this external repository. The server will understand how to use this id to call for more info about datasets in external repository.
	DatasetId *String
	// Id of the variantset in this external repository. The server will understand how to use this id to call for more info about variantsets in external repository.
	VariantsetId *String
	// Id of the read in this external repository.
	ReadsetId *String
}

Configurations of the external repository. The repository shall store target's observedSeq or records related with target's observedSeq.

func (MolecularSequenceRepository) MarshalJSON

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

func (MolecularSequenceRepository) MarshalXML

func (r MolecularSequenceRepository) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MolecularSequenceRepository) MemSize

func (r MolecularSequenceRepository) MemSize() int

func (*MolecularSequenceRepository) UnmarshalXML

func (r *MolecularSequenceRepository) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MolecularSequenceStructureVariant

type MolecularSequenceStructureVariant struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Information about chromosome structure variation DNA change type.
	VariantType *CodeableConcept
	// Used to indicate if the outer and inner start-end values have the same meaning.
	Exact *Boolean
	// Length of the variant chromosome.
	Length *Integer
	// Structural variant outer.
	Outer *MolecularSequenceStructureVariantOuter
	// Structural variant inner.
	Inner *MolecularSequenceStructureVariantInner
}

Information about chromosome structure variation.

func (MolecularSequenceStructureVariant) MarshalJSON

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

func (MolecularSequenceStructureVariant) MarshalXML

func (MolecularSequenceStructureVariant) MemSize

func (*MolecularSequenceStructureVariant) UnmarshalXML

type MolecularSequenceStructureVariantInner

type MolecularSequenceStructureVariantInner struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Structural variant inner start. If the coordinate system is either 0-based or 1-based, then start position is inclusive.
	Start *Integer
	// Structural variant inner end. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.
	End *Integer
}

Structural variant inner.

func (MolecularSequenceStructureVariantInner) MarshalJSON

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

func (MolecularSequenceStructureVariantInner) MarshalXML

func (MolecularSequenceStructureVariantInner) MemSize

func (*MolecularSequenceStructureVariantInner) UnmarshalXML

type MolecularSequenceStructureVariantOuter

type MolecularSequenceStructureVariantOuter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Structural variant outer start. If the coordinate system is either 0-based or 1-based, then start position is inclusive.
	Start *Integer
	// Structural variant outer end. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.
	End *Integer
}

Structural variant outer.

func (MolecularSequenceStructureVariantOuter) MarshalJSON

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

func (MolecularSequenceStructureVariantOuter) MarshalXML

func (MolecularSequenceStructureVariantOuter) MemSize

func (*MolecularSequenceStructureVariantOuter) UnmarshalXML

type MolecularSequenceVariant

type MolecularSequenceVariant struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Start position of the variant on the  reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.
	Start *Integer
	// End position of the variant on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.
	End *Integer
	// An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)).  Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed  sequence. When the sequence  type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.
	ObservedAllele *String
	// An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence  type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.
	ReferenceAllele *String
	// Extended CIGAR string for aligning the sequence with reference bases. See detailed documentation [here](http://support.illumina.com/help/SequencingAnalysisWorkflow/Content/Vault/Informatics/Sequencing_Analysis/CASAVA/swSEQ_mCA_ExtendedCIGARFormat.htm).
	Cigar *String
	// A pointer to an Observation containing variant information.
	VariantPointer *Reference
}

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.

func (MolecularSequenceVariant) MarshalJSON

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

func (MolecularSequenceVariant) MarshalXML

func (r MolecularSequenceVariant) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MolecularSequenceVariant) MemSize

func (r MolecularSequenceVariant) MemSize() int

func (*MolecularSequenceVariant) UnmarshalXML

func (r *MolecularSequenceVariant) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Money

type Money struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Numerical value (with implicit precision).
	Value *Decimal
	// ISO 4217 Currency Code.
	Currency *Code
}

Base StructureDefinition for Money Type: An amount of economic utility in some recognized currency.

func (Money) MarshalJSON

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

func (Money) MarshalXML

func (r Money) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Money) MemSize

func (r Money) MemSize() int

func (Money) String

func (r Money) String() string

func (*Money) UnmarshalXML

func (r *Money) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type MoneyQuantity

type MoneyQuantity struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The value of the measured amount. The value includes an implicit precision in the presentation of the value.
	Value *Decimal
	// How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.
	Comparator *Code
	// A human-readable form of the unit.
	Unit *String
	// The identification of the system that provides the coded form of the unit.
	System *Uri
	// A computer processable form of the unit in some unit representation system.
	Code *Code
}

An amount of money. With regard to precision, see [Decimal Precision](datatypes.html#precision)

func (MoneyQuantity) MarshalJSON

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

func (MoneyQuantity) MarshalXML

func (r MoneyQuantity) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (MoneyQuantity) MemSize

func (r MoneyQuantity) MemSize() int

func (MoneyQuantity) String

func (r MoneyQuantity) String() string

func (*MoneyQuantity) UnmarshalXML

func (r *MoneyQuantity) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NamingSystem

type NamingSystem struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name String
	// The status of this naming system. Enables tracking the life-cycle of the content.
	Status Code
	// Indicates the purpose for the naming system - what kinds of things does it make unique?
	Kind Code
	// The date  (and optionally time) when the naming system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the naming system changes.
	Date DateTime
	// The name of the organization or individual that published the naming system.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.
	Responsible *String
	// Categorizes a naming system for easier search by grouping related naming systems.
	Type *CodeableConcept
	// A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate naming system instances.
	UseContext []UsageContext
	// A legal or geographic region in which the naming system is intended to be used.
	Jurisdiction []CodeableConcept
	// Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.
	Usage *String
	// Indicates how the system may be identified when referenced in electronic exchange.
	UniqueId []NamingSystemUniqueId
}

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 (NamingSystem) MarshalJSON

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

func (NamingSystem) MarshalXML

func (r NamingSystem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (NamingSystem) MemSize

func (r NamingSystem) MemSize() int

func (NamingSystem) ResourceId

func (r NamingSystem) ResourceId() (string, bool)

func (NamingSystem) ResourceType

func (r NamingSystem) ResourceType() string

func (NamingSystem) String

func (r NamingSystem) String() string

func (*NamingSystem) UnmarshalJSON

func (r *NamingSystem) UnmarshalJSON(b []byte) error

func (*NamingSystem) UnmarshalXML

func (r *NamingSystem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NamingSystemUniqueId

type NamingSystemUniqueId struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifies the unique identifier scheme used for this particular identifier.
	Type Code
	// The string that should be sent over the wire to identify the code system or identifier system.
	Value String
	// Indicates whether this identifier is the "preferred" identifier of this type.
	Preferred *Boolean
	// Notes about the past or intended usage of this identifier.
	Comment *String
	// Identifies the period of time over which this identifier is considered appropriate to refer to the naming system.  Outside of this window, the identifier might be non-deterministic.
	Period *Period
}

Indicates how the system may be identified when referenced in electronic exchange.

func (NamingSystemUniqueId) MarshalJSON

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

func (NamingSystemUniqueId) MarshalXML

func (r NamingSystemUniqueId) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (NamingSystemUniqueId) MemSize

func (r NamingSystemUniqueId) MemSize() int

func (*NamingSystemUniqueId) UnmarshalXML

func (r *NamingSystemUniqueId) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Narrative

type Narrative struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data.
	Status Code
	// The actual narrative content, a stripped down version of XHTML.
	Div Xhtml
}

Base StructureDefinition for Narrative Type: A human-readable summary of the resource conveying the essential clinical and business information for the resource.

func (Narrative) MarshalJSON

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

func (Narrative) MarshalXML

func (r Narrative) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Narrative) MemSize

func (r Narrative) MemSize() int

func (Narrative) String

func (r Narrative) String() string

func (*Narrative) UnmarshalXML

func (r *Narrative) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NutritionOrder

type NutritionOrder struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers assigned to this order by the order sender or by the order receiver.
	Identifier []Identifier
	// The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder.
	InstantiatesCanonical []Canonical
	// The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder.
	InstantiatesUri []Uri
	// The URL pointing to a protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder.
	Instantiates []Uri
	// The workflow status of the nutrition order/request.
	Status Code
	// Indicates the level of authority/intentionality associated with the NutrionOrder and where the request fits into the workflow chain.
	Intent Code
	// The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding.
	Patient Reference
	// An encounter that provides additional information about the healthcare context in which this request is made.
	Encounter *Reference
	// The date and time that this nutrition order was requested.
	DateTime DateTime
	// The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings.
	Orderer *Reference
	// A link to a record of allergies or intolerances  which should be included in the nutrition order.
	AllergyIntolerance []Reference
	// This modifier is used to convey order-specific modifiers about the type of food that should be given. These can be derived from patient allergies, intolerances, or preferences such as Halal, Vegan or Kosher. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings.
	FoodPreferenceModifier []CodeableConcept
	// This modifier is used to convey Order-specific modifier about the type of oral food or oral fluids that should not be given. These can be derived from patient allergies, intolerances, or preferences such as No Red Meat, No Soy or No Wheat or  Gluten-Free.  While it should not be necessary to repeat allergy or intolerance information captured in the referenced AllergyIntolerance resource in the excludeFoodModifier, this element may be used to convey additional specificity related to foods that should be eliminated from the patient’s diet for any reason.  This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings.
	ExcludeFoodModifier []CodeableConcept
	// Diet given orally in contrast to enteral (tube) feeding.
	OralDiet *NutritionOrderOralDiet
	// Oral nutritional products given in order to add further nutritional value to the patient's diet.
	Supplement []NutritionOrderSupplement
	// Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity.
	EnteralFormula *NutritionOrderEnteralFormula
	// Comments made about the {{title}} by the requester, performer, subject or other participants.
	Note []Annotation
}

A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.

func (NutritionOrder) MarshalJSON

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

func (NutritionOrder) MarshalXML

func (r NutritionOrder) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (NutritionOrder) MemSize

func (r NutritionOrder) MemSize() int

func (NutritionOrder) ResourceId

func (r NutritionOrder) ResourceId() (string, bool)

func (NutritionOrder) ResourceType

func (r NutritionOrder) ResourceType() string

func (NutritionOrder) String

func (r NutritionOrder) String() string

func (*NutritionOrder) UnmarshalJSON

func (r *NutritionOrder) UnmarshalJSON(b []byte) error

func (*NutritionOrder) UnmarshalXML

func (r *NutritionOrder) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NutritionOrderEnteralFormula

type NutritionOrderEnteralFormula struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula.
	BaseFormulaType *CodeableConcept
	// The product or brand name of the enteral or infant formula product such as "ACME Adult Standard Formula".
	BaseFormulaProductName *String
	// Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula.
	AdditiveType *CodeableConcept
	// The product or brand name of the type of modular component to be added to the formula.
	AdditiveProductName *String
	// The amount of energy (calories) that the formula should provide per specified volume, typically per mL or fluid oz.  For example, an infant may require a formula that provides 24 calories per fluid ounce or an adult may require an enteral formula that provides 1.5 calorie/mL.
	CaloricDensity *Quantity
	// The route or physiological path of administration into the patient's gastrointestinal  tract for purposes of providing the formula feeding, e.g. nasogastric tube.
	RouteofAdministration *CodeableConcept
	// 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.
	Administration []NutritionOrderEnteralFormulaAdministration
	// The maximum total quantity of formula that may be administered to a subject over the period of time, e.g. 1440 mL over 24 hours.
	MaxVolumeToDeliver *Quantity
	// Free text formula administration, feeding instructions or additional instructions or information.
	AdministrationInstruction *String
}

Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity.

func (NutritionOrderEnteralFormula) MarshalJSON

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

func (NutritionOrderEnteralFormula) MarshalXML

func (NutritionOrderEnteralFormula) MemSize

func (r NutritionOrderEnteralFormula) MemSize() int

func (*NutritionOrderEnteralFormula) UnmarshalXML

func (r *NutritionOrderEnteralFormula) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NutritionOrderEnteralFormulaAdministration

type NutritionOrderEnteralFormulaAdministration struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The time period and frequency at which the enteral formula should be delivered to the patient.
	Schedule *Timing
	// The volume of formula to provide to the patient per the specified administration schedule.
	Quantity *Quantity
	// The rate of administration of formula via a feeding pump, e.g. 60 mL per hour, according to the specified schedule.
	Rate isNutritionOrderEnteralFormulaAdministrationRate
}

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.

func (NutritionOrderEnteralFormulaAdministration) MarshalJSON

func (NutritionOrderEnteralFormulaAdministration) MarshalXML

func (NutritionOrderEnteralFormulaAdministration) MemSize

func (*NutritionOrderEnteralFormulaAdministration) UnmarshalXML

type NutritionOrderOralDiet

type NutritionOrderOralDiet struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The kind of diet or dietary restriction such as fiber restricted diet or diabetic diet.
	Type []CodeableConcept
	// The time period and frequency at which the diet should be given.  The diet should be given for the combination of all schedules if more than one schedule is present.
	Schedule []Timing
	// Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet.
	Nutrient []NutritionOrderOralDietNutrient
	// Class that describes any texture modifications required for the patient to safely consume various types of solid foods.
	Texture []NutritionOrderOralDietTexture
	// The required consistency (e.g. honey-thick, nectar-thick, thin, thickened.) of liquids or fluids served to the patient.
	FluidConsistencyType []CodeableConcept
	// Free text or additional instructions or information pertaining to the oral diet.
	Instruction *String
}

Diet given orally in contrast to enteral (tube) feeding.

func (NutritionOrderOralDiet) MarshalJSON

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

func (NutritionOrderOralDiet) MarshalXML

func (r NutritionOrderOralDiet) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (NutritionOrderOralDiet) MemSize

func (r NutritionOrderOralDiet) MemSize() int

func (*NutritionOrderOralDiet) UnmarshalXML

func (r *NutritionOrderOralDiet) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NutritionOrderOralDietNutrient

type NutritionOrderOralDietNutrient struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The nutrient that is being modified such as carbohydrate or sodium.
	Modifier *CodeableConcept
	// The quantity of the specified nutrient to include in diet.
	Amount *Quantity
}

Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet.

func (NutritionOrderOralDietNutrient) MarshalJSON

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

func (NutritionOrderOralDietNutrient) MarshalXML

func (NutritionOrderOralDietNutrient) MemSize

func (r NutritionOrderOralDietNutrient) MemSize() int

func (*NutritionOrderOralDietNutrient) UnmarshalXML

func (r *NutritionOrderOralDietNutrient) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NutritionOrderOralDietTexture

type NutritionOrderOralDietTexture struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Any texture modifications (for solid foods) that should be made, e.g. easy to chew, chopped, ground, and pureed.
	Modifier *CodeableConcept
	// The food type(s) (e.g. meats, all foods)  that the texture modification applies to.  This could be all foods types.
	FoodType *CodeableConcept
}

Class that describes any texture modifications required for the patient to safely consume various types of solid foods.

func (NutritionOrderOralDietTexture) MarshalJSON

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

func (NutritionOrderOralDietTexture) MarshalXML

func (NutritionOrderOralDietTexture) MemSize

func (r NutritionOrderOralDietTexture) MemSize() int

func (*NutritionOrderOralDietTexture) UnmarshalXML

func (r *NutritionOrderOralDietTexture) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NutritionOrderSupplement

type NutritionOrderSupplement struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement.
	Type *CodeableConcept
	// The product or brand name of the nutritional supplement such as "Acme Protein Shake".
	ProductName *String
	// The time period and frequency at which the supplement(s) should be given.  The supplement should be given for the combination of all schedules if more than one schedule is present.
	Schedule []Timing
	// The amount of the nutritional supplement to be given.
	Quantity *Quantity
	// Free text or additional instructions or information pertaining to the oral supplement.
	Instruction *String
}

Oral nutritional products given in order to add further nutritional value to the patient's diet.

func (NutritionOrderSupplement) MarshalJSON

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

func (NutritionOrderSupplement) MarshalXML

func (r NutritionOrderSupplement) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (NutritionOrderSupplement) MemSize

func (r NutritionOrderSupplement) MemSize() int

func (*NutritionOrderSupplement) UnmarshalXML

func (r *NutritionOrderSupplement) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NutritionProduct

type NutritionProduct struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The current state of the product.
	Status Code
	// Nutrition products can have different classifications - according to its nutritional properties, preparation methods, etc.
	Category []CodeableConcept
	// The code assigned to the product, for example a manufacturer number or other terminology.
	Code *CodeableConcept
	// The organisation (manufacturer, representative or legal authorisation holder) that is responsible for the device.
	Manufacturer []Reference
	// The product's nutritional information expressed by the nutrients.
	Nutrient []NutritionProductNutrient
	// Ingredients contained in this product.
	Ingredient []NutritionProductIngredient
	// Allergens that are known or suspected to be a part of this nutrition product.
	KnownAllergen []CodeableReference
	// Specifies descriptive properties of the nutrition product.
	ProductCharacteristic []NutritionProductProductCharacteristic
	// Conveys instance-level information about this product item. One or several physical, countable instances or occurrences of the product.
	Instance *NutritionProductInstance
	// Comments made about the product.
	Note []Annotation
}

A food or fluid product that is consumed by patients.

func (NutritionProduct) MarshalJSON

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

func (NutritionProduct) MarshalXML

func (r NutritionProduct) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (NutritionProduct) MemSize

func (r NutritionProduct) MemSize() int

func (NutritionProduct) ResourceId

func (r NutritionProduct) ResourceId() (string, bool)

func (NutritionProduct) ResourceType

func (r NutritionProduct) ResourceType() string

func (NutritionProduct) String

func (r NutritionProduct) String() string

func (*NutritionProduct) UnmarshalJSON

func (r *NutritionProduct) UnmarshalJSON(b []byte) error

func (*NutritionProduct) UnmarshalXML

func (r *NutritionProduct) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NutritionProductIngredient

type NutritionProductIngredient struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The ingredient contained in the product.
	Item CodeableReference
	// The amount of ingredient that is in the product.
	Amount []Ratio
}

Ingredients contained in this product.

func (NutritionProductIngredient) MarshalJSON

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

func (NutritionProductIngredient) MarshalXML

func (r NutritionProductIngredient) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (NutritionProductIngredient) MemSize

func (r NutritionProductIngredient) MemSize() int

func (*NutritionProductIngredient) UnmarshalXML

func (r *NutritionProductIngredient) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NutritionProductInstance

type NutritionProductInstance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The amount of items or instances that the resource considers, for instance when referring to 2 identical units together.
	Quantity *Quantity
	// The identifier for the physical instance, typically a serial number.
	Identifier []Identifier
	// The identification of the batch or lot of the product.
	LotNumber *String
	// The time after which the product is no longer expected to be in proper condition, or its use is not advised or not allowed.
	Expiry *DateTime
	// The time after which the product is no longer expected to be in proper condition, or its use is not advised or not allowed.
	UseBy *DateTime
}

Conveys instance-level information about this product item. One or several physical, countable instances or occurrences of the product.

func (NutritionProductInstance) MarshalJSON

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

func (NutritionProductInstance) MarshalXML

func (r NutritionProductInstance) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (NutritionProductInstance) MemSize

func (r NutritionProductInstance) MemSize() int

func (*NutritionProductInstance) UnmarshalXML

func (r *NutritionProductInstance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NutritionProductNutrient

type NutritionProductNutrient struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The (relevant) nutrients in the product.
	Item *CodeableReference
	// The amount of nutrient expressed in one or more units: X per pack / per serving / per dose.
	Amount []Ratio
}

The product's nutritional information expressed by the nutrients.

func (NutritionProductNutrient) MarshalJSON

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

func (NutritionProductNutrient) MarshalXML

func (r NutritionProductNutrient) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (NutritionProductNutrient) MemSize

func (r NutritionProductNutrient) MemSize() int

func (*NutritionProductNutrient) UnmarshalXML

func (r *NutritionProductNutrient) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type NutritionProductProductCharacteristic

type NutritionProductProductCharacteristic struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code specifying which characteristic of the product is being described (for example, colour, shape).
	Type CodeableConcept
	// The actual characteristic value corresponding to the type.
	Value isNutritionProductProductCharacteristicValue
}

Specifies descriptive properties of the nutrition product.

func (NutritionProductProductCharacteristic) MarshalJSON

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

func (NutritionProductProductCharacteristic) MarshalXML

func (NutritionProductProductCharacteristic) MemSize

func (*NutritionProductProductCharacteristic) UnmarshalXML

type Observation

type Observation struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this observation.
	Identifier []Identifier
	// A plan, proposal or order that is fulfilled in whole or in part by this event.  For example, a MedicationRequest may require a patient to have laboratory test performed before  it is dispensed.
	BasedOn []Reference
	// A larger event of which this particular Observation is a component or step.  For example,  an observation as part of a procedure.
	PartOf []Reference
	// The status of the result value.
	Status Code
	// A code that classifies the general type of observation being made.
	Category []CodeableConcept
	// Describes what was observed. Sometimes this is called the observation "name".
	Code CodeableConcept
	// The patient, or group of patients, location, or device this observation is about and into whose record the observation is placed. If the actual focus of the observation is different from the subject (or a sample of, part, or region of the subject), the `focus` element or the `code` itself specifies the actual focus of the observation.
	Subject *Reference
	// The actual focus of an observation when it is not the patient of record representing something or someone associated with the patient such as a spouse, parent, fetus, or donor. For example, fetus observations in a mother's record.  The focus of an observation could also be an existing condition,  an intervention, the subject's diet,  another observation of the subject,  or a body structure such as tumor or implanted device.   An example use case would be using the Observation resource to capture whether the mother is trained to change her child's tracheostomy tube. In this example, the child is the patient of record and the mother is the focus.
	Focus []Reference
	// The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.
	Encounter *Reference
	// The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the "physiologically relevant time". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.
	Effective isObservationEffective
	// The date and time this version of the observation was made available to providers, typically after the results have been reviewed and verified.
	Issued *Instant
	// Who was responsible for asserting the observed value as "true".
	Performer []Reference
	// The information determined as a result of making the observation, if the information has a simple value.
	Value isObservationValue
	// Provides a reason why the expected value in the element Observation.value[x] is missing.
	DataAbsentReason *CodeableConcept
	// A categorical assessment of an observation value.  For example, high, low, normal.
	Interpretation []CodeableConcept
	// Comments about the observation or the results.
	Note []Annotation
	// Indicates the site on the subject's body where the observation was made (i.e. the target site).
	BodySite *CodeableConcept
	// Indicates the mechanism used to perform the observation.
	Method *CodeableConcept
	// The specimen that was used when this observation was made.
	Specimen *Reference
	// The device used to generate the observation data.
	Device *Reference
	// 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.
	ReferenceRange []ObservationReferenceRange
	// This observation is a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.
	HasMember []Reference
	// The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image.
	DerivedFrom []Reference
	// 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.
	Component []ObservationComponent
}

Measurements and simple assertions made about a patient, device or other subject.

Observations are a key aspect of healthcare. This resource is used to capture those that do not require more sophisticated mechanisms.

func (Observation) MarshalJSON

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

func (Observation) MarshalXML

func (r Observation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Observation) MemSize

func (r Observation) MemSize() int

func (Observation) ResourceId

func (r Observation) ResourceId() (string, bool)

func (Observation) ResourceType

func (r Observation) ResourceType() string

func (Observation) String

func (r Observation) String() string

func (*Observation) UnmarshalJSON

func (r *Observation) UnmarshalJSON(b []byte) error

func (*Observation) UnmarshalXML

func (r *Observation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ObservationComponent

type ObservationComponent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Describes what was observed. Sometimes this is called the observation "code".
	Code CodeableConcept
	// The information determined as a result of making the observation, if the information has a simple value.
	Value isObservationComponentValue
	// Provides a reason why the expected value in the element Observation.component.value[x] is missing.
	DataAbsentReason *CodeableConcept
	// A categorical assessment of an observation value.  For example, high, low, normal.
	Interpretation []CodeableConcept
	// Guidance on how to interpret the value by comparison to a normal or recommended range.
	ReferenceRange []ObservationReferenceRange
}

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.

func (ObservationComponent) MarshalJSON

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

func (ObservationComponent) MarshalXML

func (r ObservationComponent) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ObservationComponent) MemSize

func (r ObservationComponent) MemSize() int

func (*ObservationComponent) UnmarshalXML

func (r *ObservationComponent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ObservationDefinition

type ObservationDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code that classifies the general type of observation.
	Category []CodeableConcept
	// Describes what will be observed. Sometimes this is called the observation "name".
	Code CodeableConcept
	// A unique identifier assigned to this ObservationDefinition artifact.
	Identifier []Identifier
	// The data types allowed for the value element of the instance observations conforming to this ObservationDefinition.
	PermittedDataType []Code
	// Multiple results allowed for observations conforming to this ObservationDefinition.
	MultipleResultsAllowed *Boolean
	// The method or technique used to perform the observation.
	Method *CodeableConcept
	// The preferred name to be used when reporting the results of observations conforming to this ObservationDefinition.
	PreferredReportName *String
	// Characteristics for quantitative results of this observation.
	QuantitativeDetails *ObservationDefinitionQuantitativeDetails
	// Multiple  ranges of results qualified by different contexts for ordinal or continuous observations conforming to this ObservationDefinition.
	QualifiedInterval []ObservationDefinitionQualifiedInterval
	// The set of valid coded results for the observations  conforming to this ObservationDefinition.
	ValidCodedValueSet *Reference
	// The set of normal coded results for the observations conforming to this ObservationDefinition.
	NormalCodedValueSet *Reference
	// The set of abnormal coded results for the observation conforming to this ObservationDefinition.
	AbnormalCodedValueSet *Reference
	// The set of critical coded results for the observation conforming to this ObservationDefinition.
	CriticalCodedValueSet *Reference
}

Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.

In a catalog of health-related services that use or produce observations and measurements, this resource describes the expected characteristics of these observation / measurements.

func (ObservationDefinition) MarshalJSON

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

func (ObservationDefinition) MarshalXML

func (r ObservationDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ObservationDefinition) MemSize

func (r ObservationDefinition) MemSize() int

func (ObservationDefinition) ResourceId

func (r ObservationDefinition) ResourceId() (string, bool)

func (ObservationDefinition) ResourceType

func (r ObservationDefinition) ResourceType() string

func (ObservationDefinition) String

func (r ObservationDefinition) String() string

func (*ObservationDefinition) UnmarshalJSON

func (r *ObservationDefinition) UnmarshalJSON(b []byte) error

func (*ObservationDefinition) UnmarshalXML

func (r *ObservationDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ObservationDefinitionQualifiedInterval

type ObservationDefinitionQualifiedInterval struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The category of interval of values for continuous or ordinal observations conforming to this ObservationDefinition.
	Category *Code
	// The low and high values determining the interval. There may be only one of the two.
	Range *Range
	// Codes to indicate the health context the range applies to. For example, the normal or therapeutic range.
	Context *CodeableConcept
	// Codes to indicate the target population this reference range applies to.
	AppliesTo []CodeableConcept
	// Sex of the population the range applies to.
	Gender *Code
	// The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.
	Age *Range
	// The gestational age to which this reference range is applicable, in the context of pregnancy.
	GestationalAge *Range
	// Text based condition for which the reference range is valid.
	Condition *String
}

Multiple ranges of results qualified by different contexts for ordinal or continuous observations conforming to this ObservationDefinition.

func (ObservationDefinitionQualifiedInterval) MarshalJSON

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

func (ObservationDefinitionQualifiedInterval) MarshalXML

func (ObservationDefinitionQualifiedInterval) MemSize

func (*ObservationDefinitionQualifiedInterval) UnmarshalXML

type ObservationDefinitionQuantitativeDetails

type ObservationDefinitionQuantitativeDetails struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Customary unit used to report quantitative results of observations conforming to this ObservationDefinition.
	CustomaryUnit *CodeableConcept
	// SI unit used to report quantitative results of observations conforming to this ObservationDefinition.
	Unit *CodeableConcept
	// Factor for converting value expressed with SI unit to value expressed with customary unit.
	ConversionFactor *Decimal
	// Number of digits after decimal separator when the results of such observations are of type Quantity.
	DecimalPrecision *Integer
}

Characteristics for quantitative results of this observation.

func (ObservationDefinitionQuantitativeDetails) MarshalJSON

func (ObservationDefinitionQuantitativeDetails) MarshalXML

func (ObservationDefinitionQuantitativeDetails) MemSize

func (*ObservationDefinitionQuantitativeDetails) UnmarshalXML

type ObservationReferenceRange

type ObservationReferenceRange struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The value of the low bound of the reference range.  The low bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9). If the low bound is omitted,  it is assumed to be meaningless (e.g. reference range is <=2.3).
	Low *Quantity
	// The value of the high bound of the reference range.  The high bound of the reference range endpoint is inclusive of the value (e.g.  reference range is >=5 - <=9). If the high bound is omitted,  it is assumed to be meaningless (e.g. reference range is >= 2.3).
	High *Quantity
	// Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.
	Type *CodeableConcept
	// Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.  Multiple `appliesTo`  are interpreted as an "AND" of the target populations.  For example, to represent a target population of African American females, both a code of female and a code for African American would be used.
	AppliesTo []CodeableConcept
	// The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.
	Age *Range
	// Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation.  An example would be a reference value of "Negative" or a list or table of "normals".
	Text *String
}

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.

func (ObservationReferenceRange) MarshalJSON

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

func (ObservationReferenceRange) MarshalXML

func (r ObservationReferenceRange) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ObservationReferenceRange) MemSize

func (r ObservationReferenceRange) MemSize() int

func (*ObservationReferenceRange) UnmarshalXML

func (r *ObservationReferenceRange) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Oid

type Oid struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Primitive value for oid
	Value *string
}

Base StructureDefinition for oid type: An OID represented as a URI

func (Oid) MarshalJSON

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

func (Oid) MarshalXML

func (r Oid) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Oid) MemSize

func (r Oid) MemSize() int

func (*Oid) UnmarshalJSON

func (r *Oid) UnmarshalJSON(b []byte) error

func (*Oid) UnmarshalXML

func (r *Oid) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type OperationDefinition

type OperationDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers.
	Url *Uri
	// The identifier that is used to identify this version of the operation definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the operation definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the operation definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name String
	// A short, descriptive, user-friendly title for the operation definition.
	Title *String
	// The status of this operation definition. Enables tracking the life-cycle of the content.
	Status Code
	// Whether this is an operation or a named query.
	Kind Code
	// A Boolean value to indicate that this operation definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the operation definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the operation definition changes.
	Date *DateTime
	// The name of the organization or individual that published the operation definition.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the operation definition from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate operation definition instances.
	UseContext []UsageContext
	// A legal or geographic region in which the operation definition is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this operation definition is needed and why it has been designed as it has.
	Purpose *Markdown
	// Whether the operation affects state. Side effects such as producing audit trail entries do not count as 'affecting  state'.
	AffectsState *Boolean
	// The name used to invoke the operation.
	Code Code
	// Additional information about how to use this operation or named query.
	Comment *Markdown
	// Indicates that this operation definition is a constraining profile on the base.
	Base *Canonical
	// The types on which this operation can be executed.
	Resource []Code
	// Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context).
	System Boolean
	// Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a specific resource id for the context).
	Type Boolean
	// Indicates whether this operation can be invoked on a particular instance of one of the given types.
	Instance Boolean
	// Additional validation information for the in parameters - a single profile that covers all the parameters. The profile is a constraint on the parameters resource as a whole.
	InputProfile *Canonical
	// Additional validation information for the out parameters - a single profile that covers all the parameters. The profile is a constraint on the parameters resource.
	OutputProfile *Canonical
	// The parameters for the operation/query.
	Parameter []OperationDefinitionParameter
	// Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation.
	Overload []OperationDefinitionOverload
}

A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).

func (OperationDefinition) MarshalJSON

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

func (OperationDefinition) MarshalXML

func (r OperationDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (OperationDefinition) MemSize

func (r OperationDefinition) MemSize() int

func (OperationDefinition) ResourceId

func (r OperationDefinition) ResourceId() (string, bool)

func (OperationDefinition) ResourceType

func (r OperationDefinition) ResourceType() string

func (OperationDefinition) String

func (r OperationDefinition) String() string

func (*OperationDefinition) UnmarshalJSON

func (r *OperationDefinition) UnmarshalJSON(b []byte) error

func (*OperationDefinition) UnmarshalXML

func (r *OperationDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type OperationDefinitionOverload

type OperationDefinitionOverload struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Name of parameter to include in overload.
	ParameterName []String
	// Comments to go on overload.
	Comment *String
}

Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation.

func (OperationDefinitionOverload) MarshalJSON

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

func (OperationDefinitionOverload) MarshalXML

func (r OperationDefinitionOverload) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (OperationDefinitionOverload) MemSize

func (r OperationDefinitionOverload) MemSize() int

func (*OperationDefinitionOverload) UnmarshalXML

func (r *OperationDefinitionOverload) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type OperationDefinitionParameter

type OperationDefinitionParameter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The name of used to identify the parameter.
	Name Code
	// Whether this is an input or an output parameter.
	Use Code
	// The minimum number of times this parameter SHALL appear in the request or response.
	Min Integer
	// The maximum number of times this element is permitted to appear in the request or response.
	Max String
	// Describes the meaning or use of this parameter.
	Documentation *String
	// The type for this parameter.
	Type *Code
	// Used when the type is "Reference" or "canonical", and identifies a profile structure or implementation Guide that applies to the target of the reference this parameter refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide.
	TargetProfile []Canonical
	// How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'.
	SearchType *Code
	// Binds to a value set if this parameter is coded (code, Coding, CodeableConcept).
	Binding *OperationDefinitionParameterBinding
	// Identifies other resource parameters within the operation invocation that are expected to resolve to this resource.
	ReferencedFrom []OperationDefinitionParameterReferencedFrom
	// The parts of a nested Parameter.
	Part []OperationDefinitionParameter
}

The parameters for the operation/query.

func (OperationDefinitionParameter) MarshalJSON

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

func (OperationDefinitionParameter) MarshalXML

func (OperationDefinitionParameter) MemSize

func (r OperationDefinitionParameter) MemSize() int

func (*OperationDefinitionParameter) UnmarshalXML

func (r *OperationDefinitionParameter) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type OperationDefinitionParameterBinding

type OperationDefinitionParameterBinding struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances.
	Strength Code
	// Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used.
	ValueSet Canonical
}

Binds to a value set if this parameter is coded (code, Coding, CodeableConcept).

func (OperationDefinitionParameterBinding) MarshalJSON

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

func (OperationDefinitionParameterBinding) MarshalXML

func (OperationDefinitionParameterBinding) MemSize

func (*OperationDefinitionParameterBinding) UnmarshalXML

type OperationDefinitionParameterReferencedFrom

type OperationDefinitionParameterReferencedFrom struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The name of the parameter or dot-separated path of parameter names pointing to the resource parameter that is expected to contain a reference to this resource.
	Source String
	// The id of the element in the referencing resource that is expected to resolve to this resource.
	SourceId *String
}

Identifies other resource parameters within the operation invocation that are expected to resolve to this resource.

func (OperationDefinitionParameterReferencedFrom) MarshalJSON

func (OperationDefinitionParameterReferencedFrom) MarshalXML

func (OperationDefinitionParameterReferencedFrom) MemSize

func (*OperationDefinitionParameterReferencedFrom) UnmarshalXML

type OperationOutcome

type OperationOutcome struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An error, warning, or information message that results from a system action.
	Issue []OperationOutcomeIssue
}

A collection of error, warning, or information messages that result from a system action.

func (OperationOutcome) MarshalJSON

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

func (OperationOutcome) MarshalXML

func (r OperationOutcome) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (OperationOutcome) MemSize

func (r OperationOutcome) MemSize() int

func (OperationOutcome) ResourceId

func (r OperationOutcome) ResourceId() (string, bool)

func (OperationOutcome) ResourceType

func (r OperationOutcome) ResourceType() string

func (OperationOutcome) String

func (r OperationOutcome) String() string

func (*OperationOutcome) UnmarshalJSON

func (r *OperationOutcome) UnmarshalJSON(b []byte) error

func (*OperationOutcome) UnmarshalXML

func (r *OperationOutcome) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type OperationOutcomeIssue

type OperationOutcomeIssue struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates whether the issue indicates a variation from successful processing.
	Severity Code
	// Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element.
	Code Code
	// Additional details about the error. This may be a text description of the error or a system code that identifies the error.
	Details *CodeableConcept
	// Additional diagnostic information about the issue.
	Diagnostics *String
	// This element is deprecated because it is XML specific. It is replaced by issue.expression, which is format independent, and simpler to parse.
	//
	// For resource issues, this will be a simple XPath limited to element names, repetition indicators and the default child accessor that identifies one of the elements in the resource that caused this issue to be raised.  For HTTP errors, will be "http." + the parameter name.
	Location []String
	// A [simple subset of FHIRPath](fhirpath.html#simple) limited to element names, repetition indicators and the default child accessor that identifies one of the elements in the resource that caused this issue to be raised.
	Expression []String
}

An error, warning, or information message that results from a system action.

func (OperationOutcomeIssue) MarshalJSON

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

func (OperationOutcomeIssue) MarshalXML

func (r OperationOutcomeIssue) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (OperationOutcomeIssue) MemSize

func (r OperationOutcomeIssue) MemSize() int

func (*OperationOutcomeIssue) UnmarshalXML

func (r *OperationOutcomeIssue) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Organization

type Organization struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier for the organization that is used to identify the organization across multiple disparate systems.
	Identifier []Identifier
	// Whether the organization's record is still in active use.
	Active *Boolean
	// The kind(s) of organization that this is.
	Type []CodeableConcept
	// A name associated with the organization.
	Name *String
	// A list of alternate names that the organization is known as, or was known as in the past.
	Alias []String
	// A contact detail for the organization.
	Telecom []ContactPoint
	// An address for the organization.
	Address []Address
	// The organization of which this organization forms a part.
	PartOf *Reference
	// Contact for the organization for a certain purpose.
	Contact []OrganizationContact
	// Technical endpoints providing access to services operated for the organization.
	Endpoint []Reference
}

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 (Organization) MarshalJSON

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

func (Organization) MarshalXML

func (r Organization) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Organization) MemSize

func (r Organization) MemSize() int

func (Organization) ResourceId

func (r Organization) ResourceId() (string, bool)

func (Organization) ResourceType

func (r Organization) ResourceType() string

func (Organization) String

func (r Organization) String() string

func (*Organization) UnmarshalJSON

func (r *Organization) UnmarshalJSON(b []byte) error

func (*Organization) UnmarshalXML

func (r *Organization) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type OrganizationAffiliation

type OrganizationAffiliation struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers that are specific to this role.
	Identifier []Identifier
	// Whether this organization affiliation record is in active use.
	Active *Boolean
	// The period during which the participatingOrganization is affiliated with the primary organization.
	Period *Period
	// Organization where the role is available (primary organization/has members).
	Organization *Reference
	// The Participating Organization provides/performs the role(s) defined by the code to the Primary Organization (e.g. providing services or is a member of).
	ParticipatingOrganization *Reference
	// Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined).
	Network []Reference
	// Definition of the role the participatingOrganization plays in the association.
	Code []CodeableConcept
	// Specific specialty of the participatingOrganization in the context of the role.
	Specialty []CodeableConcept
	// The location(s) at which the role occurs.
	Location []Reference
	// Healthcare services provided through the role.
	HealthcareService []Reference
	// Contact details at the participatingOrganization relevant to this Affiliation.
	Telecom []ContactPoint
	// Technical endpoints providing access to services operated for this role.
	Endpoint []Reference
}

Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.

Need to define relationships between organizations that are not sub-divisions of the same organization (part-of relationships).

func (OrganizationAffiliation) MarshalJSON

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

func (OrganizationAffiliation) MarshalXML

func (r OrganizationAffiliation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (OrganizationAffiliation) MemSize

func (r OrganizationAffiliation) MemSize() int

func (OrganizationAffiliation) ResourceId

func (r OrganizationAffiliation) ResourceId() (string, bool)

func (OrganizationAffiliation) ResourceType

func (r OrganizationAffiliation) ResourceType() string

func (OrganizationAffiliation) String

func (r OrganizationAffiliation) String() string

func (*OrganizationAffiliation) UnmarshalJSON

func (r *OrganizationAffiliation) UnmarshalJSON(b []byte) error

func (*OrganizationAffiliation) UnmarshalXML

func (r *OrganizationAffiliation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type OrganizationContact

type OrganizationContact struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates a purpose for which the contact can be reached.
	Purpose *CodeableConcept
	// A name associated with the contact.
	Name *HumanName
	// A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
	Telecom []ContactPoint
	// Visiting or postal addresses for the contact.
	Address *Address
}

Contact for the organization for a certain purpose.

func (OrganizationContact) MarshalJSON

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

func (OrganizationContact) MarshalXML

func (r OrganizationContact) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (OrganizationContact) MemSize

func (r OrganizationContact) MemSize() int

func (*OrganizationContact) UnmarshalXML

func (r *OrganizationContact) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PackagedProductDefinition

type PackagedProductDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier for this package as whole. Unique instance identifiers assigned to a package by manufacturers, regulators, drug catalogue custodians or other organizations.
	Identifier []Identifier
	// A name for this package. Typically what it would be listed as in a drug formulary or catalogue, inventory etc.
	Name *String
	// A high level category e.g. medicinal product, raw material, shipping/transport container, etc.
	Type *CodeableConcept
	// The product that this is a pack for.
	PackageFor []Reference
	// The status within the lifecycle of this item. A high level status, this is not intended to duplicate details carried elsewhere such as legal status, or authorization or marketing status.
	Status *CodeableConcept
	// The date at which the given status became applicable.
	StatusDate *DateTime
	// A total of the complete count of contained items of a particular type/form, independent of sub-packaging or organization. This can be considered as the pack size. This attribute differs from containedItem.amount in that it can give a single aggregated count of all tablet types in a pack, even when these are different manufactured items. For example a pill pack of 21 tablets plus 7 sugar tablets, can be denoted here as '28 tablets'. This attribute is repeatable so that the different item types in one pack type can be counted (e.g. a count of vials and count of syringes). Each repeat must have different units, so that it is clear what the different sets of counted items are, and it is not intended to allow different counts of similar items (e.g. not '2 tubes and 3 tubes'). Repeats are not to be used to represent different pack sizes (e.g. 20 pack vs. 50 pack) - which would be different instances of this resource.
	ContainedItemQuantity []Quantity
	// Textual description. Note that this is not the name of the package or product.
	Description *Markdown
	// The legal status of supply of the packaged item as classified by the regulator.
	LegalStatusOfSupply []PackagedProductDefinitionLegalStatusOfSupply
	// Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated.
	MarketingStatus []MarketingStatus
	// Allows the key features to be recorded, such as "hospital pack", "nurse prescribable", "calendar pack".
	Characteristic []CodeableConcept
	// States whether a drug product is supplied with another item such as a diluent or adjuvant.
	CopackagedIndicator *Boolean
	// Manufacturer of this package type. When there are multiple it means these are all possible manufacturers.
	Manufacturer []Reference
	// A packaging item, as a container for medically related items, possibly with other packaging items within, or a packaging component, such as bottle cap (which is not a device or a medication manufactured item).
	Package *PackagedProductDefinitionPackage
}

A medically related item or items, in a container or package.

func (PackagedProductDefinition) MarshalJSON

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

func (PackagedProductDefinition) MarshalXML

func (r PackagedProductDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PackagedProductDefinition) MemSize

func (r PackagedProductDefinition) MemSize() int

func (PackagedProductDefinition) ResourceId

func (r PackagedProductDefinition) ResourceId() (string, bool)

func (PackagedProductDefinition) ResourceType

func (r PackagedProductDefinition) ResourceType() string

func (PackagedProductDefinition) String

func (r PackagedProductDefinition) String() string

func (*PackagedProductDefinition) UnmarshalJSON

func (r *PackagedProductDefinition) UnmarshalJSON(b []byte) error

func (*PackagedProductDefinition) UnmarshalXML

func (r *PackagedProductDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PackagedProductDefinitionLegalStatusOfSupply

type PackagedProductDefinitionLegalStatusOfSupply struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The actual status of supply. Conveys in what situation this package type may be supplied for use.
	Code *CodeableConcept
	// The place where the legal status of supply applies. When not specified, this indicates it is unknown in this context.
	Jurisdiction *CodeableConcept
}

The legal status of supply of the packaged item as classified by the regulator.

func (PackagedProductDefinitionLegalStatusOfSupply) MarshalJSON

func (PackagedProductDefinitionLegalStatusOfSupply) MarshalXML

func (PackagedProductDefinitionLegalStatusOfSupply) MemSize

func (*PackagedProductDefinitionLegalStatusOfSupply) UnmarshalXML

type PackagedProductDefinitionPackage

type PackagedProductDefinitionPackage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An identifier that is specific to this particular part of the packaging. Including possibly Data Carrier Identifier (a GS1 barcode).
	Identifier []Identifier
	// The physical type of the container of the items.
	Type *CodeableConcept
	// The quantity of this level of packaging in the package that contains it. If specified, the outermost level is always 1.
	Quantity *Integer
	// Material type of the package item.
	Material []CodeableConcept
	// A possible alternate material for this part of the packaging, that is allowed to be used instead of the usual material (e.g. different types of plastic for a blister sleeve).
	AlternateMaterial []CodeableConcept
	// Shelf Life and storage information.
	ShelfLifeStorage []PackagedProductDefinitionPackageShelfLifeStorage
	// Manufacturer of this package Item. When there are multiple it means these are all possible manufacturers.
	Manufacturer []Reference
	// General characteristics of this item.
	Property []PackagedProductDefinitionPackageProperty
	// The item(s) within the packaging.
	ContainedItem []PackagedProductDefinitionPackageContainedItem
	// Allows containers (and parts of containers) parwithin containers, still a single packaged product.  See also PackagedProductDefinition.package.containedItem.item(PackagedProductDefinition).
	Package []PackagedProductDefinitionPackage
}

A packaging item, as a container for medically related items, possibly with other packaging items within, or a packaging component, such as bottle cap (which is not a device or a medication manufactured item).

func (PackagedProductDefinitionPackage) MarshalJSON

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

func (PackagedProductDefinitionPackage) MarshalXML

func (PackagedProductDefinitionPackage) MemSize

func (*PackagedProductDefinitionPackage) UnmarshalXML

type PackagedProductDefinitionPackageContainedItem

type PackagedProductDefinitionPackageContainedItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The actual item(s) of medication, as manufactured, or a device (typically, but not necessarily, a co-packaged one), or other medically related item (such as food, biologicals, raw materials, medical fluids, gases etc.), as contained in the package. This also allows another whole packaged product to be included, which is solely for the case where a package of other entire packages is wanted - such as a wholesale or distribution pack (for layers within one package, use PackagedProductDefinition.package.package).
	Item CodeableReference
	// The number of this type of item within this packaging.
	Amount *Quantity
}

The item(s) within the packaging.

func (PackagedProductDefinitionPackageContainedItem) MarshalJSON

func (PackagedProductDefinitionPackageContainedItem) MarshalXML

func (PackagedProductDefinitionPackageContainedItem) MemSize

func (*PackagedProductDefinitionPackageContainedItem) UnmarshalXML

type PackagedProductDefinitionPackageProperty

type PackagedProductDefinitionPackageProperty struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code expressing the type of characteristic.
	Type CodeableConcept
	// A value for the characteristic.
	Value isPackagedProductDefinitionPackagePropertyValue
}

General characteristics of this item.

func (PackagedProductDefinitionPackageProperty) MarshalJSON

func (PackagedProductDefinitionPackageProperty) MarshalXML

func (PackagedProductDefinitionPackageProperty) MemSize

func (*PackagedProductDefinitionPackageProperty) UnmarshalXML

type PackagedProductDefinitionPackageShelfLifeStorage

type PackagedProductDefinitionPackageShelfLifeStorage struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// This describes the shelf life, taking into account various scenarios such as shelf life of the packaged Medicinal Product itself, shelf life after transformation where necessary and shelf life after the first opening of a bottle, etc. The shelf life type shall be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified.
	Type *CodeableConcept
	// The shelf life time period can be specified using a numerical value for the period of time and its unit of time measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.
	Period isPackagedProductDefinitionPackageShelfLifeStoragePeriod
	// Special precautions for storage, if any, can be specified using an appropriate controlled vocabulary. The controlled term and the controlled term identifier shall be specified.
	SpecialPrecautionsForStorage []CodeableConcept
}

Shelf Life and storage information.

func (PackagedProductDefinitionPackageShelfLifeStorage) MarshalJSON

func (PackagedProductDefinitionPackageShelfLifeStorage) MarshalXML

func (PackagedProductDefinitionPackageShelfLifeStorage) MemSize

func (*PackagedProductDefinitionPackageShelfLifeStorage) UnmarshalXML

type ParameterDefinition

type ParameterDefinition struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The name of the parameter used to allow access to the value of the parameter in evaluation contexts.
	Name *Code
	// Whether the parameter is input or output for the module.
	Use Code
	// The minimum number of times this parameter SHALL appear in the request or response.
	Min *Integer
	// The maximum number of times this element is permitted to appear in the request or response.
	Max *String
	// A brief discussion of what the parameter is for and how it is used by the module.
	Documentation *String
	// The type of the parameter.
	Type Code
	// If specified, this indicates a profile that the input data must conform to, or that the output data will conform to.
	Profile *Canonical
}

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.

func (ParameterDefinition) MarshalJSON

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

func (ParameterDefinition) MarshalXML

func (r ParameterDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ParameterDefinition) MemSize

func (r ParameterDefinition) MemSize() int

func (ParameterDefinition) String

func (r ParameterDefinition) String() string

func (*ParameterDefinition) UnmarshalXML

func (r *ParameterDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Parameters

type Parameters struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A parameter passed to or received from the operation.
	Parameter []ParametersParameter
}

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 (Parameters) MarshalJSON

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

func (Parameters) MarshalXML

func (r Parameters) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Parameters) MemSize

func (r Parameters) MemSize() int

func (Parameters) ResourceId

func (r Parameters) ResourceId() (string, bool)

func (Parameters) ResourceType

func (r Parameters) ResourceType() string

func (Parameters) String

func (r Parameters) String() string

func (*Parameters) UnmarshalJSON

func (r *Parameters) UnmarshalJSON(b []byte) error

func (*Parameters) UnmarshalXML

func (r *Parameters) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ParametersParameter

type ParametersParameter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The name of the parameter (reference to the operation definition).
	Name String
	// Conveys the content if the parameter is a data type.
	Value isParametersParameterValue
	// If the parameter is a whole resource.
	Resource model.Resource
	// A named part of a multi-part parameter.
	Part []ParametersParameter
}

A parameter passed to or received from the operation.

func (ParametersParameter) MarshalJSON

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

func (ParametersParameter) MarshalXML

func (r ParametersParameter) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ParametersParameter) MemSize

func (r ParametersParameter) MemSize() int

func (*ParametersParameter) UnmarshalXML

func (r *ParametersParameter) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Patient

type Patient struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An identifier for this patient.
	Identifier []Identifier
	// Whether this patient record is in active use.
	// Many systems use this property to mark as non-current patients, such as those that have not been seen for a period of time based on an organization's business rules.
	//
	// # It is often used to filter patient lists to exclude inactive patients
	//
	// Deceased patients may also be marked as inactive for the same reasons, but may be active for some time after death.
	Active *Boolean
	// A name associated with the individual.
	Name []HumanName
	// A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted.
	Telecom []ContactPoint
	// Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.
	Gender *Code
	// The date of birth for the individual.
	BirthDate *Date
	// Indicates if the individual is deceased or not.
	Deceased isPatientDeceased
	// An address for the individual.
	Address []Address
	// This field contains a patient's most recent marital (civil) status.
	MaritalStatus *CodeableConcept
	// Indicates whether the patient is part of a multiple (boolean) or indicates the actual birth order (integer).
	MultipleBirth isPatientMultipleBirth
	// Image of the patient.
	Photo []Attachment
	// A contact party (e.g. guardian, partner, friend) for the patient.
	Contact []PatientContact
	// A language which may be used to communicate with the patient about his or her health.
	Communication []PatientCommunication
	// Patient's nominated care provider.
	GeneralPractitioner []Reference
	// Organization that is the custodian of the patient record.
	ManagingOrganization *Reference
	// Link to another patient resource that concerns the same actual patient.
	Link []PatientLink
}

Demographics and other administrative information about an individual or animal receiving care or other health-related services.

Tracking patient is the center of the healthcare process.

func (Patient) MarshalJSON

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

func (Patient) MarshalXML

func (r Patient) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Patient) MemSize

func (r Patient) MemSize() int

func (Patient) ResourceId

func (r Patient) ResourceId() (string, bool)

func (Patient) ResourceType

func (r Patient) ResourceType() string

func (Patient) String

func (r Patient) String() string

func (*Patient) UnmarshalJSON

func (r *Patient) UnmarshalJSON(b []byte) error

func (*Patient) UnmarshalXML

func (r *Patient) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PatientCommunication

type PatientCommunication struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.
	Language CodeableConcept
	// Indicates whether or not the patient prefers this language (over other languages he masters up a certain level).
	Preferred *Boolean
}

A language which may be used to communicate with the patient about his or her health.

func (PatientCommunication) MarshalJSON

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

func (PatientCommunication) MarshalXML

func (r PatientCommunication) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PatientCommunication) MemSize

func (r PatientCommunication) MemSize() int

func (*PatientCommunication) UnmarshalXML

func (r *PatientCommunication) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PatientContact

type PatientContact struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The nature of the relationship between the patient and the contact person.
	Relationship []CodeableConcept
	// A name associated with the contact person.
	Name *HumanName
	// A contact detail for the person, e.g. a telephone number or an email address.
	Telecom []ContactPoint
	// Address for the contact person.
	Address *Address
	// Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes.
	Gender *Code
	// Organization on behalf of which the contact is acting or for which the contact is working.
	Organization *Reference
	// The period during which this contact person or organization is valid to be contacted relating to this patient.
	Period *Period
}

A contact party (e.g. guardian, partner, friend) for the patient.

func (PatientContact) MarshalJSON

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

func (PatientContact) MarshalXML

func (r PatientContact) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PatientContact) MemSize

func (r PatientContact) MemSize() int

func (*PatientContact) UnmarshalXML

func (r *PatientContact) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
type PatientLink struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The other patient resource that the link refers to.
	Other Reference
	// The type of link between this patient resource and another patient resource.
	Type Code
}

Link to another patient resource that concerns the same actual patient.

func (PatientLink) MarshalJSON

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

func (PatientLink) MarshalXML

func (r PatientLink) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PatientLink) MemSize

func (r PatientLink) MemSize() int

func (*PatientLink) UnmarshalXML

func (r *PatientLink) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PaymentNotice

type PaymentNotice struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this payment notice.
	Identifier []Identifier
	// The status of the resource instance.
	Status Code
	// Reference of resource for which payment is being made.
	Request *Reference
	// Reference of response to resource for which payment is being made.
	Response *Reference
	// The date when this resource was created.
	Created DateTime
	// The practitioner who is responsible for the services rendered to the patient.
	Provider *Reference
	// A reference to the payment which is the subject of this notice.
	Payment Reference
	// The date when the above payment action occurred.
	PaymentDate *Date
	// The party who will receive or has received payment that is the subject of this notification.
	Payee *Reference
	// The party who is notified of the payment status.
	Recipient Reference
	// The amount sent to the payee.
	Amount Money
	// A code indicating whether payment has been sent or cleared.
	PaymentStatus *CodeableConcept
}

This resource provides the status of the payment for goods and services rendered, and the request and response resource references.

func (PaymentNotice) MarshalJSON

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

func (PaymentNotice) MarshalXML

func (r PaymentNotice) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PaymentNotice) MemSize

func (r PaymentNotice) MemSize() int

func (PaymentNotice) ResourceId

func (r PaymentNotice) ResourceId() (string, bool)

func (PaymentNotice) ResourceType

func (r PaymentNotice) ResourceType() string

func (PaymentNotice) String

func (r PaymentNotice) String() string

func (*PaymentNotice) UnmarshalJSON

func (r *PaymentNotice) UnmarshalJSON(b []byte) error

func (*PaymentNotice) UnmarshalXML

func (r *PaymentNotice) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PaymentReconciliation

type PaymentReconciliation struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this payment reconciliation.
	Identifier []Identifier
	// The status of the resource instance.
	Status Code
	// The period of time for which payments have been gathered into this bulk payment for settlement.
	Period *Period
	// The date when the resource was created.
	Created DateTime
	// The party who generated the payment.
	PaymentIssuer *Reference
	// Original request resource reference.
	Request *Reference
	// The practitioner who is responsible for the services rendered to the patient.
	Requestor *Reference
	// The outcome of a request for a reconciliation.
	Outcome *Code
	// A human readable description of the status of the request for the reconciliation.
	Disposition *String
	// The date of payment as indicated on the financial instrument.
	PaymentDate Date
	// Total payment amount as indicated on the financial instrument.
	PaymentAmount Money
	// Issuer's unique identifier for the payment instrument.
	PaymentIdentifier *Identifier
	// Distribution of the payment amount for a previously acknowledged payable.
	Detail []PaymentReconciliationDetail
	// A code for the form to be used for printing the content.
	FormCode *CodeableConcept
	// A note that describes or explains the processing in a human readable form.
	ProcessNote []PaymentReconciliationProcessNote
}

This resource provides the details including amount of a payment and allocates the payment items being paid.

func (PaymentReconciliation) MarshalJSON

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

func (PaymentReconciliation) MarshalXML

func (r PaymentReconciliation) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PaymentReconciliation) MemSize

func (r PaymentReconciliation) MemSize() int

func (PaymentReconciliation) ResourceId

func (r PaymentReconciliation) ResourceId() (string, bool)

func (PaymentReconciliation) ResourceType

func (r PaymentReconciliation) ResourceType() string

func (PaymentReconciliation) String

func (r PaymentReconciliation) String() string

func (*PaymentReconciliation) UnmarshalJSON

func (r *PaymentReconciliation) UnmarshalJSON(b []byte) error

func (*PaymentReconciliation) UnmarshalXML

func (r *PaymentReconciliation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PaymentReconciliationDetail

type PaymentReconciliationDetail struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique identifier for the current payment item for the referenced payable.
	Identifier *Identifier
	// Unique identifier for the prior payment item for the referenced payable.
	Predecessor *Identifier
	// Code to indicate the nature of the payment.
	Type CodeableConcept
	// A resource, such as a Claim, the evaluation of which could lead to payment.
	Request *Reference
	// The party which submitted the claim or financial transaction.
	Submitter *Reference
	// A resource, such as a ClaimResponse, which contains a commitment to payment.
	Response *Reference
	// The date from the response resource containing a commitment to pay.
	Date *Date
	// A reference to the individual who is responsible for inquiries regarding the response and its payment.
	Responsible *Reference
	// The party which is receiving the payment.
	Payee *Reference
	// The monetary amount allocated from the total payment to the payable.
	Amount *Money
}

Distribution of the payment amount for a previously acknowledged payable.

func (PaymentReconciliationDetail) MarshalJSON

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

func (PaymentReconciliationDetail) MarshalXML

func (r PaymentReconciliationDetail) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PaymentReconciliationDetail) MemSize

func (r PaymentReconciliationDetail) MemSize() int

func (*PaymentReconciliationDetail) UnmarshalXML

func (r *PaymentReconciliationDetail) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PaymentReconciliationProcessNote

type PaymentReconciliationProcessNote struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The business purpose of the note text.
	Type *Code
	// The explanation or description associated with the processing.
	Text *String
}

A note that describes or explains the processing in a human readable form.

func (PaymentReconciliationProcessNote) MarshalJSON

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

func (PaymentReconciliationProcessNote) MarshalXML

func (PaymentReconciliationProcessNote) MemSize

func (*PaymentReconciliationProcessNote) UnmarshalXML

type Period

type Period struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The start of the period. The boundary is inclusive.
	Start *DateTime
	// The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.
	End *DateTime
}

Base StructureDefinition for Period Type: A time period defined by a start and end date and optionally time.

func (Period) MarshalJSON

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

func (Period) MarshalXML

func (r Period) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Period) MemSize

func (r Period) MemSize() int

func (Period) String

func (r Period) String() string

func (*Period) UnmarshalXML

func (r *Period) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Person

type Person struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier for a person within a particular scope.
	Identifier []Identifier
	// A name associated with the person.
	Name []HumanName
	// A contact detail for the person, e.g. a telephone number or an email address.
	Telecom []ContactPoint
	// Administrative Gender.
	Gender *Code
	// The birth date for the person.
	BirthDate *Date
	// One or more addresses for the person.
	Address []Address
	// An image that can be displayed as a thumbnail of the person to enhance the identification of the individual.
	Photo *Attachment
	// The organization that is the custodian of the person record.
	ManagingOrganization *Reference
	// Whether this person's record is in active use.
	Active *Boolean
	// Link to a resource that concerns the same actual person.
	Link []PersonLink
}

Demographics and administrative information about a person independent of a specific health-related context.

Need to track persons potentially across multiple roles.

func (Person) MarshalJSON

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

func (Person) MarshalXML

func (r Person) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Person) MemSize

func (r Person) MemSize() int

func (Person) ResourceId

func (r Person) ResourceId() (string, bool)

func (Person) ResourceType

func (r Person) ResourceType() string

func (Person) String

func (r Person) String() string

func (*Person) UnmarshalJSON

func (r *Person) UnmarshalJSON(b []byte) error

func (*Person) UnmarshalXML

func (r *Person) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
type PersonLink struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The resource to which this actual person is associated.
	Target Reference
	// Level of assurance that this link is associated with the target resource.
	Assurance *Code
}

Link to a resource that concerns the same actual person.

func (PersonLink) MarshalJSON

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

func (PersonLink) MarshalXML

func (r PersonLink) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PersonLink) MemSize

func (r PersonLink) MemSize() int

func (*PersonLink) UnmarshalXML

func (r *PersonLink) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PlanDefinition

type PlanDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this plan definition when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the plan definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the plan definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.
	Version *String
	// A natural language name identifying the plan definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the plan definition.
	Title *String
	// An explanatory or alternate title for the plan definition giving additional information about its content.
	Subtitle *String
	// A high-level category for the plan definition that distinguishes the kinds of systems that would be interested in the plan definition.
	Type *CodeableConcept
	// The status of this plan definition. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this plan definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// A code, group definition, or canonical reference that describes  or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.
	Subject isPlanDefinitionSubject
	// The date  (and optionally time) when the plan definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the plan definition changes.
	Date *DateTime
	// The name of the organization or individual that published the plan definition.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the plan definition from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate plan definition instances.
	UseContext []UsageContext
	// A legal or geographic region in which the plan definition is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this plan definition is needed and why it has been designed as it has.
	Purpose *Markdown
	// A detailed description of how the plan definition is used from a clinical perspective.
	Usage *String
	// A copyright statement relating to the plan definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the plan definition.
	Copyright *Markdown
	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate *Date
	// The period during which the plan definition content was or is planned to be in active use.
	EffectivePeriod *Period
	// Descriptive topics related to the content of the plan definition. Topics provide a high-level categorization of the definition that can be useful for filtering and searching.
	Topic []CodeableConcept
	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []ContactDetail
	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []ContactDetail
	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []ContactDetail
	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []ContactDetail
	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []RelatedArtifact
	// A reference to a Library resource containing any formal logic used by the plan definition.
	Library []Canonical
	// A goal describes an expected outcome that 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, meeting the acceptance criteria for a test as specified by a quality specification, etc.
	Goal []PlanDefinitionGoal
	// An action or group of actions to be taken as part of the plan. For example, in clinical care, an action would be to prescribe a particular indicated medication, or perform a particular test as appropriate. In pharmaceutical quality, an action would be the test that needs to be performed on a drug product as defined in the quality specification.
	Action []PlanDefinitionAction
}

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 and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications.

func (PlanDefinition) MarshalJSON

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

func (PlanDefinition) MarshalXML

func (r PlanDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PlanDefinition) MemSize

func (r PlanDefinition) MemSize() int

func (PlanDefinition) ResourceId

func (r PlanDefinition) ResourceId() (string, bool)

func (PlanDefinition) ResourceType

func (r PlanDefinition) ResourceType() string

func (PlanDefinition) String

func (r PlanDefinition) String() string

func (*PlanDefinition) UnmarshalJSON

func (r *PlanDefinition) UnmarshalJSON(b []byte) error

func (*PlanDefinition) UnmarshalXML

func (r *PlanDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PlanDefinitionAction

type PlanDefinitionAction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A user-visible prefix for the action.
	Prefix *String
	// The textual description of the action displayed to a user. For example, when the action is a test to be performed, the title would be the title of the test such as Assay by HPLC.
	Title *String
	// A brief description of the action used to provide a summary to display to the user.
	Description *String
	// A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.
	TextEquivalent *String
	// Indicates how quickly the action should be addressed with respect to other actions.
	Priority *Code
	// A code that provides a meaning, grouping, or classification for the action or action group. For example, a section may have a LOINC code for the section of a documentation template. In pharmaceutical quality, an action (Test) such as pH could be classified as a physical property.
	Code []CodeableConcept
	// A description of why this action is necessary or appropriate.
	Reason []CodeableConcept
	// Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.
	Documentation []RelatedArtifact
	// Identifies goals that this action supports. The reference must be to a goal element defined within this plan definition. In pharmaceutical quality, a goal represents acceptance criteria (Goal) for a given action (Test), so the goalId would be the unique id of a defined goal element establishing the acceptance criteria for the action.
	GoalId []Id
	// A code, group definition, or canonical reference that describes the intended subject of the action and its children, if any. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.
	Subject isPlanDefinitionActionSubject
	// A description of when the action should be triggered.
	Trigger []TriggerDefinition
	// An expression that describes applicability criteria or start/stop conditions for the action.
	Condition []PlanDefinitionActionCondition
	// Defines input data requirements for the action.
	Input []DataRequirement
	// Defines the outputs of the action, if any.
	Output []DataRequirement
	// A relationship to another action such as "before" or "30-60 minutes after start of".
	RelatedAction []PlanDefinitionActionRelatedAction
	// An optional value describing when the action should be performed.
	Timing isPlanDefinitionActionTiming
	// Indicates who should participate in performing the action described.
	Participant []PlanDefinitionActionParticipant
	// The type of action to perform (create, update, remove).
	Type *CodeableConcept
	// Defines the grouping behavior for the action and its children.
	GroupingBehavior *Code
	// Defines the selection behavior for the action and its children.
	SelectionBehavior *Code
	// Defines the required behavior for the action.
	RequiredBehavior *Code
	// Defines whether the action should usually be preselected.
	PrecheckBehavior *Code
	// Defines whether the action can be selected multiple times.
	CardinalityBehavior *Code
	// A reference to an ActivityDefinition that describes the action to be taken in detail, or a PlanDefinition that describes a series of actions to be taken.
	Definition isPlanDefinitionActionDefinition
	// A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.
	Transform *Canonical
	// 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.
	DynamicValue []PlanDefinitionActionDynamicValue
	// Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definition.
	Action []PlanDefinitionAction
}

An action or group of actions to be taken as part of the plan. For example, in clinical care, an action would be to prescribe a particular indicated medication, or perform a particular test as appropriate. In pharmaceutical quality, an action would be the test that needs to be performed on a drug product as defined in the quality specification.

func (PlanDefinitionAction) MarshalJSON

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

func (PlanDefinitionAction) MarshalXML

func (r PlanDefinitionAction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PlanDefinitionAction) MemSize

func (r PlanDefinitionAction) MemSize() int

func (*PlanDefinitionAction) UnmarshalXML

func (r *PlanDefinitionAction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PlanDefinitionActionCondition

type PlanDefinitionActionCondition struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The kind of condition.
	Kind Code
	// An expression that returns true or false, indicating whether the condition is satisfied.
	Expression *Expression
}

An expression that describes applicability criteria or start/stop conditions for the action.

func (PlanDefinitionActionCondition) MarshalJSON

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

func (PlanDefinitionActionCondition) MarshalXML

func (PlanDefinitionActionCondition) MemSize

func (r PlanDefinitionActionCondition) MemSize() int

func (*PlanDefinitionActionCondition) UnmarshalXML

func (r *PlanDefinitionActionCondition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PlanDefinitionActionDynamicValue

type PlanDefinitionActionDynamicValue struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).
	Path *String
	// An expression specifying the value of the customized element.
	Expression *Expression
}

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.

func (PlanDefinitionActionDynamicValue) MarshalJSON

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

func (PlanDefinitionActionDynamicValue) MarshalXML

func (PlanDefinitionActionDynamicValue) MemSize

func (*PlanDefinitionActionDynamicValue) UnmarshalXML

type PlanDefinitionActionParticipant

type PlanDefinitionActionParticipant struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of participant in the action.
	Type Code
	// The role the participant should play in performing the described action.
	Role *CodeableConcept
}

Indicates who should participate in performing the action described.

func (PlanDefinitionActionParticipant) MarshalJSON

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

func (PlanDefinitionActionParticipant) MarshalXML

func (PlanDefinitionActionParticipant) MemSize

func (*PlanDefinitionActionParticipant) UnmarshalXML

func (r *PlanDefinitionActionParticipant) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PlanDefinitionActionRelatedAction

type PlanDefinitionActionRelatedAction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The element id of the related action.
	ActionId Id
	// The relationship of this action to the related action.
	Relationship Code
	// A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.
	Offset isPlanDefinitionActionRelatedActionOffset
}

A relationship to another action such as "before" or "30-60 minutes after start of".

func (PlanDefinitionActionRelatedAction) MarshalJSON

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

func (PlanDefinitionActionRelatedAction) MarshalXML

func (PlanDefinitionActionRelatedAction) MemSize

func (*PlanDefinitionActionRelatedAction) UnmarshalXML

type PlanDefinitionGoal

type PlanDefinitionGoal struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates a category the goal falls within.
	Category *CodeableConcept
	// Human-readable and/or coded description of a specific desired objective of care, such as "control blood pressure" or "negotiate an obstacle course" or "dance with child at wedding".
	Description CodeableConcept
	// Identifies the expected level of importance associated with reaching/sustaining the defined goal.
	Priority *CodeableConcept
	// The event after which the goal should begin being pursued.
	Start *CodeableConcept
	// Identifies problems, conditions, issues, or concerns the goal is intended to address.
	Addresses []CodeableConcept
	// Didactic or other informational resources associated with the goal that provide further supporting information about the goal. Information resources can include inline text commentary and links to web resources.
	Documentation []RelatedArtifact
	// Indicates what should be done and within what timeframe.
	Target []PlanDefinitionGoalTarget
}

A goal describes an expected outcome that 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, meeting the acceptance criteria for a test as specified by a quality specification, etc.

func (PlanDefinitionGoal) MarshalJSON

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

func (PlanDefinitionGoal) MarshalXML

func (r PlanDefinitionGoal) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PlanDefinitionGoal) MemSize

func (r PlanDefinitionGoal) MemSize() int

func (*PlanDefinitionGoal) UnmarshalXML

func (r *PlanDefinitionGoal) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PlanDefinitionGoalTarget

type PlanDefinitionGoalTarget struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The parameter whose value is to be tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
	Measure *CodeableConcept
	// The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%, or in the case of pharmaceutical quality - NMT 0.6%, Clear solution, etc. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value.
	Detail isPlanDefinitionGoalTargetDetail
	// Indicates the timeframe after the start of the goal in which the goal should be met.
	Due *Duration
}

Indicates what should be done and within what timeframe.

func (PlanDefinitionGoalTarget) MarshalJSON

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

func (PlanDefinitionGoalTarget) MarshalXML

func (r PlanDefinitionGoalTarget) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PlanDefinitionGoalTarget) MemSize

func (r PlanDefinitionGoalTarget) MemSize() int

func (*PlanDefinitionGoalTarget) UnmarshalXML

func (r *PlanDefinitionGoalTarget) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Population

type Population struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The age of the specific population.
	Age isPopulationAge
	// The gender of the specific population.
	Gender *CodeableConcept
	// Race of the specific population.
	Race *CodeableConcept
	// The existing physiological conditions of the specific population to which this applies.
	PhysiologicalCondition *CodeableConcept
}

Base StructureDefinition for Population Type: A populatioof people with some set of grouping criteria.

func (Population) MarshalJSON

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

func (Population) MarshalXML

func (r Population) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Population) MemSize

func (r Population) MemSize() int

func (Population) String

func (r Population) String() string

func (*Population) UnmarshalXML

func (r *Population) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PositiveInt

type PositiveInt struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Primitive value for positiveInt
	Value *uint32
}

Base StructureDefinition for positiveInt type: An integer with a value that is positive (e.g. >0)

func (PositiveInt) MarshalJSON

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

func (PositiveInt) MarshalXML

func (r PositiveInt) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PositiveInt) MemSize

func (r PositiveInt) MemSize() int

func (*PositiveInt) UnmarshalJSON

func (r *PositiveInt) UnmarshalJSON(b []byte) error

func (*PositiveInt) UnmarshalXML

func (r *PositiveInt) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Practitioner

type Practitioner struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An identifier that applies to this person in this role.
	Identifier []Identifier
	// Whether this practitioner's record is in active use.
	Active *Boolean
	// The name(s) associated with the practitioner.
	Name []HumanName
	// A contact detail for the practitioner, e.g. a telephone number or an email address.
	Telecom []ContactPoint
	// Address(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent.
	Address []Address
	// Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.
	Gender *Code
	// The date of birth for the practitioner.
	BirthDate *Date
	// Image of the person.
	Photo []Attachment
	// 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.
	Qualification []PractitionerQualification
	// A language the practitioner can use in patient communication.
	Communication []CodeableConcept
}

A person who is directly or indirectly involved in the provisioning of healthcare.

Need to track doctors, staff, locums etc. for both healthcare practitioners, funders, etc.

func (Practitioner) MarshalJSON

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

func (Practitioner) MarshalXML

func (r Practitioner) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Practitioner) MemSize

func (r Practitioner) MemSize() int

func (Practitioner) ResourceId

func (r Practitioner) ResourceId() (string, bool)

func (Practitioner) ResourceType

func (r Practitioner) ResourceType() string

func (Practitioner) String

func (r Practitioner) String() string

func (*Practitioner) UnmarshalJSON

func (r *Practitioner) UnmarshalJSON(b []byte) error

func (*Practitioner) UnmarshalXML

func (r *Practitioner) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PractitionerQualification

type PractitionerQualification struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An identifier that applies to this person's qualification in this role.
	Identifier []Identifier
	// Coded representation of the qualification.
	Code CodeableConcept
	// Period during which the qualification is valid.
	Period *Period
	// Organization that regulates and issues the qualification.
	Issuer *Reference
}

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.

func (PractitionerQualification) MarshalJSON

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

func (PractitionerQualification) MarshalXML

func (r PractitionerQualification) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PractitionerQualification) MemSize

func (r PractitionerQualification) MemSize() int

func (*PractitionerQualification) UnmarshalXML

func (r *PractitionerQualification) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PractitionerRole

type PractitionerRole struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business Identifiers that are specific to a role/location.
	Identifier []Identifier
	// Whether this practitioner role record is in active use.
	Active *Boolean
	// The period during which the person is authorized to act as a practitioner in these role(s) for the organization.
	Period *Period
	// Practitioner that is able to provide the defined services for the organization.
	Practitioner *Reference
	// The organization where the Practitioner performs the roles associated.
	Organization *Reference
	// Roles which this practitioner is authorized to perform for the organization.
	Code []CodeableConcept
	// Specific specialty of the practitioner.
	Specialty []CodeableConcept
	// The location(s) at which this practitioner provides care.
	Location []Reference
	// The list of healthcare services that this worker provides for this role's Organization/Location(s).
	HealthcareService []Reference
	// Contact details that are specific to the role/location/service.
	Telecom []ContactPoint
	// A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.
	AvailableTime []PractitionerRoleAvailableTime
	// The practitioner is not available or performing this role during this period of time due to the provided reason.
	NotAvailable []PractitionerRoleNotAvailable
	// A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.
	AvailabilityExceptions *String
	// Technical endpoints providing access to services operated for the practitioner with this role.
	Endpoint []Reference
}

A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.

Need to track services that a healthcare provider is able to provide at an organization's location, and the services that they can perform there.

func (PractitionerRole) MarshalJSON

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

func (PractitionerRole) MarshalXML

func (r PractitionerRole) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (PractitionerRole) MemSize

func (r PractitionerRole) MemSize() int

func (PractitionerRole) ResourceId

func (r PractitionerRole) ResourceId() (string, bool)

func (PractitionerRole) ResourceType

func (r PractitionerRole) ResourceType() string

func (PractitionerRole) String

func (r PractitionerRole) String() string

func (*PractitionerRole) UnmarshalJSON

func (r *PractitionerRole) UnmarshalJSON(b []byte) error

func (*PractitionerRole) UnmarshalXML

func (r *PractitionerRole) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PractitionerRoleAvailableTime

type PractitionerRoleAvailableTime struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates which days of the week are available between the start and end Times.
	DaysOfWeek []Code
	// Is this always available? (hence times are irrelevant) e.g. 24 hour service.
	AllDay *Boolean
	// The opening time of day. Note: If the AllDay flag is set, then this time is ignored.
	AvailableStartTime *Time
	// The closing time of day. Note: If the AllDay flag is set, then this time is ignored.
	AvailableEndTime *Time
}

A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.

func (PractitionerRoleAvailableTime) MarshalJSON

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

func (PractitionerRoleAvailableTime) MarshalXML

func (PractitionerRoleAvailableTime) MemSize

func (r PractitionerRoleAvailableTime) MemSize() int

func (*PractitionerRoleAvailableTime) UnmarshalXML

func (r *PractitionerRoleAvailableTime) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type PractitionerRoleNotAvailable

type PractitionerRoleNotAvailable struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The reason that can be presented to the user as to why this time is not available.
	Description String
	// Service is not available (seasonally or for a public holiday) from this date.
	During *Period
}

The practitioner is not available or performing this role during this period of time due to the provided reason.

func (PractitionerRoleNotAvailable) MarshalJSON

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

func (PractitionerRoleNotAvailable) MarshalXML

func (PractitionerRoleNotAvailable) MemSize

func (r PractitionerRoleNotAvailable) MemSize() int

func (*PractitionerRoleNotAvailable) UnmarshalXML

func (r *PractitionerRoleNotAvailable) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Procedure

type Procedure struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this procedure by the performer or other systems which remain constant as the resource is updated and is propagated from server to server.
	Identifier []Identifier
	// The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.
	InstantiatesCanonical []Canonical
	// The URL pointing to an externally maintained protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.
	InstantiatesUri []Uri
	// A reference to a resource that contains details of the request for this procedure.
	BasedOn []Reference
	// A larger event of which this particular procedure is a component or step.
	PartOf []Reference
	// A code specifying the state of the procedure. Generally, this will be the in-progress or completed state.
	Status Code
	// Captures the reason for the current state of the procedure.
	StatusReason *CodeableConcept
	// A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure").
	Category *CodeableConcept
	// The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy").
	Code *CodeableConcept
	// The person, animal or group on which the procedure was performed.
	Subject Reference
	// The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated.
	Encounter *Reference
	// Estimated or actual date, date-time, period, or age when the procedure was performed.  Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.
	Performed isProcedurePerformed
	// Individual who recorded the record and takes responsibility for its content.
	Recorder *Reference
	// Individual who is making the procedure statement.
	Asserter *Reference
	// Limited to "real" people rather than equipment.
	Performer []ProcedurePerformer
	// The location where the procedure actually happened.  E.g. a newborn at home, a tracheostomy at a restaurant.
	Location *Reference
	// The coded reason why the procedure was performed. This may be a coded entity of some type, or may simply be present as text.
	ReasonCode []CodeableConcept
	// The justification of why the procedure was performed.
	ReasonReference []Reference
	// Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.
	BodySite []CodeableConcept
	// The outcome of the procedure - did it resolve the reasons for the procedure being performed?
	Outcome *CodeableConcept
	// This could be a histology result, pathology report, surgical report, etc.
	Report []Reference
	// Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues.
	Complication []CodeableConcept
	// Any complications that occurred during the procedure, or in the immediate post-performance period.
	ComplicationDetail []Reference
	// If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used.
	FollowUp []CodeableConcept
	// Any other notes and comments about the procedure.
	Note []Annotation
	// 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.
	FocalDevice []ProcedureFocalDevice
	// Identifies medications, devices and any other substance used as part of the procedure.
	UsedReference []Reference
	// Identifies coded items that were used as part of the procedure.
	UsedCode []CodeableConcept
}

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 (Procedure) MarshalJSON

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

func (Procedure) MarshalXML

func (r Procedure) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Procedure) MemSize

func (r Procedure) MemSize() int

func (Procedure) ResourceId

func (r Procedure) ResourceId() (string, bool)

func (Procedure) ResourceType

func (r Procedure) ResourceType() string

func (Procedure) String

func (r Procedure) String() string

func (*Procedure) UnmarshalJSON

func (r *Procedure) UnmarshalJSON(b []byte) error

func (*Procedure) UnmarshalXML

func (r *Procedure) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ProcedureFocalDevice

type ProcedureFocalDevice struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The kind of change that happened to the device during the procedure.
	Action *CodeableConcept
	// The device that was manipulated (changed) during the procedure.
	Manipulated Reference
}

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.

func (ProcedureFocalDevice) MarshalJSON

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

func (ProcedureFocalDevice) MarshalXML

func (r ProcedureFocalDevice) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ProcedureFocalDevice) MemSize

func (r ProcedureFocalDevice) MemSize() int

func (*ProcedureFocalDevice) UnmarshalXML

func (r *ProcedureFocalDevice) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ProcedurePerformer

type ProcedurePerformer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist.
	Function *CodeableConcept
	// The practitioner who was involved in the procedure.
	Actor Reference
	// The organization the device or practitioner was acting on behalf of.
	OnBehalfOf *Reference
}

Limited to "real" people rather than equipment.

func (ProcedurePerformer) MarshalJSON

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

func (ProcedurePerformer) MarshalXML

func (r ProcedurePerformer) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ProcedurePerformer) MemSize

func (r ProcedurePerformer) MemSize() int

func (*ProcedurePerformer) UnmarshalXML

func (r *ProcedurePerformer) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ProdCharacteristic

type ProdCharacteristic struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Where applicable, the height can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.
	Height *Quantity
	// Where applicable, the width can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.
	Width *Quantity
	// Where applicable, the depth can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.
	Depth *Quantity
	// Where applicable, the weight can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.
	Weight *Quantity
	// Where applicable, the nominal volume can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.
	NominalVolume *Quantity
	// Where applicable, the external diameter can be specified using a numerical value and its unit of measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.
	ExternalDiameter *Quantity
	// Where applicable, the shape can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used.
	Shape *String
	// Where applicable, the color can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used.
	Color []String
	// Where applicable, the imprint can be specified as text.
	Imprint []String
	// Where applicable, the image can be provided The format of the image attachment shall be specified by regional implementations.
	Image []Attachment
	// Where applicable, the scoring can be specified An appropriate controlled vocabulary shall be used The term and the term identifier shall be used.
	Scoring *CodeableConcept
}

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.

func (ProdCharacteristic) MarshalJSON

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

func (ProdCharacteristic) MarshalXML

func (r ProdCharacteristic) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ProdCharacteristic) MemSize

func (r ProdCharacteristic) MemSize() int

func (ProdCharacteristic) String

func (r ProdCharacteristic) String() string

func (*ProdCharacteristic) UnmarshalXML

func (r *ProdCharacteristic) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ProductShelfLife

type ProductShelfLife struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique identifier for the packaged Medicinal Product.
	Identifier *Identifier
	// This describes the shelf life, taking into account various scenarios such as shelf life of the packaged Medicinal Product itself, shelf life after transformation where necessary and shelf life after the first opening of a bottle, etc. The shelf life type shall be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified.
	Type CodeableConcept
	// The shelf life time period can be specified using a numerical value for the period of time and its unit of time measurement The unit of measurement shall be specified in accordance with ISO 11240 and the resulting terminology The symbol and the symbol identifier shall be used.
	Period Quantity
	// Special precautions for storage, if any, can be specified using an appropriate controlled vocabulary The controlled term and the controlled term identifier shall be specified.
	SpecialPrecautionsForStorage []CodeableConcept
}

Base StructureDefinition for ProductShelfLife Type: The shelf-life and storage information for a medicinal product item or container can be described using this class.

func (ProductShelfLife) MarshalJSON

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

func (ProductShelfLife) MarshalXML

func (r ProductShelfLife) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ProductShelfLife) MemSize

func (r ProductShelfLife) MemSize() int

func (ProductShelfLife) String

func (r ProductShelfLife) String() string

func (*ProductShelfLife) UnmarshalXML

func (r *ProductShelfLife) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Provenance

type Provenance struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The Reference(s) that were generated or updated by  the activity described in this resource. A provenance can point to more than one target if multiple resources were created/updated by the same activity.
	Target []Reference
	// The period during which the activity occurred.
	Occurred isProvenanceOccurred
	// The instant of time at which the activity was recorded.
	Recorded Instant
	// Policy or plan the activity was defined by. Typically, a single activity may have multiple applicable policy documents, such as patient consent, guarantor funding, etc.
	Policy []Uri
	// Where the activity occurred, if relevant.
	Location *Reference
	// The reason that the activity was taking place.
	Reason []CodeableConcept
	// An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities.
	Activity *CodeableConcept
	// An actor taking a role in an activity  for which it can be assigned some degree of responsibility for the activity taking place.
	Agent []ProvenanceAgent
	// An entity used in this activity.
	Entity []ProvenanceEntity
	// A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.
	Signature []Signature
}

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 (Provenance) MarshalJSON

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

func (Provenance) MarshalXML

func (r Provenance) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Provenance) MemSize

func (r Provenance) MemSize() int

func (Provenance) ResourceId

func (r Provenance) ResourceId() (string, bool)

func (Provenance) ResourceType

func (r Provenance) ResourceType() string

func (Provenance) String

func (r Provenance) String() string

func (*Provenance) UnmarshalJSON

func (r *Provenance) UnmarshalJSON(b []byte) error

func (*Provenance) UnmarshalXML

func (r *Provenance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ProvenanceAgent

type ProvenanceAgent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The participation the agent had with respect to the activity.
	Type *CodeableConcept
	// The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.
	Role []CodeableConcept
	// The individual, device or organization that participated in the event.
	Who Reference
	// The individual, device, or organization for whom the change was made.
	OnBehalfOf *Reference
}

An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.

func (ProvenanceAgent) MarshalJSON

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

func (ProvenanceAgent) MarshalXML

func (r ProvenanceAgent) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ProvenanceAgent) MemSize

func (r ProvenanceAgent) MemSize() int

func (*ProvenanceAgent) UnmarshalXML

func (r *ProvenanceAgent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ProvenanceEntity

type ProvenanceEntity struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// How the entity was used during the activity.
	Role Code
	// Identity of the  Entity used. May be a logical or physical uri and maybe absolute or relative.
	What Reference
	// The entity is attributed to an agent to express the agent's responsibility for that entity, possibly along with other agents. This description can be understood as shorthand for saying that the agent was responsible for the activity which generated the entity.
	Agent []ProvenanceAgent
}

An entity used in this activity.

func (ProvenanceEntity) MarshalJSON

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

func (ProvenanceEntity) MarshalXML

func (r ProvenanceEntity) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ProvenanceEntity) MemSize

func (r ProvenanceEntity) MemSize() int

func (*ProvenanceEntity) UnmarshalXML

func (r *ProvenanceEntity) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Quantity

type Quantity struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The value of the measured amount. The value includes an implicit precision in the presentation of the value.
	Value *Decimal
	// How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.
	Comparator *Code
	// A human-readable form of the unit.
	Unit *String
	// The identification of the system that provides the coded form of the unit.
	System *Uri
	// A computer processable form of the unit in some unit representation system.
	Code *Code
}

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.

Need to able to capture all sorts of measured values, even if the measured value are not precisely quantified. Values include exact measures such as 3.51g, customary units such as 3 tablets, and currencies such as $100.32USD.

func (Quantity) MarshalJSON

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

func (Quantity) MarshalXML

func (r Quantity) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Quantity) MemSize

func (r Quantity) MemSize() int

func (Quantity) String

func (r Quantity) String() string

func (*Quantity) UnmarshalXML

func (r *Quantity) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Questionnaire

type Questionnaire struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this questionnaire when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this questionnaire is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the questionnaire is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this questionnaire when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the questionnaire when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the questionnaire author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the questionnaire. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the questionnaire.
	Title *String
	// The URL of a Questionnaire that this Questionnaire is based on.
	DerivedFrom []Canonical
	// The status of this questionnaire. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this questionnaire is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The types of subjects that can be the subject of responses created for the questionnaire.
	SubjectType []Code
	// The date  (and optionally time) when the questionnaire was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the questionnaire changes.
	Date *DateTime
	// The name of the organization or individual that published the questionnaire.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the questionnaire from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate questionnaire instances.
	UseContext []UsageContext
	// A legal or geographic region in which the questionnaire is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this questionnaire is needed and why it has been designed as it has.
	Purpose *Markdown
	// A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire.
	Copyright *Markdown
	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate *Date
	// The period during which the questionnaire content was or is planned to be in active use.
	EffectivePeriod *Period
	// An identifier for this question or group of questions in a particular terminology such as LOINC.
	Code []Coding
	// A particular question, question grouping or display text that is part of the questionnaire.
	Item []QuestionnaireItem
}

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.

To support structured, hierarchical registration of data gathered using digital forms and other questionnaires. Questionnaires provide greater control over presentation and allow capture of data in a domain-independent way (i.e. capturing information that would otherwise require multiple distinct types of resources).

func (Questionnaire) MarshalJSON

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

func (Questionnaire) MarshalXML

func (r Questionnaire) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Questionnaire) MemSize

func (r Questionnaire) MemSize() int

func (Questionnaire) ResourceId

func (r Questionnaire) ResourceId() (string, bool)

func (Questionnaire) ResourceType

func (r Questionnaire) ResourceType() string

func (Questionnaire) String

func (r Questionnaire) String() string

func (*Questionnaire) UnmarshalJSON

func (r *Questionnaire) UnmarshalJSON(b []byte) error

func (*Questionnaire) UnmarshalXML

func (r *Questionnaire) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type QuestionnaireItem

type QuestionnaireItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An identifier that is unique within the Questionnaire allowing linkage to the equivalent item in a QuestionnaireResponse resource.
	LinkId String
	// This element is a URI that refers to an [ElementDefinition](elementdefinition.html) that provides information about this item, including information that might otherwise be included in the instance of the Questionnaire resource. A detailed description of the construction of the URI is shown in Comments, below. If this element is present then the following element values MAY be derived from the Element Definition if the corresponding elements of this Questionnaire resource instance have no value:
	//
	// * code (ElementDefinition.code)
	// * type (ElementDefinition.type)
	// * required (ElementDefinition.min)
	// * repeats (ElementDefinition.max)
	// * maxLength (ElementDefinition.maxLength)
	// * answerValueSet (ElementDefinition.binding)
	// * options (ElementDefinition.binding).
	Definition *Uri
	// A terminology code that corresponds to this group or question (e.g. a code from LOINC, which defines many questions and answers).
	Code []Coding
	// A short label for a particular group, question or set of display text within the questionnaire used for reference by the individual completing the questionnaire.
	Prefix *String
	// The name of a section, the text of a question or text content for a display item.
	Text *String
	// The type of questionnaire item this is - whether text for display, a grouping of other items or a particular type of data to be captured (string, integer, coded choice, etc.).
	Type Code
	// A constraint indicating that this item should only be enabled (displayed/allow answers to be captured) when the specified condition is true.
	EnableWhen []QuestionnaireItemEnableWhen
	// Controls how multiple enableWhen values are interpreted -  whether all or any must be true.
	EnableBehavior *Code
	// An indication, if true, that the item must be present in a "completed" QuestionnaireResponse.  If false, the item may be skipped when answering the questionnaire.
	Required *Boolean
	// An indication, if true, that the item may occur multiple times in the response, collecting multiple answers for questions or multiple sets of answers for groups.
	Repeats *Boolean
	// An indication, when true, that the value cannot be changed by a human respondent to the Questionnaire.
	ReadOnly *Boolean
	// The maximum number of characters that are permitted in the answer to be considered a "valid" QuestionnaireResponse.
	MaxLength *Integer
	// A reference to a value set containing a list of codes representing permitted answers for a "choice" or "open-choice" question.
	AnswerValueSet *Canonical
	// One of the permitted answers for a "choice" or "open-choice" question.
	AnswerOption []QuestionnaireItemAnswerOption
	// One or more values that should be pre-populated in the answer when initially rendering the questionnaire for user input.
	Initial []QuestionnaireItemInitial
	// Text, questions and other groups to be nested beneath a question or group.
	Item []QuestionnaireItem
}

A particular question, question grouping or display text that is part of the questionnaire.

func (QuestionnaireItem) MarshalJSON

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

func (QuestionnaireItem) MarshalXML

func (r QuestionnaireItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (QuestionnaireItem) MemSize

func (r QuestionnaireItem) MemSize() int

func (*QuestionnaireItem) UnmarshalXML

func (r *QuestionnaireItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type QuestionnaireItemAnswerOption

type QuestionnaireItemAnswerOption struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A potential answer that's allowed as the answer to this question.
	Value isQuestionnaireItemAnswerOptionValue
	// Indicates whether the answer value is selected when the list of possible answers is initially shown.
	InitialSelected *Boolean
}

One of the permitted answers for a "choice" or "open-choice" question.

func (QuestionnaireItemAnswerOption) MarshalJSON

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

func (QuestionnaireItemAnswerOption) MarshalXML

func (QuestionnaireItemAnswerOption) MemSize

func (r QuestionnaireItemAnswerOption) MemSize() int

func (*QuestionnaireItemAnswerOption) UnmarshalXML

func (r *QuestionnaireItemAnswerOption) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type QuestionnaireItemEnableWhen

type QuestionnaireItemEnableWhen struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The linkId for the question whose answer (or lack of answer) governs whether this item is enabled.
	Question String
	// Specifies the criteria by which the question is enabled.
	Operator Code
	// A value that the referenced question is tested using the specified operator in order for the item to be enabled.
	Answer isQuestionnaireItemEnableWhenAnswer
}

A constraint indicating that this item should only be enabled (displayed/allow answers to be captured) when the specified condition is true.

func (QuestionnaireItemEnableWhen) MarshalJSON

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

func (QuestionnaireItemEnableWhen) MarshalXML

func (r QuestionnaireItemEnableWhen) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (QuestionnaireItemEnableWhen) MemSize

func (r QuestionnaireItemEnableWhen) MemSize() int

func (*QuestionnaireItemEnableWhen) UnmarshalXML

func (r *QuestionnaireItemEnableWhen) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type QuestionnaireItemInitial

type QuestionnaireItemInitial struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The actual value to for an initial answer.
	Value isQuestionnaireItemInitialValue
}

One or more values that should be pre-populated in the answer when initially rendering the questionnaire for user input.

func (QuestionnaireItemInitial) MarshalJSON

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

func (QuestionnaireItemInitial) MarshalXML

func (r QuestionnaireItemInitial) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (QuestionnaireItemInitial) MemSize

func (r QuestionnaireItemInitial) MemSize() int

func (*QuestionnaireItemInitial) UnmarshalXML

func (r *QuestionnaireItemInitial) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type QuestionnaireResponse

type QuestionnaireResponse struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A business identifier assigned to a particular completed (or partially completed) questionnaire.
	Identifier *Identifier
	// The order, proposal or plan that is fulfilled in whole or in part by this QuestionnaireResponse.  For example, a ServiceRequest seeking an intake assessment or a decision support recommendation to assess for post-partum depression.
	BasedOn []Reference
	// A procedure or observation that this questionnaire was performed as part of the execution of.  For example, the surgery a checklist was executed as part of.
	PartOf []Reference
	// The Questionnaire that defines and organizes the questions for which answers are being provided.
	Questionnaire *Canonical
	// The position of the questionnaire response within its overall lifecycle.
	Status Code
	// The subject of the questionnaire response.  This could be a patient, organization, practitioner, device, etc.  This is who/what the answers apply to, but is not necessarily the source of information.
	Subject *Reference
	// The Encounter during which this questionnaire response was created or to which the creation of this record is tightly associated.
	Encounter *Reference
	// The date and/or time that this set of answers were last changed.
	Authored *DateTime
	// Person who received the answers to the questions in the QuestionnaireResponse and recorded them in the system.
	Author *Reference
	// The person who answered the questions about the subject.
	Source *Reference
	// A group or question item from the original questionnaire for which answers are provided.
	Item []QuestionnaireResponseItem
}

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.

To support structured, hierarchical reporting of data gathered using digital forms and other questionnaires.

func (QuestionnaireResponse) MarshalJSON

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

func (QuestionnaireResponse) MarshalXML

func (r QuestionnaireResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (QuestionnaireResponse) MemSize

func (r QuestionnaireResponse) MemSize() int

func (QuestionnaireResponse) ResourceId

func (r QuestionnaireResponse) ResourceId() (string, bool)

func (QuestionnaireResponse) ResourceType

func (r QuestionnaireResponse) ResourceType() string

func (QuestionnaireResponse) String

func (r QuestionnaireResponse) String() string

func (*QuestionnaireResponse) UnmarshalJSON

func (r *QuestionnaireResponse) UnmarshalJSON(b []byte) error

func (*QuestionnaireResponse) UnmarshalXML

func (r *QuestionnaireResponse) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type QuestionnaireResponseItem

type QuestionnaireResponseItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The item from the Questionnaire that corresponds to this item in the QuestionnaireResponse resource.
	LinkId String
	// A reference to an [ElementDefinition](elementdefinition.html) that provides the details for the item.
	Definition *Uri
	// Text that is displayed above the contents of the group or as the text of the question being answered.
	Text *String
	// The respondent's answer(s) to the question.
	Answer []QuestionnaireResponseItemAnswer
	// Questions or sub-groups nested beneath a question or group.
	Item []QuestionnaireResponseItem
}

A group or question item from the original questionnaire for which answers are provided.

func (QuestionnaireResponseItem) MarshalJSON

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

func (QuestionnaireResponseItem) MarshalXML

func (r QuestionnaireResponseItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (QuestionnaireResponseItem) MemSize

func (r QuestionnaireResponseItem) MemSize() int

func (*QuestionnaireResponseItem) UnmarshalXML

func (r *QuestionnaireResponseItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type QuestionnaireResponseItemAnswer

type QuestionnaireResponseItemAnswer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The answer (or one of the answers) provided by the respondent to the question.
	Value isQuestionnaireResponseItemAnswerValue
	// Nested groups and/or questions found within this particular answer.
	Item []QuestionnaireResponseItem
}

The respondent's answer(s) to the question.

func (QuestionnaireResponseItemAnswer) MarshalJSON

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

func (QuestionnaireResponseItemAnswer) MarshalXML

func (QuestionnaireResponseItemAnswer) MemSize

func (*QuestionnaireResponseItemAnswer) UnmarshalXML

func (r *QuestionnaireResponseItemAnswer) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Range

type Range struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The low limit. The boundary is inclusive.
	Low *Quantity
	// The high limit. The boundary is inclusive.
	High *Quantity
}

Base StructureDefinition for Range Type: A set of ordered Quantities defined by a low and high limit.

Need to be able to specify ranges of values.

func (Range) MarshalJSON

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

func (Range) MarshalXML

func (r Range) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Range) MemSize

func (r Range) MemSize() int

func (Range) String

func (r Range) String() string

func (*Range) UnmarshalXML

func (r *Range) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Ratio

type Ratio struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The value of the numerator.
	Numerator *Quantity
	// The value of the denominator.
	Denominator *Quantity
}

Base StructureDefinition for Ratio Type: A relationship of two Quantity values - expressed as a numerator and a denominator.

Need to able to capture ratios for some measurements (titers) and some rates (costs).

func (Ratio) MarshalJSON

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

func (Ratio) MarshalXML

func (r Ratio) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Ratio) MemSize

func (r Ratio) MemSize() int

func (Ratio) String

func (r Ratio) String() string

func (*Ratio) UnmarshalXML

func (r *Ratio) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RatioRange

type RatioRange struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The value of the low limit numerator.
	LowNumerator *Quantity
	// The value of the high limit numerator.
	HighNumerator *Quantity
	// The value of the denominator.
	Denominator *Quantity
}

Base StructureDefinition for RatioRange Type: A range of ratios expressed as a low and high numerator and a denominator.

Need to be able to specify ranges of ratios.

func (RatioRange) MarshalJSON

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

func (RatioRange) MarshalXML

func (r RatioRange) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (RatioRange) MemSize

func (r RatioRange) MemSize() int

func (RatioRange) String

func (r RatioRange) String() string

func (*RatioRange) UnmarshalXML

func (r *RatioRange) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Reference

type Reference struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
	Reference *String
	// The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.
	//
	// The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).
	Type *Uri
	// An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
	Identifier *Identifier
	// Plain text narrative that identifies the resource in addition to the resource reference.
	Display *String
}

Base StructureDefinition for Reference Type: A reference from one resource to another.

func (Reference) MarshalJSON

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

func (Reference) MarshalXML

func (r Reference) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Reference) MemSize

func (r Reference) MemSize() int

func (Reference) String

func (r Reference) String() string

func (*Reference) UnmarshalXML

func (r *Reference) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RegulatedAuthorization

type RegulatedAuthorization struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifier for the authorization, typically assigned by the authorizing body.
	Identifier []Identifier
	// The product type, treatment, facility or activity that is being authorized.
	Subject []Reference
	// Overall type of this authorization, for example drug marketing approval, orphan drug designation.
	Type *CodeableConcept
	// General textual supporting information.
	Description *Markdown
	// The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted.
	Region []CodeableConcept
	// The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications.
	Status *CodeableConcept
	// The date at which the current status was assigned.
	StatusDate *DateTime
	// The time period in which the regulatory approval, clearance or licencing is in effect. As an example, a Marketing Authorization includes the date of authorization and/or an expiration date.
	ValidityPeriod *Period
	// Condition for which the use of the regulated product applies.
	Indication *CodeableReference
	// The intended use of the product, e.g. prevention, treatment, diagnosis.
	IntendedUse *CodeableConcept
	// The legal or regulatory framework against which this authorization is granted, or other reasons for it.
	Basis []CodeableConcept
	// The organization that has been granted this authorization, by some authoritative body (the 'regulator').
	Holder *Reference
	// The regulatory authority or authorizing body granting the authorization. For example, European Medicines Agency (EMA), Food and Drug Administration (FDA), Health Canada (HC), etc.
	Regulator *Reference
	// The case or regulatory procedure for granting or amending a regulated authorization. An authorization is granted in response to submissions/applications by those seeking authorization. A case is the administrative process that deals with the application(s) that relate to this and assesses them. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page).
	Case *RegulatedAuthorizationCase
}

Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product.

func (RegulatedAuthorization) MarshalJSON

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

func (RegulatedAuthorization) MarshalXML

func (r RegulatedAuthorization) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (RegulatedAuthorization) MemSize

func (r RegulatedAuthorization) MemSize() int

func (RegulatedAuthorization) ResourceId

func (r RegulatedAuthorization) ResourceId() (string, bool)

func (RegulatedAuthorization) ResourceType

func (r RegulatedAuthorization) ResourceType() string

func (RegulatedAuthorization) String

func (r RegulatedAuthorization) String() string

func (*RegulatedAuthorization) UnmarshalJSON

func (r *RegulatedAuthorization) UnmarshalJSON(b []byte) error

func (*RegulatedAuthorization) UnmarshalXML

func (r *RegulatedAuthorization) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RegulatedAuthorizationCase

type RegulatedAuthorizationCase struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier by which this case can be referenced.
	Identifier *Identifier
	// The defining type of case.
	Type *CodeableConcept
	// The status associated with the case.
	Status *CodeableConcept
	// Relevant date for this case.
	Date isRegulatedAuthorizationCaseDate
	// A regulatory submission from an organization to a regulator, as part of an assessing case. Multiple applications may occur over time, with more or different information to support or modify the submission or the authorization. The applications can be considered as steps within the longer running case or procedure for this authorization process.
	Application []RegulatedAuthorizationCase
}

The case or regulatory procedure for granting or amending a regulated authorization. An authorization is granted in response to submissions/applications by those seeking authorization. A case is the administrative process that deals with the application(s) that relate to this and assesses them. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page).

func (RegulatedAuthorizationCase) MarshalJSON

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

func (RegulatedAuthorizationCase) MarshalXML

func (r RegulatedAuthorizationCase) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (RegulatedAuthorizationCase) MemSize

func (r RegulatedAuthorizationCase) MemSize() int

func (*RegulatedAuthorizationCase) UnmarshalXML

func (r *RegulatedAuthorizationCase) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RelatedArtifact

type RelatedArtifact struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The type of relationship to the related artifact.
	Type Code
	// A short label that can be used to reference the citation from elsewhere in the containing artifact, such as a footnote index.
	Label *String
	// A brief description of the document or knowledge resource being referenced, suitable for display to a consumer.
	Display *String
	// A bibliographic citation for the related artifact. This text SHOULD be formatted according to an accepted citation format.
	Citation *Markdown
	// A url for the artifact that can be followed to access the actual content.
	Url *Url
	// The document being referenced, represented as an attachment. This is exclusive with the resource element.
	Document *Attachment
	// The related resource, such as a library, value set, profile, or other knowledge resource.
	Resource *Canonical
}

Base StructureDefinition for RelatedArtifact Type: Related artifacts such as additional documentation, justification, or bibliographic references.

Knowledge resources must be able to provide enough information for consumers of the content (and/or interventions or results produced by the content) to be able to determine and understand the justification for and evidence in support of the content.

func (RelatedArtifact) MarshalJSON

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

func (RelatedArtifact) MarshalXML

func (r RelatedArtifact) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (RelatedArtifact) MemSize

func (r RelatedArtifact) MemSize() int

func (RelatedArtifact) String

func (r RelatedArtifact) String() string

func (*RelatedArtifact) UnmarshalXML

func (r *RelatedArtifact) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RelatedPerson

type RelatedPerson struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier for a person within a particular scope.
	Identifier []Identifier
	// Whether this related person record is in active use.
	Active *Boolean
	// The patient this person is related to.
	Patient Reference
	// The nature of the relationship between a patient and the related person.
	Relationship []CodeableConcept
	// A name associated with the person.
	Name []HumanName
	// A contact detail for the person, e.g. a telephone number or an email address.
	Telecom []ContactPoint
	// Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.
	Gender *Code
	// The date on which the related person was born.
	BirthDate *Date
	// Address where the related person can be contacted or visited.
	Address []Address
	// Image of the person.
	Photo []Attachment
	// The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown.
	Period *Period
	// A language which may be used to communicate with about the patient's health.
	Communication []RelatedPersonCommunication
}

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.

Need to track persons related to the patient or the healthcare process.

func (RelatedPerson) MarshalJSON

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

func (RelatedPerson) MarshalXML

func (r RelatedPerson) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (RelatedPerson) MemSize

func (r RelatedPerson) MemSize() int

func (RelatedPerson) ResourceId

func (r RelatedPerson) ResourceId() (string, bool)

func (RelatedPerson) ResourceType

func (r RelatedPerson) ResourceType() string

func (RelatedPerson) String

func (r RelatedPerson) String() string

func (*RelatedPerson) UnmarshalJSON

func (r *RelatedPerson) UnmarshalJSON(b []byte) error

func (*RelatedPerson) UnmarshalXML

func (r *RelatedPerson) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RelatedPersonCommunication

type RelatedPersonCommunication struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.
	Language CodeableConcept
	// Indicates whether or not the patient prefers this language (over other languages he masters up a certain level).
	Preferred *Boolean
}

A language which may be used to communicate with about the patient's health.

func (RelatedPersonCommunication) MarshalJSON

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

func (RelatedPersonCommunication) MarshalXML

func (r RelatedPersonCommunication) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (RelatedPersonCommunication) MemSize

func (r RelatedPersonCommunication) MemSize() int

func (*RelatedPersonCommunication) UnmarshalXML

func (r *RelatedPersonCommunication) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RequestGroup

type RequestGroup struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Allows a service to provide a unique, business identifier for the request.
	Identifier []Identifier
	// A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.
	InstantiatesCanonical []Canonical
	// A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.
	InstantiatesUri []Uri
	// A plan, proposal or order that is fulfilled in whole or in part by this request.
	BasedOn []Reference
	// Completed or terminated request(s) whose function is taken by this new request.
	Replaces []Reference
	// A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.
	GroupIdentifier *Identifier
	// The current state of the request. For request groups, the status reflects the status of all the requests in the group.
	Status Code
	// Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.
	Intent Code
	// Indicates how quickly the request should be addressed with respect to other requests.
	Priority *Code
	// A code that identifies what the overall request group is.
	Code *CodeableConcept
	// The subject for which the request group was created.
	Subject *Reference
	// Describes the context of the request group, if any.
	Encounter *Reference
	// Indicates when the request group was created.
	AuthoredOn *DateTime
	// Provides a reference to the author of the request group.
	Author *Reference
	// Describes the reason for the request group in coded or textual form.
	ReasonCode []CodeableConcept
	// Indicates another resource whose existence justifies this request group.
	ReasonReference []Reference
	// Provides a mechanism to communicate additional information about the response.
	Note []Annotation
	// The actions, if any, produced by the evaluation of the artifact.
	Action []RequestGroupAction
}

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 (RequestGroup) MarshalJSON

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

func (RequestGroup) MarshalXML

func (r RequestGroup) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (RequestGroup) MemSize

func (r RequestGroup) MemSize() int

func (RequestGroup) ResourceId

func (r RequestGroup) ResourceId() (string, bool)

func (RequestGroup) ResourceType

func (r RequestGroup) ResourceType() string

func (RequestGroup) String

func (r RequestGroup) String() string

func (*RequestGroup) UnmarshalJSON

func (r *RequestGroup) UnmarshalJSON(b []byte) error

func (*RequestGroup) UnmarshalXML

func (r *RequestGroup) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RequestGroupAction

type RequestGroupAction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A user-visible prefix for the action.
	Prefix *String
	// The title of the action displayed to a user.
	Title *String
	// A short description of the action used to provide a summary to display to the user.
	Description *String
	// A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.
	TextEquivalent *String
	// Indicates how quickly the action should be addressed with respect to other actions.
	Priority *Code
	// A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template.
	Code []CodeableConcept
	// Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.
	Documentation []RelatedArtifact
	// An expression that describes applicability criteria, or start/stop conditions for the action.
	Condition []RequestGroupActionCondition
	// A relationship to another action such as "before" or "30-60 minutes after start of".
	RelatedAction []RequestGroupActionRelatedAction
	// An optional value describing when the action should be performed.
	Timing isRequestGroupActionTiming
	// The participant that should perform or be responsible for this action.
	Participant []Reference
	// The type of action to perform (create, update, remove).
	Type *CodeableConcept
	// Defines the grouping behavior for the action and its children.
	GroupingBehavior *Code
	// Defines the selection behavior for the action and its children.
	SelectionBehavior *Code
	// Defines expectations around whether an action is required.
	RequiredBehavior *Code
	// Defines whether the action should usually be preselected.
	PrecheckBehavior *Code
	// Defines whether the action can be selected multiple times.
	CardinalityBehavior *Code
	// The resource that is the target of the action (e.g. CommunicationRequest).
	Resource *Reference
	// Sub actions.
	Action []RequestGroupAction
}

The actions, if any, produced by the evaluation of the artifact.

func (RequestGroupAction) MarshalJSON

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

func (RequestGroupAction) MarshalXML

func (r RequestGroupAction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (RequestGroupAction) MemSize

func (r RequestGroupAction) MemSize() int

func (*RequestGroupAction) UnmarshalXML

func (r *RequestGroupAction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RequestGroupActionCondition

type RequestGroupActionCondition struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The kind of condition.
	Kind Code
	// An expression that returns true or false, indicating whether or not the condition is satisfied.
	Expression *Expression
}

An expression that describes applicability criteria, or start/stop conditions for the action.

func (RequestGroupActionCondition) MarshalJSON

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

func (RequestGroupActionCondition) MarshalXML

func (r RequestGroupActionCondition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (RequestGroupActionCondition) MemSize

func (r RequestGroupActionCondition) MemSize() int

func (*RequestGroupActionCondition) UnmarshalXML

func (r *RequestGroupActionCondition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RequestGroupActionRelatedAction

type RequestGroupActionRelatedAction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The element id of the action this is related to.
	ActionId Id
	// The relationship of this action to the related action.
	Relationship Code
	// A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.
	Offset isRequestGroupActionRelatedActionOffset
}

A relationship to another action such as "before" or "30-60 minutes after start of".

func (RequestGroupActionRelatedAction) MarshalJSON

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

func (RequestGroupActionRelatedAction) MarshalXML

func (RequestGroupActionRelatedAction) MemSize

func (*RequestGroupActionRelatedAction) UnmarshalXML

func (r *RequestGroupActionRelatedAction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ResearchDefinition

type ResearchDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this research definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this research definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the research definition is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this research definition when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the research definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the research definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.
	Version *String
	// A natural language name identifying the research definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the research definition.
	Title *String
	// The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.
	ShortTitle *String
	// An explanatory or alternate title for the ResearchDefinition giving additional information about its content.
	Subtitle *String
	// The status of this research definition. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this research definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The intended subjects for the ResearchDefinition. If this element is not provided, a Patient subject is assumed, but the subject of the ResearchDefinition can be anything.
	Subject isResearchDefinitionSubject
	// The date  (and optionally time) when the research definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the research definition changes.
	Date *DateTime
	// The name of the organization or individual that published the research definition.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the research definition from a consumer's perspective.
	Description *Markdown
	// A human-readable string to clarify or explain concepts about the resource.
	Comment []String
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate research definition instances.
	UseContext []UsageContext
	// A legal or geographic region in which the research definition is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this research definition is needed and why it has been designed as it has.
	Purpose *Markdown
	// A detailed description, from a clinical perspective, of how the ResearchDefinition is used.
	Usage *String
	// A copyright statement relating to the research definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the research definition.
	Copyright *Markdown
	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate *Date
	// The period during which the research definition content was or is planned to be in active use.
	EffectivePeriod *Period
	// Descriptive topics related to the content of the ResearchDefinition. Topics provide a high-level categorization grouping types of ResearchDefinitions that can be useful for filtering and searching.
	Topic []CodeableConcept
	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []ContactDetail
	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []ContactDetail
	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []ContactDetail
	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []ContactDetail
	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []RelatedArtifact
	// A reference to a Library resource containing the formal logic used by the ResearchDefinition.
	Library []Canonical
	// A reference to a ResearchElementDefinition resource that defines the population for the research.
	Population Reference
	// A reference to a ResearchElementDefinition resource that defines the exposure for the research.
	Exposure *Reference
	// A reference to a ResearchElementDefinition resource that defines the exposureAlternative for the research.
	ExposureAlternative *Reference
	// A reference to a ResearchElementDefinition resomece that defines the outcome for the research.
	Outcome *Reference
}

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 (ResearchDefinition) MarshalJSON

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

func (ResearchDefinition) MarshalXML

func (r ResearchDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ResearchDefinition) MemSize

func (r ResearchDefinition) MemSize() int

func (ResearchDefinition) ResourceId

func (r ResearchDefinition) ResourceId() (string, bool)

func (ResearchDefinition) ResourceType

func (r ResearchDefinition) ResourceType() string

func (ResearchDefinition) String

func (r ResearchDefinition) String() string

func (*ResearchDefinition) UnmarshalJSON

func (r *ResearchDefinition) UnmarshalJSON(b []byte) error

func (*ResearchDefinition) UnmarshalXML

func (r *ResearchDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ResearchElementDefinition

type ResearchElementDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this research element definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this research element definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the research element definition is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this research element definition when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the research element definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the research element definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.
	Version *String
	// A natural language name identifying the research element definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the research element definition.
	Title *String
	// The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.
	ShortTitle *String
	// An explanatory or alternate title for the ResearchElementDefinition giving additional information about its content.
	Subtitle *String
	// The status of this research element definition. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this research element definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The intended subjects for the ResearchElementDefinition. If this element is not provided, a Patient subject is assumed, but the subject of the ResearchElementDefinition can be anything.
	Subject isResearchElementDefinitionSubject
	// The date  (and optionally time) when the research element definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the research element definition changes.
	Date *DateTime
	// The name of the organization or individual that published the research element definition.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the research element definition from a consumer's perspective.
	Description *Markdown
	// A human-readable string to clarify or explain concepts about the resource.
	Comment []String
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate research element definition instances.
	UseContext []UsageContext
	// A legal or geographic region in which the research element definition is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this research element definition is needed and why it has been designed as it has.
	Purpose *Markdown
	// A detailed description, from a clinical perspective, of how the ResearchElementDefinition is used.
	Usage *String
	// A copyright statement relating to the research element definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the research element definition.
	Copyright *Markdown
	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate *Date
	// The period during which the research element definition content was or is planned to be in active use.
	EffectivePeriod *Period
	// Descriptive topics related to the content of the ResearchElementDefinition. Topics provide a high-level categorization grouping types of ResearchElementDefinitions that can be useful for filtering and searching.
	Topic []CodeableConcept
	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []ContactDetail
	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []ContactDetail
	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []ContactDetail
	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []ContactDetail
	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []RelatedArtifact
	// A reference to a Library resource containing the formal logic used by the ResearchElementDefinition.
	Library []Canonical
	// The type of research element, a population, an exposure, or an outcome.
	Type Code
	// The type of the outcome (e.g. Dichotomous, Continuous, or Descriptive).
	VariableType *Code
	// A characteristic that defines the members of the research element. Multiple characteristics are applied with "and" semantics.
	Characteristic []ResearchElementDefinitionCharacteristic
}

The ResearchElementDefinition resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.

Need to be able to define and reuse the definition of individual elements of a research question.

func (ResearchElementDefinition) MarshalJSON

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

func (ResearchElementDefinition) MarshalXML

func (r ResearchElementDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ResearchElementDefinition) MemSize

func (r ResearchElementDefinition) MemSize() int

func (ResearchElementDefinition) ResourceId

func (r ResearchElementDefinition) ResourceId() (string, bool)

func (ResearchElementDefinition) ResourceType

func (r ResearchElementDefinition) ResourceType() string

func (ResearchElementDefinition) String

func (r ResearchElementDefinition) String() string

func (*ResearchElementDefinition) UnmarshalJSON

func (r *ResearchElementDefinition) UnmarshalJSON(b []byte) error

func (*ResearchElementDefinition) UnmarshalXML

func (r *ResearchElementDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ResearchElementDefinitionCharacteristic

type ResearchElementDefinitionCharacteristic struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Define members of the research element using Codes (such as condition, medication, or observation), Expressions ( using an expression language such as FHIRPath or CQL) or DataRequirements (such as Diabetes diagnosis onset in the last year).
	Definition isResearchElementDefinitionCharacteristicDefinition
	// Use UsageContext to define the members of the population, such as Age Ranges, Genders, Settings.
	UsageContext []UsageContext
	// When true, members with this characteristic are excluded from the element.
	Exclude *Boolean
	// Specifies the UCUM unit for the outcome.
	UnitOfMeasure *CodeableConcept
	// A narrative description of the time period the study covers.
	StudyEffectiveDescription *String
	// Indicates what effective period the study covers.
	StudyEffective isResearchElementDefinitionCharacteristicStudyEffective
	// Indicates duration from the study initiation.
	StudyEffectiveTimeFromStart *Duration
	// Indicates how elements are aggregated within the study effective period.
	StudyEffectiveGroupMeasure *Code
	// A narrative description of the time period the study covers.
	ParticipantEffectiveDescription *String
	// Indicates what effective period the study covers.
	ParticipantEffective isResearchElementDefinitionCharacteristicParticipantEffective
	// Indicates duration from the participant's study entry.
	ParticipantEffectiveTimeFromStart *Duration
	// Indicates how elements are aggregated within the study effective period.
	ParticipantEffectiveGroupMeasure *Code
}

A characteristic that defines the members of the research element. Multiple characteristics are applied with "and" semantics.

func (ResearchElementDefinitionCharacteristic) MarshalJSON

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

func (ResearchElementDefinitionCharacteristic) MarshalXML

func (ResearchElementDefinitionCharacteristic) MemSize

func (*ResearchElementDefinitionCharacteristic) UnmarshalXML

type ResearchStudy

type ResearchStudy struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers assigned to this research study by the sponsor or other systems.
	Identifier []Identifier
	// A short, descriptive user-friendly label for the study.
	Title *String
	// The set of steps expected to be performed as part of the execution of the study.
	Protocol []Reference
	// A larger research study of which this particular study is a component or step.
	PartOf []Reference
	// The current state of the study.
	Status Code
	// The type of study based upon the intent of the study's activities. A classification of the intent of the study.
	PrimaryPurposeType *CodeableConcept
	// The stage in the progression of a therapy from initial experimental use in humans in clinical trials to post-market evaluation.
	Phase *CodeableConcept
	// Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc.
	Category []CodeableConcept
	// The medication(s), food(s), therapy(ies), device(s) or other concerns or interventions that the study is seeking to gain more information about.
	Focus []CodeableConcept
	// The condition that is the focus of the study.  For example, In a study to examine risk factors for Lupus, might have as an inclusion criterion "healthy volunteer", but the target condition code would be a Lupus SNOMED code.
	Condition []CodeableConcept
	// Contact details to assist a user in learning more about or engaging with the study.
	Contact []ContactDetail
	// Citations, references and other related documents.
	RelatedArtifact []RelatedArtifact
	// Key terms to aid in searching for or filtering the study.
	Keyword []CodeableConcept
	// Indicates a country, state or other region where the study is taking place.
	Location []CodeableConcept
	// A full description of how the study is being conducted.
	Description *Markdown
	// Reference to a Group that defines the criteria for and quantity of subjects participating in the study.  E.g. " 200 female Europeans between the ages of 20 and 45 with early onset diabetes".
	Enrollment []Reference
	// Identifies the start date and the expected (or actual, depending on status) end date for the study.
	Period *Period
	// An organization that initiates the investigation and is legally responsible for the study.
	Sponsor *Reference
	// A researcher in a study who oversees multiple aspects of the study, such as concept development, protocol writing, protocol submission for IRB approval, participant recruitment, informed consent, data collection, analysis, interpretation and presentation.
	PrincipalInvestigator *Reference
	// A facility in which study activities are conducted.
	Site []Reference
	// A description and/or code explaining the premature termination of the study.
	ReasonStopped *CodeableConcept
	// Comments made about the study by the performer, subject or other participants.
	Note []Annotation
	// 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.
	Arm []ResearchStudyArm
	// 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.
	Objective []ResearchStudyObjective
}

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 (ResearchStudy) MarshalJSON

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

func (ResearchStudy) MarshalXML

func (r ResearchStudy) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ResearchStudy) MemSize

func (r ResearchStudy) MemSize() int

func (ResearchStudy) ResourceId

func (r ResearchStudy) ResourceId() (string, bool)

func (ResearchStudy) ResourceType

func (r ResearchStudy) ResourceType() string

func (ResearchStudy) String

func (r ResearchStudy) String() string

func (*ResearchStudy) UnmarshalJSON

func (r *ResearchStudy) UnmarshalJSON(b []byte) error

func (*ResearchStudy) UnmarshalXML

func (r *ResearchStudy) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ResearchStudyArm

type ResearchStudyArm struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique, human-readable label for this arm of the study.
	Name String
	// Categorization of study arm, e.g. experimental, active comparator, placebo comparater.
	Type *CodeableConcept
	// A succinct description of the path through the study that would be followed by a subject adhering to this arm.
	Description *String
}

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.

func (ResearchStudyArm) MarshalJSON

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

func (ResearchStudyArm) MarshalXML

func (r ResearchStudyArm) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ResearchStudyArm) MemSize

func (r ResearchStudyArm) MemSize() int

func (*ResearchStudyArm) UnmarshalXML

func (r *ResearchStudyArm) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ResearchStudyObjective

type ResearchStudyObjective struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique, human-readable label for this objective of the study.
	Name *String
	// The kind of study objective.
	Type *CodeableConcept
}

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.

func (ResearchStudyObjective) MarshalJSON

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

func (ResearchStudyObjective) MarshalXML

func (r ResearchStudyObjective) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ResearchStudyObjective) MemSize

func (r ResearchStudyObjective) MemSize() int

func (*ResearchStudyObjective) UnmarshalXML

func (r *ResearchStudyObjective) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ResearchSubject

type ResearchSubject struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers assigned to this research subject for a study.
	Identifier []Identifier
	// The current state of the subject.
	Status Code
	// The dates the subject began and ended their participation in the study.
	Period *Period
	// Reference to the study the subject is participating in.
	Study Reference
	// The record of the person or animal who is involved in the study.
	Individual Reference
	// The name of the arm in the study the subject is expected to follow as part of this study.
	AssignedArm *String
	// The name of the arm in the study the subject actually followed as part of this study.
	ActualArm *String
	// A record of the patient's informed agreement to participate in the study.
	Consent *Reference
}

A physical entity which is the primary unit of operational and/or administrative interest in a study.

func (ResearchSubject) MarshalJSON

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

func (ResearchSubject) MarshalXML

func (r ResearchSubject) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ResearchSubject) MemSize

func (r ResearchSubject) MemSize() int

func (ResearchSubject) ResourceId

func (r ResearchSubject) ResourceId() (string, bool)

func (ResearchSubject) ResourceType

func (r ResearchSubject) ResourceType() string

func (ResearchSubject) String

func (r ResearchSubject) String() string

func (*ResearchSubject) UnmarshalJSON

func (r *ResearchSubject) UnmarshalJSON(b []byte) error

func (*ResearchSubject) UnmarshalXML

func (r *ResearchSubject) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RiskAssessment

type RiskAssessment struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifier assigned to the risk assessment.
	Identifier []Identifier
	// A reference to the request that is fulfilled by this risk assessment.
	BasedOn *Reference
	// A reference to a resource that this risk assessment is part of, such as a Procedure.
	Parent *Reference
	// The status of the RiskAssessment, using the same statuses as an Observation.
	Status Code
	// The algorithm, process or mechanism used to evaluate the risk.
	Method *CodeableConcept
	// The type of the risk assessment performed.
	Code *CodeableConcept
	// The patient or group the risk assessment applies to.
	Subject Reference
	// The encounter where the assessment was performed.
	Encounter *Reference
	// The date (and possibly time) the risk assessment was performed.
	Occurrence isRiskAssessmentOccurrence
	// For assessments or prognosis specific to a particular condition, indicates the condition being assessed.
	Condition *Reference
	// The provider or software application that performed the assessment.
	Performer *Reference
	// The reason the risk assessment was performed.
	ReasonCode []CodeableConcept
	// Resources supporting the reason the risk assessment was performed.
	ReasonReference []Reference
	// Indicates the source data considered as part of the assessment (for example, FamilyHistory, Observations, Procedures, Conditions, etc.).
	Basis []Reference
	// Describes the expected outcome for the subject.
	Prediction []RiskAssessmentPrediction
	// A description of the steps that might be taken to reduce the identified risk(s).
	Mitigation *String
	// Additional comments about the risk assessment.
	Note []Annotation
}

An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.

func (RiskAssessment) MarshalJSON

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

func (RiskAssessment) MarshalXML

func (r RiskAssessment) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (RiskAssessment) MemSize

func (r RiskAssessment) MemSize() int

func (RiskAssessment) ResourceId

func (r RiskAssessment) ResourceId() (string, bool)

func (RiskAssessment) ResourceType

func (r RiskAssessment) ResourceType() string

func (RiskAssessment) String

func (r RiskAssessment) String() string

func (*RiskAssessment) UnmarshalJSON

func (r *RiskAssessment) UnmarshalJSON(b []byte) error

func (*RiskAssessment) UnmarshalXML

func (r *RiskAssessment) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type RiskAssessmentPrediction

type RiskAssessmentPrediction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// One of the potential outcomes for the patient (e.g. remission, death,  a particular condition).
	Outcome *CodeableConcept
	// Indicates how likely the outcome is (in the specified timeframe).
	Probability isRiskAssessmentPredictionProbability
	// Indicates how likely the outcome is (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, or high).
	QualitativeRisk *CodeableConcept
	// Indicates the risk for this particular subject (with their specific characteristics) divided by the risk of the population in general.  (Numbers greater than 1 = higher risk than the population, numbers less than 1 = lower risk.).
	RelativeRisk *Decimal
	// Indicates the period of time or age range of the subject to which the specified probability applies.
	When isRiskAssessmentPredictionWhen
	// Additional information explaining the basis for the prediction.
	Rationale *String
}

Describes the expected outcome for the subject.

func (RiskAssessmentPrediction) MarshalJSON

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

func (RiskAssessmentPrediction) MarshalXML

func (r RiskAssessmentPrediction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (RiskAssessmentPrediction) MemSize

func (r RiskAssessmentPrediction) MemSize() int

func (*RiskAssessmentPrediction) UnmarshalXML

func (r *RiskAssessmentPrediction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SampledData

type SampledData struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series.
	Origin Quantity
	// The length of time between sampling times, measured in milliseconds.
	Period Decimal
	// A correction factor that is applied to the sampled data points before they are added to the origin.
	Factor *Decimal
	// The lower limit of detection of the measured points. This is needed if any of the data points have the value "L" (lower than detection limit).
	LowerLimit *Decimal
	// The upper limit of detection of the measured points. This is needed if any of the data points have the value "U" (higher than detection limit).
	UpperLimit *Decimal
	// The number of sample points at each time point. If this value is greater than one, then the dimensions will be interlaced - all the sample points for a point in time will be recorded at once.
	Dimensions PositiveInt
	// A series of data points which are decimal values separated by a single space (character u20). The special values "E" (error), "L" (below detection limit) and "U" (above detection limit) can also be used in place of a decimal value.
	Data *String
}

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.

There is a need for a concise way to handle the data produced by devices that sample a physical state at a high frequency.

func (SampledData) MarshalJSON

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

func (SampledData) MarshalXML

func (r SampledData) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SampledData) MemSize

func (r SampledData) MemSize() int

func (SampledData) String

func (r SampledData) String() string

func (*SampledData) UnmarshalXML

func (r *SampledData) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Schedule

type Schedule struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// External Ids for this item.
	Identifier []Identifier
	// Whether this schedule record is in active use or should not be used (such as was entered in error).
	Active *Boolean
	// A broad categorization of the service that is to be performed during this appointment.
	ServiceCategory []CodeableConcept
	// The specific service that is to be performed during this appointment.
	ServiceType []CodeableConcept
	// The specialty of a practitioner that would be required to perform the service requested in this appointment.
	Specialty []CodeableConcept
	// Slots that reference this schedule resource provide the availability details to these referenced resource(s).
	Actor []Reference
	// The period of time that the slots that reference this Schedule resource cover (even if none exist). These  cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates.
	PlanningHorizon *Period
	// Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated.
	Comment *String
}

A container for slots of time that may be available for booking appointments.

func (Schedule) MarshalJSON

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

func (Schedule) MarshalXML

func (r Schedule) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Schedule) MemSize

func (r Schedule) MemSize() int

func (Schedule) ResourceId

func (r Schedule) ResourceId() (string, bool)

func (Schedule) ResourceType

func (r Schedule) ResourceType() string

func (Schedule) String

func (r Schedule) String() string

func (*Schedule) UnmarshalJSON

func (r *Schedule) UnmarshalJSON(b []byte) error

func (*Schedule) UnmarshalXML

func (r *Schedule) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SearchParameter

type SearchParameter struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers.
	Url Uri
	// The identifier that is used to identify this version of the search parameter when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the search parameter author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the search parameter. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name String
	// Where this search parameter is originally defined. If a derivedFrom is provided, then the details in the search parameter must be consistent with the definition from which it is defined. i.e. the parameter should have the same meaning, and (usually) the functionality should be a proper subset of the underlying search parameter.
	DerivedFrom *Canonical
	// The status of this search parameter. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the search parameter was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes.
	Date *DateTime
	// The name of the organization or individual that published the search parameter.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// And how it used.
	Description Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate search parameter instances.
	UseContext []UsageContext
	// A legal or geographic region in which the search parameter is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this search parameter is needed and why it has been designed as it has.
	Purpose *Markdown
	// The code used in the URL or the parameter name in a parameters resource for this search parameter.
	Code Code
	// The base resource type(s) that this search parameter can be used against.
	Base []Code
	// The type of value that a search parameter may contain, and how the content is interpreted.
	Type Code
	// A FHIRPath expression that returns a set of elements for the search parameter.
	Expression *String
	// An XPath expression that returns a set of elements for the search parameter.
	Xpath *String
	// How the search parameter relates to the set of elements returned by evaluating the xpath query.
	XpathUsage *Code
	// Types of resource (if a resource is referenced).
	Target []Code
	// Whether multiple values are allowed for each time the parameter exists. Values are separated by commas, and the parameter matches if any of the values match.
	MultipleOr *Boolean
	// Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match.
	MultipleAnd *Boolean
	// Comparators supported for the search parameter.
	Comparator []Code
	// A modifier supported for the search parameter.
	Modifier []Code
	// Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from SearchParameter.code for a parameter on the target resource type.
	Chain []String
	// Used to define the parts of a composite search parameter.
	Component []SearchParameterComponent
}

A search parameter that defines a named search item that can be used to search/filter on a resource.

func (SearchParameter) MarshalJSON

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

func (SearchParameter) MarshalXML

func (r SearchParameter) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SearchParameter) MemSize

func (r SearchParameter) MemSize() int

func (SearchParameter) ResourceId

func (r SearchParameter) ResourceId() (string, bool)

func (SearchParameter) ResourceType

func (r SearchParameter) ResourceType() string

func (SearchParameter) String

func (r SearchParameter) String() string

func (*SearchParameter) UnmarshalJSON

func (r *SearchParameter) UnmarshalJSON(b []byte) error

func (*SearchParameter) UnmarshalXML

func (r *SearchParameter) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SearchParameterComponent

type SearchParameterComponent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The definition of the search parameter that describes this part.
	Definition Canonical
	// A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression.
	Expression String
}

Used to define the parts of a composite search parameter.

func (SearchParameterComponent) MarshalJSON

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

func (SearchParameterComponent) MarshalXML

func (r SearchParameterComponent) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SearchParameterComponent) MemSize

func (r SearchParameterComponent) MemSize() int

func (*SearchParameterComponent) UnmarshalXML

func (r *SearchParameterComponent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ServiceRequest

type ServiceRequest struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller.
	Identifier []Identifier
	// The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this ServiceRequest.
	InstantiatesCanonical []Canonical
	// The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this ServiceRequest.
	InstantiatesUri []Uri
	// Plan/proposal/order fulfilled by this request.
	BasedOn []Reference
	// The request takes the place of the referenced completed or terminated request(s).
	Replaces []Reference
	// A shared identifier common to all service requests that were authorized more or less simultaneously by a single author, representing the composite or group identifier.
	Requisition *Identifier
	// The status of the order.
	Status Code
	// Whether the request is a proposal, plan, an original order or a reflex order.
	Intent Code
	// A code that classifies the service for searching, sorting and display purposes (e.g. "Surgical Procedure").
	Category []CodeableConcept
	// Indicates how quickly the ServiceRequest should be addressed with respect to other requests.
	Priority *Code
	// Set this to true if the record is saying that the service/procedure should NOT be performed.
	DoNotPerform *Boolean
	// A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.
	Code *CodeableConcept
	// Additional details and instructions about the how the services are to be delivered.   For example, and order for a urinary catheter may have an order detail for an external or indwelling catheter, or an order for a bandage may require additional instructions specifying how the bandage should be applied.
	OrderDetail []CodeableConcept
	// An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction).
	Quantity isServiceRequestQuantity
	// On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).
	Subject Reference
	// An encounter that provides additional information about the healthcare context in which this request is made.
	Encounter *Reference
	// The date/time at which the requested service should occur.
	Occurrence isServiceRequestOccurrence
	// If a CodeableConcept is present, it indicates the pre-condition for performing the service.  For example "pain", "on flare-up", etc.
	AsNeeded isServiceRequestAsNeeded
	// When the request transitioned to being actionable.
	AuthoredOn *DateTime
	// The individual who initiated the request and has responsibility for its activation.
	Requester *Reference
	// Desired type of performer for doing the requested service.
	PerformerType *CodeableConcept
	// The desired performer for doing the requested service.  For example, the surgeon, dermatopathologist, endoscopist, etc.
	Performer []Reference
	// The preferred location(s) where the procedure should actually happen in coded or free text form. E.g. at home or nursing day care center.
	LocationCode []CodeableConcept
	// A reference to the the preferred location(s) where the procedure should actually happen. E.g. at home or nursing day care center.
	LocationReference []Reference
	// An explanation or justification for why this service is being requested in coded or textual form.   This is often for billing purposes.  May relate to the resources referred to in `supportingInfo`.
	ReasonCode []CodeableConcept
	// Indicates another resource that provides a justification for why this service is being requested.   May relate to the resources referred to in `supportingInfo`.
	ReasonReference []Reference
	// Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested service.
	Insurance []Reference
	// Additional clinical information about the patient or specimen that may influence the services or their interpretations.     This information includes diagnosis, clinical findings and other observations.  In laboratory ordering these are typically referred to as "ask at order entry questions (AOEs)".  This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example,  reporting the amount of inspired oxygen for blood gas measurements.
	SupportingInfo []Reference
	// One or more specimens that the laboratory procedure will use.
	Specimen []Reference
	// Anatomic location where the procedure should be performed. This is the target site.
	BodySite []CodeableConcept
	// Any other notes and comments made about the service request. For example, internal billing notes.
	Note []Annotation
	// Instructions in terms that are understood by the patient or consumer.
	PatientInstruction *String
	// Key events in the history of the request.
	RelevantHistory []Reference
}

A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.

func (ServiceRequest) MarshalJSON

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

func (ServiceRequest) MarshalXML

func (r ServiceRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ServiceRequest) MemSize

func (r ServiceRequest) MemSize() int

func (ServiceRequest) ResourceId

func (r ServiceRequest) ResourceId() (string, bool)

func (ServiceRequest) ResourceType

func (r ServiceRequest) ResourceType() string

func (ServiceRequest) String

func (r ServiceRequest) String() string

func (*ServiceRequest) UnmarshalJSON

func (r *ServiceRequest) UnmarshalJSON(b []byte) error

func (*ServiceRequest) UnmarshalXML

func (r *ServiceRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Signature

type Signature struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// An indication of the reason that the entity signed this document. This may be explicitly included as part of the signature information and can be used when determining accountability for various actions concerning the document.
	Type []Coding
	// When the digital signature was signed.
	When Instant
	// A reference to an application-usable description of the identity that signed  (e.g. the signature used their private key).
	Who Reference
	// A reference to an application-usable description of the identity that is represented by the signature.
	OnBehalfOf *Reference
	// A mime type that indicates the technical format of the target resources signed by the signature.
	TargetFormat *Code
	// A mime type that indicates the technical format of the signature. Important mime types are application/signature+xml for X ML DigSig, application/jose for JWS, and image/* for a graphical image of a signature, etc.
	SigFormat *Code
	// The base64 encoding of the Signature content. When signature is not recorded electronically this element would be empty.
	Data *Base64Binary
}

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.

There are a number of places where content must be signed in healthcare.

func (Signature) MarshalJSON

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

func (Signature) MarshalXML

func (r Signature) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Signature) MemSize

func (r Signature) MemSize() int

func (Signature) String

func (r Signature) String() string

func (*Signature) UnmarshalXML

func (r *Signature) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SimpleQuantity

type SimpleQuantity struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The value of the measured amount. The value includes an implicit precision in the presentation of the value.
	Value *Decimal
	// A human-readable form of the unit.
	Unit *String
	// The identification of the system that provides the coded form of the unit.
	System *Uri
	// A computer processable form of the unit in some unit representation system.
	Code *Code
}

A fixed quantity (no comparator)

func (SimpleQuantity) MarshalJSON

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

func (SimpleQuantity) MarshalXML

func (r SimpleQuantity) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SimpleQuantity) MemSize

func (r SimpleQuantity) MemSize() int

func (SimpleQuantity) String

func (r SimpleQuantity) String() string

func (*SimpleQuantity) UnmarshalXML

func (r *SimpleQuantity) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Slot

type Slot struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// External Ids for this item.
	Identifier []Identifier
	// A broad categorization of the service that is to be performed during this appointment.
	ServiceCategory []CodeableConcept
	// The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource.
	ServiceType []CodeableConcept
	// The specialty of a practitioner that would be required to perform the service requested in this appointment.
	Specialty []CodeableConcept
	// The style of appointment or patient that may be booked in the slot (not service type).
	AppointmentType *CodeableConcept
	// The schedule resource that this slot defines an interval of status information.
	Schedule Reference
	// busy | free | busy-unavailable | busy-tentative | entered-in-error.
	Status Code
	// Date/Time that the slot is to begin.
	Start Instant
	// Date/Time that the slot is to conclude.
	End Instant
	// This slot has already been overbooked, appointments are unlikely to be accepted for this time.
	Overbooked *Boolean
	// Comments on the slot to describe any extended information. Such as custom constraints on the slot.
	Comment *String
}

A slot of time on a schedule that may be available for booking appointments.

func (Slot) MarshalJSON

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

func (Slot) MarshalXML

func (r Slot) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Slot) MemSize

func (r Slot) MemSize() int

func (Slot) ResourceId

func (r Slot) ResourceId() (string, bool)

func (Slot) ResourceType

func (r Slot) ResourceType() string

func (Slot) String

func (r Slot) String() string

func (*Slot) UnmarshalJSON

func (r *Slot) UnmarshalJSON(b []byte) error

func (*Slot) UnmarshalXML

func (r *Slot) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Specimen

type Specimen struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Id for specimen.
	Identifier []Identifier
	// The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab procedures.
	AccessionIdentifier *Identifier
	// The availability of the specimen.
	Status *Code
	// The kind of material that forms the specimen.
	Type *CodeableConcept
	// Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device.
	Subject *Reference
	// Time when specimen was received for processing or testing.
	ReceivedTime *DateTime
	// Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimen.
	Parent []Reference
	// Details concerning a service request that required a specimen to be collected.
	Request []Reference
	// Details concerning the specimen collection.
	Collection *SpecimenCollection
	// Details concerning processing and processing steps for the specimen.
	Processing []SpecimenProcessing
	// The container holding the specimen.  The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here.
	Container []SpecimenContainer
	// A mode or state of being that describes the nature of the specimen.
	Condition []CodeableConcept
	// To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen).
	Note []Annotation
}

A sample to be used for analysis.

func (Specimen) MarshalJSON

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

func (Specimen) MarshalXML

func (r Specimen) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Specimen) MemSize

func (r Specimen) MemSize() int

func (Specimen) ResourceId

func (r Specimen) ResourceId() (string, bool)

func (Specimen) ResourceType

func (r Specimen) ResourceType() string

func (Specimen) String

func (r Specimen) String() string

func (*Specimen) UnmarshalJSON

func (r *Specimen) UnmarshalJSON(b []byte) error

func (*Specimen) UnmarshalXML

func (r *Specimen) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SpecimenCollection

type SpecimenCollection struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Person who collected the specimen.
	Collector *Reference
	// Time when specimen was collected from subject - the physiologically relevant time.
	Collected isSpecimenCollectionCollected
	// The span of time over which the collection of a specimen occurred.
	Duration *Duration
	// The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample.
	Quantity *Quantity
	// A coded value specifying the technique that is used to perform the procedure.
	Method *CodeableConcept
	// Anatomical location from which the specimen was collected (if subject is a patient). This is the target site.  This element is not used for environmental specimens.
	BodySite *CodeableConcept
	// Abstinence or reduction from some or all food, drink, or both, for a period of time prior to sample collection.
	FastingStatus isSpecimenCollectionFastingStatus
}

Details concerning the specimen collection.

func (SpecimenCollection) MarshalJSON

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

func (SpecimenCollection) MarshalXML

func (r SpecimenCollection) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SpecimenCollection) MemSize

func (r SpecimenCollection) MemSize() int

func (*SpecimenCollection) UnmarshalXML

func (r *SpecimenCollection) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SpecimenContainer

type SpecimenContainer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Id for container. There may be multiple; a manufacturer's bar code, lab assigned identifier, etc. The container ID may differ from the specimen id in some circumstances.
	Identifier []Identifier
	// Textual description of the container.
	Description *String
	// The type of container associated with the specimen (e.g. slide, aliquot, etc.).
	Type *CodeableConcept
	// The capacity (volume or other measure) the container may contain.
	Capacity *Quantity
	// The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type.
	SpecimenQuantity *Quantity
	// Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.
	Additive isSpecimenContainerAdditive
}

The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here.

func (SpecimenContainer) MarshalJSON

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

func (SpecimenContainer) MarshalXML

func (r SpecimenContainer) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SpecimenContainer) MemSize

func (r SpecimenContainer) MemSize() int

func (*SpecimenContainer) UnmarshalXML

func (r *SpecimenContainer) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SpecimenDefinition

type SpecimenDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A business identifier associated with the kind of specimen.
	Identifier *Identifier
	// The kind of material to be collected.
	TypeCollected *CodeableConcept
	// Preparation of the patient for specimen collection.
	PatientPreparation []CodeableConcept
	// Time aspect of specimen collection (duration or offset).
	TimeAspect *String
	// The action to be performed for collecting the specimen.
	Collection []CodeableConcept
	// Specimen conditioned in a container as expected by the testing laboratory.
	TypeTested []SpecimenDefinitionTypeTested
}

A kind of specimen with associated set of requirements.

func (SpecimenDefinition) MarshalJSON

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

func (SpecimenDefinition) MarshalXML

func (r SpecimenDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SpecimenDefinition) MemSize

func (r SpecimenDefinition) MemSize() int

func (SpecimenDefinition) ResourceId

func (r SpecimenDefinition) ResourceId() (string, bool)

func (SpecimenDefinition) ResourceType

func (r SpecimenDefinition) ResourceType() string

func (SpecimenDefinition) String

func (r SpecimenDefinition) String() string

func (*SpecimenDefinition) UnmarshalJSON

func (r *SpecimenDefinition) UnmarshalJSON(b []byte) error

func (*SpecimenDefinition) UnmarshalXML

func (r *SpecimenDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SpecimenDefinitionTypeTested

type SpecimenDefinitionTypeTested struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Primary of secondary specimen.
	IsDerived *Boolean
	// The kind of specimen conditioned for testing expected by lab.
	Type *CodeableConcept
	// The preference for this type of conditioned specimen.
	Preference Code
	// The specimen's container.
	Container *SpecimenDefinitionTypeTestedContainer
	// Requirements for delivery and special handling of this kind of conditioned specimen.
	Requirement *String
	// The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testing.
	RetentionTime *Duration
	// Criterion for rejection of the specimen in its container by the laboratory.
	RejectionCriterion []CodeableConcept
	// Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process.
	Handling []SpecimenDefinitionTypeTestedHandling
}

Specimen conditioned in a container as expected by the testing laboratory.

func (SpecimenDefinitionTypeTested) MarshalJSON

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

func (SpecimenDefinitionTypeTested) MarshalXML

func (SpecimenDefinitionTypeTested) MemSize

func (r SpecimenDefinitionTypeTested) MemSize() int

func (*SpecimenDefinitionTypeTested) UnmarshalXML

func (r *SpecimenDefinitionTypeTested) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SpecimenDefinitionTypeTestedContainer

type SpecimenDefinitionTypeTestedContainer struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of material of the container.
	Material *CodeableConcept
	// The type of container used to contain this kind of specimen.
	Type *CodeableConcept
	// Color of container cap.
	Cap *CodeableConcept
	// The textual description of the kind of container.
	Description *String
	// The capacity (volume or other measure) of this kind of container.
	Capacity *Quantity
	// The minimum volume to be conditioned in the container.
	MinimumVolume isSpecimenDefinitionTypeTestedContainerMinimumVolume
	// Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.
	Additive []SpecimenDefinitionTypeTestedContainerAdditive
	// Special processing that should be applied to the container for this kind of specimen.
	Preparation *String
}

The specimen's container.

func (SpecimenDefinitionTypeTestedContainer) MarshalJSON

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

func (SpecimenDefinitionTypeTestedContainer) MarshalXML

func (SpecimenDefinitionTypeTestedContainer) MemSize

func (*SpecimenDefinitionTypeTestedContainer) UnmarshalXML

type SpecimenDefinitionTypeTestedContainerAdditive

type SpecimenDefinitionTypeTestedContainerAdditive struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.
	Additive isSpecimenDefinitionTypeTestedContainerAdditiveAdditive
}

Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.

func (SpecimenDefinitionTypeTestedContainerAdditive) MarshalJSON

func (SpecimenDefinitionTypeTestedContainerAdditive) MarshalXML

func (SpecimenDefinitionTypeTestedContainerAdditive) MemSize

func (*SpecimenDefinitionTypeTestedContainerAdditive) UnmarshalXML

type SpecimenDefinitionTypeTestedHandling

type SpecimenDefinitionTypeTestedHandling struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// It qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction element.
	TemperatureQualifier *CodeableConcept
	// The temperature interval for this set of handling instructions.
	TemperatureRange *Range
	// The maximum time interval of preservation of the specimen with these conditions.
	MaxDuration *Duration
	// Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'.
	Instruction *String
}

Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process.

func (SpecimenDefinitionTypeTestedHandling) MarshalJSON

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

func (SpecimenDefinitionTypeTestedHandling) MarshalXML

func (SpecimenDefinitionTypeTestedHandling) MemSize

func (*SpecimenDefinitionTypeTestedHandling) UnmarshalXML

type SpecimenProcessing

type SpecimenProcessing struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Textual description of procedure.
	Description *String
	// A coded value specifying the procedure used to process the specimen.
	Procedure *CodeableConcept
	// Material used in the processing step.
	Additive []Reference
	// A record of the time or period when the specimen processing occurred.  For example the time of sample fixation or the period of time the sample was in formalin.
	Time isSpecimenProcessingTime
}

Details concerning processing and processing steps for the specimen.

func (SpecimenProcessing) MarshalJSON

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

func (SpecimenProcessing) MarshalXML

func (r SpecimenProcessing) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SpecimenProcessing) MemSize

func (r SpecimenProcessing) MemSize() int

func (*SpecimenProcessing) UnmarshalXML

func (r *SpecimenProcessing) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type String

type String struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The actual value
	Value *string
}

Base StructureDefinition for string Type: A sequence of Unicode characters

func (String) MarshalJSON

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

func (String) MarshalXML

func (r String) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (String) MemSize

func (r String) MemSize() int

func (*String) UnmarshalJSON

func (r *String) UnmarshalJSON(b []byte) error

func (*String) UnmarshalXML

func (r *String) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureDefinition

type StructureDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers.
	Url Uri
	// A formal identifier that is used to identify this structure definition when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the structure definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the structure definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name String
	// A short, descriptive, user-friendly title for the structure definition.
	Title *String
	// The status of this structure definition. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this structure definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the structure definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes.
	Date *DateTime
	// The name of the organization or individual that published the structure definition.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the structure definition from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure definition instances.
	UseContext []UsageContext
	// A legal or geographic region in which the structure definition is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this structure definition is needed and why it has been designed as it has.
	Purpose *Markdown
	// A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition.
	Copyright *Markdown
	// A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes.
	Keyword []Coding
	// The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.3.0 for this version.
	FhirVersion *Code
	// An external specification that the content is mapped to.
	Mapping []StructureDefinitionMapping
	// Defines the kind of structure that this definition is describing.
	Kind Code
	// Whether structure this definition describes is abstract or not  - that is, whether the structure is not intended to be instantiated. For Resources and Data types, abstract types will never be exchanged  between systems.
	Abstract Boolean
	// Identifies the types of resource or data type elements to which the extension can be applied.
	Context []StructureDefinitionContext
	// A set of rules as FHIRPath Invariants about when the extension can be used (e.g. co-occurrence variants for the extension). All the rules must be true.
	ContextInvariant []String
	// The type this structure describes. If the derivation kind is 'specialization' then this is the master definition for a type, and there is always one of these (a data type, an extension, a resource, including abstract ones). Otherwise the structure definition is a constraint on the stated type (and in this case, the type cannot be an abstract type).  References are URLs that are relative to http://hl7.org/fhir/StructureDefinition e.g. "string" is a reference to http://hl7.org/fhir/StructureDefinition/string. Absolute URLs are only allowed in logical models.
	Type Uri
	// An absolute URI that is the base structure from which this type is derived, either by specialization or constraint.
	BaseDefinition *Canonical
	// How the type relates to the baseDefinition.
	Derivation *Code
	// A snapshot view is expressed in a standalone form that can be used and interpreted without considering the base StructureDefinition.
	Snapshot *StructureDefinitionSnapshot
	// A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies.
	Differential *StructureDefinitionDifferential
}

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 (StructureDefinition) MarshalJSON

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

func (StructureDefinition) MarshalXML

func (r StructureDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (StructureDefinition) MemSize

func (r StructureDefinition) MemSize() int

func (StructureDefinition) ResourceId

func (r StructureDefinition) ResourceId() (string, bool)

func (StructureDefinition) ResourceType

func (r StructureDefinition) ResourceType() string

func (StructureDefinition) String

func (r StructureDefinition) String() string

func (*StructureDefinition) UnmarshalJSON

func (r *StructureDefinition) UnmarshalJSON(b []byte) error

func (*StructureDefinition) UnmarshalXML

func (r *StructureDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureDefinitionContext

type StructureDefinitionContext struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Defines how to interpret the expression that defines what the context of the extension is.
	Type Code
	// An expression that defines where an extension can be used in resources.
	Expression String
}

Identifies the types of resource or data type elements to which the extension can be applied.

func (StructureDefinitionContext) MarshalJSON

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

func (StructureDefinitionContext) MarshalXML

func (r StructureDefinitionContext) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (StructureDefinitionContext) MemSize

func (r StructureDefinitionContext) MemSize() int

func (*StructureDefinitionContext) UnmarshalXML

func (r *StructureDefinitionContext) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureDefinitionDifferential

type StructureDefinitionDifferential struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Captures constraints on each element within the resource.
	Element []ElementDefinition
}

A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies.

func (StructureDefinitionDifferential) MarshalJSON

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

func (StructureDefinitionDifferential) MarshalXML

func (StructureDefinitionDifferential) MemSize

func (*StructureDefinitionDifferential) UnmarshalXML

func (r *StructureDefinitionDifferential) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureDefinitionMapping

type StructureDefinitionMapping struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An Internal id that is used to identify this mapping set when specific mappings are made.
	Identity Id
	// An absolute URI that identifies the specification that this mapping is expressed to.
	Uri *Uri
	// A name for the specification that is being mapped to.
	Name *String
	// Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage.
	Comment *String
}

An external specification that the content is mapped to.

func (StructureDefinitionMapping) MarshalJSON

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

func (StructureDefinitionMapping) MarshalXML

func (r StructureDefinitionMapping) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (StructureDefinitionMapping) MemSize

func (r StructureDefinitionMapping) MemSize() int

func (*StructureDefinitionMapping) UnmarshalXML

func (r *StructureDefinitionMapping) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureDefinitionSnapshot

type StructureDefinitionSnapshot struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Captures constraints on each element within the resource.
	Element []ElementDefinition
}

A snapshot view is expressed in a standalone form that can be used and interpreted without considering the base StructureDefinition.

func (StructureDefinitionSnapshot) MarshalJSON

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

func (StructureDefinitionSnapshot) MarshalXML

func (r StructureDefinitionSnapshot) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (StructureDefinitionSnapshot) MemSize

func (r StructureDefinitionSnapshot) MemSize() int

func (*StructureDefinitionSnapshot) UnmarshalXML

func (r *StructureDefinitionSnapshot) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureMap

type StructureMap struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.
	Url Uri
	// A formal identifier that is used to identify this structure map when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name String
	// A short, descriptive, user-friendly title for the structure map.
	Title *String
	// The status of this structure map. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes.
	Date *DateTime
	// The name of the organization or individual that published the structure map.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the structure map from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure map instances.
	UseContext []UsageContext
	// A legal or geographic region in which the structure map is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this structure map is needed and why it has been designed as it has.
	Purpose *Markdown
	// A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map.
	Copyright *Markdown
	// A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced.
	Structure []StructureMapStructure
	// Other maps used by this map (canonical URLs).
	Import []Canonical
	// Organizes the mapping into manageable chunks for human review/ease of maintenance.
	Group []StructureMapGroup
}

A Map of relationships between 2 structures that can be used to transform data.

func (StructureMap) MarshalJSON

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

func (StructureMap) MarshalXML

func (r StructureMap) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (StructureMap) MemSize

func (r StructureMap) MemSize() int

func (StructureMap) ResourceId

func (r StructureMap) ResourceId() (string, bool)

func (StructureMap) ResourceType

func (r StructureMap) ResourceType() string

func (StructureMap) String

func (r StructureMap) String() string

func (*StructureMap) UnmarshalJSON

func (r *StructureMap) UnmarshalJSON(b []byte) error

func (*StructureMap) UnmarshalXML

func (r *StructureMap) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureMapGroup

type StructureMapGroup struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique name for the group for the convenience of human readers.
	Name Id
	// Another group that this group adds rules to.
	Extends *Id
	// If this is the default rule set to apply for the source type or this combination of types.
	TypeMode Code
	// Additional supporting documentation that explains the purpose of the group and the types of mappings within it.
	Documentation *String
	// A name assigned to an instance of data. The instance must be provided when the mapping is invoked.
	Input []StructureMapGroupInput
	// Transform Rule from source to target.
	Rule []StructureMapGroupRule
}

Organizes the mapping into manageable chunks for human review/ease of maintenance.

func (StructureMapGroup) MarshalJSON

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

func (StructureMapGroup) MarshalXML

func (r StructureMapGroup) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (StructureMapGroup) MemSize

func (r StructureMapGroup) MemSize() int

func (*StructureMapGroup) UnmarshalXML

func (r *StructureMapGroup) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureMapGroupInput

type StructureMapGroupInput struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Name for this instance of data.
	Name Id
	// Type for this instance of data.
	Type *String
	// Mode for this instance of data.
	Mode Code
	// Documentation for this instance of data.
	Documentation *String
}

A name assigned to an instance of data. The instance must be provided when the mapping is invoked.

func (StructureMapGroupInput) MarshalJSON

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

func (StructureMapGroupInput) MarshalXML

func (r StructureMapGroupInput) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (StructureMapGroupInput) MemSize

func (r StructureMapGroupInput) MemSize() int

func (*StructureMapGroupInput) UnmarshalXML

func (r *StructureMapGroupInput) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureMapGroupRule

type StructureMapGroupRule struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Name of the rule for internal references.
	Name Id
	// Source inputs to the mapping.
	Source []StructureMapGroupRuleSource
	// Content to create because of this mapping rule.
	Target []StructureMapGroupRuleTarget
	// Rules contained in this rule.
	Rule []StructureMapGroupRule
	// Which other rules to apply in the context of this rule.
	Dependent []StructureMapGroupRuleDependent
	// Documentation for this instance of data.
	Documentation *String
}

Transform Rule from source to target.

func (StructureMapGroupRule) MarshalJSON

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

func (StructureMapGroupRule) MarshalXML

func (r StructureMapGroupRule) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (StructureMapGroupRule) MemSize

func (r StructureMapGroupRule) MemSize() int

func (*StructureMapGroupRule) UnmarshalXML

func (r *StructureMapGroupRule) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureMapGroupRuleDependent

type StructureMapGroupRuleDependent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Name of a rule or group to apply.
	Name Id
	// Variable to pass to the rule or group.
	Variable []String
}

Which other rules to apply in the context of this rule.

func (StructureMapGroupRuleDependent) MarshalJSON

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

func (StructureMapGroupRuleDependent) MarshalXML

func (StructureMapGroupRuleDependent) MemSize

func (r StructureMapGroupRuleDependent) MemSize() int

func (*StructureMapGroupRuleDependent) UnmarshalXML

func (r *StructureMapGroupRuleDependent) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureMapGroupRuleSource

type StructureMapGroupRuleSource struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type or variable this rule applies to.
	Context Id
	// Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content.
	Min *Integer
	// Specified maximum cardinality for the element - a number or a "*". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value).
	Max *String
	// Specified type for the element. This works as a condition on the mapping - use for polymorphic elements.
	Type *String
	// A value to use if there is no existing value in the source object.
	DefaultValue isStructureMapGroupRuleSourceDefaultValue
	// Optional field for this source.
	Element *String
	// How to handle the list mode for this element.
	ListMode *Code
	// Named context for field, if a field is specified.
	Variable *Id
	// FHIRPath expression  - must be true or the rule does not apply.
	Condition *String
	// FHIRPath expression  - must be true or the mapping engine throws an error instead of completing.
	Check *String
	// A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found.
	LogMessage *String
}

Source inputs to the mapping.

func (StructureMapGroupRuleSource) MarshalJSON

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

func (StructureMapGroupRuleSource) MarshalXML

func (r StructureMapGroupRuleSource) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (StructureMapGroupRuleSource) MemSize

func (r StructureMapGroupRuleSource) MemSize() int

func (*StructureMapGroupRuleSource) UnmarshalXML

func (r *StructureMapGroupRuleSource) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureMapGroupRuleTarget

type StructureMapGroupRuleTarget struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Type or variable this rule applies to.
	Context *Id
	// How to interpret the context.
	ContextType *Code
	// Field to create in the context.
	Element *String
	// Named context for field, if desired, and a field is specified.
	Variable *Id
	// If field is a list, how to manage the list.
	ListMode []Code
	// Internal rule reference for shared list items.
	ListRuleId *Id
	// How the data is copied / created.
	Transform *Code
	// Parameters to the transform.
	Parameter []StructureMapGroupRuleTargetParameter
}

Content to create because of this mapping rule.

func (StructureMapGroupRuleTarget) MarshalJSON

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

func (StructureMapGroupRuleTarget) MarshalXML

func (r StructureMapGroupRuleTarget) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (StructureMapGroupRuleTarget) MemSize

func (r StructureMapGroupRuleTarget) MemSize() int

func (*StructureMapGroupRuleTarget) UnmarshalXML

func (r *StructureMapGroupRuleTarget) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type StructureMapGroupRuleTargetParameter

type StructureMapGroupRuleTargetParameter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Parameter value - variable or literal.
	Value isStructureMapGroupRuleTargetParameterValue
}

Parameters to the transform.

func (StructureMapGroupRuleTargetParameter) MarshalJSON

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

func (StructureMapGroupRuleTargetParameter) MarshalXML

func (StructureMapGroupRuleTargetParameter) MemSize

func (*StructureMapGroupRuleTargetParameter) UnmarshalXML

type StructureMapStructure

type StructureMapStructure struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The canonical reference to the structure.
	Url Canonical
	// How the referenced structure is used in this mapping.
	Mode Code
	// The name used for this type in the map.
	Alias *String
	// Documentation that describes how the structure is used in the mapping.
	Documentation *String
}

A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced.

func (StructureMapStructure) MarshalJSON

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

func (StructureMapStructure) MarshalXML

func (r StructureMapStructure) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (StructureMapStructure) MemSize

func (r StructureMapStructure) MemSize() int

func (*StructureMapStructure) UnmarshalXML

func (r *StructureMapStructure) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Subscription

type Subscription struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The status of the subscription, which marks the server state for managing the subscription.
	Status Code
	// Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.
	Contact []ContactPoint
	// The time for the server to turn the subscription off.
	End *Instant
	// A description of why this subscription is defined.
	Reason String
	// The rules that the server should use to determine when to generate notifications for this subscription.
	Criteria String
	// A record of the last error that occurred when the server processed a notification.
	Error *String
	// Details where to send notifications when resources are received that meet the criteria.
	Channel SubscriptionChannel
}

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 (Subscription) MarshalJSON

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

func (Subscription) MarshalXML

func (r Subscription) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Subscription) MemSize

func (r Subscription) MemSize() int

func (Subscription) ResourceId

func (r Subscription) ResourceId() (string, bool)

func (Subscription) ResourceType

func (r Subscription) ResourceType() string

func (Subscription) String

func (r Subscription) String() string

func (*Subscription) UnmarshalJSON

func (r *Subscription) UnmarshalJSON(b []byte) error

func (*Subscription) UnmarshalXML

func (r *Subscription) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubscriptionChannel

type SubscriptionChannel struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of channel to send notifications on.
	Type Code
	// The url that describes the actual end-point to send messages to.
	Endpoint *Url
	// The mime type to send the payload in - either application/fhir+xml, or application/fhir+json. If the payload is not present, then there is no payload in the notification, just a notification. The mime type "text/plain" may also be used for Email and SMS subscriptions.
	Payload *Code
	// Additional headers / information to send as part of the notification.
	Header []String
}

Details where to send notifications when resources are received that meet the criteria.

func (SubscriptionChannel) MarshalJSON

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

func (SubscriptionChannel) MarshalXML

func (r SubscriptionChannel) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SubscriptionChannel) MemSize

func (r SubscriptionChannel) MemSize() int

func (*SubscriptionChannel) UnmarshalXML

func (r *SubscriptionChannel) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubscriptionStatus

type SubscriptionStatus struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The status of the subscription, which marks the server state for managing the subscription.
	Status *Code
	// The type of event being conveyed with this notificaiton.
	Type Code
	// The total number of actual events which have been generated since the Subscription was created (inclusive of this notification) - regardless of how many have been successfully communicated.  This number is NOT incremented for handshake and heartbeat notifications.
	EventsSinceSubscriptionStart *String
	// Detailed information about events relevant to this subscription notification.
	NotificationEvent []SubscriptionStatusNotificationEvent
	// The reference to the Subscription which generated this notification.
	Subscription Reference
	// The reference to the SubscriptionTopic for the Subscription which generated this notification.
	Topic *Canonical
	// A record of errors that occurred when the server processed a notification.
	Error []CodeableConcept
}

The SubscriptionStatus resource describes the state of a Subscription during notifications.

func (SubscriptionStatus) MarshalJSON

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

func (SubscriptionStatus) MarshalXML

func (r SubscriptionStatus) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SubscriptionStatus) MemSize

func (r SubscriptionStatus) MemSize() int

func (SubscriptionStatus) ResourceId

func (r SubscriptionStatus) ResourceId() (string, bool)

func (SubscriptionStatus) ResourceType

func (r SubscriptionStatus) ResourceType() string

func (SubscriptionStatus) String

func (r SubscriptionStatus) String() string

func (*SubscriptionStatus) UnmarshalJSON

func (r *SubscriptionStatus) UnmarshalJSON(b []byte) error

func (*SubscriptionStatus) UnmarshalXML

func (r *SubscriptionStatus) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubscriptionStatusNotificationEvent

type SubscriptionStatusNotificationEvent struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The sequential number of this event in this subscription context. Note that this value is a 64-bit integer value, encoded as a string.
	EventNumber String
	// The actual time this event occured on the server.
	Timestamp *Instant
	// The focus of this event. While this will usually be a reference to the focus resource of the event, it MAY contain a reference to a non-FHIR object.
	Focus *Reference
	// Additional context information for this event. Generally, this will contain references to additional resources included with the event (e.g., the Patient relevant to an Encounter), however it MAY refer to non-FHIR objects.
	AdditionalContext []Reference
}

Detailed information about events relevant to this subscription notification.

func (SubscriptionStatusNotificationEvent) MarshalJSON

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

func (SubscriptionStatusNotificationEvent) MarshalXML

func (SubscriptionStatusNotificationEvent) MemSize

func (*SubscriptionStatusNotificationEvent) UnmarshalXML

type SubscriptionTopic

type SubscriptionTopic struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers.
	Url Uri
	// Business identifiers assigned to this subscription topic by the performer and/or other systems.  These identifiers remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// The identifier that is used to identify this version of the subscription topic when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Topic author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions are orderable.
	Version *String
	// A short, descriptive, user-friendly title for the SubscriptionTopic, for example, "admission".
	Title *String
	// The canonical URL pointing to another FHIR-defined SubscriptionTopic that is adhered to in whole or in part by this SubscriptionTopic.
	DerivedFrom []Canonical
	// The current state of the SubscriptionTopic.
	Status Code
	// A flag to indicate that this TopSubscriptionTopicic is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.
	Experimental *Boolean
	// For draft definitions, indicates the date of initial creation.  For active definitions, represents the date of activation.  For withdrawn definitions, indicates the date of withdrawal.
	Date *DateTime
	// Helps establish the "authority/credibility" of the SubscriptionTopic.  May also allow for contact.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the Topic from the consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of code system definitions.
	UseContext []UsageContext
	// A jurisdiction in which the Topic is intended to be used.
	Jurisdiction []CodeableConcept
	// Explains why this Topic is needed and why it has been designed as it has.
	Purpose *Markdown
	// A copyright statement relating to the SubscriptionTopic and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SubscriptionTopic.
	Copyright *Markdown
	// The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate *Date
	// The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date.
	LastReviewDate *Date
	// The period during which the SubscriptionTopic content was or is planned to be effective.
	EffectivePeriod *Period
	// A definition of a resource-based event that triggers a notification based on the SubscriptionTopic. The criteria may be just a human readable description and/or a full FHIR search string or FHIRPath expression. Multiple triggers are considered OR joined (e.g., a resource update matching ANY of the definitions will trigger a notification).
	ResourceTrigger []SubscriptionTopicResourceTrigger
	// Event definition which can be used to trigger the SubscriptionTopic.
	EventTrigger []SubscriptionTopicEventTrigger
	// List of properties by which Subscriptions on the SubscriptionTopic can be filtered. May be defined Search Parameters (e.g., Encounter.patient) or parameters defined within this SubscriptionTopic context (e.g., hub.event).
	CanFilterBy []SubscriptionTopicCanFilterBy
	// List of properties to describe the shape (e.g., resources) included in notifications from this Subscription Topic.
	NotificationShape []SubscriptionTopicNotificationShape
}

Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic.

func (SubscriptionTopic) MarshalJSON

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

func (SubscriptionTopic) MarshalXML

func (r SubscriptionTopic) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SubscriptionTopic) MemSize

func (r SubscriptionTopic) MemSize() int

func (SubscriptionTopic) ResourceId

func (r SubscriptionTopic) ResourceId() (string, bool)

func (SubscriptionTopic) ResourceType

func (r SubscriptionTopic) ResourceType() string

func (SubscriptionTopic) String

func (r SubscriptionTopic) String() string

func (*SubscriptionTopic) UnmarshalJSON

func (r *SubscriptionTopic) UnmarshalJSON(b []byte) error

func (*SubscriptionTopic) UnmarshalXML

func (r *SubscriptionTopic) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubscriptionTopicCanFilterBy

type SubscriptionTopicCanFilterBy struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Description of how this filtering parameter is intended to be used.
	Description *Markdown
	// URL of the Resource that is the type used in this filter. This is the "focus" of the topic (or one of them if there are more than one). It will be the same, a generality, or a specificity of SubscriptionTopic.resourceTrigger.resource or SubscriptionTopic.eventTrigger.resource when they are present.
	Resource *Uri
	// Either the canonical URL to a search parameter (like "http://hl7.org/fhir/SearchParameter/encounter-patient") or topic-defined parameter (like "hub.event") which is a label for the filter.
	FilterParameter String
	// Either the canonical URL to a search parameter (like "http://hl7.org/fhir/SearchParameter/encounter-patient") or the officially-defined URI for a shared filter concept (like "http://example.org/concepts/shared-common-event").
	FilterDefinition *Uri
	// Allowable operators to apply when determining matches (Search Modifiers).  If the filterParameter is a SearchParameter, this list of modifiers SHALL be a strict subset of the modifiers defined on that SearchParameter.
	Modifier []Code
}

List of properties by which Subscriptions on the SubscriptionTopic can be filtered. May be defined Search Parameters (e.g., Encounter.patient) or parameters defined within this SubscriptionTopic context (e.g., hub.event).

func (SubscriptionTopicCanFilterBy) MarshalJSON

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

func (SubscriptionTopicCanFilterBy) MarshalXML

func (SubscriptionTopicCanFilterBy) MemSize

func (r SubscriptionTopicCanFilterBy) MemSize() int

func (*SubscriptionTopicCanFilterBy) UnmarshalXML

func (r *SubscriptionTopicCanFilterBy) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubscriptionTopicEventTrigger

type SubscriptionTopicEventTrigger struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The human readable description of an event to trigger a notification for the SubscriptionTopic - for example, "Patient Admission, as defined in HL7v2 via message ADT^A01". Multiple values are considered OR joined (e.g., matching any single event listed).
	Description *Markdown
	// A well-defined event which can be used to trigger notifications from the SubscriptionTopic.
	Event CodeableConcept
	// URL of the Resource that is the focus type used in this event trigger.  Relative URLs are relative to the StructureDefinition root of the implemented FHIR version (e.g., http://hl7.org/fhir/StructureDefinition). For example, "Patient" maps to http://hl7.org/fhir/StructureDefinition/Patient.  For more information, see <a href="elementdefinition-definitions.html#ElementDefinition.type.code">ElementDefinition.type.code</a>.
	Resource Uri
}

Event definition which can be used to trigger the SubscriptionTopic.

func (SubscriptionTopicEventTrigger) MarshalJSON

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

func (SubscriptionTopicEventTrigger) MarshalXML

func (SubscriptionTopicEventTrigger) MemSize

func (r SubscriptionTopicEventTrigger) MemSize() int

func (*SubscriptionTopicEventTrigger) UnmarshalXML

func (r *SubscriptionTopicEventTrigger) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubscriptionTopicNotificationShape

type SubscriptionTopicNotificationShape struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// URL of the Resource that is the type used in this shape. This is the "focus" of the topic (or one of them if there are more than one) and the root resource for this shape definition. It will be the same, a generality, or a specificity of SubscriptionTopic.resourceTrigger.resource or SubscriptionTopic.eventTrigger.resource when they are present.
	Resource Uri
	// Search-style _include directives, rooted in the resource for this shape. Servers SHOULD include resources listed here, if they exist and the user is authorized to receive them.  Clients SHOULD be prepared to receive these additional resources, but SHALL function properly without them.
	Include []String
	// Search-style _revinclude directives, rooted in the resource for this shape. Servers SHOULD include resources listed here, if they exist and the user is authorized to receive them.  Clients SHOULD be prepared to receive these additional resources, but SHALL function properly without them.
	RevInclude []String
}

List of properties to describe the shape (e.g., resources) included in notifications from this Subscription Topic.

func (SubscriptionTopicNotificationShape) MarshalJSON

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

func (SubscriptionTopicNotificationShape) MarshalXML

func (SubscriptionTopicNotificationShape) MemSize

func (*SubscriptionTopicNotificationShape) UnmarshalXML

type SubscriptionTopicResourceTrigger

type SubscriptionTopicResourceTrigger struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The human readable description of this resource trigger for the SubscriptionTopic -  for example, "An Encounter enters the 'in-progress' state".
	Description *Markdown
	// URL of the Resource that is the type used in this resource trigger.  Relative URLs are relative to the StructureDefinition root of the implemented FHIR version (e.g., http://hl7.org/fhir/StructureDefinition). For example, "Patient" maps to http://hl7.org/fhir/StructureDefinition/Patient.  For more information, see <a href="elementdefinition-definitions.html#ElementDefinition.type.code">ElementDefinition.type.code</a>.
	Resource Uri
	// The FHIR RESTful interaction which can be used to trigger a notification for the SubscriptionTopic. Multiple values are considered OR joined (e.g., CREATE or UPDATE).
	SupportedInteraction []Code
	// The FHIR query based rules that the server should use to determine when to trigger a notification for this subscription topic.
	QueryCriteria *SubscriptionTopicResourceTriggerQueryCriteria
	// The FHIRPath based rules that the server should use to determine when to trigger a notification for this topic.
	FhirPathCriteria *String
}

A definition of a resource-based event that triggers a notification based on the SubscriptionTopic. The criteria may be just a human readable description and/or a full FHIR search string or FHIRPath expression. Multiple triggers are considered OR joined (e.g., a resource update matching ANY of the definitions will trigger a notification).

func (SubscriptionTopicResourceTrigger) MarshalJSON

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

func (SubscriptionTopicResourceTrigger) MarshalXML

func (SubscriptionTopicResourceTrigger) MemSize

func (*SubscriptionTopicResourceTrigger) UnmarshalXML

type SubscriptionTopicResourceTriggerQueryCriteria

type SubscriptionTopicResourceTriggerQueryCriteria struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The FHIR query based rules are applied to the previous resource state (e.g., state before an update).
	Previous *String
	// For "create" interactions, should the "previous" criteria count as an automatic pass or an automatic fail.
	ResultForCreate *Code
	// The FHIR query based rules are applied to the current resource state (e.g., state after an update).
	Current *String
	// For "delete" interactions, should the "current" criteria count as an automatic pass or an automatic fail.
	ResultForDelete *Code
	// If set to true, both current and previous criteria must evaluate true to  trigger a notification for this topic.  Otherwise a notification for this topic will be triggered if either one evaluates to true.
	RequireBoth *Boolean
}

The FHIR query based rules that the server should use to determine when to trigger a notification for this subscription topic.

func (SubscriptionTopicResourceTriggerQueryCriteria) MarshalJSON

func (SubscriptionTopicResourceTriggerQueryCriteria) MarshalXML

func (SubscriptionTopicResourceTriggerQueryCriteria) MemSize

func (*SubscriptionTopicResourceTriggerQueryCriteria) UnmarshalXML

type Substance

type Substance struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Unique identifier for the substance.
	Identifier []Identifier
	// A code to indicate if the substance is actively used.
	Status *Code
	// A code that classifies the general type of substance.  This is used  for searching, sorting and display purposes.
	Category []CodeableConcept
	// A code (or set of codes) that identify this substance.
	Code CodeableConcept
	// A description of the substance - its appearance, handling requirements, and other usage notes.
	Description *String
	// Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance.
	Instance []SubstanceInstance
	// A substance can be composed of other substances.
	Ingredient []SubstanceIngredient
}

A homogeneous material with a definite composition.

func (Substance) MarshalJSON

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

func (Substance) MarshalXML

func (r Substance) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Substance) MemSize

func (r Substance) MemSize() int

func (Substance) ResourceId

func (r Substance) ResourceId() (string, bool)

func (Substance) ResourceType

func (r Substance) ResourceType() string

func (Substance) String

func (r Substance) String() string

func (*Substance) UnmarshalJSON

func (r *Substance) UnmarshalJSON(b []byte) error

func (*Substance) UnmarshalXML

func (r *Substance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubstanceDefinition

type SubstanceDefinition struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier by which this substance is known.
	Identifier []Identifier
	// A business level version identifier of the substance.
	Version *String
	// Status of substance within the catalogue e.g. active, retired.
	Status *CodeableConcept
	// A high level categorization, e.g. polymer or nucleic acid, or food, chemical, biological, or a lower level such as the general types of polymer (linear or branch chain) or type of impurity (process related or contaminant).
	Classification []CodeableConcept
	// If the substance applies to human or veterinary use.
	Domain *CodeableConcept
	// The quality standard, established benchmark, to which substance complies (e.g. USP/NF, Ph. Eur, JP, BP, Company Standard).
	Grade []CodeableConcept
	// Textual description of the substance.
	Description *Markdown
	// Supporting literature.
	InformationSource []Reference
	// Textual comment about the substance's catalogue or registry record.
	Note []Annotation
	// The entity that creates, makes, produces or fabricates the substance. This is a set of potential manufacturers but is not necessarily comprehensive.
	Manufacturer []Reference
	// An entity that is the source for the substance. It may be different from the manufacturer. Supplier is synonymous to a distributor.
	Supplier []Reference
	// Moiety, for structural modifications.
	Moiety []SubstanceDefinitionMoiety
	// General specifications for this substance.
	Property []SubstanceDefinitionProperty
	// The molecular weight or weight range (for proteins, polymers or nucleic acids).
	MolecularWeight []SubstanceDefinitionMolecularWeight
	// Structural information.
	Structure *SubstanceDefinitionStructure
	// Codes associated with the substance.
	Code []SubstanceDefinitionCode
	// Names applicable to this substance.
	Name []SubstanceDefinitionName
	// A link between this substance and another, with details of the relationship.
	Relationship []SubstanceDefinitionRelationship
	// Material or taxonomic/anatomical source for the substance.
	SourceMaterial *SubstanceDefinitionSourceMaterial
}

The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (SubstanceDefinition) MarshalJSON

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

func (SubstanceDefinition) MarshalXML

func (r SubstanceDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SubstanceDefinition) MemSize

func (r SubstanceDefinition) MemSize() int

func (SubstanceDefinition) ResourceId

func (r SubstanceDefinition) ResourceId() (string, bool)

func (SubstanceDefinition) ResourceType

func (r SubstanceDefinition) ResourceType() string

func (SubstanceDefinition) String

func (r SubstanceDefinition) String() string

func (*SubstanceDefinition) UnmarshalJSON

func (r *SubstanceDefinition) UnmarshalJSON(b []byte) error

func (*SubstanceDefinition) UnmarshalXML

func (r *SubstanceDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubstanceDefinitionCode

type SubstanceDefinitionCode struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The specific code.
	Code *CodeableConcept
	// Status of the code assignment, for example 'provisional', 'approved'.
	Status *CodeableConcept
	// The date at which the code status was changed as part of the terminology maintenance.
	StatusDate *DateTime
	// Any comment can be provided in this field, if necessary.
	Note []Annotation
	// Supporting literature.
	Source []Reference
}

Codes associated with the substance.

func (SubstanceDefinitionCode) MarshalJSON

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

func (SubstanceDefinitionCode) MarshalXML

func (r SubstanceDefinitionCode) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SubstanceDefinitionCode) MemSize

func (r SubstanceDefinitionCode) MemSize() int

func (*SubstanceDefinitionCode) UnmarshalXML

func (r *SubstanceDefinitionCode) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubstanceDefinitionMoiety

type SubstanceDefinitionMoiety struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Role that the moiety is playing.
	Role *CodeableConcept
	// Identifier by which this moiety substance is known.
	Identifier *Identifier
	// Textual name for this moiety substance.
	Name *String
	// Stereochemistry type.
	Stereochemistry *CodeableConcept
	// Optical activity type.
	OpticalActivity *CodeableConcept
	// Molecular formula for this moiety of this substance, typically using the Hill system.
	MolecularFormula *String
	// Quantitative value for this moiety.
	Amount isSubstanceDefinitionMoietyAmount
	// The measurement type of the quantitative value. In capturing the actual relative amounts of substances or molecular fragments it may be necessary to indicate whether the amount refers to, for example, a mole ratio or weight ratio.
	MeasurementType *CodeableConcept
}

Moiety, for structural modifications.

func (SubstanceDefinitionMoiety) MarshalJSON

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

func (SubstanceDefinitionMoiety) MarshalXML

func (r SubstanceDefinitionMoiety) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SubstanceDefinitionMoiety) MemSize

func (r SubstanceDefinitionMoiety) MemSize() int

func (*SubstanceDefinitionMoiety) UnmarshalXML

func (r *SubstanceDefinitionMoiety) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubstanceDefinitionMolecularWeight

type SubstanceDefinitionMolecularWeight struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The method by which the molecular weight was determined.
	Method *CodeableConcept
	// Type of molecular weight such as exact, average (also known as. number average), weight average.
	Type *CodeableConcept
	// Used to capture quantitative values for a variety of elements. If only limits are given, the arithmetic mean would be the average. If only a single definite value for a given element is given, it would be captured in this field.
	Amount Quantity
}

The molecular weight or weight range (for proteins, polymers or nucleic acids).

func (SubstanceDefinitionMolecularWeight) MarshalJSON

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

func (SubstanceDefinitionMolecularWeight) MarshalXML

func (SubstanceDefinitionMolecularWeight) MemSize

func (*SubstanceDefinitionMolecularWeight) UnmarshalXML

type SubstanceDefinitionName

type SubstanceDefinitionName struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The actual name.
	Name String
	// Name type, for example 'systematic',  'scientific, 'brand'.
	Type *CodeableConcept
	// The status of the name, for example 'current', 'proposed'.
	Status *CodeableConcept
	// If this is the preferred name for this substance.
	Preferred *Boolean
	// Human language that the name is written in.
	Language []CodeableConcept
	// The use context of this name for example if there is a different name a drug active ingredient as opposed to a food colour additive.
	Domain []CodeableConcept
	// The jurisdiction where this name applies.
	Jurisdiction []CodeableConcept
	// A synonym of this particular name, by which the substance is also known.
	Synonym []SubstanceDefinitionName
	// A translation for this name into another human language.
	Translation []SubstanceDefinitionName
	// Details of the official nature of this name.
	Official []SubstanceDefinitionNameOfficial
	// Supporting literature.
	Source []Reference
}

Names applicable to this substance.

func (SubstanceDefinitionName) MarshalJSON

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

func (SubstanceDefinitionName) MarshalXML

func (r SubstanceDefinitionName) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SubstanceDefinitionName) MemSize

func (r SubstanceDefinitionName) MemSize() int

func (*SubstanceDefinitionName) UnmarshalXML

func (r *SubstanceDefinitionName) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubstanceDefinitionNameOfficial

type SubstanceDefinitionNameOfficial struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Which authority uses this official name.
	Authority *CodeableConcept
	// The status of the official name, for example 'draft', 'active', 'retired'.
	Status *CodeableConcept
	// Date of the official name change.
	Date *DateTime
}

Details of the official nature of this name.

func (SubstanceDefinitionNameOfficial) MarshalJSON

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

func (SubstanceDefinitionNameOfficial) MarshalXML

func (SubstanceDefinitionNameOfficial) MemSize

func (*SubstanceDefinitionNameOfficial) UnmarshalXML

func (r *SubstanceDefinitionNameOfficial) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubstanceDefinitionProperty

type SubstanceDefinitionProperty struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code expressing the type of property.
	Type CodeableConcept
	// A value for the property.
	Value isSubstanceDefinitionPropertyValue
}

General specifications for this substance.

func (SubstanceDefinitionProperty) MarshalJSON

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

func (SubstanceDefinitionProperty) MarshalXML

func (r SubstanceDefinitionProperty) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SubstanceDefinitionProperty) MemSize

func (r SubstanceDefinitionProperty) MemSize() int

func (*SubstanceDefinitionProperty) UnmarshalXML

func (r *SubstanceDefinitionProperty) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubstanceDefinitionRelationship

type SubstanceDefinitionRelationship struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A pointer to another substance, as a resource or just a representational code.
	SubstanceDefinition isSubstanceDefinitionRelationshipSubstanceDefinition
	// For example "salt to parent", "active moiety", "starting material", "polymorph", "impurity of".
	Type CodeableConcept
	// For example where an enzyme strongly bonds with a particular substance, this is a defining relationship for that enzyme, out of several possible substance relationships.
	IsDefining *Boolean
	// A numeric factor for the relationship, for instance to express that the salt of a substance has some percentage of the active substance in relation to some other.
	Amount isSubstanceDefinitionRelationshipAmount
	// For use when the numeric has an uncertain range.
	RatioHighLimitAmount *Ratio
	// An operator for the amount, for example "average", "approximately", "less than".
	Comparator *CodeableConcept
	// Supporting literature.
	Source []Reference
}

A link between this substance and another, with details of the relationship.

func (SubstanceDefinitionRelationship) MarshalJSON

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

func (SubstanceDefinitionRelationship) MarshalXML

func (SubstanceDefinitionRelationship) MemSize

func (*SubstanceDefinitionRelationship) UnmarshalXML

func (r *SubstanceDefinitionRelationship) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubstanceDefinitionSourceMaterial

type SubstanceDefinitionSourceMaterial struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A classification that provides the origin of the raw material. Example: cat hair would be an Animal source type.
	Type *CodeableConcept
	// The genus of an organism, typically referring to the Latin epithet of the genus element of the plant/animal scientific name.
	Genus *CodeableConcept
	// The species of an organism, typically referring to the Latin epithet of the species of the plant/animal.
	Species *CodeableConcept
	// An anatomical origin of the source material within an organism.
	Part *CodeableConcept
	// The country or countries where the material is harvested.
	CountryOfOrigin []CodeableConcept
}

Material or taxonomic/anatomical source for the substance.

func (SubstanceDefinitionSourceMaterial) MarshalJSON

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

func (SubstanceDefinitionSourceMaterial) MarshalXML

func (SubstanceDefinitionSourceMaterial) MemSize

func (*SubstanceDefinitionSourceMaterial) UnmarshalXML

type SubstanceDefinitionStructure

type SubstanceDefinitionStructure struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Stereochemistry type.
	Stereochemistry *CodeableConcept
	// Optical activity type.
	OpticalActivity *CodeableConcept
	// Molecular formula of this substance, typically using the Hill system.
	MolecularFormula *String
	// Specified per moiety according to the Hill system, i.e. first C, then H, then alphabetical, each moiety separated by a dot.
	MolecularFormulaByMoiety *String
	// The molecular weight or weight range (for proteins, polymers or nucleic acids).
	MolecularWeight *SubstanceDefinitionMolecularWeight
	// The method used to elucidate the structure or characterization of the drug substance. Examples: X-ray, HPLC, NMR, Peptide mapping, Ligand binding assay.
	Technique []CodeableConcept
	// The source of information about the structure.
	SourceDocument []Reference
	// A depiction of the structure or characterization of the substance.
	Representation []SubstanceDefinitionStructureRepresentation
}

Structural information.

func (SubstanceDefinitionStructure) MarshalJSON

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

func (SubstanceDefinitionStructure) MarshalXML

func (SubstanceDefinitionStructure) MemSize

func (r SubstanceDefinitionStructure) MemSize() int

func (*SubstanceDefinitionStructure) UnmarshalXML

func (r *SubstanceDefinitionStructure) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubstanceDefinitionStructureRepresentation

type SubstanceDefinitionStructureRepresentation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The kind of structural representation (e.g. full, partial).
	Type *CodeableConcept
	// The structural representation or characterization as a text string in a standard format.
	Representation *String
	// The format of the representation e.g. InChI, SMILES, MOLFILE, CDX, SDF, PDB, mmCIF. The logical content type rather than the physical file format of a document.
	Format *CodeableConcept
	// An attached file with the structural representation or characterization e.g. a molecular structure graphic of the substance, a JCAMP or AnIML file.
	Document *Reference
}

A depiction of the structure or characterization of the substance.

func (SubstanceDefinitionStructureRepresentation) MarshalJSON

func (SubstanceDefinitionStructureRepresentation) MarshalXML

func (SubstanceDefinitionStructureRepresentation) MemSize

func (*SubstanceDefinitionStructureRepresentation) UnmarshalXML

type SubstanceIngredient

type SubstanceIngredient struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The amount of the ingredient in the substance - a concentration ratio.
	Quantity *Ratio
	// Another substance that is a component of this substance.
	Substance isSubstanceIngredientSubstance
}

A substance can be composed of other substances.

func (SubstanceIngredient) MarshalJSON

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

func (SubstanceIngredient) MarshalXML

func (r SubstanceIngredient) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SubstanceIngredient) MemSize

func (r SubstanceIngredient) MemSize() int

func (*SubstanceIngredient) UnmarshalXML

func (r *SubstanceIngredient) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SubstanceInstance

type SubstanceInstance struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier associated with the package/container (usually a label affixed directly).
	Identifier *Identifier
	// When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiry.
	Expiry *DateTime
	// The amount of the substance.
	Quantity *Quantity
}

Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance.

func (SubstanceInstance) MarshalJSON

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

func (SubstanceInstance) MarshalXML

func (r SubstanceInstance) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SubstanceInstance) MemSize

func (r SubstanceInstance) MemSize() int

func (*SubstanceInstance) UnmarshalXML

func (r *SubstanceInstance) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SupplyDelivery

type SupplyDelivery struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier for the supply delivery event that is used to identify it across multiple disparate systems.
	Identifier []Identifier
	// A plan, proposal or order that is fulfilled in whole or in part by this event.
	BasedOn []Reference
	// A larger event of which this particular event is a component or step.
	PartOf []Reference
	// A code specifying the state of the dispense event.
	Status *Code
	// A link to a resource representing the person whom the delivered item is for.
	Patient *Reference
	// Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.
	Type *CodeableConcept
	// The item that is being delivered or has been supplied.
	SuppliedItem *SupplyDeliverySuppliedItem
	// The date or time(s) the activity occurred.
	Occurrence isSupplyDeliveryOccurrence
	// The individual responsible for dispensing the medication, supplier or device.
	Supplier *Reference
	// Identification of the facility/location where the Supply was shipped to, as part of the dispense event.
	Destination *Reference
	// Identifies the person who picked up the Supply.
	Receiver []Reference
}

Record of delivery of what is supplied.

func (SupplyDelivery) MarshalJSON

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

func (SupplyDelivery) MarshalXML

func (r SupplyDelivery) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SupplyDelivery) MemSize

func (r SupplyDelivery) MemSize() int

func (SupplyDelivery) ResourceId

func (r SupplyDelivery) ResourceId() (string, bool)

func (SupplyDelivery) ResourceType

func (r SupplyDelivery) ResourceType() string

func (SupplyDelivery) String

func (r SupplyDelivery) String() string

func (*SupplyDelivery) UnmarshalJSON

func (r *SupplyDelivery) UnmarshalJSON(b []byte) error

func (*SupplyDelivery) UnmarshalXML

func (r *SupplyDelivery) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SupplyDeliverySuppliedItem

type SupplyDeliverySuppliedItem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The amount of supply that has been dispensed. Includes unit of measure.
	Quantity *Quantity
	// Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.
	Item isSupplyDeliverySuppliedItemItem
}

The item that is being delivered or has been supplied.

func (SupplyDeliverySuppliedItem) MarshalJSON

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

func (SupplyDeliverySuppliedItem) MarshalXML

func (r SupplyDeliverySuppliedItem) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SupplyDeliverySuppliedItem) MemSize

func (r SupplyDeliverySuppliedItem) MemSize() int

func (*SupplyDeliverySuppliedItem) UnmarshalXML

func (r *SupplyDeliverySuppliedItem) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SupplyRequest

type SupplyRequest struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Business identifiers assigned to this SupplyRequest by the author and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server.
	Identifier []Identifier
	// Status of the supply request.
	Status *Code
	// Category of supply, e.g.  central, non-stock, etc. This is used to support work flows associated with the supply process.
	Category *CodeableConcept
	// Indicates how quickly this SupplyRequest should be addressed with respect to other requests.
	Priority *Code
	// The item that is requested to be supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.
	Item isSupplyRequestItem
	// The amount that is being ordered of the indicated item.
	Quantity Quantity
	// Specific parameters for the ordered item.  For example, the size of the indicated item.
	Parameter []SupplyRequestParameter
	// When the request should be fulfilled.
	Occurrence isSupplyRequestOccurrence
	// When the request was made.
	AuthoredOn *DateTime
	// The device, practitioner, etc. who initiated the request.
	Requester *Reference
	// Who is intended to fulfill the request.
	Supplier []Reference
	// The reason why the supply item was requested.
	ReasonCode []CodeableConcept
	// The reason why the supply item was requested.
	ReasonReference []Reference
	// Where the supply is expected to come from.
	DeliverFrom *Reference
	// Where the supply is destined to go.
	DeliverTo *Reference
}

A record of a request for a medication, substance or device used in the healthcare setting.

func (SupplyRequest) MarshalJSON

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

func (SupplyRequest) MarshalXML

func (r SupplyRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SupplyRequest) MemSize

func (r SupplyRequest) MemSize() int

func (SupplyRequest) ResourceId

func (r SupplyRequest) ResourceId() (string, bool)

func (SupplyRequest) ResourceType

func (r SupplyRequest) ResourceType() string

func (SupplyRequest) String

func (r SupplyRequest) String() string

func (*SupplyRequest) UnmarshalJSON

func (r *SupplyRequest) UnmarshalJSON(b []byte) error

func (*SupplyRequest) UnmarshalXML

func (r *SupplyRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SupplyRequestParameter

type SupplyRequestParameter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code or string that identifies the device detail being asserted.
	Code *CodeableConcept
	// The value of the device detail.
	Value isSupplyRequestParameterValue
}

Specific parameters for the ordered item. For example, the size of the indicated item.

func (SupplyRequestParameter) MarshalJSON

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

func (SupplyRequestParameter) MarshalXML

func (r SupplyRequestParameter) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (SupplyRequestParameter) MemSize

func (r SupplyRequestParameter) MemSize() int

func (*SupplyRequestParameter) UnmarshalXML

func (r *SupplyRequestParameter) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Task

type Task struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The business identifier for this task.
	Identifier []Identifier
	// The URL pointing to a *FHIR*-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task.
	InstantiatesCanonical *Canonical
	// The URL pointing to an *externally* maintained  protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task.
	InstantiatesUri *Uri
	// BasedOn refers to a higher-level authorization that triggered the creation of the task.  It references a "request" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfill.  This latter resource is referenced by FocusOn.  For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient.
	BasedOn []Reference
	// An identifier that links together multiple tasks and other requests that were created in the same context.
	GroupIdentifier *Identifier
	// Task that this particular task is part of.
	PartOf []Reference
	// The current status of the task.
	Status Code
	// An explanation as to why this task is held, failed, was refused, etc.
	StatusReason *CodeableConcept
	// Contains business-specific nuances of the business state.
	BusinessStatus *CodeableConcept
	// Indicates the "level" of actionability associated with the Task, i.e. i+R[9]Cs this a proposed task, a planned task, an actionable task, etc.
	Intent Code
	// Indicates how quickly the Task should be addressed with respect to other requests.
	Priority *Code
	// A name or code (or both) briefly describing what the task involves.
	Code *CodeableConcept
	// A free-text description of what is to be performed.
	Description *String
	// The request being actioned or the resource being manipulated by this task.
	Focus *Reference
	// The entity who benefits from the performance of the service specified in the task (e.g., the patient).
	For *Reference
	// The healthcare event  (e.g. a patient and healthcare provider interaction) during which this task was created.
	Encounter *Reference
	// Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end).
	ExecutionPeriod *Period
	// The date and time this task was created.
	AuthoredOn *DateTime
	// The date and time of last modification to this task.
	LastModified *DateTime
	// The creator of the task.
	Requester *Reference
	// The kind of participant that should perform the task.
	PerformerType []CodeableConcept
	// Individual organization or Device currently responsible for task execution.
	Owner *Reference
	// Principal physical location where the this task is performed.
	Location *Reference
	// A description or code indicating why this task needs to be performed.
	ReasonCode *CodeableConcept
	// A resource reference indicating why this task needs to be performed.
	ReasonReference *Reference
	// Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Task.
	Insurance []Reference
	// Free-text information captured about the task as it progresses.
	Note []Annotation
	// Links to Provenance records for past versions of this Task that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the task.
	RelevantHistory []Reference
	// 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.
	Restriction *TaskRestriction
	// Additional information that may be needed in the execution of the task.
	Input []TaskInput
	// Outputs produced by the Task.
	Output []TaskOutput
}

A task to be performed.

func (Task) MarshalJSON

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

func (Task) MarshalXML

func (r Task) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Task) MemSize

func (r Task) MemSize() int

func (Task) ResourceId

func (r Task) ResourceId() (string, bool)

func (Task) ResourceType

func (r Task) ResourceType() string

func (Task) String

func (r Task) String() string

func (*Task) UnmarshalJSON

func (r *Task) UnmarshalJSON(b []byte) error

func (*Task) UnmarshalXML

func (r *Task) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TaskInput

type TaskInput struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code or description indicating how the input is intended to be used as part of the task execution.
	Type CodeableConcept
	// The value of the input parameter as a basic type.
	Value isTaskInputValue
}

Additional information that may be needed in the execution of the task.

func (TaskInput) MarshalJSON

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

func (TaskInput) MarshalXML

func (r TaskInput) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TaskInput) MemSize

func (r TaskInput) MemSize() int

func (*TaskInput) UnmarshalXML

func (r *TaskInput) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TaskOutput

type TaskOutput struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The name of the Output parameter.
	Type CodeableConcept
	// The value of the Output parameter as a basic type.
	Value isTaskOutputValue
}

Outputs produced by the Task.

func (TaskOutput) MarshalJSON

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

func (TaskOutput) MarshalXML

func (r TaskOutput) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TaskOutput) MemSize

func (r TaskOutput) MemSize() int

func (*TaskOutput) UnmarshalXML

func (r *TaskOutput) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TaskRestriction

type TaskRestriction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Indicates the number of times the requested action should occur.
	Repetitions *PositiveInt
	// Over what time-period is fulfillment sought.
	Period *Period
	// For requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought?
	Recipient []Reference
}

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.

func (TaskRestriction) MarshalJSON

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

func (TaskRestriction) MarshalXML

func (r TaskRestriction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TaskRestriction) MemSize

func (r TaskRestriction) MemSize() int

func (*TaskRestriction) UnmarshalXML

func (r *TaskRestriction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TerminologyCapabilities

type TerminologyCapabilities struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.
	Url *Uri
	// The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the terminology capabilities. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the terminology capabilities.
	Title *String
	// The status of this terminology capabilities. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this terminology capabilities is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the terminology capabilities was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the terminology capabilities changes.
	Date DateTime
	// The name of the organization or individual that published the terminology capabilities.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate terminology capabilities instances.
	UseContext []UsageContext
	// A legal or geographic region in which the terminology capabilities is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this terminology capabilities is needed and why it has been designed as it has.
	Purpose *Markdown
	// A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities.
	Copyright *Markdown
	// The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).
	Kind Code
	// 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.
	Software *TerminologyCapabilitiesSoftware
	// 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.
	Implementation *TerminologyCapabilitiesImplementation
	// Whether the server supports lockedDate.
	LockedDate *Boolean
	// 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.
	CodeSystem []TerminologyCapabilitiesCodeSystem
	// Information about the [ValueSet/$expand](valueset-operation-expand.html) operation.
	Expansion *TerminologyCapabilitiesExpansion
	// The degree to which the server supports the code search parameter on ValueSet, if it is supported.
	CodeSearch *Code
	// Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation.
	ValidateCode *TerminologyCapabilitiesValidateCode
	// Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation.
	Translation *TerminologyCapabilitiesTranslation
	// Whether the $closure operation is supported.
	Closure *TerminologyCapabilitiesClosure
}

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 (TerminologyCapabilities) MarshalJSON

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

func (TerminologyCapabilities) MarshalXML

func (r TerminologyCapabilities) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TerminologyCapabilities) MemSize

func (r TerminologyCapabilities) MemSize() int

func (TerminologyCapabilities) ResourceId

func (r TerminologyCapabilities) ResourceId() (string, bool)

func (TerminologyCapabilities) ResourceType

func (r TerminologyCapabilities) ResourceType() string

func (TerminologyCapabilities) String

func (r TerminologyCapabilities) String() string

func (*TerminologyCapabilities) UnmarshalJSON

func (r *TerminologyCapabilities) UnmarshalJSON(b []byte) error

func (*TerminologyCapabilities) UnmarshalXML

func (r *TerminologyCapabilities) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TerminologyCapabilitiesClosure

type TerminologyCapabilitiesClosure struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// If cross-system closure is supported.
	Translation *Boolean
}

Whether the $closure operation is supported.

func (TerminologyCapabilitiesClosure) MarshalJSON

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

func (TerminologyCapabilitiesClosure) MarshalXML

func (TerminologyCapabilitiesClosure) MemSize

func (r TerminologyCapabilitiesClosure) MemSize() int

func (*TerminologyCapabilitiesClosure) UnmarshalXML

func (r *TerminologyCapabilitiesClosure) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TerminologyCapabilitiesCodeSystem

type TerminologyCapabilitiesCodeSystem struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// URI for the Code System.
	Uri *Canonical
	// For the code system, a list of versions that are supported by the server.
	Version []TerminologyCapabilitiesCodeSystemVersion
	// True if subsumption is supported for this version of the code system.
	Subsumption *Boolean
}

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.

func (TerminologyCapabilitiesCodeSystem) MarshalJSON

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

func (TerminologyCapabilitiesCodeSystem) MarshalXML

func (TerminologyCapabilitiesCodeSystem) MemSize

func (*TerminologyCapabilitiesCodeSystem) UnmarshalXML

type TerminologyCapabilitiesCodeSystemVersion

type TerminologyCapabilitiesCodeSystemVersion struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// For version-less code systems, there should be a single version with no identifier.
	Code *String
	// If this is the default version for this code system.
	IsDefault *Boolean
	// If the compositional grammar defined by the code system is supported.
	Compositional *Boolean
	// Language Displays supported.
	Language []Code
	// Filter Properties supported.
	Filter []TerminologyCapabilitiesCodeSystemVersionFilter
	// Properties supported for $lookup.
	Property []Code
}

For the code system, a list of versions that are supported by the server.

func (TerminologyCapabilitiesCodeSystemVersion) MarshalJSON

func (TerminologyCapabilitiesCodeSystemVersion) MarshalXML

func (TerminologyCapabilitiesCodeSystemVersion) MemSize

func (*TerminologyCapabilitiesCodeSystemVersion) UnmarshalXML

type TerminologyCapabilitiesCodeSystemVersionFilter

type TerminologyCapabilitiesCodeSystemVersionFilter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Code of the property supported.
	Code Code
	// Operations supported for the property.
	Op []Code
}

Filter Properties supported.

func (TerminologyCapabilitiesCodeSystemVersionFilter) MarshalJSON

func (TerminologyCapabilitiesCodeSystemVersionFilter) MarshalXML

func (TerminologyCapabilitiesCodeSystemVersionFilter) MemSize

func (*TerminologyCapabilitiesCodeSystemVersionFilter) UnmarshalXML

type TerminologyCapabilitiesExpansion

type TerminologyCapabilitiesExpansion struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Whether the server can return nested value sets.
	Hierarchical *Boolean
	// Whether the server supports paging on expansion.
	Paging *Boolean
	// Allow request for incomplete expansions?
	Incomplete *Boolean
	// Supported expansion parameter.
	Parameter []TerminologyCapabilitiesExpansionParameter
	// Documentation about text searching works.
	TextFilter *Markdown
}

Information about the [ValueSet/$expand](valueset-operation-expand.html) operation.

func (TerminologyCapabilitiesExpansion) MarshalJSON

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

func (TerminologyCapabilitiesExpansion) MarshalXML

func (TerminologyCapabilitiesExpansion) MemSize

func (*TerminologyCapabilitiesExpansion) UnmarshalXML

type TerminologyCapabilitiesExpansionParameter

type TerminologyCapabilitiesExpansionParameter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Expansion Parameter name.
	Name Code
	// Description of support for parameter.
	Documentation *String
}

Supported expansion parameter.

func (TerminologyCapabilitiesExpansionParameter) MarshalJSON

func (TerminologyCapabilitiesExpansionParameter) MarshalXML

func (TerminologyCapabilitiesExpansionParameter) MemSize

func (*TerminologyCapabilitiesExpansionParameter) UnmarshalXML

type TerminologyCapabilitiesImplementation

type TerminologyCapabilitiesImplementation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Information about the specific installation that this terminology capability statement relates to.
	Description String
	// An absolute base URL for the implementation.
	Url *Url
}

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.

func (TerminologyCapabilitiesImplementation) MarshalJSON

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

func (TerminologyCapabilitiesImplementation) MarshalXML

func (TerminologyCapabilitiesImplementation) MemSize

func (*TerminologyCapabilitiesImplementation) UnmarshalXML

type TerminologyCapabilitiesSoftware

type TerminologyCapabilitiesSoftware struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Name the software is known by.
	Name String
	// The version identifier for the software covered by this statement.
	Version *String
}

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.

func (TerminologyCapabilitiesSoftware) MarshalJSON

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

func (TerminologyCapabilitiesSoftware) MarshalXML

func (TerminologyCapabilitiesSoftware) MemSize

func (*TerminologyCapabilitiesSoftware) UnmarshalXML

func (r *TerminologyCapabilitiesSoftware) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TerminologyCapabilitiesTranslation

type TerminologyCapabilitiesTranslation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Whether the client must identify the map.
	NeedsMap Boolean
}

Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation.

func (TerminologyCapabilitiesTranslation) MarshalJSON

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

func (TerminologyCapabilitiesTranslation) MarshalXML

func (TerminologyCapabilitiesTranslation) MemSize

func (*TerminologyCapabilitiesTranslation) UnmarshalXML

type TerminologyCapabilitiesValidateCode

type TerminologyCapabilitiesValidateCode struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Whether translations are validated.
	Translations Boolean
}

Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation.

func (TerminologyCapabilitiesValidateCode) MarshalJSON

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

func (TerminologyCapabilitiesValidateCode) MarshalXML

func (TerminologyCapabilitiesValidateCode) MemSize

func (*TerminologyCapabilitiesValidateCode) UnmarshalXML

type TestReport

type TestReport struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifier for the TestScript assigned for external purposes outside the context of FHIR.
	Identifier *Identifier
	// A free text natural language name identifying the executed TestScript.
	Name *String
	// The current state of this test report.
	Status Code
	// Ideally this is an absolute URL that is used to identify the version-specific TestScript that was executed, matching the `TestScript.url`.
	TestScript Reference
	// The overall result from the execution of the TestScript.
	Result Code
	// The final score (percentage of tests passed) resulting from the execution of the TestScript.
	Score *Decimal
	// Name of the tester producing this report (Organization or individual).
	Tester *String
	// When the TestScript was executed and this TestReport was generated.
	Issued *DateTime
	// A participant in the test execution, either the execution engine, a client, or a server.
	Participant []TestReportParticipant
	// The results of the series of required setup operations before the tests were executed.
	Setup *TestReportSetup
	// A test executed from the test script.
	Test []TestReportTest
	// The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise).
	Teardown *TestReportTeardown
}

A summary of information based on the results of executing a TestScript.

func (TestReport) MarshalJSON

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

func (TestReport) MarshalXML

func (r TestReport) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestReport) MemSize

func (r TestReport) MemSize() int

func (TestReport) ResourceId

func (r TestReport) ResourceId() (string, bool)

func (TestReport) ResourceType

func (r TestReport) ResourceType() string

func (TestReport) String

func (r TestReport) String() string

func (*TestReport) UnmarshalJSON

func (r *TestReport) UnmarshalJSON(b []byte) error

func (*TestReport) UnmarshalXML

func (r *TestReport) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestReportParticipant

type TestReportParticipant struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The type of participant.
	Type Code
	// The uri of the participant. An absolute URL is preferred.
	Uri Uri
	// The display name of the participant.
	Display *String
}

A participant in the test execution, either the execution engine, a client, or a server.

func (TestReportParticipant) MarshalJSON

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

func (TestReportParticipant) MarshalXML

func (r TestReportParticipant) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestReportParticipant) MemSize

func (r TestReportParticipant) MemSize() int

func (*TestReportParticipant) UnmarshalXML

func (r *TestReportParticipant) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestReportSetup

type TestReportSetup struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Action would contain either an operation or an assertion.
	Action []TestReportSetupAction
}

The results of the series of required setup operations before the tests were executed.

func (TestReportSetup) MarshalJSON

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

func (TestReportSetup) MarshalXML

func (r TestReportSetup) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestReportSetup) MemSize

func (r TestReportSetup) MemSize() int

func (*TestReportSetup) UnmarshalXML

func (r *TestReportSetup) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestReportSetupAction

type TestReportSetupAction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The operation performed.
	Operation *TestReportSetupActionOperation
	// The results of the assertion performed on the previous operations.
	Assert *TestReportSetupActionAssert
}

Action would contain either an operation or an assertion.

func (TestReportSetupAction) MarshalJSON

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

func (TestReportSetupAction) MarshalXML

func (r TestReportSetupAction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestReportSetupAction) MemSize

func (r TestReportSetupAction) MemSize() int

func (*TestReportSetupAction) UnmarshalXML

func (r *TestReportSetupAction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestReportSetupActionAssert

type TestReportSetupActionAssert struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The result of this assertion.
	Result Code
	// An explanatory message associated with the result.
	Message *Markdown
	// A link to further details on the result.
	Detail *String
}

The results of the assertion performed on the previous operations.

func (TestReportSetupActionAssert) MarshalJSON

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

func (TestReportSetupActionAssert) MarshalXML

func (r TestReportSetupActionAssert) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestReportSetupActionAssert) MemSize

func (r TestReportSetupActionAssert) MemSize() int

func (*TestReportSetupActionAssert) UnmarshalXML

func (r *TestReportSetupActionAssert) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestReportSetupActionOperation

type TestReportSetupActionOperation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The result of this operation.
	Result Code
	// An explanatory message associated with the result.
	Message *Markdown
	// A link to further details on the result.
	Detail *Uri
}

The operation performed.

func (TestReportSetupActionOperation) MarshalJSON

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

func (TestReportSetupActionOperation) MarshalXML

func (TestReportSetupActionOperation) MemSize

func (r TestReportSetupActionOperation) MemSize() int

func (*TestReportSetupActionOperation) UnmarshalXML

func (r *TestReportSetupActionOperation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestReportTeardown

type TestReportTeardown struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The teardown action will only contain an operation.
	Action []TestReportTeardownAction
}

The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise).

func (TestReportTeardown) MarshalJSON

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

func (TestReportTeardown) MarshalXML

func (r TestReportTeardown) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestReportTeardown) MemSize

func (r TestReportTeardown) MemSize() int

func (*TestReportTeardown) UnmarshalXML

func (r *TestReportTeardown) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestReportTeardownAction

type TestReportTeardownAction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An operation would involve a REST request to a server.
	Operation TestReportSetupActionOperation
}

The teardown action will only contain an operation.

func (TestReportTeardownAction) MarshalJSON

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

func (TestReportTeardownAction) MarshalXML

func (r TestReportTeardownAction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestReportTeardownAction) MemSize

func (r TestReportTeardownAction) MemSize() int

func (*TestReportTeardownAction) UnmarshalXML

func (r *TestReportTeardownAction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestReportTest

type TestReportTest struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The name of this test used for tracking/logging purposes by test engines.
	Name *String
	// A short description of the test used by test engines for tracking and reporting purposes.
	Description *String
	// Action would contain either an operation or an assertion.
	Action []TestReportTestAction
}

A test executed from the test script.

func (TestReportTest) MarshalJSON

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

func (TestReportTest) MarshalXML

func (r TestReportTest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestReportTest) MemSize

func (r TestReportTest) MemSize() int

func (*TestReportTest) UnmarshalXML

func (r *TestReportTest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestReportTestAction

type TestReportTestAction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An operation would involve a REST request to a server.
	Operation *TestReportSetupActionOperation
	// The results of the assertion performed on the previous operations.
	Assert *TestReportSetupActionAssert
}

Action would contain either an operation or an assertion.

func (TestReportTestAction) MarshalJSON

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

func (TestReportTestAction) MarshalXML

func (r TestReportTestAction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestReportTestAction) MemSize

func (r TestReportTestAction) MemSize() int

func (*TestReportTestAction) UnmarshalXML

func (r *TestReportTestAction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScript

type TestScript struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.
	Url Uri
	// A formal identifier that is used to identify this test script when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier *Identifier
	// The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name String
	// A short, descriptive, user-friendly title for the test script.
	Title *String
	// The status of this test script. Enables tracking the life-cycle of the content.
	Status Code
	// A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date  (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes.
	Date *DateTime
	// The name of the organization or individual that published the test script.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the test script from a consumer's perspective.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.
	UseContext []UsageContext
	// A legal or geographic region in which the test script is intended to be used.
	Jurisdiction []CodeableConcept
	// Explanation of why this test script is needed and why it has been designed as it has.
	Purpose *Markdown
	// A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script.
	Copyright *Markdown
	// An abstract server used in operations within this test script in the origin element.
	Origin []TestScriptOrigin
	// An abstract server used in operations within this test script in the destination element.
	Destination []TestScriptDestination
	// The required capability must exist and are assumed to function correctly on the FHIR server being tested.
	Metadata *TestScriptMetadata
	// Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.
	Fixture []TestScriptFixture
	// Reference to the profile to be used for validation.
	Profile []Reference
	// Variable is set based either on element value in response body or on header field value in the response headers.
	Variable []TestScriptVariable
	// A series of required setup operations before tests are executed.
	Setup *TestScriptSetup
	// A test in this script.
	Test []TestScriptTest
	// A series of operations required to clean up after all the tests are executed (successfully or otherwise).
	Teardown *TestScriptTeardown
}

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (TestScript) MarshalJSON

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

func (TestScript) MarshalXML

func (r TestScript) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScript) MemSize

func (r TestScript) MemSize() int

func (TestScript) ResourceId

func (r TestScript) ResourceId() (string, bool)

func (TestScript) ResourceType

func (r TestScript) ResourceType() string

func (TestScript) String

func (r TestScript) String() string

func (*TestScript) UnmarshalJSON

func (r *TestScript) UnmarshalJSON(b []byte) error

func (*TestScript) UnmarshalXML

func (r *TestScript) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptDestination

type TestScriptDestination struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Abstract name given to a destination server in this test script.  The name is provided as a number starting at 1.
	Index Integer
	// The type of destination profile the test system supports.
	Profile Coding
}

An abstract server used in operations within this test script in the destination element.

func (TestScriptDestination) MarshalJSON

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

func (TestScriptDestination) MarshalXML

func (r TestScriptDestination) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptDestination) MemSize

func (r TestScriptDestination) MemSize() int

func (*TestScriptDestination) UnmarshalXML

func (r *TestScriptDestination) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptFixture

type TestScriptFixture struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section.
	Autocreate Boolean
	// Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section.
	Autodelete Boolean
	// Reference to the resource (containing the contents of the resource needed for operations).
	Resource *Reference
}

Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.

func (TestScriptFixture) MarshalJSON

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

func (TestScriptFixture) MarshalXML

func (r TestScriptFixture) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptFixture) MemSize

func (r TestScriptFixture) MemSize() int

func (*TestScriptFixture) UnmarshalXML

func (r *TestScriptFixture) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptMetadata

type TestScriptMetadata struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A link to the FHIR specification that this test is covering.
	Link []TestScriptMetadataLink
	// Capabilities that must exist and are assumed to function correctly on the FHIR server being tested.
	Capability []TestScriptMetadataCapability
}

The required capability must exist and are assumed to function correctly on the FHIR server being tested.

func (TestScriptMetadata) MarshalJSON

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

func (TestScriptMetadata) MarshalXML

func (r TestScriptMetadata) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptMetadata) MemSize

func (r TestScriptMetadata) MemSize() int

func (*TestScriptMetadata) UnmarshalXML

func (r *TestScriptMetadata) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptMetadataCapability

type TestScriptMetadataCapability struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Whether or not the test execution will require the given capabilities of the server in order for this test script to execute.
	Required Boolean
	// Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute.
	Validated Boolean
	// Description of the capabilities that this test script is requiring the server to support.
	Description *String
	// Which origin server these requirements apply to.
	Origin []Integer
	// Which server these requirements apply to.
	Destination *Integer
	// Links to the FHIR specification that describes this interaction and the resources involved in more detail.
	Link []Uri
	// Minimum capabilities required of server for test script to execute successfully.   If server does not meet at a minimum the referenced capability statement, then all tests in this script are skipped.
	Capabilities Canonical
}

Capabilities that must exist and are assumed to function correctly on the FHIR server being tested.

func (TestScriptMetadataCapability) MarshalJSON

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

func (TestScriptMetadataCapability) MarshalXML

func (TestScriptMetadataCapability) MemSize

func (r TestScriptMetadataCapability) MemSize() int

func (*TestScriptMetadataCapability) UnmarshalXML

func (r *TestScriptMetadataCapability) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
type TestScriptMetadataLink struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// URL to a particular requirement or feature within the FHIR specification.
	Url Uri
	// Short description of the link.
	Description *String
}

A link to the FHIR specification that this test is covering.

func (TestScriptMetadataLink) MarshalJSON

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

func (TestScriptMetadataLink) MarshalXML

func (r TestScriptMetadataLink) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptMetadataLink) MemSize

func (r TestScriptMetadataLink) MemSize() int

func (*TestScriptMetadataLink) UnmarshalXML

func (r *TestScriptMetadataLink) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptOrigin

type TestScriptOrigin struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Abstract name given to an origin server in this test script.  The name is provided as a number starting at 1.
	Index Integer
	// The type of origin profile the test system supports.
	Profile Coding
}

An abstract server used in operations within this test script in the origin element.

func (TestScriptOrigin) MarshalJSON

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

func (TestScriptOrigin) MarshalXML

func (r TestScriptOrigin) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptOrigin) MemSize

func (r TestScriptOrigin) MemSize() int

func (*TestScriptOrigin) UnmarshalXML

func (r *TestScriptOrigin) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptSetup

type TestScriptSetup struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Action would contain either an operation or an assertion.
	Action []TestScriptSetupAction
}

A series of required setup operations before tests are executed.

func (TestScriptSetup) MarshalJSON

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

func (TestScriptSetup) MarshalXML

func (r TestScriptSetup) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptSetup) MemSize

func (r TestScriptSetup) MemSize() int

func (*TestScriptSetup) UnmarshalXML

func (r *TestScriptSetup) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptSetupAction

type TestScriptSetupAction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The operation to perform.
	Operation *TestScriptSetupActionOperation
	// Evaluates the results of previous operations to determine if the server under test behaves appropriately.
	Assert *TestScriptSetupActionAssert
}

Action would contain either an operation or an assertion.

func (TestScriptSetupAction) MarshalJSON

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

func (TestScriptSetupAction) MarshalXML

func (r TestScriptSetupAction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptSetupAction) MemSize

func (r TestScriptSetupAction) MemSize() int

func (*TestScriptSetupAction) UnmarshalXML

func (r *TestScriptSetupAction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptSetupActionAssert

type TestScriptSetupActionAssert struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The label would be used for tracking/logging purposes by test engines.
	Label *String
	// The description would be used by test engines for tracking and reporting purposes.
	Description *String
	// The direction to use for the assertion.
	Direction *Code
	// Id of the source fixture used as the contents to be evaluated by either the "source/expression" or "sourceId/path" definition.
	CompareToSourceId *String
	// The FHIRPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.
	CompareToSourceExpression *String
	// XPath or JSONPath expression to evaluate against the source fixture. When compareToSourceId is defined, either compareToSourceExpression or compareToSourcePath must be defined, but not both.
	CompareToSourcePath *String
	// The mime-type contents to compare against the request or response message 'Content-Type' header.
	ContentType *Code
	// The FHIRPath expression to be evaluated against the request or response message contents - HTTP headers and payload.
	Expression *String
	// The HTTP header field name e.g. 'Location'.
	HeaderField *String
	// The ID of a fixture.  Asserts that the response contains at a minimum the fixture specified by minimumId.
	MinimumId *String
	// Whether or not the test execution performs validation on the bundle navigation links.
	NavigationLinks *Boolean
	// The operator type defines the conditional behavior of the assert. If not defined, the default is equals.
	Operator *Code
	// The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server.
	Path *String
	// The request method or HTTP operation code to compare against that used by the client system under test.
	RequestMethod *Code
	// The value to use in a comparison against the request URL path string.
	RequestUrl *String
	// The type of the resource.  See http://build.fhir.org/resourcelist.html.
	Resource *Code
	// okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable.
	Response *Code
	// The value of the HTTP response code to be tested.
	ResponseCode *String
	// Fixture to evaluate the XPath/JSONPath expression or the headerField  against.
	SourceId *Id
	// The ID of the Profile to validate against.
	ValidateProfileId *Id
	// The value to compare to.
	Value *String
	// Whether or not the test execution will produce a warning only on error for this assert.
	WarningOnly Boolean
}

Evaluates the results of previous operations to determine if the server under test behaves appropriately.

func (TestScriptSetupActionAssert) MarshalJSON

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

func (TestScriptSetupActionAssert) MarshalXML

func (r TestScriptSetupActionAssert) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptSetupActionAssert) MemSize

func (r TestScriptSetupActionAssert) MemSize() int

func (*TestScriptSetupActionAssert) UnmarshalXML

func (r *TestScriptSetupActionAssert) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptSetupActionOperation

type TestScriptSetupActionOperation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Server interaction or operation type.
	Type *Coding
	// The type of the resource.  See http://build.fhir.org/resourcelist.html.
	Resource *Code
	// The label would be used for tracking/logging purposes by test engines.
	Label *String
	// The description would be used by test engines for tracking and reporting purposes.
	Description *String
	// The mime-type to use for RESTful operation in the 'Accept' header.
	Accept *Code
	// The mime-type to use for RESTful operation in the 'Content-Type' header.
	ContentType *Code
	// The server where the request message is destined for.  Must be one of the server numbers listed in TestScript.destination section.
	Destination *Integer
	// Whether or not to implicitly send the request url in encoded format. The default is true to match the standard RESTful client behavior. Set to false when communicating with a server that does not support encoded url paths.
	EncodeRequestUrl Boolean
	// The HTTP method the test engine MUST use for this operation regardless of any other operation details.
	Method *Code
	// The server where the request message originates from.  Must be one of the server numbers listed in TestScript.origin section.
	Origin *Integer
	// Path plus parameters after [type].  Used to set parts of the request URL explicitly.
	Params *String
	// Header elements would be used to set HTTP headers.
	RequestHeader []TestScriptSetupActionOperationRequestHeader
	// The fixture id (maybe new) to map to the request.
	RequestId *Id
	// The fixture id (maybe new) to map to the response.
	ResponseId *Id
	// The id of the fixture used as the body of a PUT or POST request.
	SourceId *Id
	// Id of fixture used for extracting the [id],  [type], and [vid] for GET requests.
	TargetId *Id
	// Complete request URL.
	Url *String
}

The operation to perform.

func (TestScriptSetupActionOperation) MarshalJSON

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

func (TestScriptSetupActionOperation) MarshalXML

func (TestScriptSetupActionOperation) MemSize

func (r TestScriptSetupActionOperation) MemSize() int

func (*TestScriptSetupActionOperation) UnmarshalXML

func (r *TestScriptSetupActionOperation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptSetupActionOperationRequestHeader

type TestScriptSetupActionOperationRequestHeader struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The HTTP header field e.g. "Accept".
	Field String
	// The value of the header e.g. "application/fhir+xml".
	Value String
}

Header elements would be used to set HTTP headers.

func (TestScriptSetupActionOperationRequestHeader) MarshalJSON

func (TestScriptSetupActionOperationRequestHeader) MarshalXML

func (TestScriptSetupActionOperationRequestHeader) MemSize

func (*TestScriptSetupActionOperationRequestHeader) UnmarshalXML

type TestScriptTeardown

type TestScriptTeardown struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The teardown action will only contain an operation.
	Action []TestScriptTeardownAction
}

A series of operations required to clean up after all the tests are executed (successfully or otherwise).

func (TestScriptTeardown) MarshalJSON

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

func (TestScriptTeardown) MarshalXML

func (r TestScriptTeardown) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptTeardown) MemSize

func (r TestScriptTeardown) MemSize() int

func (*TestScriptTeardown) UnmarshalXML

func (r *TestScriptTeardown) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptTeardownAction

type TestScriptTeardownAction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An operation would involve a REST request to a server.
	Operation TestScriptSetupActionOperation
}

The teardown action will only contain an operation.

func (TestScriptTeardownAction) MarshalJSON

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

func (TestScriptTeardownAction) MarshalXML

func (r TestScriptTeardownAction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptTeardownAction) MemSize

func (r TestScriptTeardownAction) MemSize() int

func (*TestScriptTeardownAction) UnmarshalXML

func (r *TestScriptTeardownAction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptTest

type TestScriptTest struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The name of this test used for tracking/logging purposes by test engines.
	Name *String
	// A short description of the test used by test engines for tracking and reporting purposes.
	Description *String
	// Action would contain either an operation or an assertion.
	Action []TestScriptTestAction
}

A test in this script.

func (TestScriptTest) MarshalJSON

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

func (TestScriptTest) MarshalXML

func (r TestScriptTest) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptTest) MemSize

func (r TestScriptTest) MemSize() int

func (*TestScriptTest) UnmarshalXML

func (r *TestScriptTest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptTestAction

type TestScriptTestAction struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An operation would involve a REST request to a server.
	Operation *TestScriptSetupActionOperation
	// Evaluates the results of previous operations to determine if the server under test behaves appropriately.
	Assert *TestScriptSetupActionAssert
}

Action would contain either an operation or an assertion.

func (TestScriptTestAction) MarshalJSON

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

func (TestScriptTestAction) MarshalXML

func (r TestScriptTestAction) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptTestAction) MemSize

func (r TestScriptTestAction) MemSize() int

func (*TestScriptTestAction) UnmarshalXML

func (r *TestScriptTestAction) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TestScriptVariable

type TestScriptVariable struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Descriptive name for this variable.
	Name String
	// A default, hard-coded, or user-defined value for this variable.
	DefaultValue *String
	// A free text natural language description of the variable and its purpose.
	Description *String
	// The FHIRPath expression to evaluate against the fixture body. When variables are defined, only one of either expression, headerField or path must be specified.
	Expression *String
	// Will be used to grab the HTTP header field value from the headers that sourceId is pointing to.
	HeaderField *String
	// Displayable text string with hint help information to the user when entering a default value.
	Hint *String
	// XPath or JSONPath to evaluate against the fixture body.  When variables are defined, only one of either expression, headerField or path must be specified.
	Path *String
	// Fixture to evaluate the XPath/JSONPath expression or the headerField  against within this variable.
	SourceId *Id
}

Variable is set based either on element value in response body or on header field value in the response headers.

func (TestScriptVariable) MarshalJSON

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

func (TestScriptVariable) MarshalXML

func (r TestScriptVariable) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TestScriptVariable) MemSize

func (r TestScriptVariable) MemSize() int

func (*TestScriptVariable) UnmarshalXML

func (r *TestScriptVariable) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Time

type Time struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The actual value
	Value *string
}

Base StructureDefinition for time Type: A time during the day, with no date specified

func (Time) MarshalJSON

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

func (Time) MarshalXML

func (r Time) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Time) MemSize

func (r Time) MemSize() int

func (*Time) UnmarshalJSON

func (r *Time) UnmarshalJSON(b []byte) error

func (*Time) UnmarshalXML

func (r *Time) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Timing

type Timing struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifies specific times when the event occurs.
	Event []DateTime
	// A set of rules that describe when the event is scheduled.
	Repeat *TimingRepeat
	// A code for the timing schedule (or just text in code.text). Some codes such as BID are ubiquitous, but many institutions define their own additional codes. If a code is provided, the code is understood to be a complete statement of whatever is specified in the structured timing data, and either the code or the data may be used to interpret the Timing, with the exception that .repeat.bounds still applies over the code (and is not contained in the code).
	Code *CodeableConcept
}

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.

Need to able to track proposed timing schedules. There are several different ways to do this: one or more specified times, a simple rules like three times a day, or before/after meals.

func (Timing) MarshalJSON

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

func (Timing) MarshalXML

func (r Timing) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Timing) MemSize

func (r Timing) MemSize() int

func (Timing) String

func (r Timing) String() string

func (*Timing) UnmarshalXML

func (r *Timing) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TimingRepeat

type TimingRepeat struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule.
	Bounds isTimingRepeatBounds
	// A total count of the desired number of repetitions across the duration of the entire timing specification. If countMax is present, this element indicates the lower bound of the allowed range of count values.
	Count *PositiveInt
	// If present, indicates that the count is a range - so to perform the action between [count] and [countMax] times.
	CountMax *PositiveInt
	// How long this thing happens for when it happens. If durationMax is present, this element indicates the lower bound of the allowed range of the duration.
	Duration *Decimal
	// If present, indicates that the duration is a range - so to perform the action between [duration] and [durationMax] time length.
	DurationMax *Decimal
	// The units of time for the duration, in UCUM units.
	DurationUnit *Code
	// The number of times to repeat the action within the specified period. If frequencyMax is present, this element indicates the lower bound of the allowed range of the frequency.
	Frequency *PositiveInt
	// If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period range.
	FrequencyMax *PositiveInt
	// Indicates the duration of time over which repetitions are to occur; e.g. to express "3 times per day", 3 would be the frequency and "1 day" would be the period. If periodMax is present, this element indicates the lower bound of the allowed range of the period length.
	Period *Decimal
	// If present, indicates that the period is a range from [period] to [periodMax], allowing expressing concepts such as "do this once every 3-5 days.
	PeriodMax *Decimal
	// The units of time for the period in UCUM units.
	PeriodUnit *Code
	// If one or more days of week is provided, then the action happens only on the specified day(s).
	DayOfWeek []Code
	// Specified time of day for action to take place.
	TimeOfDay []Time
	// An approximate time period during the day, potentially linked to an event of daily living that indicates when the action should occur.
	When []Code
	// The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the event.
	Offset *UnsignedInt
}

A set of rules that describe when the event is scheduled.

func (TimingRepeat) MarshalJSON

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

func (TimingRepeat) MarshalXML

func (r TimingRepeat) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TimingRepeat) MemSize

func (r TimingRepeat) MemSize() int

func (*TimingRepeat) UnmarshalXML

func (r *TimingRepeat) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type TriggerDefinition

type TriggerDefinition struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The type of triggering event.
	Type Code
	// A formal name for the event. This may be an absolute URI that identifies the event formally (e.g. from a trigger registry), or a simple relative URI that identifies the event in a local context.
	Name *String
	// The timing of the event (if this is a periodic trigger).
	Timing isTriggerDefinitionTiming
	// The triggering data of the event (if this is a data trigger). If more than one data is requirement is specified, then all the data requirements must be true.
	Data []DataRequirement
	// A boolean-valued expression that is evaluated in the context of the container of the trigger definition and returns whether or not the trigger fires.
	Condition *Expression
}

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.

func (TriggerDefinition) MarshalJSON

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

func (TriggerDefinition) MarshalXML

func (r TriggerDefinition) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (TriggerDefinition) MemSize

func (r TriggerDefinition) MemSize() int

func (TriggerDefinition) String

func (r TriggerDefinition) String() string

func (*TriggerDefinition) UnmarshalXML

func (r *TriggerDefinition) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type UnsignedInt

type UnsignedInt struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Primitive value for unsignedInt
	Value *uint32
}

Base StructureDefinition for unsignedInt type: An integer with a value that is not negative (e.g. >= 0)

func (UnsignedInt) MarshalJSON

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

func (UnsignedInt) MarshalXML

func (r UnsignedInt) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (UnsignedInt) MemSize

func (r UnsignedInt) MemSize() int

func (*UnsignedInt) UnmarshalJSON

func (r *UnsignedInt) UnmarshalJSON(b []byte) error

func (*UnsignedInt) UnmarshalXML

func (r *UnsignedInt) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Uri

type Uri struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// The actual value
	Value *string
}

Base StructureDefinition for uri Type: String of characters used to identify a name or a resource

func (Uri) MarshalJSON

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

func (Uri) MarshalXML

func (r Uri) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Uri) MemSize

func (r Uri) MemSize() int

func (*Uri) UnmarshalJSON

func (r *Uri) UnmarshalJSON(b []byte) error

func (*Uri) UnmarshalXML

func (r *Uri) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Url

type Url struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Primitive value for url
	Value *string
}

Base StructureDefinition for url type: A URI that is a literal reference

func (Url) MarshalJSON

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

func (Url) MarshalXML

func (r Url) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Url) MemSize

func (r Url) MemSize() int

func (*Url) UnmarshalJSON

func (r *Url) UnmarshalJSON(b []byte) error

func (*Url) UnmarshalXML

func (r *Url) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type UsageContext

type UsageContext struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// A code that identifies the type of context being specified by this usage context.
	Code Coding
	// A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.
	Value isUsageContextValue
}

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).

Consumers of the resource must be able to determine the intended applicability for the resource. Ideally, this information would be used programmatically to determine when and how it should be incorporated or exposed.

func (UsageContext) MarshalJSON

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

func (UsageContext) MarshalXML

func (r UsageContext) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (UsageContext) MemSize

func (r UsageContext) MemSize() int

func (UsageContext) String

func (r UsageContext) String() string

func (*UsageContext) UnmarshalXML

func (r *UsageContext) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type Uuid

type Uuid struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// Primitive value for uuid
	Value *string
}

Base StructureDefinition for uuid type: A UUID, represented as a URI

func (Uuid) MarshalJSON

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

func (Uuid) MarshalXML

func (r Uuid) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Uuid) MemSize

func (r Uuid) MemSize() int

func (*Uuid) UnmarshalJSON

func (r *Uuid) UnmarshalJSON(b []byte) error

func (*Uuid) UnmarshalXML

func (r *Uuid) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ValueSet

type ValueSet struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this value set is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the value set is stored on different servers.
	Url *Uri
	// A formal identifier that is used to identify this value set when it is represented in other formats, or referenced in a specification, model, design or an instance.
	Identifier []Identifier
	// The identifier that is used to identify this version of the value set when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
	Version *String
	// A natural language name identifying the value set. This name should be usable as an identifier for the module by machine processing applications such as code generation.
	Name *String
	// A short, descriptive, user-friendly title for the value set.
	Title *String
	// The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state.
	Status Code
	// A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
	Experimental *Boolean
	// The date (and optionally time) when the value set was created or revised (e.g. the 'content logical definition').
	Date *DateTime
	// The name of the organization or individual that published the value set.
	Publisher *String
	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []ContactDetail
	// A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set.
	Description *Markdown
	// The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate value set instances.
	UseContext []UsageContext
	// A legal or geographic region in which the value set is intended to be used.
	Jurisdiction []CodeableConcept
	// If this is set to 'true', then no new versions of the content logical definition can be created.  Note: Other metadata might still change.
	Immutable *Boolean
	// Explanation of why this value set is needed and why it has been designed as it has.
	Purpose *Markdown
	// A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set.
	Copyright *Markdown
	// 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).
	Compose *ValueSetCompose
	// 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 *ValueSetExpansion
}

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 (ValueSet) MarshalJSON

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

func (ValueSet) MarshalXML

func (r ValueSet) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ValueSet) MemSize

func (r ValueSet) MemSize() int

func (ValueSet) ResourceId

func (r ValueSet) ResourceId() (string, bool)

func (ValueSet) ResourceType

func (r ValueSet) ResourceType() string

func (ValueSet) String

func (r ValueSet) String() string

func (*ValueSet) UnmarshalJSON

func (r *ValueSet) UnmarshalJSON(b []byte) error

func (*ValueSet) UnmarshalXML

func (r *ValueSet) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ValueSetCompose

type ValueSetCompose struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The Locked Date is  the effective date that is used to determine the version of all referenced Code Systems and Value Set Definitions included in the compose that are not already tied to a specific version.
	LockedDate *Date
	// Whether inactive codes - codes that are not approved for current use - are in the value set. If inactive = true, inactive codes are to be included in the expansion, if inactive = false, the inactive codes will not be included in the expansion. If absent, the behavior is determined by the implementation, or by the applicable $expand parameters (but generally, inactive codes would be expected to be included).
	Inactive *Boolean
	// Include one or more codes from a code system or other value set(s).
	Include []ValueSetComposeInclude
	// Exclude one or more codes from the value set based on code system filters and/or other value sets.
	Exclude []ValueSetComposeInclude
}

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).

func (ValueSetCompose) MarshalJSON

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

func (ValueSetCompose) MarshalXML

func (r ValueSetCompose) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ValueSetCompose) MemSize

func (r ValueSetCompose) MemSize() int

func (*ValueSetCompose) UnmarshalXML

func (r *ValueSetCompose) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ValueSetComposeInclude

type ValueSetComposeInclude struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI which is the code system from which the selected codes come from.
	System *Uri
	// The version of the code system that the codes are selected from, or the special version '*' for all versions.
	Version *String
	// Specifies a concept to be included or excluded.
	Concept []ValueSetComposeIncludeConcept
	// 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.
	Filter []ValueSetComposeIncludeFilter
	// Selects the concepts found in this value set (based on its value set definition). This is an absolute URI that is a reference to ValueSet.url.  If multiple value sets are specified this includes the union of the contents of all of the referenced value sets.
	ValueSet []Canonical
}

Include one or more codes from a code system or other value set(s).

func (ValueSetComposeInclude) MarshalJSON

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

func (ValueSetComposeInclude) MarshalXML

func (r ValueSetComposeInclude) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ValueSetComposeInclude) MemSize

func (r ValueSetComposeInclude) MemSize() int

func (*ValueSetComposeInclude) UnmarshalXML

func (r *ValueSetComposeInclude) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ValueSetComposeIncludeConcept

type ValueSetComposeIncludeConcept struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Specifies a code for the concept to be included or excluded.
	Code Code
	// The text to display to the user for this concept in the context of this valueset. If no display is provided, then applications using the value set use the display specified for the code by the system.
	Display *String
	// Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc.
	Designation []ValueSetComposeIncludeConceptDesignation
}

Specifies a concept to be included or excluded.

func (ValueSetComposeIncludeConcept) MarshalJSON

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

func (ValueSetComposeIncludeConcept) MarshalXML

func (ValueSetComposeIncludeConcept) MemSize

func (r ValueSetComposeIncludeConcept) MemSize() int

func (*ValueSetComposeIncludeConcept) UnmarshalXML

func (r *ValueSetComposeIncludeConcept) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ValueSetComposeIncludeConceptDesignation

type ValueSetComposeIncludeConceptDesignation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The language this designation is defined for.
	Language *Code
	// A code that represents types of uses of designations.
	Use *Coding
	// The text value for this designation.
	Value String
}

Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc.

func (ValueSetComposeIncludeConceptDesignation) MarshalJSON

func (ValueSetComposeIncludeConceptDesignation) MarshalXML

func (ValueSetComposeIncludeConceptDesignation) MemSize

func (*ValueSetComposeIncludeConceptDesignation) UnmarshalXML

type ValueSetComposeIncludeFilter

type ValueSetComposeIncludeFilter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A code that identifies a property or a filter defined in the code system.
	Property Code
	// The kind of operation to perform as a part of the filter criteria.
	Op Code
	// The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value  (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'.
	Value String
}

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.

func (ValueSetComposeIncludeFilter) MarshalJSON

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

func (ValueSetComposeIncludeFilter) MarshalXML

func (ValueSetComposeIncludeFilter) MemSize

func (r ValueSetComposeIncludeFilter) MemSize() int

func (*ValueSetComposeIncludeFilter) UnmarshalXML

func (r *ValueSetComposeIncludeFilter) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ValueSetExpansion

type ValueSetExpansion struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier.
	Identifier *Uri
	// The time at which the expansion was produced by the expanding system.
	Timestamp DateTime
	// The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter.
	Total *Integer
	// If paging is being used, the offset at which this resource starts.  I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present.
	Offset *Integer
	// 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.
	Parameter []ValueSetExpansionParameter
	// The codes that are contained in the value set expansion.
	Contains []ValueSetExpansionContains
}

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.

func (ValueSetExpansion) MarshalJSON

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

func (ValueSetExpansion) MarshalXML

func (r ValueSetExpansion) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ValueSetExpansion) MemSize

func (r ValueSetExpansion) MemSize() int

func (*ValueSetExpansion) UnmarshalXML

func (r *ValueSetExpansion) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ValueSetExpansionContains

type ValueSetExpansionContains struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// An absolute URI which is the code system in which the code for this item in the expansion is defined.
	System *Uri
	// If true, this entry is included in the expansion for navigational purposes, and the user cannot select the code directly as a proper value.
	Abstract *Boolean
	// If the concept is inactive in the code system that defines it. Inactive codes are those that are no longer to be used, but are maintained by the code system for understanding legacy data. It might not be known or specified whether an concept is inactive (and it may depend on the context of use).
	Inactive *Boolean
	// The version of the code system from this code was taken. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
	Version *String
	// The code for this item in the expansion hierarchy. If this code is missing the entry in the hierarchy is a place holder (abstract) and does not represent a valid code in the value set.
	Code *Code
	// The recommended display for this item in the expansion.
	Display *String
	// Additional representations for this item - other languages, aliases, specialized purposes, used for particular purposes, etc. These are relevant when the conditions of the expansion do not fix to a single correct representation.
	Designation []ValueSetComposeIncludeConceptDesignation
	// Other codes and entries contained under this entry in the hierarchy.
	Contains []ValueSetExpansionContains
}

The codes that are contained in the value set expansion.

func (ValueSetExpansionContains) MarshalJSON

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

func (ValueSetExpansionContains) MarshalXML

func (r ValueSetExpansionContains) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ValueSetExpansionContains) MemSize

func (r ValueSetExpansionContains) MemSize() int

func (*ValueSetExpansionContains) UnmarshalXML

func (r *ValueSetExpansionContains) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type ValueSetExpansionParameter

type ValueSetExpansionParameter struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Name of the input parameter to the $expand operation; may be a server-assigned name for additional default or other server-supplied parameters used to control the expansion process.
	Name String
	// The value of the parameter.
	Value isValueSetExpansionParameterValue
}

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.

func (ValueSetExpansionParameter) MarshalJSON

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

func (ValueSetExpansionParameter) MarshalXML

func (r ValueSetExpansionParameter) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (ValueSetExpansionParameter) MemSize

func (r ValueSetExpansionParameter) MemSize() int

func (*ValueSetExpansionParameter) UnmarshalXML

func (r *ValueSetExpansionParameter) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type VerificationResult

type VerificationResult struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A resource that was validated.
	Target []Reference
	// The fhirpath location(s) within the resource that was validated.
	TargetLocation []String
	// The frequency with which the target must be validated (none; initial; periodic).
	Need *CodeableConcept
	// The validation status of the target (attested; validated; in process; requires revalidation; validation failed; revalidation failed).
	Status Code
	// When the validation status was updated.
	StatusDate *DateTime
	// What the target is validated against (nothing; primary source; multiple sources).
	ValidationType *CodeableConcept
	// The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context).
	ValidationProcess []CodeableConcept
	// Frequency of revalidation.
	Frequency *Timing
	// The date/time validation was last completed (including failed validations).
	LastPerformed *DateTime
	// The date when target is next validated, if appropriate.
	NextScheduled *Date
	// The result if validation fails (fatal; warning; record only; none).
	FailureAction *CodeableConcept
	// Information about the primary source(s) involved in validation.
	PrimarySource []VerificationResultPrimarySource
	// Information about the entity attesting to information.
	Attestation *VerificationResultAttestation
	// Information about the entity validating information.
	Validator []VerificationResultValidator
}

Describes validation requirements, source(s), status and dates for one or more elements.

func (VerificationResult) MarshalJSON

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

func (VerificationResult) MarshalXML

func (r VerificationResult) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (VerificationResult) MemSize

func (r VerificationResult) MemSize() int

func (VerificationResult) ResourceId

func (r VerificationResult) ResourceId() (string, bool)

func (VerificationResult) ResourceType

func (r VerificationResult) ResourceType() string

func (VerificationResult) String

func (r VerificationResult) String() string

func (*VerificationResult) UnmarshalJSON

func (r *VerificationResult) UnmarshalJSON(b []byte) error

func (*VerificationResult) UnmarshalXML

func (r *VerificationResult) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type VerificationResultAttestation

type VerificationResultAttestation struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// The individual or organization attesting to information.
	Who *Reference
	// When the who is asserting on behalf of another (organization or individual).
	OnBehalfOf *Reference
	// The method by which attested information was submitted/retrieved (manual; API; Push).
	CommunicationMethod *CodeableConcept
	// The date the information was attested to.
	Date *Date
	// A digital identity certificate associated with the attestation source.
	SourceIdentityCertificate *String
	// A digital identity certificate associated with the proxy entity submitting attested information on behalf of the attestation source.
	ProxyIdentityCertificate *String
	// Signed assertion by the proxy entity indicating that they have the right to submit attested information on behalf of the attestation source.
	ProxySignature *Signature
	// Signed assertion by the attestation source that they have attested to the information.
	SourceSignature *Signature
}

Information about the entity attesting to information.

func (VerificationResultAttestation) MarshalJSON

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

func (VerificationResultAttestation) MarshalXML

func (VerificationResultAttestation) MemSize

func (r VerificationResultAttestation) MemSize() int

func (*VerificationResultAttestation) UnmarshalXML

func (r *VerificationResultAttestation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type VerificationResultPrimarySource

type VerificationResultPrimarySource struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Reference to the primary source.
	Who *Reference
	// Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source).
	Type []CodeableConcept
	// Method for communicating with the primary source (manual; API; Push).
	CommunicationMethod []CodeableConcept
	// Status of the validation of the target against the primary source (successful; failed; unknown).
	ValidationStatus *CodeableConcept
	// When the target was validated against the primary source.
	ValidationDate *DateTime
	// Ability of the primary source to push updates/alerts (yes; no; undetermined).
	CanPushUpdates *CodeableConcept
	// Type of alerts/updates the primary source can send (specific requested changes; any changes; as defined by source).
	PushTypeAvailable []CodeableConcept
}

Information about the primary source(s) involved in validation.

func (VerificationResultPrimarySource) MarshalJSON

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

func (VerificationResultPrimarySource) MarshalXML

func (VerificationResultPrimarySource) MemSize

func (*VerificationResultPrimarySource) UnmarshalXML

func (r *VerificationResultPrimarySource) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type VerificationResultValidator

type VerificationResultValidator struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Reference to the organization validating information.
	Organization Reference
	// A digital identity certificate associated with the validator.
	IdentityCertificate *String
	// Signed assertion by the validator that they have validated the information.
	AttestationSignature *Signature
}

Information about the entity validating information.

func (VerificationResultValidator) MarshalJSON

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

func (VerificationResultValidator) MarshalXML

func (r VerificationResultValidator) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (VerificationResultValidator) MemSize

func (r VerificationResultValidator) MemSize() int

func (*VerificationResultValidator) UnmarshalXML

func (r *VerificationResultValidator) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type VisionPrescription

type VisionPrescription struct {
	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id *Id
	// The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
	Meta *Meta
	// A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
	ImplicitRules *Uri
	// The base language in which the resource is written.
	Language *Code
	// A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
	Text *Narrative
	// These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
	Contained []model.Resource
	// May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// A unique identifier assigned to this vision prescription.
	Identifier []Identifier
	// The status of the resource instance.
	Status Code
	// The date this resource was created.
	Created DateTime
	// A resource reference to the person to whom the vision prescription applies.
	Patient Reference
	// A reference to a resource that identifies the particular occurrence of contact between patient and health care provider during which the prescription was issued.
	Encounter *Reference
	// The date (and perhaps time) when the prescription was written.
	DateWritten DateTime
	// The healthcare professional responsible for authorizing the prescription.
	Prescriber Reference
	// Contain the details of  the individual lens specifications and serves as the authorization for the fullfillment by certified professionals.
	LensSpecification []VisionPrescriptionLensSpecification
}

An authorization for the provision of glasses and/or contact lenses to a patient.

func (VisionPrescription) MarshalJSON

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

func (VisionPrescription) MarshalXML

func (r VisionPrescription) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (VisionPrescription) MemSize

func (r VisionPrescription) MemSize() int

func (VisionPrescription) ResourceId

func (r VisionPrescription) ResourceId() (string, bool)

func (VisionPrescription) ResourceType

func (r VisionPrescription) ResourceType() string

func (VisionPrescription) String

func (r VisionPrescription) String() string

func (*VisionPrescription) UnmarshalJSON

func (r *VisionPrescription) UnmarshalJSON(b []byte) error

func (*VisionPrescription) UnmarshalXML

func (r *VisionPrescription) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type VisionPrescriptionLensSpecification

type VisionPrescriptionLensSpecification struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Identifies the type of vision correction product which is required for the patient.
	Product CodeableConcept
	// The eye for which the lens specification applies.
	Eye Code
	// Lens power measured in dioptres (0.25 units).
	Sphere *Decimal
	// Power adjustment for astigmatism measured in dioptres (0.25 units).
	Cylinder *Decimal
	// Adjustment for astigmatism measured in integer degrees.
	Axis *Integer
	// Allows for adjustment on two axis.
	Prism []VisionPrescriptionLensSpecificationPrism
	// Power adjustment for multifocal lenses measured in dioptres (0.25 units).
	Add *Decimal
	// Contact lens power measured in dioptres (0.25 units).
	Power *Decimal
	// Back curvature measured in millimetres.
	BackCurve *Decimal
	// Contact lens diameter measured in millimetres.
	Diameter *Decimal
	// The recommended maximum wear period for the lens.
	Duration *Quantity
	// Special color or pattern.
	Color *String
	// Brand recommendations or restrictions.
	Brand *String
	// Notes for special requirements such as coatings and lens materials.
	Note []Annotation
}

Contain the details of the individual lens specifications and serves as the authorization for the fullfillment by certified professionals.

func (VisionPrescriptionLensSpecification) MarshalJSON

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

func (VisionPrescriptionLensSpecification) MarshalXML

func (VisionPrescriptionLensSpecification) MemSize

func (*VisionPrescriptionLensSpecification) UnmarshalXML

type VisionPrescriptionLensSpecificationPrism

type VisionPrescriptionLensSpecificationPrism struct {
	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id *string
	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []Extension
	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []Extension
	// Amount of prism to compensate for eye alignment in fractional units.
	Amount Decimal
	// The relative base, or reference lens edge, for the prism.
	Base Code
}

Allows for adjustment on two axis.

func (VisionPrescriptionLensSpecificationPrism) MarshalJSON

func (VisionPrescriptionLensSpecificationPrism) MarshalXML

func (VisionPrescriptionLensSpecificationPrism) MemSize

func (*VisionPrescriptionLensSpecificationPrism) UnmarshalXML

type Xhtml

type Xhtml struct {
	// unique id for the element within a resource (for internal references)
	Id *string
	// Actual xhtml
	Value string
}

Base StructureDefinition for xhtml Type

func (Xhtml) MarshalJSON

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

func (Xhtml) MarshalXML

func (r Xhtml) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (Xhtml) MemSize

func (r Xhtml) MemSize() int

func (*Xhtml) UnmarshalJSON

func (r *Xhtml) UnmarshalJSON(b []byte) error

func (*Xhtml) UnmarshalXML

func (r *Xhtml) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL