fhir

package module
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2023 License: BSD-3-Clause Imports: 4 Imported by: 0

README

fhir

Go Reference

FHIR is a library of autogenerated FHIR Resources as described in the JSON Scheme

Credits:

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"coverage,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The parties responsible for balancing the account if other payment options fall short.
	Guarantor []*AccountGuarantor `json:"guarantor,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Unique identifier used to reference the account.  Might or might not be intended for human use (e.g. credit card number).
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Indicates the service area, hospital, department, etc. with responsibility for managing the Account.
	Owner *Reference `json:"owner,omitempty"`

	// Reference to a parent Account.
	PartOf *Reference `json:"partOf,omitempty"`

	// This is a Account resource
	ResourceType interface{} `json:"resourceType"`

	// The date range of services associated with this account.
	ServicePeriod *Period `json:"servicePeriod,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// Categorizes the account for reporting and searching purposes.
	Type *CodeableConcept `json:"type,omitempty"`
}

Account A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc.

func (*Account) MarshalJSON

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

func (*Account) UnmarshalJSON

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

type AccountCoverage

type AccountCoverage struct {

	// 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 `json:"coverage"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for priority
	Priority *Element `json:"_priority,omitempty"`
}

AccountCoverage 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 (*AccountCoverage) MarshalJSON

func (strct *AccountCoverage) MarshalJSON() ([]byte, error)

func (*AccountCoverage) UnmarshalJSON

func (strct *AccountCoverage) UnmarshalJSON(b []byte) error

type AccountGuarantor

type AccountGuarantor struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for onHold
	OnHold *Element `json:"_onHold,omitempty"`

	// The entity who is responsible.
	Party *Reference `json:"party"`

	// The timeframe during which the guarantor accepts responsibility for the account.
	Period *Period `json:"period,omitempty"`
}

AccountGuarantor 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 (*AccountGuarantor) MarshalJSON

func (strct *AccountGuarantor) MarshalJSON() ([]byte, error)

func (*AccountGuarantor) UnmarshalJSON

func (strct *AccountGuarantor) UnmarshalJSON(b []byte) error

type ActivityDefinition

type ActivityDefinition struct {

	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate string `json:"approvalDate,omitempty"`

	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []*ContactDetail `json:"author,omitempty"`

	// Indicates the sites on the subject's body where the procedure should be performed (I.e. the target sites).
	BodySite []*CodeableConcept `json:"bodySite,omitempty"`

	// Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.
	Code *CodeableConcept `json:"code,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// 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 string `json:"date,omitempty"`

	// A free text natural language description of the activity definition from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// 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 bool `json:"doNotPerform,omitempty"`

	// Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources.
	Dosage []*Dosage `json:"dosage,omitempty"`

	// 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 `json:"dynamicValue,omitempty"`

	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []*ContactDetail `json:"editor,omitempty"`

	// The period during which the activity definition content was or is planned to be in active use.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []*ContactDetail `json:"endorser,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain.
	Intent string `json:"intent,omitempty"`

	// A legal or geographic region in which the activity definition is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for kind
	Kind *Element `json:"_kind,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate string `json:"lastReviewDate,omitempty"`

	// A reference to a Library resource containing any formal logic used by the activity definition.
	Library []string `json:"library,omitempty"`

	// Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.
	Location *Reference `json:"location,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Defines observation requirements for the action to be performed, such as body weight or surface area.
	ObservationRequirement []*Reference `json:"observationRequirement,omitempty"`

	// Defines the observations that are expected to be produced by the action.
	ObservationResultRequirement []*Reference `json:"observationResultRequirement,omitempty"`

	// Indicates who should participate in performing the action described.
	Participant []*ActivityDefinitionParticipant `json:"participant,omitempty"`

	// Extensions for priority
	Priority *Element `json:"_priority,omitempty"`

	// Identifies the food, drug or other product being consumed or supplied in the activity.
	ProductCodeableConcept *CodeableConcept `json:"productCodeableConcept,omitempty"`

	// Identifies the food, drug or other product being consumed or supplied in the activity.
	ProductReference *Reference `json:"productReference,omitempty"`

	// A profile to which the target of the activity definition is expected to conform.
	Profile string `json:"profile,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Explanation of why this activity definition is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// Identifies the quantity expected to be consumed at once (per dose, per meal, etc.).
	Quantity *Quantity `json:"quantity,omitempty"`

	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []*RelatedArtifact `json:"relatedArtifact,omitempty"`

	// This is a ActivityDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []*ContactDetail `json:"reviewer,omitempty"`

	// Defines specimen requirements for the action to be performed, such as required specimens for a lab test.
	SpecimenRequirement []*Reference `json:"specimenRequirement,omitempty"`

	// The status of this activity definition. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// 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.
	SubjectCanonical string `json:"subjectCanonical,omitempty"`

	// 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.
	SubjectCodeableConcept *CodeableConcept `json:"subjectCodeableConcept,omitempty"`

	// 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.
	SubjectReference *Reference `json:"subjectReference,omitempty"`

	// Extensions for subtitle
	Subtitle *Element `json:"_subtitle,omitempty"`

	// 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 `json:"text,omitempty"`

	// The period, timing or frequency upon which the described activity is to occur.
	TimingAge *Age `json:"timingAge,omitempty"`

	// Extensions for timingDateTime
	TimingDateTime *Element `json:"_timingDateTime,omitempty"`

	// The period, timing or frequency upon which the described activity is to occur.
	TimingDuration *Duration `json:"timingDuration,omitempty"`

	// The period, timing or frequency upon which the described activity is to occur.
	TimingPeriod *Period `json:"timingPeriod,omitempty"`

	// The period, timing or frequency upon which the described activity is to occur.
	TimingRange *Range `json:"timingRange,omitempty"`

	// The period, timing or frequency upon which the described activity is to occur.
	TimingTiming *Timing `json:"timingTiming,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`

	// 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 `json:"topic,omitempty"`

	// 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 string `json:"transform,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// A detailed description of how the activity definition is used from a clinical perspective.
	Usage string `json:"usage,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

ActivityDefinition 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 (strct *ActivityDefinition) MarshalJSON() ([]byte, error)

func (*ActivityDefinition) UnmarshalJSON

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

type ActivityDefinitionDynamicValue

type ActivityDefinitionDynamicValue struct {

	// An expression specifying the value of the customized element.
	Expression *Expression `json:"expression"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"path,omitempty"`
}

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

func (*ActivityDefinitionDynamicValue) MarshalJSON

func (strct *ActivityDefinitionDynamicValue) MarshalJSON() ([]byte, error)

func (*ActivityDefinitionDynamicValue) UnmarshalJSON

func (strct *ActivityDefinitionDynamicValue) UnmarshalJSON(b []byte) error

type ActivityDefinitionParticipant

type ActivityDefinitionParticipant struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The role the participant should play in performing the described action.
	Role *CodeableConcept `json:"role,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

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

func (*ActivityDefinitionParticipant) MarshalJSON

func (strct *ActivityDefinitionParticipant) MarshalJSON() ([]byte, error)

func (*ActivityDefinitionParticipant) UnmarshalJSON

func (strct *ActivityDefinitionParticipant) UnmarshalJSON(b []byte) error

type Address

type Address struct {

	// Extensions for city
	City *Element `json:"_city,omitempty"`

	// Extensions for country
	Country *Element `json:"_country,omitempty"`

	// The name of the administrative area (county).
	District string `json:"district,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for line
	Line []*Element `json:"_line,omitempty"`

	// Time period when address was/is in use.
	Period *Period `json:"period,omitempty"`

	// Extensions for postalCode
	PostalCode *Element `json:"_postalCode,omitempty"`

	// Extensions for state
	State *Element `json:"_state,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`

	// Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.
	Type interface{} `json:"type,omitempty"`

	// The purpose of this address.
	Use interface{} `json:"use,omitempty"`
}

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

func (*Address) MarshalJSON

func (strct *Address) MarshalJSON() ([]byte, error)

func (*Address) UnmarshalJSON

func (strct *Address) UnmarshalJSON(b []byte) error

type AdministrableProductDefinition

type AdministrableProductDefinition struct {

	// 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 `json:"administrableDoseForm,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"device,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 `json:"formOf,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// An identifier for the administrable product.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// 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 `json:"ingredient,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"producedFrom,omitempty"`

	// Characteristics e.g. a product's onset of action.
	Property []*AdministrableProductDefinitionProperty `json:"property,omitempty"`

	// This is a AdministrableProductDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"routeOfAdministration"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`

	// 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 `json:"unitOfPresentation,omitempty"`
}

AdministrableProductDefinition 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 (strct *AdministrableProductDefinition) MarshalJSON() ([]byte, error)

func (*AdministrableProductDefinition) UnmarshalJSON

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

type AdministrableProductDefinitionProperty

type AdministrableProductDefinitionProperty struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The status of characteristic e.g. assigned or pending.
	Status *CodeableConcept `json:"status,omitempty"`

	// A code expressing the type of characteristic.
	Type *CodeableConcept `json:"type"`

	// A value for the characteristic.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// A value for the characteristic.
	ValueBoolean bool `json:"valueBoolean,omitempty"`

	// A value for the characteristic.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// Extensions for valueDate
	ValueDate *Element `json:"_valueDate,omitempty"`

	// A value for the characteristic.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`
}

AdministrableProductDefinitionProperty 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 (*AdministrableProductDefinitionProperty) MarshalJSON

func (strct *AdministrableProductDefinitionProperty) MarshalJSON() ([]byte, error)

func (*AdministrableProductDefinitionProperty) UnmarshalJSON

func (strct *AdministrableProductDefinitionProperty) UnmarshalJSON(b []byte) error

type AdministrableProductDefinitionRouteOfAdministration

type AdministrableProductDefinitionRouteOfAdministration struct {

	// Coded expression for the route.
	Code *CodeableConcept `json:"code"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The first dose (dose quantity) administered can be specified for the product, using a numerical value and its unit of measurement.
	FirstDose *Quantity `json:"firstDose,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The maximum dose per day (maximum dose quantity to be administered in any one 24-h period) that can be administered.
	MaxDosePerDay *Quantity `json:"maxDosePerDay,omitempty"`

	// The maximum dose per treatment period that can be administered.
	MaxDosePerTreatmentPeriod *Ratio `json:"maxDosePerTreatmentPeriod,omitempty"`

	// The maximum single dose that can be administered, specified using a numerical value and its unit of measurement.
	MaxSingleDose *Quantity `json:"maxSingleDose,omitempty"`

	// The maximum treatment period during which the product can be administered.
	MaxTreatmentPeriod *Duration `json:"maxTreatmentPeriod,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A species for which this route applies.
	TargetSpecies []*AdministrableProductDefinitionTargetSpecies `json:"targetSpecies,omitempty"`
}

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 (*AdministrableProductDefinitionRouteOfAdministration) MarshalJSON

func (*AdministrableProductDefinitionRouteOfAdministration) UnmarshalJSON

type AdministrableProductDefinitionTargetSpecies

type AdministrableProductDefinitionTargetSpecies struct {

	// Coded expression for the species.
	Code *CodeableConcept `json:"code"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A species specific time during which consumption of animal product is not appropriate.
	WithdrawalPeriod []*AdministrableProductDefinitionWithdrawalPeriod `json:"withdrawalPeriod,omitempty"`
}

AdministrableProductDefinitionTargetSpecies 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 (*AdministrableProductDefinitionTargetSpecies) MarshalJSON

func (strct *AdministrableProductDefinitionTargetSpecies) MarshalJSON() ([]byte, error)

func (*AdministrableProductDefinitionTargetSpecies) UnmarshalJSON

func (strct *AdministrableProductDefinitionTargetSpecies) UnmarshalJSON(b []byte) error

type AdministrableProductDefinitionWithdrawalPeriod

type AdministrableProductDefinitionWithdrawalPeriod struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for supportingInformation
	SupportingInformation *Element `json:"_supportingInformation,omitempty"`

	// Coded expression for the type of tissue for which the withdrawal period applies, e.g. meat, milk.
	Tissue *CodeableConcept `json:"tissue"`

	// A value for the time.
	Value *Quantity `json:"value"`
}

AdministrableProductDefinitionWithdrawalPeriod 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 (*AdministrableProductDefinitionWithdrawalPeriod) MarshalJSON

func (strct *AdministrableProductDefinitionWithdrawalPeriod) MarshalJSON() ([]byte, error)

func (*AdministrableProductDefinitionWithdrawalPeriod) UnmarshalJSON

func (strct *AdministrableProductDefinitionWithdrawalPeriod) UnmarshalJSON(b []byte) error

type AdverseEvent

type AdverseEvent struct {

	// Extensions for actuality
	Actuality *Element `json:"_actuality,omitempty"`

	// The overall type of event, intended for search and filtering purposes.
	Category []*CodeableConcept `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"contributor,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Estimated or actual date the AdverseEvent began, in the opinion of the reporter.
	Detected string `json:"detected,omitempty"`

	// The Encounter during which AdverseEvent was created or to which the creation of this record is tightly associated.
	Encounter *Reference `json:"encounter,omitempty"`

	// This element defines the specific type of event that occurred or that was prevented from occurring.
	Event *CodeableConcept `json:"event,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The information about where the adverse event occurred.
	Location *Reference `json:"location,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Describes the type of outcome from the adverse event.
	Outcome *CodeableConcept `json:"outcome,omitempty"`

	// Extensions for recordedDate
	RecordedDate *Element `json:"_recordedDate,omitempty"`

	// Information on who recorded the adverse event.  May be the patient or a practitioner.
	Recorder *Reference `json:"recorder,omitempty"`

	// AdverseEvent.referenceDocument.
	ReferenceDocument []*Reference `json:"referenceDocument,omitempty"`

	// This is a AdverseEvent resource
	ResourceType interface{} `json:"resourceType"`

	// Includes information about the reaction that occurred as a result of exposure to a substance (for example, a drug or a chemical).
	ResultingCondition []*Reference `json:"resultingCondition,omitempty"`

	// Assessment whether this event was of real importance.
	Seriousness *CodeableConcept `json:"seriousness,omitempty"`

	// 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 `json:"severity,omitempty"`

	// AdverseEvent.study.
	Study []*Reference `json:"study,omitempty"`

	// This subject or group impacted by the event.
	Subject *Reference `json:"subject"`

	// AdverseEvent.subjectMedicalHistory.
	SubjectMedicalHistory []*Reference `json:"subjectMedicalHistory,omitempty"`

	// Describes the entity that is suspected to have caused the adverse event.
	SuspectEntity []*AdverseEventSuspectEntity `json:"suspectEntity,omitempty"`

	// 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 `json:"text,omitempty"`
}

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

func (*AdverseEvent) MarshalJSON

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

func (*AdverseEvent) UnmarshalJSON

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

type AdverseEventCausality

type AdverseEventCausality struct {

	// Assessment of if the entity caused the event.
	Assessment *CodeableConcept `json:"assessment,omitempty"`

	// AdverseEvent.suspectEntity.causalityAuthor.
	Author *Reference `json:"author,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// ProbabilityScale | Bayesian | Checklist.
	Method *CodeableConcept `json:"method,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for productRelatedness
	ProductRelatedness *Element `json:"_productRelatedness,omitempty"`
}

AdverseEventCausality 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 (*AdverseEventCausality) MarshalJSON

func (strct *AdverseEventCausality) MarshalJSON() ([]byte, error)

func (*AdverseEventCausality) UnmarshalJSON

func (strct *AdverseEventCausality) UnmarshalJSON(b []byte) error

type AdverseEventSuspectEntity

type AdverseEventSuspectEntity struct {

	// Information on the possible cause of the event.
	Causality []*AdverseEventCausality `json:"causality,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Identifies the actual instance of what caused the adverse event.  May be a substance, medication, medication administration, medication statement or a device.
	Instance *Reference `json:"instance"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

AdverseEventSuspectEntity 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 (*AdverseEventSuspectEntity) MarshalJSON

func (strct *AdverseEventSuspectEntity) MarshalJSON() ([]byte, error)

func (*AdverseEventSuspectEntity) UnmarshalJSON

func (strct *AdverseEventSuspectEntity) UnmarshalJSON(b []byte) error

type Age

type Age struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Extensions for comparator
	Comparator *Element `json:"_comparator,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for system
	System *Element `json:"_system,omitempty"`

	// Extensions for unit
	Unit *Element `json:"_unit,omitempty"`

	// The value of the measured amount. The value includes an implicit precision in the presentation of the value.
	Value float64 `json:"value,omitempty"`
}

Age A duration of time during which an organism (or a process) has existed.

func (*Age) MarshalJSON

func (strct *Age) MarshalJSON() ([]byte, error)

func (*Age) UnmarshalJSON

func (strct *Age) UnmarshalJSON(b []byte) error

type AllergyIntolerance

type AllergyIntolerance struct {

	// The source of the information about the allergy that is recorded.
	Asserter *Reference `json:"asserter,omitempty"`

	// Extensions for category
	Category []*Element `json:"_category,omitempty"`

	// The clinical status of the allergy or intolerance.
	ClinicalStatus *CodeableConcept `json:"clinicalStatus,omitempty"`

	// 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 `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for criticality
	Criticality *Element `json:"_criticality,omitempty"`

	// The encounter when the allergy or intolerance was asserted.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Extensions for lastOccurrence
	LastOccurrence *Element `json:"_lastOccurrence,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Additional narrative about the propensity for the Adverse Reaction, not captured in other fields.
	Note []*Annotation `json:"note,omitempty"`

	// Estimated or actual date,  date-time, or age when allergy or intolerance was identified.
	OnsetAge *Age `json:"onsetAge,omitempty"`

	// Extensions for onsetDateTime
	OnsetDateTime *Element `json:"_onsetDateTime,omitempty"`

	// Estimated or actual date,  date-time, or age when allergy or intolerance was identified.
	OnsetPeriod *Period `json:"onsetPeriod,omitempty"`

	// Estimated or actual date,  date-time, or age when allergy or intolerance was identified.
	OnsetRange *Range `json:"onsetRange,omitempty"`

	// Extensions for onsetString
	OnsetString *Element `json:"_onsetString,omitempty"`

	// The patient who has the allergy or intolerance.
	Patient *Reference `json:"patient"`

	// Details about each adverse reaction event linked to exposure to the identified substance.
	Reaction []*AllergyIntoleranceReaction `json:"reaction,omitempty"`

	// Extensions for recordedDate
	RecordedDate *Element `json:"_recordedDate,omitempty"`

	// Individual who recorded the record and takes responsibility for its content.
	Recorder *Reference `json:"recorder,omitempty"`

	// This is a AllergyIntolerance resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"text,omitempty"`

	// Identification of the underlying physiological mechanism for the reaction risk.
	Type string `json:"type,omitempty"`

	// Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product).
	VerificationStatus *CodeableConcept `json:"verificationStatus,omitempty"`
}

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

func (*AllergyIntolerance) MarshalJSON

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

func (*AllergyIntolerance) UnmarshalJSON

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

type AllergyIntoleranceReaction

type AllergyIntoleranceReaction struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Identification of the route by which the subject was exposed to the substance.
	ExposureRoute *CodeableConcept `json:"exposureRoute,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Clinical symptoms and/or signs that are observed or associated with the adverse reaction event.
	Manifestation []*CodeableConcept `json:"manifestation"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Additional text about the adverse reaction event not captured in other fields.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for onset
	Onset *Element `json:"_onset,omitempty"`

	// Extensions for severity
	Severity *Element `json:"_severity,omitempty"`

	// 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 `json:"substance,omitempty"`
}

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

func (*AllergyIntoleranceReaction) MarshalJSON

func (strct *AllergyIntoleranceReaction) MarshalJSON() ([]byte, error)

func (*AllergyIntoleranceReaction) UnmarshalJSON

func (strct *AllergyIntoleranceReaction) UnmarshalJSON(b []byte) error

type Annotation

type Annotation struct {

	// The individual responsible for making the annotation.
	AuthorReference *Reference `json:"authorReference,omitempty"`

	// Extensions for authorString
	AuthorString *Element `json:"_authorString,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The text of the annotation in markdown format.
	Text string `json:"text,omitempty"`

	// Indicates when this particular annotation was made.
	Time string `json:"time,omitempty"`
}

Annotation A text note which also contains information about who made the statement and when.

func (*Annotation) MarshalJSON

func (strct *Annotation) MarshalJSON() ([]byte, error)

func (*Annotation) UnmarshalJSON

func (strct *Annotation) UnmarshalJSON(b []byte) error

type Appointment

type Appointment struct {

	// The style of appointment or patient that has been booked in the slot (not service type).
	AppointmentType *CodeableConcept `json:"appointmentType,omitempty"`

	// The service request this appointment is allocated to assess (e.g. incoming referral or procedure request).
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// 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 `json:"cancelationReason,omitempty"`

	// Additional comments about the appointment.
	Comment string `json:"comment,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"created,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Date/Time that the appointment is to conclude.
	End string `json:"end,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// Extensions for minutesDuration
	MinutesDuration *Element `json:"_minutesDuration,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// List of participants involved in the appointment.
	Participant []*AppointmentParticipant `json:"participant"`

	// Extensions for patientInstruction
	PatientInstruction *Element `json:"_patientInstruction,omitempty"`

	// 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 float64 `json:"priority,omitempty"`

	// The coded reason that this appointment is being scheduled. This is more clinical than administrative.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// 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 `json:"reasonReference,omitempty"`

	// 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 `json:"requestedPeriod,omitempty"`

	// This is a Appointment resource
	ResourceType interface{} `json:"resourceType"`

	// A broad categorization of the service that is to be performed during this appointment.
	ServiceCategory []*CodeableConcept `json:"serviceCategory,omitempty"`

	// The specific service that is to be performed during this appointment.
	ServiceType []*CodeableConcept `json:"serviceType,omitempty"`

	// The slots from the participants' schedules that will be filled by the appointment.
	Slot []*Reference `json:"slot,omitempty"`

	// The specialty of a practitioner that would be required to perform the service requested in this appointment.
	Specialty []*CodeableConcept `json:"specialty,omitempty"`

	// Date/Time that the appointment is to take place.
	Start string `json:"start,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Additional information to support the appointment provided when making the appointment.
	SupportingInformation []*Reference `json:"supportingInformation,omitempty"`

	// 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 `json:"text,omitempty"`
}

Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).

func (*Appointment) MarshalJSON

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

func (*Appointment) UnmarshalJSON

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

type AppointmentParticipant

type AppointmentParticipant struct {

	// A Person, Location/HealthcareService or Device that is participating in the appointment.
	Actor *Reference `json:"actor,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Participation period of the actor.
	Period *Period `json:"period,omitempty"`

	// Extensions for required
	Required *Element `json:"_required,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Role of participant in the appointment.
	Type []*CodeableConcept `json:"type,omitempty"`
}

AppointmentParticipant 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 (*AppointmentParticipant) MarshalJSON

func (strct *AppointmentParticipant) MarshalJSON() ([]byte, error)

func (*AppointmentParticipant) UnmarshalJSON

func (strct *AppointmentParticipant) UnmarshalJSON(b []byte) error

type AppointmentResponse

type AppointmentResponse struct {

	// A Person, Location, HealthcareService, or Device that is participating in the appointment.
	Actor *Reference `json:"actor,omitempty"`

	// Appointment that this response is replying to.
	Appointment *Reference `json:"appointment"`

	// Extensions for comment
	Comment *Element `json:"_comment,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for end
	End *Element `json:"_end,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for participantStatus
	ParticipantStatus *Element `json:"_participantStatus,omitempty"`

	// Role of participant in the appointment.
	ParticipantType []*CodeableConcept `json:"participantType,omitempty"`

	// This is a AppointmentResponse resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for start
	Start *Element `json:"_start,omitempty"`

	// 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 `json:"text,omitempty"`
}

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

func (*AppointmentResponse) MarshalJSON

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

func (*AppointmentResponse) UnmarshalJSON

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

type Attachment

type Attachment struct {

	// Extensions for contentType
	ContentType *Element `json:"_contentType,omitempty"`

	// The date that the attachment was first created.
	Creation string `json:"creation,omitempty"`

	// Extensions for data
	Data *Element `json:"_data,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The calculated hash of the data using SHA-1. Represented using base64.
	Hash string `json:"hash,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The human language of the content. The value can be any valid value according to BCP 47.
	Language string `json:"language,omitempty"`

	// Extensions for size
	Size *Element `json:"_size,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`
}

Attachment For referring to data content defined in other formats.

func (*Attachment) MarshalJSON

func (strct *Attachment) MarshalJSON() ([]byte, error)

func (*Attachment) UnmarshalJSON

func (strct *Attachment) UnmarshalJSON(b []byte) error

type AuditEvent

type AuditEvent struct {

	// Indicator for type of action performed during the event that generated the audit.
	Action string `json:"action,omitempty"`

	// An actor taking an active role in the event or activity that is logged.
	Agent []*AuditEventAgent `json:"agent"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Specific instances of data or objects that have been accessed.
	Entity []*AuditEventEntity `json:"entity,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Indicates whether the event succeeded or failed.
	Outcome string `json:"outcome,omitempty"`

	// Extensions for outcomeDesc
	OutcomeDesc *Element `json:"_outcomeDesc,omitempty"`

	// The period during which the activity occurred.
	Period *Period `json:"period,omitempty"`

	// The purposeOfUse (reason) that was used during the event being recorded.
	PurposeOfEvent []*CodeableConcept `json:"purposeOfEvent,omitempty"`

	// The time when the event was recorded.
	Recorded string `json:"recorded,omitempty"`

	// This is a AuditEvent resource
	ResourceType interface{} `json:"resourceType"`

	// The system that is reporting the event.
	Source *AuditEventSource `json:"source"`

	// Identifier for the category of event.
	Subtype []*Coding `json:"subtype,omitempty"`

	// 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 `json:"text,omitempty"`

	// 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 `json:"type"`
}

AuditEvent A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.

func (*AuditEvent) MarshalJSON

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

func (*AuditEvent) UnmarshalJSON

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

type AuditEventAgent

type AuditEventAgent struct {

	// 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 `json:"altId,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Where the event occurred.
	Location *Reference `json:"location,omitempty"`

	// Type of media involved. Used when the event is about exporting/importing onto media.
	Media *Coding `json:"media,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Human-meaningful name for the agent.
	Name string `json:"name,omitempty"`

	// Logical network location for application activity, if the activity has a network location.
	Network *AuditEventNetwork `json:"network,omitempty"`

	// 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 []string `json:"policy,omitempty"`

	// The reason (purpose of use), specific to this agent, that was used during the event being recorded.
	PurposeOfUse []*CodeableConcept `json:"purposeOfUse,omitempty"`

	// Indicator that the user is or is not the requestor, or initiator, for the event being audited.
	Requestor bool `json:"requestor,omitempty"`

	// 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 `json:"role,omitempty"`

	// Specification of the participation type the user plays when performing the event.
	Type *CodeableConcept `json:"type,omitempty"`

	// Reference to who this agent is that was involved in the event.
	Who *Reference `json:"who,omitempty"`
}

AuditEventAgent 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 (*AuditEventAgent) MarshalJSON

func (strct *AuditEventAgent) MarshalJSON() ([]byte, error)

func (*AuditEventAgent) UnmarshalJSON

func (strct *AuditEventAgent) UnmarshalJSON(b []byte) error

type AuditEventDetail

type AuditEventDetail struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`

	// Extensions for valueBase64Binary
	ValueBase64Binary *Element `json:"_valueBase64Binary,omitempty"`

	// Extensions for valueString
	ValueString *Element `json:"_valueString,omitempty"`
}

AuditEventDetail 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 (*AuditEventDetail) MarshalJSON

func (strct *AuditEventDetail) MarshalJSON() ([]byte, error)

func (*AuditEventDetail) UnmarshalJSON

func (strct *AuditEventDetail) UnmarshalJSON(b []byte) error

type AuditEventEntity

type AuditEventEntity struct {

	// Text that describes the entity in more detail.
	Description string `json:"description,omitempty"`

	// Tagged value pairs for conveying additional information about the entity.
	Detail []*AuditEventDetail `json:"detail,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Identifier for the data life-cycle stage for the entity.
	Lifecycle *Coding `json:"lifecycle,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A name of the entity in the audit event.
	Name string `json:"name,omitempty"`

	// The query parameters for a query-type entities.
	Query string `json:"query,omitempty"`

	// Code representing the role the entity played in the event being audited.
	Role *Coding `json:"role,omitempty"`

	// Security labels for the identified entity.
	SecurityLabel []*Coding `json:"securityLabel,omitempty"`

	// The type of the object that was involved in this audit event.
	Type *Coding `json:"type,omitempty"`

	// Identifies a specific instance of the entity. The reference should be version specific.
	What *Reference `json:"what,omitempty"`
}

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 (*AuditEventEntity) MarshalJSON

func (strct *AuditEventEntity) MarshalJSON() ([]byte, error)

func (*AuditEventEntity) UnmarshalJSON

func (strct *AuditEventEntity) UnmarshalJSON(b []byte) error

type AuditEventNetwork

type AuditEventNetwork struct {

	// Extensions for address
	Address *Element `json:"_address,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

AuditEventNetwork 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 (*AuditEventNetwork) MarshalJSON

func (strct *AuditEventNetwork) MarshalJSON() ([]byte, error)

func (*AuditEventNetwork) UnmarshalJSON

func (strct *AuditEventNetwork) UnmarshalJSON(b []byte) error

type AuditEventSource

type AuditEventSource struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Identifier of the source where the event was detected.
	Observer *Reference `json:"observer"`

	// Extensions for site
	Site *Element `json:"_site,omitempty"`

	// Code specifying the type of source where event originated.
	Type []*Coding `json:"type,omitempty"`
}

AuditEventSource 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 (*AuditEventSource) MarshalJSON

func (strct *AuditEventSource) MarshalJSON() ([]byte, error)

func (*AuditEventSource) UnmarshalJSON

func (strct *AuditEventSource) UnmarshalJSON(b []byte) error

type Basic

type Basic struct {

	// Indicates who was responsible for creating the resource instance.
	Author *Reference `json:"author,omitempty"`

	// Identifies the 'type' of resource - equivalent to the resource name for other resources.
	Code *CodeableConcept `json:"code"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for created
	Created *Element `json:"_created,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier assigned to the resource for business purposes, outside the context of FHIR.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// This is a Basic resource
	ResourceType interface{} `json:"resourceType"`

	// Identifies the patient, practitioner, device or any other resource that is the "focus" of this resource.
	Subject *Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`
}

Basic Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification.

func (*Basic) MarshalJSON

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

func (*Basic) UnmarshalJSON

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

type Binary

type Binary struct {

	// Extensions for contentType
	ContentType *Element `json:"_contentType,omitempty"`

	// Extensions for data
	Data *Element `json:"_data,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// This is a Binary resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"securityContext,omitempty"`
}

Binary A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.

func (*Binary) MarshalJSON

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

func (*Binary) UnmarshalJSON

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

type BiologicallyDerivedProduct

type BiologicallyDerivedProduct struct {

	// How this product was collected.
	Collection *BiologicallyDerivedProductCollection `json:"collection,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Any manipulation of product post-collection that is intended to alter the product.  For example a buffy-coat enrichment or CD8 reduction of Peripheral Blood Stem Cells to make it more suitable for infusion.
	Manipulation *BiologicallyDerivedProductManipulation `json:"manipulation,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Parent product (if any).
	Parent []*Reference `json:"parent,omitempty"`

	// Any processing of the product during collection that does not change the fundamental nature of the product. For example adding anti-coagulants during the collection of Peripheral Blood Stem Cells.
	Processing []*BiologicallyDerivedProductProcessing `json:"processing,omitempty"`

	// Extensions for productCategory
	ProductCategory *Element `json:"_productCategory,omitempty"`

	// A code that identifies the kind of this biologically derived product (SNOMED Ctcode).
	ProductCode *CodeableConcept `json:"productCode,omitempty"`

	// Extensions for quantity
	Quantity *Element `json:"_quantity,omitempty"`

	// Procedure request to obtain this biologically derived product.
	Request []*Reference `json:"request,omitempty"`

	// This is a BiologicallyDerivedProduct resource
	ResourceType interface{} `json:"resourceType"`

	// Whether the product is currently available.
	Status string `json:"status,omitempty"`

	// Product storage.
	Storage []*BiologicallyDerivedProductStorage `json:"storage,omitempty"`

	// 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 `json:"text,omitempty"`
}

BiologicallyDerivedProduct 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 (strct *BiologicallyDerivedProduct) MarshalJSON() ([]byte, error)

func (*BiologicallyDerivedProduct) UnmarshalJSON

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

type BiologicallyDerivedProductCollection

type BiologicallyDerivedProductCollection struct {

	// Time of product collection.
	CollectedDateTime string `json:"collectedDateTime,omitempty"`

	// Time of product collection.
	CollectedPeriod *Period `json:"collectedPeriod,omitempty"`

	// Healthcare professional who is performing the collection.
	Collector *Reference `json:"collector,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The patient or entity, such as a hospital or vendor in the case of a processed/manipulated/manufactured product, providing the product.
	Source *Reference `json:"source,omitempty"`
}

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

func (*BiologicallyDerivedProductCollection) MarshalJSON

func (strct *BiologicallyDerivedProductCollection) MarshalJSON() ([]byte, error)

func (*BiologicallyDerivedProductCollection) UnmarshalJSON

func (strct *BiologicallyDerivedProductCollection) UnmarshalJSON(b []byte) error

type BiologicallyDerivedProductManipulation

type BiologicallyDerivedProductManipulation struct {

	// Description of manipulation.
	Description string `json:"description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for timeDateTime
	TimeDateTime *Element `json:"_timeDateTime,omitempty"`

	// Time of manipulation.
	TimePeriod *Period `json:"timePeriod,omitempty"`
}

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

func (*BiologicallyDerivedProductManipulation) MarshalJSON

func (strct *BiologicallyDerivedProductManipulation) MarshalJSON() ([]byte, error)

func (*BiologicallyDerivedProductManipulation) UnmarshalJSON

func (strct *BiologicallyDerivedProductManipulation) UnmarshalJSON(b []byte) error

type BiologicallyDerivedProductProcessing

type BiologicallyDerivedProductProcessing struct {

	// Substance added during processing.
	Additive *Reference `json:"additive,omitempty"`

	// Description of of processing.
	Description string `json:"description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Procesing code.
	Procedure *CodeableConcept `json:"procedure,omitempty"`

	// Time of processing.
	TimeDateTime string `json:"timeDateTime,omitempty"`

	// Time of processing.
	TimePeriod *Period `json:"timePeriod,omitempty"`
}

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

func (*BiologicallyDerivedProductProcessing) MarshalJSON

func (strct *BiologicallyDerivedProductProcessing) MarshalJSON() ([]byte, error)

func (*BiologicallyDerivedProductProcessing) UnmarshalJSON

func (strct *BiologicallyDerivedProductProcessing) UnmarshalJSON(b []byte) error

type BiologicallyDerivedProductStorage

type BiologicallyDerivedProductStorage struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Storage timeperiod.
	Duration *Period `json:"duration,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for scale
	Scale *Element `json:"_scale,omitempty"`

	// Extensions for temperature
	Temperature *Element `json:"_temperature,omitempty"`
}

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

func (*BiologicallyDerivedProductStorage) MarshalJSON

func (strct *BiologicallyDerivedProductStorage) MarshalJSON() ([]byte, error)

func (*BiologicallyDerivedProductStorage) UnmarshalJSON

func (strct *BiologicallyDerivedProductStorage) UnmarshalJSON(b []byte) error

type BodyStructure

type BodyStructure struct {

	// Extensions for active
	Active *Element `json:"_active,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier for this instance of the anatomical structure.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Image or images used to identify a location.
	Image []*Attachment `json:"image,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The anatomical location or region of the specimen, lesion, or body structure.
	Location *CodeableConcept `json:"location,omitempty"`

	// Qualifier to refine the anatomical location.  These include qualifiers for laterality, relative location, directionality, number, and plane.
	LocationQualifier []*CodeableConcept `json:"locationQualifier,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The kind of structure being represented by the body structure at `BodyStructure.location`.  This can define both normal and abnormal morphologies.
	Morphology *CodeableConcept `json:"morphology,omitempty"`

	// The person to which the body site belongs.
	Patient *Reference `json:"patient"`

	// This is a BodyStructure resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"text,omitempty"`
}

BodyStructure Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case.

func (*BodyStructure) MarshalJSON

func (strct *BodyStructure) MarshalJSON() ([]byte, error)

func (*BodyStructure) UnmarshalJSON

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

type Bundle

type Bundle struct {

	// An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).
	Entry []*BundleEntry `json:"entry,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A persistent identifier for the bundle that won't change as a bundle is copied from server to server.
	Identifier *Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// A series of links that provide context to this bundle.
	Link []*BundleLink `json:"link,omitempty"`

	// 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 `json:"meta,omitempty"`

	// This is a Bundle resource
	ResourceType interface{} `json:"resourceType"`

	// Digital Signature - base64 encoded. XML-DSig or a JWT.
	Signature *Signature `json:"signature,omitempty"`

	// Extensions for timestamp
	Timestamp *Element `json:"_timestamp,omitempty"`

	// 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 float64 `json:"total,omitempty"`

	// Indicates the purpose of this bundle - how it is intended to be used.
	Type string `json:"type,omitempty"`
}

Bundle A container for a collection of resources.

func (*Bundle) MarshalJSON

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

func (*Bundle) UnmarshalJSON

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

type BundleEntry

type BundleEntry struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for fullUrl
	FullUrl *Element `json:"_fullUrl,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A series of links that provide context to this entry.
	Link []*BundleLink `json:"link,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Additional information about how this entry should be processed as part of a transaction or batch.  For history, it shows how the entry was processed to create the version contained in the entry.
	Request *BundleRequest `json:"request,omitempty"`

	// The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.
	Resource interface{} `json:"resource,omitempty"`

	// Indicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history.
	Response *BundleResponse `json:"response,omitempty"`

	// Information about the search process that lead to the creation of this entry.
	Search *BundleSearch `json:"search,omitempty"`
}

BundleEntry A container for a collection of resources.

func (*BundleEntry) MarshalJSON

func (strct *BundleEntry) MarshalJSON() ([]byte, error)

func (*BundleEntry) UnmarshalJSON

func (strct *BundleEntry) UnmarshalJSON(b []byte) error
type BundleLink struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for relation
	Relation *Element `json:"_relation,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`
}

BundleLink A container for a collection of resources.

func (*BundleLink) MarshalJSON

func (strct *BundleLink) MarshalJSON() ([]byte, error)

func (*BundleLink) UnmarshalJSON

func (strct *BundleLink) UnmarshalJSON(b []byte) error

type BundleRequest

type BundleRequest struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for ifMatch
	IfMatch *Element `json:"_ifMatch,omitempty"`

	// Extensions for ifModifiedSince
	IfModifiedSince *Element `json:"_ifModifiedSince,omitempty"`

	// 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 `json:"ifNoneExist,omitempty"`

	// Extensions for ifNoneMatch
	IfNoneMatch *Element `json:"_ifNoneMatch,omitempty"`

	// Extensions for method
	Method *Element `json:"_method,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`
}

BundleRequest A container for a collection of resources.

func (*BundleRequest) MarshalJSON

func (strct *BundleRequest) MarshalJSON() ([]byte, error)

func (*BundleRequest) UnmarshalJSON

func (strct *BundleRequest) UnmarshalJSON(b []byte) error

type BundleResponse

type BundleResponse struct {

	// Extensions for etag
	Etag *Element `json:"_etag,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for lastModified
	LastModified *Element `json:"_lastModified,omitempty"`

	// Extensions for location
	Location *Element `json:"_location,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// An OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.
	Outcome interface{} `json:"outcome,omitempty"`

	// 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 `json:"status,omitempty"`
}

BundleResponse A container for a collection of resources.

func (*BundleResponse) MarshalJSON

func (strct *BundleResponse) MarshalJSON() ([]byte, error)

func (*BundleResponse) UnmarshalJSON

func (strct *BundleResponse) UnmarshalJSON(b []byte) error

type BundleSearch

type BundleSearch struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for mode
	Mode *Element `json:"_mode,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for score
	Score *Element `json:"_score,omitempty"`
}

BundleSearch A container for a collection of resources.

func (*BundleSearch) MarshalJSON

func (strct *BundleSearch) MarshalJSON() ([]byte, error)

func (*BundleSearch) UnmarshalJSON

func (strct *BundleSearch) UnmarshalJSON(b []byte) error

type CapabilityStatement

type CapabilityStatement struct {

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// 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 string `json:"description,omitempty"`

	// A document definition.
	Document []*CapabilityStatementDocument `json:"document,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Extensions for fhirVersion
	FhirVersion *Element `json:"_fhirVersion,omitempty"`

	// A list of the formats supported by this implementation using their content types.
	Format []string `json:"format,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program.
	Implementation *CapabilityStatementImplementation `json:"implementation,omitempty"`

	// A list of implementation guides that the server does (or should) support in their entirety.
	ImplementationGuide []string `json:"implementationGuide,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// 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 []string `json:"imports,omitempty"`

	// 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 []string `json:"instantiates,omitempty"`

	// A legal or geographic region in which the capability statement is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for kind
	Kind *Element `json:"_kind,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// A description of the messaging capabilities of the solution.
	Messaging []*CapabilityStatementMessaging `json:"messaging,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for patchFormat
	PatchFormat []*Element `json:"_patchFormat,omitempty"`

	// The name of the organization or individual that published the capability statement.
	Publisher string `json:"publisher,omitempty"`

	// Explanation of why this capability statement is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// This is a CapabilityStatement resource
	ResourceType interface{} `json:"resourceType"`

	// A definition of the restful capabilities of the solution, if any.
	Rest []*CapabilityStatementRest `json:"rest,omitempty"`

	// Software that is covered by this capability statement.  It is used when the capability statement describes the capabilities of a particular software version, independent of an installation.
	Software *CapabilityStatementSoftware `json:"software,omitempty"`

	// The status of this capability statement. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the capability statement.
	Title string `json:"title,omitempty"`

	// 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 string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

CapabilityStatement A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.

func (*CapabilityStatement) MarshalJSON

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

func (*CapabilityStatement) UnmarshalJSON

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

type CapabilityStatementDocument

type CapabilityStatementDocument struct {

	// Extensions for documentation
	Documentation *Element `json:"_documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for mode
	Mode *Element `json:"_mode,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A profile on the document Bundle that constrains which resources are present, and their contents.
	Profile string `json:"profile"`
}

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 (*CapabilityStatementDocument) MarshalJSON

func (strct *CapabilityStatementDocument) MarshalJSON() ([]byte, error)

func (*CapabilityStatementDocument) UnmarshalJSON

func (strct *CapabilityStatementDocument) UnmarshalJSON(b []byte) error

type CapabilityStatementEndpoint

type CapabilityStatementEndpoint struct {

	// Extensions for address
	Address *Element `json:"_address,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A list of the messaging transport protocol(s) identifiers, supported by this endpoint.
	Protocol *Coding `json:"protocol"`
}

CapabilityStatementEndpoint 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 (*CapabilityStatementEndpoint) MarshalJSON

func (strct *CapabilityStatementEndpoint) MarshalJSON() ([]byte, error)

func (*CapabilityStatementEndpoint) UnmarshalJSON

func (strct *CapabilityStatementEndpoint) UnmarshalJSON(b []byte) error

type CapabilityStatementImplementation

type CapabilityStatementImplementation struct {

	// The organization responsible for the management of the instance and oversight of the data on the server at the specified URL.
	Custodian *Reference `json:"custodian,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`
}

CapabilityStatementImplementation 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 (*CapabilityStatementImplementation) MarshalJSON

func (strct *CapabilityStatementImplementation) MarshalJSON() ([]byte, error)

func (*CapabilityStatementImplementation) UnmarshalJSON

func (strct *CapabilityStatementImplementation) UnmarshalJSON(b []byte) error

type CapabilityStatementInteraction

type CapabilityStatementInteraction struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Extensions for documentation
	Documentation *Element `json:"_documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

CapabilityStatementInteraction 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 (*CapabilityStatementInteraction) MarshalJSON

func (strct *CapabilityStatementInteraction) MarshalJSON() ([]byte, error)

func (*CapabilityStatementInteraction) UnmarshalJSON

func (strct *CapabilityStatementInteraction) UnmarshalJSON(b []byte) error

type CapabilityStatementInteraction1

type CapabilityStatementInteraction1 struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Extensions for documentation
	Documentation *Element `json:"_documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

CapabilityStatementInteraction1 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 (*CapabilityStatementInteraction1) MarshalJSON

func (strct *CapabilityStatementInteraction1) MarshalJSON() ([]byte, error)

func (*CapabilityStatementInteraction1) UnmarshalJSON

func (strct *CapabilityStatementInteraction1) UnmarshalJSON(b []byte) error

type CapabilityStatementMessaging

type CapabilityStatementMessaging struct {

	// Extensions for documentation
	Documentation *Element `json:"_documentation,omitempty"`

	// An endpoint (network accessible address) to which messages and/or replies are to be sent.
	Endpoint []*CapabilityStatementEndpoint `json:"endpoint,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for reliableCache
	ReliableCache *Element `json:"_reliableCache,omitempty"`

	// References to message definitions for messages this system can send or receive.
	SupportedMessage []*CapabilityStatementSupportedMessage `json:"supportedMessage,omitempty"`
}

CapabilityStatementMessaging 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 (*CapabilityStatementMessaging) MarshalJSON

func (strct *CapabilityStatementMessaging) MarshalJSON() ([]byte, error)

func (*CapabilityStatementMessaging) UnmarshalJSON

func (strct *CapabilityStatementMessaging) UnmarshalJSON(b []byte) error

type CapabilityStatementOperation

type CapabilityStatementOperation struct {

	// 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 string `json:"definition"`

	// Extensions for documentation
	Documentation *Element `json:"_documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`
}

CapabilityStatementOperation 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 (*CapabilityStatementOperation) MarshalJSON

func (strct *CapabilityStatementOperation) MarshalJSON() ([]byte, error)

func (*CapabilityStatementOperation) UnmarshalJSON

func (strct *CapabilityStatementOperation) UnmarshalJSON(b []byte) error

type CapabilityStatementResource

type CapabilityStatementResource struct {

	// Extensions for conditionalCreate
	ConditionalCreate *Element `json:"_conditionalCreate,omitempty"`

	// Extensions for conditionalDelete
	ConditionalDelete *Element `json:"_conditionalDelete,omitempty"`

	// A code that indicates how the server supports conditional read.
	ConditionalRead string `json:"conditionalRead,omitempty"`

	// Extensions for conditionalUpdate
	ConditionalUpdate *Element `json:"_conditionalUpdate,omitempty"`

	// Additional information about the resource type used by the system.
	Documentation string `json:"documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Identifies a restful operation supported by the solution.
	Interaction []*CapabilityStatementInteraction `json:"interaction,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the operation, and the parameters.
	Operation []*CapabilityStatementOperation `json:"operation,omitempty"`

	// 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 string `json:"profile,omitempty"`

	// Extensions for readHistory
	ReadHistory *Element `json:"_readHistory,omitempty"`

	// Extensions for referencePolicy
	ReferencePolicy []*Element `json:"_referencePolicy,omitempty"`

	// Extensions for searchInclude
	SearchInclude []*Element `json:"_searchInclude,omitempty"`

	// Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.
	SearchParam []*CapabilityStatementSearchParam `json:"searchParam,omitempty"`

	// Extensions for searchRevInclude
	SearchRevInclude []*Element `json:"_searchRevInclude,omitempty"`

	// 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 []string `json:"supportedProfile,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`

	// 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 bool `json:"updateCreate,omitempty"`

	// Extensions for versioning
	Versioning *Element `json:"_versioning,omitempty"`
}

CapabilityStatementResource 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 (*CapabilityStatementResource) MarshalJSON

func (strct *CapabilityStatementResource) MarshalJSON() ([]byte, error)

func (*CapabilityStatementResource) UnmarshalJSON

func (strct *CapabilityStatementResource) UnmarshalJSON(b []byte) error

type CapabilityStatementRest

type CapabilityStatementRest struct {

	// 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 []string `json:"compartment,omitempty"`

	// Information about the system's restful capabilities that apply across all applications, such as security.
	Documentation string `json:"documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A specification of restful operations supported by the system.
	Interaction []*CapabilityStatementInteraction1 `json:"interaction,omitempty"`

	// Extensions for mode
	Mode *Element `json:"_mode,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Definition of an operation or a named query together with its parameters and their meaning and type.
	Operation []*CapabilityStatementOperation `json:"operation,omitempty"`

	// A specification of the restful capabilities of the solution for a specific resource type.
	Resource []*CapabilityStatementResource `json:"resource,omitempty"`

	// 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 []*CapabilityStatementSearchParam `json:"searchParam,omitempty"`

	// Information about security implementation from an interface perspective - what a client needs to know.
	Security *CapabilityStatementSecurity `json:"security,omitempty"`
}

CapabilityStatementRest 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 (*CapabilityStatementRest) MarshalJSON

func (strct *CapabilityStatementRest) MarshalJSON() ([]byte, error)

func (*CapabilityStatementRest) UnmarshalJSON

func (strct *CapabilityStatementRest) UnmarshalJSON(b []byte) error

type CapabilityStatementSearchParam

type CapabilityStatementSearchParam struct {

	// 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 string `json:"definition,omitempty"`

	// This allows documentation of any distinct behaviors about how the search parameter is used.  For example, text matching algorithms.
	Documentation string `json:"documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

CapabilityStatementSearchParam 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 (*CapabilityStatementSearchParam) MarshalJSON

func (strct *CapabilityStatementSearchParam) MarshalJSON() ([]byte, error)

func (*CapabilityStatementSearchParam) UnmarshalJSON

func (strct *CapabilityStatementSearchParam) UnmarshalJSON(b []byte) error

type CapabilityStatementSecurity

type CapabilityStatementSecurity struct {

	// Extensions for cors
	Cors *Element `json:"_cors,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Types of security services that are supported/required by the system.
	Service []*CodeableConcept `json:"service,omitempty"`
}

CapabilityStatementSecurity 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 (*CapabilityStatementSecurity) MarshalJSON

func (strct *CapabilityStatementSecurity) MarshalJSON() ([]byte, error)

func (*CapabilityStatementSecurity) UnmarshalJSON

func (strct *CapabilityStatementSecurity) UnmarshalJSON(b []byte) error

type CapabilityStatementSoftware

type CapabilityStatementSoftware struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Name the software is known by.
	Name string `json:"name,omitempty"`

	// Extensions for releaseDate
	ReleaseDate *Element `json:"_releaseDate,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

CapabilityStatementSoftware 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 (*CapabilityStatementSoftware) MarshalJSON

func (strct *CapabilityStatementSoftware) MarshalJSON() ([]byte, error)

func (*CapabilityStatementSoftware) UnmarshalJSON

func (strct *CapabilityStatementSoftware) UnmarshalJSON(b []byte) error

type CapabilityStatementSupportedMessage

type CapabilityStatementSupportedMessage struct {

	// Points to a message definition that identifies the messaging event, message structure, allowed responses, etc.
	Definition string `json:"definition"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for mode
	Mode *Element `json:"_mode,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

CapabilityStatementSupportedMessage 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 (*CapabilityStatementSupportedMessage) MarshalJSON

func (strct *CapabilityStatementSupportedMessage) MarshalJSON() ([]byte, error)

func (*CapabilityStatementSupportedMessage) UnmarshalJSON

func (strct *CapabilityStatementSupportedMessage) UnmarshalJSON(b []byte) error

type CarePlan

type CarePlan struct {

	// 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 `json:"activity,omitempty"`

	// Identifies the conditions/problems/concerns/diagnoses/etc. whose management and/or mitigation are handled by this plan.
	Addresses []*Reference `json:"addresses,omitempty"`

	// When populated, the author is responsible for the care plan.  The care plan is attributed to the author.
	Author *Reference `json:"author,omitempty"`

	// A care plan that is fulfilled in whole or in part by this care plan.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// Identifies all people and organizations who are expected to be involved in the care envisioned by this plan.
	CareTeam []*Reference `json:"careTeam,omitempty"`

	// 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 `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Identifies the individual(s) or organization who provided the contents of the care plan.
	Contributor []*Reference `json:"contributor,omitempty"`

	// Extensions for created
	Created *Element `json:"_created,omitempty"`

	// A description of the scope and nature of the plan.
	Description string `json:"description,omitempty"`

	// The Encounter during which this CarePlan was created or to which the creation of this record is tightly associated.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Describes the intended objective(s) of carrying out the care plan.
	Goal []*Reference `json:"goal,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// 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 []string `json:"instantiatesCanonical,omitempty"`

	// Extensions for instantiatesUri
	InstantiatesUri []*Element `json:"_instantiatesUri,omitempty"`

	// Extensions for intent
	Intent *Element `json:"_intent,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// General notes about the care plan not covered elsewhere.
	Note []*Annotation `json:"note,omitempty"`

	// A larger care plan of which this particular care plan is a component or step.
	PartOf []*Reference `json:"partOf,omitempty"`

	// Indicates when the plan did (or is intended to) come into effect and end.
	Period *Period `json:"period,omitempty"`

	// Completed or terminated care plan whose function is taken by this new care plan.
	Replaces []*Reference `json:"replaces,omitempty"`

	// This is a CarePlan resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Identifies the patient or group whose intended care is described by the plan.
	Subject *Reference `json:"subject"`

	// 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 `json:"supportingInfo,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`
}

CarePlan Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.

func (*CarePlan) MarshalJSON

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

func (*CarePlan) UnmarshalJSON

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

type CarePlanActivity

type CarePlanActivity struct {

	// 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 *CarePlanDetail `json:"detail,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"outcomeCodeableConcept,omitempty"`

	// 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 `json:"outcomeReference,omitempty"`

	// Notes about the adherence/status/progress of the activity.
	Progress []*Annotation `json:"progress,omitempty"`

	// The details of the proposed activity represented in a specific resource.
	Reference *Reference `json:"reference,omitempty"`
}

CarePlanActivity 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 (*CarePlanActivity) MarshalJSON

func (strct *CarePlanActivity) MarshalJSON() ([]byte, error)

func (*CarePlanActivity) UnmarshalJSON

func (strct *CarePlanActivity) UnmarshalJSON(b []byte) error

type CarePlanDetail

type CarePlanDetail struct {

	// Detailed description of the type of planned activity; e.g. what lab test, what procedure, what kind of encounter.
	Code *CodeableConcept `json:"code,omitempty"`

	// Identifies the quantity expected to be consumed in a given day.
	DailyAmount *Quantity `json:"dailyAmount,omitempty"`

	// 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 `json:"description,omitempty"`

	// Extensions for doNotPerform
	DoNotPerform *Element `json:"_doNotPerform,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Internal reference that identifies the goals that this activity is intended to contribute towards meeting.
	Goal []*Reference `json:"goal,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 []string `json:"instantiatesCanonical,omitempty"`

	// 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 []string `json:"instantiatesUri,omitempty"`

	// 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 string `json:"kind,omitempty"`

	// Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.
	Location *Reference `json:"location,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Identifies who's expected to be involved in the activity.
	Performer []*Reference `json:"performer,omitempty"`

	// Identifies the food, drug or other product to be consumed or supplied in the activity.
	ProductCodeableConcept *CodeableConcept `json:"productCodeableConcept,omitempty"`

	// Identifies the food, drug or other product to be consumed or supplied in the activity.
	ProductReference *Reference `json:"productReference,omitempty"`

	// Identifies the quantity expected to be supplied, administered or consumed by the subject.
	Quantity *Quantity `json:"quantity,omitempty"`

	// 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 `json:"reasonCode,omitempty"`

	// 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 `json:"reasonReference,omitempty"`

	// The period, timing or frequency upon which the described activity is to occur.
	ScheduledPeriod *Period `json:"scheduledPeriod,omitempty"`

	// The period, timing or frequency upon which the described activity is to occur.
	ScheduledString string `json:"scheduledString,omitempty"`

	// The period, timing or frequency upon which the described activity is to occur.
	ScheduledTiming *Timing `json:"scheduledTiming,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Provides reason why the activity isn't yet started, is on hold, was cancelled, etc.
	StatusReason *CodeableConcept `json:"statusReason,omitempty"`
}

CarePlanDetail 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 (*CarePlanDetail) MarshalJSON

func (strct *CarePlanDetail) MarshalJSON() ([]byte, error)

func (*CarePlanDetail) UnmarshalJSON

func (strct *CarePlanDetail) UnmarshalJSON(b []byte) error

type CareTeam

type CareTeam struct {

	// 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 `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The Encounter during which this CareTeam was created or to which the creation of this record is tightly associated.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The organization responsible for the care team.
	ManagingOrganization []*Reference `json:"managingOrganization,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// A label for human use intended to distinguish like teams.  E.g. the "red" vs. "green" trauma teams.
	Name string `json:"name,omitempty"`

	// Comments made about the CareTeam.
	Note []*Annotation `json:"note,omitempty"`

	// Identifies all people and organizations who are expected to be involved in the care team.
	Participant []*CareTeamParticipant `json:"participant,omitempty"`

	// Indicates when the team did (or is intended to) come into effect and end.
	Period *Period `json:"period,omitempty"`

	// Describes why the care team exists.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Condition(s) that this care team addresses.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// This is a CareTeam resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Identifies the patient or group whose intended care is handled by the team.
	Subject *Reference `json:"subject,omitempty"`

	// A central contact detail for the care team (that applies to all members).
	Telecom []*ContactPoint `json:"telecom,omitempty"`

	// 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 `json:"text,omitempty"`
}

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

func (*CareTeam) MarshalJSON

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

func (*CareTeam) UnmarshalJSON

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

type CareTeamParticipant

type CareTeamParticipant struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The specific person or organization who is participating/expected to participate in the care team.
	Member *Reference `json:"member,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The organization of the practitioner.
	OnBehalfOf *Reference `json:"onBehalfOf,omitempty"`

	// Indicates when the specific member or organization did (or is intended to) come into effect and end.
	Period *Period `json:"period,omitempty"`

	// Indicates specific responsibility of an individual within the care team, such as "Primary care physician", "Trained social worker counselor", "Caregiver", etc.
	Role []*CodeableConcept `json:"role,omitempty"`
}

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

func (*CareTeamParticipant) MarshalJSON

func (strct *CareTeamParticipant) MarshalJSON() ([]byte, error)

func (*CareTeamParticipant) UnmarshalJSON

func (strct *CareTeamParticipant) UnmarshalJSON(b []byte) error

type CatalogEntry

type CatalogEntry struct {

	// Used for examplefor Out of Formulary, or any specifics.
	AdditionalCharacteristic []*CodeableConcept `json:"additionalCharacteristic,omitempty"`

	// User for example for ATC classification, or.
	AdditionalClassification []*CodeableConcept `json:"additionalClassification,omitempty"`

	// Used in supporting related concepts, e.g. NDC to RxNorm.
	AdditionalIdentifier []*Identifier `json:"additionalIdentifier,omitempty"`

	// Classes of devices, or ATC for medication.
	Classification []*CodeableConcept `json:"classification,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Used in supporting different identifiers for the same product, e.g. manufacturer code and retailer code.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 string `json:"lastUpdated,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Whether the entry represents an orderable item.
	Orderable bool `json:"orderable,omitempty"`

	// The item in a catalog or definition.
	ReferencedItem *Reference `json:"referencedItem"`

	// Used for example, to point to a substance, or to a device used to administer a medication.
	RelatedEntry []*CatalogEntryRelatedEntry `json:"relatedEntry,omitempty"`

	// This is a CatalogEntry resource
	ResourceType interface{} `json:"resourceType"`

	// Used to support catalog exchange even for unsupported products, e.g. getting list of medications even if not prescribable.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`

	// The type of item - medication, device, service, protocol or other.
	Type *CodeableConcept `json:"type,omitempty"`

	// Extensions for validTo
	ValidTo *Element `json:"_validTo,omitempty"`

	// The time period in which this catalog entry is expected to be active.
	ValidityPeriod *Period `json:"validityPeriod,omitempty"`
}

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

func (*CatalogEntry) MarshalJSON

func (strct *CatalogEntry) MarshalJSON() ([]byte, error)

func (*CatalogEntry) UnmarshalJSON

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

type CatalogEntryRelatedEntry

type CatalogEntryRelatedEntry struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The reference to the related item.
	Item *Reference `json:"item"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The type of relation to the related item: child, parent, packageContent, containerPackage, usedIn, uses, requires, etc.
	Relationtype string `json:"relationtype,omitempty"`
}

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

func (*CatalogEntryRelatedEntry) MarshalJSON

func (strct *CatalogEntryRelatedEntry) MarshalJSON() ([]byte, error)

func (*CatalogEntryRelatedEntry) UnmarshalJSON

func (strct *CatalogEntryRelatedEntry) UnmarshalJSON(b []byte) error

type ChargeItem

type ChargeItem struct {

	// Account into which this ChargeItems belongs.
	Account []*Reference `json:"account,omitempty"`

	// The anatomical location where the related service has been applied.
	Bodysite []*CodeableConcept `json:"bodysite,omitempty"`

	// A code that identifies the charge, like a billing code.
	Code *CodeableConcept `json:"code"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The encounter or episode of care that establishes the context for this event.
	Context *Reference `json:"context,omitempty"`

	// The financial cost center permits the tracking of charge attribution.
	CostCenter *Reference `json:"costCenter,omitempty"`

	// References the source of pricing information, rules of application for the code this ChargeItem uses.
	DefinitionCanonical []string `json:"definitionCanonical,omitempty"`

	// References the (external) source of pricing information, rules of application for the code this ChargeItem uses.
	DefinitionUri []string `json:"definitionUri,omitempty"`

	// Extensions for enteredDate
	EnteredDate *Element `json:"_enteredDate,omitempty"`

	// The device, practitioner, etc. who entered the charge item.
	Enterer *Reference `json:"enterer,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Factor overriding the factor determined by the rules associated with the code.
	FactorOverride float64 `json:"factorOverride,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifiers assigned to this event performer or other systems.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Comments made about the event by the performer, subject or other participants.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for occurrenceDateTime
	OccurrenceDateTime *Element `json:"_occurrenceDateTime,omitempty"`

	// Date/time(s) or duration when the charged service was applied.
	OccurrencePeriod *Period `json:"occurrencePeriod,omitempty"`

	// Date/time(s) or duration when the charged service was applied.
	OccurrenceTiming *Timing `json:"occurrenceTiming,omitempty"`

	// Extensions for overrideReason
	OverrideReason *Element `json:"_overrideReason,omitempty"`

	// ChargeItems can be grouped to larger ChargeItems covering the whole set.
	PartOf []*Reference `json:"partOf,omitempty"`

	// Indicates who or what performed or participated in the charged service.
	Performer []*ChargeItemPerformer `json:"performer,omitempty"`

	// The organization requesting the service.
	PerformingOrganization *Reference `json:"performingOrganization,omitempty"`

	// Total price of the charge overriding the list price associated with the code.
	PriceOverride *Money `json:"priceOverride,omitempty"`

	// Identifies the device, food, drug or other product being charged either by type code or reference to an instance.
	ProductCodeableConcept *CodeableConcept `json:"productCodeableConcept,omitempty"`

	// Identifies the device, food, drug or other product being charged either by type code or reference to an instance.
	ProductReference *Reference `json:"productReference,omitempty"`

	// Quantity of which the charge item has been serviced.
	Quantity *Quantity `json:"quantity,omitempty"`

	// Describes why the event occurred in coded or textual form.
	Reason []*CodeableConcept `json:"reason,omitempty"`

	// The organization performing the service.
	RequestingOrganization *Reference `json:"requestingOrganization,omitempty"`

	// This is a ChargeItem resource
	ResourceType interface{} `json:"resourceType"`

	// Indicated the rendered service that caused this charge.
	Service []*Reference `json:"service,omitempty"`

	// The current state of the ChargeItem.
	Status string `json:"status,omitempty"`

	// The individual or set of individuals the action is being or was performed on.
	Subject *Reference `json:"subject"`

	// Further information supporting this charge.
	SupportingInformation []*Reference `json:"supportingInformation,omitempty"`

	// 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 `json:"text,omitempty"`
}

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

func (*ChargeItem) MarshalJSON

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

func (*ChargeItem) UnmarshalJSON

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

type ChargeItemDefinition

type ChargeItemDefinition struct {

	// Expressions that describe applicability criteria for the billing code.
	Applicability []*ChargeItemDefinitionApplicability `json:"applicability,omitempty"`

	// Extensions for approvalDate
	ApprovalDate *Element `json:"_approvalDate,omitempty"`

	// The defined billing details in this resource pertain to the given billing code.
	Code *CodeableConcept `json:"code,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Extensions for derivedFromUri
	DerivedFromUri []*Element `json:"_derivedFromUri,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// The period during which the charge item definition content was or is planned to be in active use.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The defined billing details in this resource pertain to the given product instance(s).
	Instance []*Reference `json:"instance,omitempty"`

	// A legal or geographic region in which the charge item definition is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate string `json:"lastReviewDate,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// A larger definition of which this particular definition is a component or step.
	PartOf []string `json:"partOf,omitempty"`

	// Group of properties which are applicable under the same conditions. If no applicability rules are established for the group, then all properties always apply.
	PropertyGroup []*ChargeItemDefinitionPropertyGroup `json:"propertyGroup,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// As new versions of a protocol or guideline are defined, allows identification of what versions are replaced by a new instance.
	Replaces []string `json:"replaces,omitempty"`

	// This is a ChargeItemDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// The current state of the ChargeItemDefinition.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the charge item definition.
	Title string `json:"title,omitempty"`

	// 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 string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`
}

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

func (*ChargeItemDefinition) MarshalJSON

func (strct *ChargeItemDefinition) MarshalJSON() ([]byte, error)

func (*ChargeItemDefinition) UnmarshalJSON

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

type ChargeItemDefinitionApplicability

type ChargeItemDefinitionApplicability struct {

	// A brief, natural language description of the condition that effectively communicates the intended semantics.
	Description string `json:"description,omitempty"`

	// 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 `json:"expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ChargeItemDefinitionApplicability 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 (*ChargeItemDefinitionApplicability) MarshalJSON

func (strct *ChargeItemDefinitionApplicability) MarshalJSON() ([]byte, error)

func (*ChargeItemDefinitionApplicability) UnmarshalJSON

func (strct *ChargeItemDefinitionApplicability) UnmarshalJSON(b []byte) error

type ChargeItemDefinitionPriceComponent

type ChargeItemDefinitionPriceComponent struct {

	// The amount calculated for this component.
	Amount *Money `json:"amount,omitempty"`

	// A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.
	Code *CodeableConcept `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for factor
	Factor *Element `json:"_factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// This code identifies the type of the component.
	Type string `json:"type,omitempty"`
}

ChargeItemDefinitionPriceComponent 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 (*ChargeItemDefinitionPriceComponent) MarshalJSON

func (strct *ChargeItemDefinitionPriceComponent) MarshalJSON() ([]byte, error)

func (*ChargeItemDefinitionPriceComponent) UnmarshalJSON

func (strct *ChargeItemDefinitionPriceComponent) UnmarshalJSON(b []byte) error

type ChargeItemDefinitionPropertyGroup

type ChargeItemDefinitionPropertyGroup struct {

	// Expressions that describe applicability criteria for the priceComponent.
	Applicability []*ChargeItemDefinitionApplicability `json:"applicability,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

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

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 (*ChargeItemDefinitionPropertyGroup) MarshalJSON

func (strct *ChargeItemDefinitionPropertyGroup) MarshalJSON() ([]byte, error)

func (*ChargeItemDefinitionPropertyGroup) UnmarshalJSON

func (strct *ChargeItemDefinitionPropertyGroup) UnmarshalJSON(b []byte) error

type ChargeItemPerformer

type ChargeItemPerformer struct {

	// The device, practitioner, etc. who performed or participated in the service.
	Actor *Reference `json:"actor"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Describes the type of performance or participation(e.g. primary surgeon, anesthesiologiest, etc.).
	Function *CodeableConcept `json:"function,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ChargeItemPerformer 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 (*ChargeItemPerformer) MarshalJSON

func (strct *ChargeItemPerformer) MarshalJSON() ([]byte, error)

func (*ChargeItemPerformer) UnmarshalJSON

func (strct *ChargeItemPerformer) UnmarshalJSON(b []byte) error

type Citation

type Citation struct {

	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate string `json:"approvalDate,omitempty"`

	// Who authored the Citation.
	Author []*ContactDetail `json:"author,omitempty"`

	// The article or artifact being described.
	CitedArtifact *CitationCitedArtifact `json:"citedArtifact,omitempty"`

	// The assignment to an organizing scheme.
	Classification []*CitationClassification `json:"classification,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// The status of the citation.
	CurrentState []*CodeableConcept `json:"currentState,omitempty"`

	// 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 string `json:"date,omitempty"`

	// A free text natural language description of the citation from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// Who edited the Citation.
	Editor []*ContactDetail `json:"editor,omitempty"`

	// The period during which the citation content was or is planned to be in active use.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// Who endorsed the Citation.
	Endorser []*ContactDetail `json:"endorser,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// A legal or geographic region in which the citation is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate string `json:"lastReviewDate,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Used for general notes and annotations not coded elsewhere.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Explanation of why this citation is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// Artifact related to the Citation Resource.
	RelatesTo []*CitationRelatesTo `json:"relatesTo,omitempty"`

	// This is a Citation resource
	ResourceType interface{} `json:"resourceType"`

	// Who reviewed the Citation.
	Reviewer []*ContactDetail `json:"reviewer,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// An effective date or period for a status of the citation.
	StatusDate []*CitationStatusDate `json:"statusDate,omitempty"`

	// A human-readable display of the citation.
	Summary []*CitationSummary `json:"summary,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the citation.
	Title string `json:"title,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`
}

Citation 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 (strct *Citation) MarshalJSON() ([]byte, error)

func (*Citation) UnmarshalJSON

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

type CitationAbstract

type CitationAbstract struct {

	// Copyright notice for the abstract.
	Copyright string `json:"copyright,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Used to express the specific language.
	Language *CodeableConcept `json:"language,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`

	// Used to express the reason or specific aspect for the abstract.
	Type *CodeableConcept `json:"type,omitempty"`
}

CitationAbstract 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 (*CitationAbstract) MarshalJSON

func (strct *CitationAbstract) MarshalJSON() ([]byte, error)

func (*CitationAbstract) UnmarshalJSON

func (strct *CitationAbstract) UnmarshalJSON(b []byte) error

type CitationAffiliationInfo

type CitationAffiliationInfo struct {

	// Extensions for affiliation
	Affiliation *Element `json:"_affiliation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Identifier for the organization.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for role
	Role *Element `json:"_role,omitempty"`
}

CitationAffiliationInfo 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 (*CitationAffiliationInfo) MarshalJSON

func (strct *CitationAffiliationInfo) MarshalJSON() ([]byte, error)

func (*CitationAffiliationInfo) UnmarshalJSON

func (strct *CitationAffiliationInfo) UnmarshalJSON(b []byte) error

type CitationCitedArtifact

type CitationCitedArtifact struct {

	// Summary of the article or artifact.
	Abstract []*CitationAbstract `json:"abstract,omitempty"`

	// The assignment to an organizing scheme.
	Classification []*CitationClassification1 `json:"classification,omitempty"`

	// This element is used to list authors and other contributors, their contact information, specific contributions, and summary statements.
	Contributorship *CitationContributorship `json:"contributorship,omitempty"`

	// The status of the cited artifact.
	CurrentState []*CodeableConcept `json:"currentState,omitempty"`

	// Extensions for dateAccessed
	DateAccessed *Element `json:"_dateAccessed,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Any additional information or content for the article or artifact.
	Note []*Annotation `json:"note,omitempty"`

	// The component of the article or artifact.
	Part *CitationPart `json:"part,omitempty"`

	// If multiple, used to represent alternative forms of the article that are not separate citations.
	PublicationForm []*CitationPublicationForm `json:"publicationForm,omitempty"`

	// A formal identifier that is used to identify things closely related to this citation.
	RelatedIdentifier []*Identifier `json:"relatedIdentifier,omitempty"`

	// The artifact related to the cited artifact.
	RelatesTo []*CitationRelatesTo1 `json:"relatesTo,omitempty"`

	// An effective date or period for a status of the cited artifact.
	StatusDate []*CitationStatusDate1 `json:"statusDate,omitempty"`

	// The title details of the article or artifact.
	Title []*CitationTitle `json:"title,omitempty"`

	// The defined version of the cited artifact.
	Version *CitationVersion `json:"version,omitempty"`

	// Used for any URL for the article or artifact cited.
	WebLocation []*CitationWebLocation `json:"webLocation,omitempty"`
}

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 (*CitationCitedArtifact) MarshalJSON

func (strct *CitationCitedArtifact) MarshalJSON() ([]byte, error)

func (*CitationCitedArtifact) UnmarshalJSON

func (strct *CitationCitedArtifact) UnmarshalJSON(b []byte) error

type CitationClassification

type CitationClassification struct {

	// The specific classification value.
	Classifier []*CodeableConcept `json:"classifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The kind of classifier (e.g. publication type, keyword).
	Type *CodeableConcept `json:"type,omitempty"`
}

CitationClassification 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 (*CitationClassification) MarshalJSON

func (strct *CitationClassification) MarshalJSON() ([]byte, error)

func (*CitationClassification) UnmarshalJSON

func (strct *CitationClassification) UnmarshalJSON(b []byte) error

type CitationClassification1

type CitationClassification1 struct {

	// The specific classification value.
	Classifier []*CodeableConcept `json:"classifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The kind of classifier (e.g. publication type, keyword).
	Type *CodeableConcept `json:"type,omitempty"`

	// Provenance and copyright of classification.
	WhoClassified *CitationWhoClassified `json:"whoClassified,omitempty"`
}

CitationClassification1 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 (*CitationClassification1) MarshalJSON

func (strct *CitationClassification1) MarshalJSON() ([]byte, error)

func (*CitationClassification1) UnmarshalJSON

func (strct *CitationClassification1) UnmarshalJSON(b []byte) error

type CitationContributionInstance

type CitationContributionInstance struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The time that the contribution was made.
	Time string `json:"time,omitempty"`

	// The specific contribution.
	Type *CodeableConcept `json:"type"`
}

CitationContributionInstance 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 (*CitationContributionInstance) MarshalJSON

func (strct *CitationContributionInstance) MarshalJSON() ([]byte, error)

func (*CitationContributionInstance) UnmarshalJSON

func (strct *CitationContributionInstance) UnmarshalJSON(b []byte) error

type CitationContributorship

type CitationContributorship struct {

	// Extensions for complete
	Complete *Element `json:"_complete,omitempty"`

	// An individual entity named in the author list or contributor list.
	Entry []*CitationEntry `json:"entry,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Used to record a display of the author/contributor list without separate coding for each list member.
	Summary []*CitationSummary1 `json:"summary,omitempty"`
}

CitationContributorship 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 (*CitationContributorship) MarshalJSON

func (strct *CitationContributorship) MarshalJSON() ([]byte, error)

func (*CitationContributorship) UnmarshalJSON

func (strct *CitationContributorship) UnmarshalJSON(b []byte) error

type CitationDateOfPublication

type CitationDateOfPublication struct {

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Extensions for day
	Day *Element `json:"_day,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Month on which the issue of the journal was published.
	Month string `json:"month,omitempty"`

	// Extensions for season
	Season *Element `json:"_season,omitempty"`

	// Text representation of the date of which the issue of the journal was published.
	Text string `json:"text,omitempty"`

	// Year on which the issue of the journal was published.
	Year string `json:"year,omitempty"`
}

CitationDateOfPublication 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 (*CitationDateOfPublication) MarshalJSON

func (strct *CitationDateOfPublication) MarshalJSON() ([]byte, error)

func (*CitationDateOfPublication) UnmarshalJSON

func (strct *CitationDateOfPublication) UnmarshalJSON(b []byte) error

type CitationEntry

type CitationEntry struct {

	// Physical mailing address for the author or contributor.
	Address []*Address `json:"address,omitempty"`

	// Organization affiliated with the entity.
	AffiliationInfo []*CitationAffiliationInfo `json:"affiliationInfo,omitempty"`

	// Extensions for collectiveName
	CollectiveName *Element `json:"_collectiveName,omitempty"`

	// Contributions with accounting for time or number.
	ContributionInstance []*CitationContributionInstance `json:"contributionInstance,omitempty"`

	// This element identifies the specific nature of an individual’s contribution with respect to the cited work.
	ContributionType []*CodeableConcept `json:"contributionType,omitempty"`

	// Extensions for correspondingContact
	CorrespondingContact *Element `json:"_correspondingContact,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Unique person identifier.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for initials
	Initials *Element `json:"_initials,omitempty"`

	// Used to code order of authors.
	ListOrder float64 `json:"listOrder,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A name associated with the individual.
	Name *HumanName `json:"name,omitempty"`

	// The role of the contributor (e.g. author, editor, reviewer).
	Role *CodeableConcept `json:"role,omitempty"`

	// Email or telephone contact methods for the author or contributor.
	Telecom []*ContactPoint `json:"telecom,omitempty"`
}

CitationEntry 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 (*CitationEntry) MarshalJSON

func (strct *CitationEntry) MarshalJSON() ([]byte, error)

func (*CitationEntry) UnmarshalJSON

func (strct *CitationEntry) UnmarshalJSON(b []byte) error

type CitationPart

type CitationPart struct {

	// The citation for the full article or artifact.
	BaseCitation *Reference `json:"baseCitation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The kind of component.
	Type *CodeableConcept `json:"type,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

CitationPart 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 (*CitationPart) MarshalJSON

func (strct *CitationPart) MarshalJSON() ([]byte, error)

func (*CitationPart) UnmarshalJSON

func (strct *CitationPart) UnmarshalJSON(b []byte) error

type CitationPeriodicRelease

type CitationPeriodicRelease struct {

	// Describes the form of the medium cited. Common codes are "Internet" or "Print".
	CitedMedium *CodeableConcept `json:"citedMedium,omitempty"`

	// Defining the date on which the issue of the journal was published.
	DateOfPublication *CitationDateOfPublication `json:"dateOfPublication,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for issue
	Issue *Element `json:"_issue,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for volume
	Volume *Element `json:"_volume,omitempty"`
}

CitationPeriodicRelease 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 (*CitationPeriodicRelease) MarshalJSON

func (strct *CitationPeriodicRelease) MarshalJSON() ([]byte, error)

func (*CitationPeriodicRelease) UnmarshalJSON

func (strct *CitationPeriodicRelease) UnmarshalJSON(b []byte) error

type CitationPublicationForm

type CitationPublicationForm struct {

	// Extensions for accessionNumber
	AccessionNumber *Element `json:"_accessionNumber,omitempty"`

	// 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 string `json:"articleDate,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for firstPage
	FirstPage *Element `json:"_firstPage,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Language in which this form of the article is published.
	Language []*CodeableConcept `json:"language,omitempty"`

	// Extensions for lastPage
	LastPage *Element `json:"_lastPage,omitempty"`

	// The date the article was last revised or updated in the database.
	LastRevisionDate string `json:"lastRevisionDate,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for pageCount
	PageCount *Element `json:"_pageCount,omitempty"`

	// Extensions for pageString
	PageString *Element `json:"_pageString,omitempty"`

	// The specific issue in which the cited article resides.
	PeriodicRelease *CitationPeriodicRelease `json:"periodicRelease,omitempty"`

	// The collection the cited article or artifact is published in.
	PublishedIn *CitationPublishedIn `json:"publishedIn,omitempty"`
}

CitationPublicationForm 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 (*CitationPublicationForm) MarshalJSON

func (strct *CitationPublicationForm) MarshalJSON() ([]byte, error)

func (*CitationPublicationForm) UnmarshalJSON

func (strct *CitationPublicationForm) UnmarshalJSON(b []byte) error

type CitationPublishedIn

type CitationPublishedIn struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Journal identifiers include ISSN, ISO Abbreviation and NLMuniqueID; Book identifiers include ISBN.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Name of the publisher.
	Publisher *Reference `json:"publisher,omitempty"`

	// Extensions for publisherLocation
	PublisherLocation *Element `json:"_publisherLocation,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`

	// Kind of container (e.g. Periodical, database, or book).
	Type *CodeableConcept `json:"type,omitempty"`
}

CitationPublishedIn 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 (*CitationPublishedIn) MarshalJSON

func (strct *CitationPublishedIn) MarshalJSON() ([]byte, error)

func (*CitationPublishedIn) UnmarshalJSON

func (strct *CitationPublishedIn) UnmarshalJSON(b []byte) error

type CitationRelatesTo

type CitationRelatesTo struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// How the Citation resource relates to the target artifact.
	RelationshipType *CodeableConcept `json:"relationshipType"`

	// The article or artifact that the Citation Resource is related to.
	TargetAttachment *Attachment `json:"targetAttachment,omitempty"`

	// The clasification of the related artifact.
	TargetClassifier []*CodeableConcept `json:"targetClassifier,omitempty"`

	// The article or artifact that the Citation Resource is related to.
	TargetIdentifier *Identifier `json:"targetIdentifier,omitempty"`

	// The article or artifact that the Citation Resource is related to.
	TargetReference *Reference `json:"targetReference,omitempty"`

	// Extensions for targetUri
	TargetUri *Element `json:"_targetUri,omitempty"`
}

CitationRelatesTo 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 (*CitationRelatesTo) MarshalJSON

func (strct *CitationRelatesTo) MarshalJSON() ([]byte, error)

func (*CitationRelatesTo) UnmarshalJSON

func (strct *CitationRelatesTo) UnmarshalJSON(b []byte) error

type CitationRelatesTo1

type CitationRelatesTo1 struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// How the cited artifact relates to the target artifact.
	RelationshipType *CodeableConcept `json:"relationshipType"`

	// The article or artifact that the cited artifact is related to.
	TargetAttachment *Attachment `json:"targetAttachment,omitempty"`

	// The clasification of the related artifact.
	TargetClassifier []*CodeableConcept `json:"targetClassifier,omitempty"`

	// The article or artifact that the cited artifact is related to.
	TargetIdentifier *Identifier `json:"targetIdentifier,omitempty"`

	// The article or artifact that the cited artifact is related to.
	TargetReference *Reference `json:"targetReference,omitempty"`

	// Extensions for targetUri
	TargetUri *Element `json:"_targetUri,omitempty"`
}

CitationRelatesTo1 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 (*CitationRelatesTo1) MarshalJSON

func (strct *CitationRelatesTo1) MarshalJSON() ([]byte, error)

func (*CitationRelatesTo1) UnmarshalJSON

func (strct *CitationRelatesTo1) UnmarshalJSON(b []byte) error

type CitationStatusDate

type CitationStatusDate struct {

	// Classification of the status.
	Activity *CodeableConcept `json:"activity"`

	// Extensions for actual
	Actual *Element `json:"_actual,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// When the status started and/or ended.
	Period *Period `json:"period"`
}

CitationStatusDate 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 (*CitationStatusDate) MarshalJSON

func (strct *CitationStatusDate) MarshalJSON() ([]byte, error)

func (*CitationStatusDate) UnmarshalJSON

func (strct *CitationStatusDate) UnmarshalJSON(b []byte) error

type CitationStatusDate1

type CitationStatusDate1 struct {

	// Classification of the status.
	Activity *CodeableConcept `json:"activity"`

	// Extensions for actual
	Actual *Element `json:"_actual,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// When the status started and/or ended.
	Period *Period `json:"period"`
}

CitationStatusDate1 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 (*CitationStatusDate1) MarshalJSON

func (strct *CitationStatusDate1) MarshalJSON() ([]byte, error)

func (*CitationStatusDate1) UnmarshalJSON

func (strct *CitationStatusDate1) UnmarshalJSON(b []byte) error

type CitationSummary

type CitationSummary struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Format for display of the citation.
	Style *CodeableConcept `json:"style,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`
}

CitationSummary 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 (*CitationSummary) MarshalJSON

func (strct *CitationSummary) MarshalJSON() ([]byte, error)

func (*CitationSummary) UnmarshalJSON

func (strct *CitationSummary) UnmarshalJSON(b []byte) error

type CitationSummary1

type CitationSummary1 struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Used to code the producer or rule for creating the display string.
	Source *CodeableConcept `json:"source,omitempty"`

	// The format for the display string.
	Style *CodeableConcept `json:"style,omitempty"`

	// Used most commonly to express an author list or a contributorship statement.
	Type *CodeableConcept `json:"type,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

CitationSummary1 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 (*CitationSummary1) MarshalJSON

func (strct *CitationSummary1) MarshalJSON() ([]byte, error)

func (*CitationSummary1) UnmarshalJSON

func (strct *CitationSummary1) UnmarshalJSON(b []byte) error

type CitationTitle

type CitationTitle struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Used to express the specific language.
	Language *CodeableConcept `json:"language,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`

	// Used to express the reason or specific aspect for the title.
	Type []*CodeableConcept `json:"type,omitempty"`
}

CitationTitle 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 (*CitationTitle) MarshalJSON

func (strct *CitationTitle) MarshalJSON() ([]byte, error)

func (*CitationTitle) UnmarshalJSON

func (strct *CitationTitle) UnmarshalJSON(b []byte) error

type CitationVersion

type CitationVersion struct {

	// Citation for the main version of the cited artifact.
	BaseCitation *Reference `json:"baseCitation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

CitationVersion 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 (*CitationVersion) MarshalJSON

func (strct *CitationVersion) MarshalJSON() ([]byte, error)

func (*CitationVersion) UnmarshalJSON

func (strct *CitationVersion) UnmarshalJSON(b []byte) error

type CitationWebLocation

type CitationWebLocation struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Code the reason for different URLs, e.g. abstract and full-text.
	Type *CodeableConcept `json:"type,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`
}

CitationWebLocation 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 (*CitationWebLocation) MarshalJSON

func (strct *CitationWebLocation) MarshalJSON() ([]byte, error)

func (*CitationWebLocation) UnmarshalJSON

func (strct *CitationWebLocation) UnmarshalJSON(b []byte) error

type CitationWhoClassified

type CitationWhoClassified struct {

	// Extensions for classifierCopyright
	ClassifierCopyright *Element `json:"_classifierCopyright,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for freeToShare
	FreeToShare *Element `json:"_freeToShare,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Organization who created the classification.
	Organization *Reference `json:"organization,omitempty"`

	// Person who created the classification.
	Person *Reference `json:"person,omitempty"`

	// The publisher of the classification, not the publisher of the article or artifact being cited.
	Publisher *Reference `json:"publisher,omitempty"`
}

CitationWhoClassified 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 (*CitationWhoClassified) MarshalJSON

func (strct *CitationWhoClassified) MarshalJSON() ([]byte, error)

func (*CitationWhoClassified) UnmarshalJSON

func (strct *CitationWhoClassified) UnmarshalJSON(b []byte) error

type Claim

type Claim struct {

	// Details of an accident which resulted in injuries which required the products and services listed in the claim.
	Accident *ClaimAccident `json:"accident,omitempty"`

	// The period for which charges are being submitted.
	BillablePeriod *Period `json:"billablePeriod,omitempty"`

	// The members of the team who provided the products and services.
	CareTeam []*ClaimCareTeam `json:"careTeam,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The date this resource was created.
	Created string `json:"created,omitempty"`

	// Information about diagnoses relevant to the claim items.
	Diagnosis []*ClaimDiagnosis `json:"diagnosis,omitempty"`

	// Individual who created the claim, predetermination or preauthorization.
	Enterer *Reference `json:"enterer,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Facility where the services were provided.
	Facility *Reference `json:"facility,omitempty"`

	// A code to indicate whether and for whom funds are to be reserved for future claims.
	FundsReserve *CodeableConcept `json:"fundsReserve,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this claim.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Financial instruments for reimbursement for the health care products and services specified on the claim.
	Insurance []*ClaimInsurance `json:"insurance"`

	// The Insurer who is target of the request.
	Insurer *Reference `json:"insurer,omitempty"`

	// A claim line. Either a simple  product or service or a 'group' of details which can each be a simple items or groups of sub-details.
	Item []*ClaimItem `json:"item,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Original prescription which has been superseded by this prescription to support the dispensing of pharmacy services, medications or products.
	OriginalPrescription *Reference `json:"originalPrescription,omitempty"`

	// 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 `json:"patient"`

	// The party to be reimbursed for cost of the products and services according to the terms of the policy.
	Payee *ClaimPayee `json:"payee,omitempty"`

	// Prescription to support the dispensing of pharmacy, device or vision products.
	Prescription *Reference `json:"prescription,omitempty"`

	// The provider-required urgency of processing the request. Typical values include: stat, routine deferred.
	Priority *CodeableConcept `json:"priority"`

	// Procedures performed on the patient relevant to the billing items with the claim.
	Procedure []*ClaimProcedure `json:"procedure,omitempty"`

	// The provider which is responsible for the claim, predetermination or preauthorization.
	Provider *Reference `json:"provider"`

	// A reference to a referral resource.
	Referral *Reference `json:"referral,omitempty"`

	// Other claims which are related to this claim such as prior submissions or claims for related services or for the same event.
	Related []*ClaimRelated `json:"related,omitempty"`

	// This is a Claim resource
	ResourceType interface{} `json:"resourceType"`

	// The status of the resource instance.
	Status string `json:"status,omitempty"`

	// 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 `json:"subType,omitempty"`

	// Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.
	SupportingInfo []*ClaimSupportingInfo `json:"supportingInfo,omitempty"`

	// 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 `json:"text,omitempty"`

	// The total value of the all the items in the claim.
	Total *Money `json:"total,omitempty"`

	// The category of claim, e.g. oral, pharmacy, vision, institutional, professional.
	Type *CodeableConcept `json:"type"`

	// 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 string `json:"use,omitempty"`
}

Claim A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*Claim) MarshalJSON

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

func (*Claim) UnmarshalJSON

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

type ClaimAccident

type ClaimAccident struct {

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The physical location of the accident event.
	LocationAddress *Address `json:"locationAddress,omitempty"`

	// The physical location of the accident event.
	LocationReference *Reference `json:"locationReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"type,omitempty"`
}

ClaimAccident A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*ClaimAccident) MarshalJSON

func (strct *ClaimAccident) MarshalJSON() ([]byte, error)

func (*ClaimAccident) UnmarshalJSON

func (strct *ClaimAccident) UnmarshalJSON(b []byte) error

type ClaimCareTeam

type ClaimCareTeam struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Member of the team who provided the product or service.
	Provider *Reference `json:"provider"`

	// The qualification of the practitioner which is applicable for this service.
	Qualification *CodeableConcept `json:"qualification,omitempty"`

	// Extensions for responsible
	Responsible *Element `json:"_responsible,omitempty"`

	// The lead, assisting or supervising practitioner and their discipline if a multidisciplinary team.
	Role *CodeableConcept `json:"role,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`
}

ClaimCareTeam A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*ClaimCareTeam) MarshalJSON

func (strct *ClaimCareTeam) MarshalJSON() ([]byte, error)

func (*ClaimCareTeam) UnmarshalJSON

func (strct *ClaimCareTeam) UnmarshalJSON(b []byte) error

type ClaimDetail

type ClaimDetail struct {

	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept `json:"category,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for factor
	Factor *Element `json:"_factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// 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 `json:"productOrService"`

	// Identifies the program under which this may be recovered.
	ProgramCode []*CodeableConcept `json:"programCode,omitempty"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept `json:"revenue,omitempty"`

	// A number to uniquely identify item entries.
	Sequence float64 `json:"sequence,omitempty"`

	// A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.
	SubDetail []*ClaimSubDetail `json:"subDetail,omitempty"`

	// Unique Device Identifiers associated with this line item.
	Udi []*Reference `json:"udi,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

ClaimDetail A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*ClaimDetail) MarshalJSON

func (strct *ClaimDetail) MarshalJSON() ([]byte, error)

func (*ClaimDetail) UnmarshalJSON

func (strct *ClaimDetail) UnmarshalJSON(b []byte) error

type ClaimDiagnosis

type ClaimDiagnosis struct {

	// The nature of illness or problem in a coded form or as a reference to an external defined Condition.
	DiagnosisCodeableConcept *CodeableConcept `json:"diagnosisCodeableConcept,omitempty"`

	// The nature of illness or problem in a coded form or as a reference to an external defined Condition.
	DiagnosisReference *Reference `json:"diagnosisReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Indication of whether the diagnosis was present on admission to a facility.
	OnAdmission *CodeableConcept `json:"onAdmission,omitempty"`

	// 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 `json:"packageCode,omitempty"`

	// A number to uniquely identify diagnosis entries.
	Sequence float64 `json:"sequence,omitempty"`

	// When the condition was observed or the relative ranking.
	Type []*CodeableConcept `json:"type,omitempty"`
}

ClaimDiagnosis A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*ClaimDiagnosis) MarshalJSON

func (strct *ClaimDiagnosis) MarshalJSON() ([]byte, error)

func (*ClaimDiagnosis) UnmarshalJSON

func (strct *ClaimDiagnosis) UnmarshalJSON(b []byte) error

type ClaimInsurance

type ClaimInsurance struct {

	// Extensions for businessArrangement
	BusinessArrangement *Element `json:"_businessArrangement,omitempty"`

	// The result of the adjudication of the line items for the Coverage specified in this insurance.
	ClaimResponse *Reference `json:"claimResponse,omitempty"`

	// 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 `json:"coverage"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for focal
	Focal *Element `json:"_focal,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The business identifier to be used when the claim is sent for adjudication against this insurance policy.
	Identifier *Identifier `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for preAuthRef
	PreAuthRef []*Element `json:"_preAuthRef,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`
}

ClaimInsurance A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*ClaimInsurance) MarshalJSON

func (strct *ClaimInsurance) MarshalJSON() ([]byte, error)

func (*ClaimInsurance) UnmarshalJSON

func (strct *ClaimInsurance) UnmarshalJSON(b []byte) error

type ClaimItem

type ClaimItem struct {

	// Physical service site on the patient (limb, tooth, etc.).
	BodySite *CodeableConcept `json:"bodySite,omitempty"`

	// Extensions for careTeamSequence
	CareTeamSequence []*Element `json:"_careTeamSequence,omitempty"`

	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept `json:"category,omitempty"`

	// A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.
	Detail []*ClaimDetail `json:"detail,omitempty"`

	// Extensions for diagnosisSequence
	DiagnosisSequence []*Element `json:"_diagnosisSequence,omitempty"`

	// The Encounters during which this Claim was created or to which the creation of this record is tightly associated.
	Encounter []*Reference `json:"encounter,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for factor
	Factor *Element `json:"_factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Exceptions, special conditions and supporting information applicable for this service or product.
	InformationSequence []float64 `json:"informationSequence,omitempty"`

	// Where the product or service was provided.
	LocationAddress *Address `json:"locationAddress,omitempty"`

	// Where the product or service was provided.
	LocationCodeableConcept *CodeableConcept `json:"locationCodeableConcept,omitempty"`

	// Where the product or service was provided.
	LocationReference *Reference `json:"locationReference,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// Procedures applicable for this service or product.
	ProcedureSequence []float64 `json:"procedureSequence,omitempty"`

	// 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 `json:"productOrService"`

	// Identifies the program under which this may be recovered.
	ProgramCode []*CodeableConcept `json:"programCode,omitempty"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept `json:"revenue,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`

	// The date or dates when the service or product was supplied, performed or completed.
	ServicedDate string `json:"servicedDate,omitempty"`

	// The date or dates when the service or product was supplied, performed or completed.
	ServicedPeriod *Period `json:"servicedPeriod,omitempty"`

	// A region or surface of the bodySite, e.g. limb region or tooth surface(s).
	SubSite []*CodeableConcept `json:"subSite,omitempty"`

	// Unique Device Identifiers associated with this line item.
	Udi []*Reference `json:"udi,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

ClaimItem A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*ClaimItem) MarshalJSON

func (strct *ClaimItem) MarshalJSON() ([]byte, error)

func (*ClaimItem) UnmarshalJSON

func (strct *ClaimItem) UnmarshalJSON(b []byte) error

type ClaimPayee

type ClaimPayee struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Reference to the individual or organization to whom any payment will be made.
	Party *Reference `json:"party,omitempty"`

	// Type of Party to be reimbursed: subscriber, provider, other.
	Type *CodeableConcept `json:"type"`
}

ClaimPayee A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*ClaimPayee) MarshalJSON

func (strct *ClaimPayee) MarshalJSON() ([]byte, error)

func (*ClaimPayee) UnmarshalJSON

func (strct *ClaimPayee) UnmarshalJSON(b []byte) error

type ClaimProcedure

type ClaimProcedure struct {

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The code or reference to a Procedure resource which identifies the clinical intervention performed.
	ProcedureCodeableConcept *CodeableConcept `json:"procedureCodeableConcept,omitempty"`

	// The code or reference to a Procedure resource which identifies the clinical intervention performed.
	ProcedureReference *Reference `json:"procedureReference,omitempty"`

	// A number to uniquely identify procedure entries.
	Sequence float64 `json:"sequence,omitempty"`

	// When the condition was observed or the relative ranking.
	Type []*CodeableConcept `json:"type,omitempty"`

	// Unique Device Identifiers associated with this line item.
	Udi []*Reference `json:"udi,omitempty"`
}

ClaimProcedure A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*ClaimProcedure) MarshalJSON

func (strct *ClaimProcedure) MarshalJSON() ([]byte, error)

func (*ClaimProcedure) UnmarshalJSON

func (strct *ClaimProcedure) UnmarshalJSON(b []byte) error

type ClaimRelated

type ClaimRelated struct {

	// Reference to a related claim.
	Claim *Reference `json:"claim,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// An alternate organizational reference to the case or file to which this particular claim pertains.
	Reference *Identifier `json:"reference,omitempty"`

	// A code to convey how the claims are related.
	Relationship *CodeableConcept `json:"relationship,omitempty"`
}

ClaimRelated A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*ClaimRelated) MarshalJSON

func (strct *ClaimRelated) MarshalJSON() ([]byte, error)

func (*ClaimRelated) UnmarshalJSON

func (strct *ClaimRelated) UnmarshalJSON(b []byte) error

type ClaimResponse

type ClaimResponse struct {

	// The first-tier service adjudications for payor added product or service lines.
	AddItem []*ClaimResponseAddItem `json:"addItem,omitempty"`

	// The adjudication results which are presented at the header level rather than at the line-item or add-item levels.
	Adjudication []*ClaimResponseAdjudication `json:"adjudication,omitempty"`

	// Request for additional supporting or authorizing information.
	CommunicationRequest []*Reference `json:"communicationRequest,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The date this resource was created.
	Created string `json:"created,omitempty"`

	// A human readable description of the status of the adjudication.
	Disposition string `json:"disposition,omitempty"`

	// Errors encountered during the processing of the adjudication.
	Error []*ClaimResponseError `json:"error,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The actual form, by reference or inclusion, for printing the content or an EOB.
	Form *Attachment `json:"form,omitempty"`

	// A code for the form to be used for printing the content.
	FormCode *CodeableConcept `json:"formCode,omitempty"`

	// A code, used only on a response to a preauthorization, to indicate whether the benefits payable have been reserved and for whom.
	FundsReserve *CodeableConcept `json:"fundsReserve,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this claim response.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Financial instruments for reimbursement for the health care products and services specified on the claim.
	Insurance []*ClaimResponseInsurance `json:"insurance,omitempty"`

	// The party responsible for authorization, adjudication and reimbursement.
	Insurer *Reference `json:"insurer"`

	// 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 `json:"item,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The outcome of the claim, predetermination, or preauthorization processing.
	Outcome string `json:"outcome,omitempty"`

	// 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 `json:"patient"`

	// Type of Party to be reimbursed: subscriber, provider, other.
	PayeeType *CodeableConcept `json:"payeeType,omitempty"`

	// Payment details for the adjudication of the claim.
	Payment *ClaimResponsePayment `json:"payment,omitempty"`

	// The time frame during which this authorization is effective.
	PreAuthPeriod *Period `json:"preAuthPeriod,omitempty"`

	// Extensions for preAuthRef
	PreAuthRef *Element `json:"_preAuthRef,omitempty"`

	// A note that describes or explains adjudication results in a human readable form.
	ProcessNote []*ClaimResponseProcessNote `json:"processNote,omitempty"`

	// Original request resource reference.
	Request *Reference `json:"request,omitempty"`

	// The provider which is responsible for the claim, predetermination or preauthorization.
	Requestor *Reference `json:"requestor,omitempty"`

	// This is a ClaimResponse resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"subType,omitempty"`

	// 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 `json:"text,omitempty"`

	// Categorized monetary totals for the adjudication.
	Total []*ClaimResponseTotal `json:"total,omitempty"`

	// 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 `json:"type"`

	// 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 string `json:"use,omitempty"`
}

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

func (*ClaimResponse) MarshalJSON

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

func (*ClaimResponse) UnmarshalJSON

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

type ClaimResponseAddItem

type ClaimResponseAddItem struct {

	// The adjudication results.
	Adjudication []*ClaimResponseAdjudication `json:"adjudication"`

	// Physical service site on the patient (limb, tooth, etc.).
	BodySite *CodeableConcept `json:"bodySite,omitempty"`

	// The second-tier service adjudications for payor added services.
	Detail []*ClaimResponseDetail1 `json:"detail,omitempty"`

	// Extensions for detailSequence
	DetailSequence []*Element `json:"_detailSequence,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for factor
	Factor *Element `json:"_factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Claim items which this service line is intended to replace.
	ItemSequence []float64 `json:"itemSequence,omitempty"`

	// Where the product or service was provided.
	LocationAddress *Address `json:"locationAddress,omitempty"`

	// Where the product or service was provided.
	LocationCodeableConcept *CodeableConcept `json:"locationCodeableConcept,omitempty"`

	// Where the product or service was provided.
	LocationReference *Reference `json:"locationReference,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// Extensions for noteNumber
	NoteNumber []*Element `json:"_noteNumber,omitempty"`

	// 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 `json:"productOrService"`

	// Identifies the program under which this may be recovered.
	ProgramCode []*CodeableConcept `json:"programCode,omitempty"`

	// The providers who are authorized for the services rendered to the patient.
	Provider []*Reference `json:"provider,omitempty"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// The date or dates when the service or product was supplied, performed or completed.
	ServicedDate string `json:"servicedDate,omitempty"`

	// The date or dates when the service or product was supplied, performed or completed.
	ServicedPeriod *Period `json:"servicedPeriod,omitempty"`

	// A region or surface of the bodySite, e.g. limb region or tooth surface(s).
	SubSite []*CodeableConcept `json:"subSite,omitempty"`

	// The sequence number of the sub-details within the details within the claim item which this line is intended to replace.
	SubdetailSequence []float64 `json:"subdetailSequence,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

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

func (*ClaimResponseAddItem) MarshalJSON

func (strct *ClaimResponseAddItem) MarshalJSON() ([]byte, error)

func (*ClaimResponseAddItem) UnmarshalJSON

func (strct *ClaimResponseAddItem) UnmarshalJSON(b []byte) error

type ClaimResponseAdjudication

type ClaimResponseAdjudication struct {

	// Monetary amount associated with the category.
	Amount *Money `json:"amount,omitempty"`

	// 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 `json:"category"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A code supporting the understanding of the adjudication result and explaining variance from expected amount.
	Reason *CodeableConcept `json:"reason,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

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

func (*ClaimResponseAdjudication) MarshalJSON

func (strct *ClaimResponseAdjudication) MarshalJSON() ([]byte, error)

func (*ClaimResponseAdjudication) UnmarshalJSON

func (strct *ClaimResponseAdjudication) UnmarshalJSON(b []byte) error

type ClaimResponseDetail

type ClaimResponseDetail struct {

	// The adjudication results.
	Adjudication []*ClaimResponseAdjudication `json:"adjudication"`

	// A number to uniquely reference the claim detail entry.
	DetailSequence float64 `json:"detailSequence,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for noteNumber
	NoteNumber []*Element `json:"_noteNumber,omitempty"`

	// A sub-detail adjudication of a simple product or service.
	SubDetail []*ClaimResponseSubDetail `json:"subDetail,omitempty"`
}

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

func (*ClaimResponseDetail) MarshalJSON

func (strct *ClaimResponseDetail) MarshalJSON() ([]byte, error)

func (*ClaimResponseDetail) UnmarshalJSON

func (strct *ClaimResponseDetail) UnmarshalJSON(b []byte) error

type ClaimResponseDetail1

type ClaimResponseDetail1 struct {

	// The adjudication results.
	Adjudication []*ClaimResponseAdjudication `json:"adjudication"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for factor
	Factor *Element `json:"_factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// Extensions for noteNumber
	NoteNumber []*Element `json:"_noteNumber,omitempty"`

	// 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 `json:"productOrService"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// The third-tier service adjudications for payor added services.
	SubDetail []*ClaimResponseSubDetail1 `json:"subDetail,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

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

func (*ClaimResponseDetail1) MarshalJSON

func (strct *ClaimResponseDetail1) MarshalJSON() ([]byte, error)

func (*ClaimResponseDetail1) UnmarshalJSON

func (strct *ClaimResponseDetail1) UnmarshalJSON(b []byte) error

type ClaimResponseError

type ClaimResponseError struct {

	// An error code, from a specified code system, which details why the claim could not be adjudicated.
	Code *CodeableConcept `json:"code"`

	// Extensions for detailSequence
	DetailSequence *Element `json:"_detailSequence,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for itemSequence
	ItemSequence *Element `json:"_itemSequence,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 float64 `json:"subDetailSequence,omitempty"`
}

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

func (*ClaimResponseError) MarshalJSON

func (strct *ClaimResponseError) MarshalJSON() ([]byte, error)

func (*ClaimResponseError) UnmarshalJSON

func (strct *ClaimResponseError) UnmarshalJSON(b []byte) error

type ClaimResponseInsurance

type ClaimResponseInsurance struct {

	// A business agreement number established between the provider and the insurer for special business processing purposes.
	BusinessArrangement string `json:"businessArrangement,omitempty"`

	// The result of the adjudication of the line items for the Coverage specified in this insurance.
	ClaimResponse *Reference `json:"claimResponse,omitempty"`

	// 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 `json:"coverage"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// A flag to indicate that this Coverage is to be used for adjudication of this claim when set to true.
	Focal bool `json:"focal,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`
}

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

func (*ClaimResponseInsurance) MarshalJSON

func (strct *ClaimResponseInsurance) MarshalJSON() ([]byte, error)

func (*ClaimResponseInsurance) UnmarshalJSON

func (strct *ClaimResponseInsurance) UnmarshalJSON(b []byte) error

type ClaimResponseItem

type ClaimResponseItem struct {

	// 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 []*ClaimResponseAdjudication `json:"adjudication"`

	// A claim detail. Either a simple (a product or service) or a 'group' of sub-details which are simple items.
	Detail []*ClaimResponseDetail `json:"detail,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for itemSequence
	ItemSequence *Element `json:"_itemSequence,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for noteNumber
	NoteNumber []*Element `json:"_noteNumber,omitempty"`
}

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

func (*ClaimResponseItem) MarshalJSON

func (strct *ClaimResponseItem) MarshalJSON() ([]byte, error)

func (*ClaimResponseItem) UnmarshalJSON

func (strct *ClaimResponseItem) UnmarshalJSON(b []byte) error

type ClaimResponsePayment

type ClaimResponsePayment struct {

	// Total amount of all adjustments to this payment included in this transaction which are not related to this claim's adjudication.
	Adjustment *Money `json:"adjustment,omitempty"`

	// Reason for the payment adjustment.
	AdjustmentReason *CodeableConcept `json:"adjustmentReason,omitempty"`

	// Benefits payable less any payment adjustment.
	Amount *Money `json:"amount"`

	// Estimated date the payment will be issued or the actual issue date of payment.
	Date string `json:"date,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Issuer's unique identifier for the payment instrument.
	Identifier *Identifier `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Whether this represents partial or complete payment of the benefits payable.
	Type *CodeableConcept `json:"type"`
}

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

func (*ClaimResponsePayment) MarshalJSON

func (strct *ClaimResponsePayment) MarshalJSON() ([]byte, error)

func (*ClaimResponsePayment) UnmarshalJSON

func (strct *ClaimResponsePayment) UnmarshalJSON(b []byte) error

type ClaimResponseProcessNote

type ClaimResponseProcessNote struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A code to define the language used in the text of the note.
	Language *CodeableConcept `json:"language,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for number
	Number *Element `json:"_number,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

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

func (*ClaimResponseProcessNote) MarshalJSON

func (strct *ClaimResponseProcessNote) MarshalJSON() ([]byte, error)

func (*ClaimResponseProcessNote) UnmarshalJSON

func (strct *ClaimResponseProcessNote) UnmarshalJSON(b []byte) error

type ClaimResponseSubDetail

type ClaimResponseSubDetail struct {

	// The adjudication results.
	Adjudication []*ClaimResponseAdjudication `json:"adjudication,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for noteNumber
	NoteNumber []*Element `json:"_noteNumber,omitempty"`

	// Extensions for subDetailSequence
	SubDetailSequence *Element `json:"_subDetailSequence,omitempty"`
}

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

func (*ClaimResponseSubDetail) MarshalJSON

func (strct *ClaimResponseSubDetail) MarshalJSON() ([]byte, error)

func (*ClaimResponseSubDetail) UnmarshalJSON

func (strct *ClaimResponseSubDetail) UnmarshalJSON(b []byte) error

type ClaimResponseSubDetail1

type ClaimResponseSubDetail1 struct {

	// The adjudication results.
	Adjudication []*ClaimResponseAdjudication `json:"adjudication"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 float64 `json:"factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// Extensions for noteNumber
	NoteNumber []*Element `json:"_noteNumber,omitempty"`

	// 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 `json:"productOrService"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

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

func (*ClaimResponseSubDetail1) MarshalJSON

func (strct *ClaimResponseSubDetail1) MarshalJSON() ([]byte, error)

func (*ClaimResponseSubDetail1) UnmarshalJSON

func (strct *ClaimResponseSubDetail1) UnmarshalJSON(b []byte) error

type ClaimResponseTotal

type ClaimResponseTotal struct {

	// Monetary total amount associated with the category.
	Amount *Money `json:"amount"`

	// 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 `json:"category"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

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

func (*ClaimResponseTotal) MarshalJSON

func (strct *ClaimResponseTotal) MarshalJSON() ([]byte, error)

func (*ClaimResponseTotal) UnmarshalJSON

func (strct *ClaimResponseTotal) UnmarshalJSON(b []byte) error

type ClaimSubDetail

type ClaimSubDetail struct {

	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept `json:"category,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 float64 `json:"factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// 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 `json:"productOrService"`

	// Identifies the program under which this may be recovered.
	ProgramCode []*CodeableConcept `json:"programCode,omitempty"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept `json:"revenue,omitempty"`

	// A number to uniquely identify item entries.
	Sequence float64 `json:"sequence,omitempty"`

	// Unique Device Identifiers associated with this line item.
	Udi []*Reference `json:"udi,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

ClaimSubDetail A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*ClaimSubDetail) MarshalJSON

func (strct *ClaimSubDetail) MarshalJSON() ([]byte, error)

func (*ClaimSubDetail) UnmarshalJSON

func (strct *ClaimSubDetail) UnmarshalJSON(b []byte) error

type ClaimSupportingInfo

type ClaimSupportingInfo struct {

	// The general class of the information supplied: information; exception; accident, employment; onset, etc.
	Category *CodeableConcept `json:"category"`

	// 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 `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Provides the reason in the situation where a reason code is required in addition to the content.
	Reason *CodeableConcept `json:"reason,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`

	// The date when or period to which this information refers.
	TimingDate string `json:"timingDate,omitempty"`

	// The date when or period to which this information refers.
	TimingPeriod *Period `json:"timingPeriod,omitempty"`

	// Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.
	ValueReference *Reference `json:"valueReference,omitempty"`

	// Extensions for valueString
	ValueString *Element `json:"_valueString,omitempty"`
}

ClaimSupportingInfo A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.

func (*ClaimSupportingInfo) MarshalJSON

func (strct *ClaimSupportingInfo) MarshalJSON() ([]byte, error)

func (*ClaimSupportingInfo) UnmarshalJSON

func (strct *ClaimSupportingInfo) UnmarshalJSON(b []byte) error

type ClinicalImpression

type ClinicalImpression struct {

	// The clinician performing the assessment.
	Assessor *Reference `json:"assessor,omitempty"`

	// Categorizes the type of clinical assessment performed.
	Code *CodeableConcept `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Indicates when the documentation of the assessment was complete.
	Date string `json:"date,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Extensions for effectiveDateTime
	EffectiveDateTime *Element `json:"_effectiveDateTime,omitempty"`

	// The point in time or period over which the subject was assessed.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// The Encounter during which this ClinicalImpression was created or to which the creation of this record is tightly associated.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Specific findings or diagnoses that were considered likely or relevant to ongoing treatment.
	Finding []*ClinicalImpressionFinding `json:"finding,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// One or more sets of investigations (signs, symptoms, etc.). The actual grouping of investigations varies greatly depending on the type and context of the assessment. These investigations may include data generated during the assessment process, or data previously generated and recorded that is pertinent to the outcomes.
	Investigation []*ClinicalImpressionInvestigation `json:"investigation,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Commentary about the impression, typically recorded after the impression itself was made, though supplemental notes by the original author could also appear.
	Note []*Annotation `json:"note,omitempty"`

	// 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 `json:"previous,omitempty"`

	// A list of the relevant problems/conditions for a patient.
	Problem []*Reference `json:"problem,omitempty"`

	// Estimate of likely outcome.
	PrognosisCodeableConcept []*CodeableConcept `json:"prognosisCodeableConcept,omitempty"`

	// RiskAssessment expressing likely outcome.
	PrognosisReference []*Reference `json:"prognosisReference,omitempty"`

	// Extensions for protocol
	Protocol []*Element `json:"_protocol,omitempty"`

	// This is a ClinicalImpression resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Captures the reason for the current state of the ClinicalImpression.
	StatusReason *CodeableConcept `json:"statusReason,omitempty"`

	// The patient or group of individuals assessed as part of this record.
	Subject *Reference `json:"subject"`

	// Extensions for summary
	Summary *Element `json:"_summary,omitempty"`

	// Information supporting the clinical impression.
	SupportingInfo []*Reference `json:"supportingInfo,omitempty"`

	// 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 `json:"text,omitempty"`
}

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

func (*ClinicalImpression) MarshalJSON

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

func (*ClinicalImpression) UnmarshalJSON

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

type ClinicalImpressionFinding

type ClinicalImpressionFinding struct {

	// Which investigations support finding or diagnosis.
	Basis string `json:"basis,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Specific text or code for finding or diagnosis, which may include ruled-out or resolved conditions.
	ItemCodeableConcept *CodeableConcept `json:"itemCodeableConcept,omitempty"`

	// Specific reference for finding or diagnosis, which may include ruled-out or resolved conditions.
	ItemReference *Reference `json:"itemReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ClinicalImpressionFinding 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 (*ClinicalImpressionFinding) MarshalJSON

func (strct *ClinicalImpressionFinding) MarshalJSON() ([]byte, error)

func (*ClinicalImpressionFinding) UnmarshalJSON

func (strct *ClinicalImpressionFinding) UnmarshalJSON(b []byte) error

type ClinicalImpressionInvestigation

type ClinicalImpressionInvestigation struct {

	// 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 `json:"code"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A record of a specific investigation that was undertaken.
	Item []*Reference `json:"item,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ClinicalImpressionInvestigation 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 (*ClinicalImpressionInvestigation) MarshalJSON

func (strct *ClinicalImpressionInvestigation) MarshalJSON() ([]byte, error)

func (*ClinicalImpressionInvestigation) UnmarshalJSON

func (strct *ClinicalImpressionInvestigation) UnmarshalJSON(b []byte) error

type ClinicalUseDefinition

type ClinicalUseDefinition struct {

	// 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 `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Specifics for when this is a contraindication.
	Contraindication *ClinicalUseDefinitionContraindication `json:"contraindication,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Business identifier for this issue.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Specifics for when this is an indication.
	Indication *ClinicalUseDefinitionIndication `json:"indication,omitempty"`

	// Specifics for when this is an interaction.
	Interaction *ClinicalUseDefinitionInteraction `json:"interaction,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The population group to which this applies.
	Population []*Reference `json:"population,omitempty"`

	// This is a ClinicalUseDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// Whether this is a current issue or one that has been retired etc.
	Status *CodeableConcept `json:"status,omitempty"`

	// The medication or procedure for which this is an indication.
	Subject []*Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`

	// Describe the possible undesirable effects (negative outcomes) from the use of the medicinal product as treatment.
	UndesirableEffect *ClinicalUseDefinitionUndesirableEffect `json:"undesirableEffect,omitempty"`

	// 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 `json:"warning,omitempty"`
}

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

func (*ClinicalUseDefinition) MarshalJSON

func (strct *ClinicalUseDefinition) MarshalJSON() ([]byte, error)

func (*ClinicalUseDefinition) UnmarshalJSON

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

type ClinicalUseDefinitionContraindication

type ClinicalUseDefinitionContraindication struct {

	// A comorbidity (concurrent condition) or coinfection.
	Comorbidity []*CodeableReference `json:"comorbidity,omitempty"`

	// The status of the disease or symptom for the contraindication, for example "chronic" or "metastatic".
	DiseaseStatus *CodeableReference `json:"diseaseStatus,omitempty"`

	// The situation that is being documented as contraindicating against this item.
	DiseaseSymptomProcedure *CodeableReference `json:"diseaseSymptomProcedure,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The indication which this is a contraidication for.
	Indication []*Reference `json:"indication,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Information about the use of the medicinal product in relation to other therapies described as part of the contraindication.
	OtherTherapy []*ClinicalUseDefinitionOtherTherapy `json:"otherTherapy,omitempty"`
}

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

func (*ClinicalUseDefinitionContraindication) MarshalJSON

func (strct *ClinicalUseDefinitionContraindication) MarshalJSON() ([]byte, error)

func (*ClinicalUseDefinitionContraindication) UnmarshalJSON

func (strct *ClinicalUseDefinitionContraindication) UnmarshalJSON(b []byte) error

type ClinicalUseDefinitionIndication

type ClinicalUseDefinitionIndication struct {

	// A comorbidity (concurrent condition) or coinfection as part of the indication.
	Comorbidity []*CodeableReference `json:"comorbidity,omitempty"`

	// The status of the disease or symptom for the indication, for example "chronic" or "metastatic".
	DiseaseStatus *CodeableReference `json:"diseaseStatus,omitempty"`

	// The situation that is being documented as an indicaton for this item.
	DiseaseSymptomProcedure *CodeableReference `json:"diseaseSymptomProcedure,omitempty"`

	// 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).
	DurationRange *Range `json:"durationRange,omitempty"`

	// Extensions for durationString
	DurationString *Element `json:"_durationString,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The intended effect, aim or strategy to be achieved.
	IntendedEffect *CodeableReference `json:"intendedEffect,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Information about the use of the medicinal product in relation to other therapies described as part of the indication.
	OtherTherapy []*ClinicalUseDefinitionOtherTherapy `json:"otherTherapy,omitempty"`

	// 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 `json:"undesirableEffect,omitempty"`
}

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

func (*ClinicalUseDefinitionIndication) MarshalJSON

func (strct *ClinicalUseDefinitionIndication) MarshalJSON() ([]byte, error)

func (*ClinicalUseDefinitionIndication) UnmarshalJSON

func (strct *ClinicalUseDefinitionIndication) UnmarshalJSON(b []byte) error

type ClinicalUseDefinitionInteractant

type ClinicalUseDefinitionInteractant struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The specific medication, food or laboratory test that interacts.
	ItemCodeableConcept *CodeableConcept `json:"itemCodeableConcept,omitempty"`

	// The specific medication, food or laboratory test that interacts.
	ItemReference *Reference `json:"itemReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

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

func (*ClinicalUseDefinitionInteractant) MarshalJSON

func (strct *ClinicalUseDefinitionInteractant) MarshalJSON() ([]byte, error)

func (*ClinicalUseDefinitionInteractant) UnmarshalJSON

func (strct *ClinicalUseDefinitionInteractant) UnmarshalJSON(b []byte) error

type ClinicalUseDefinitionInteraction

type ClinicalUseDefinitionInteraction struct {

	// The effect of the interaction, for example "reduced gastric absorption of primary medication".
	Effect *CodeableReference `json:"effect,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The incidence of the interaction, e.g. theoretical, observed.
	Incidence *CodeableConcept `json:"incidence,omitempty"`

	// The specific medication, food, substance or laboratory test that interacts.
	Interactant []*ClinicalUseDefinitionInteractant `json:"interactant,omitempty"`

	// Actions for managing the interaction.
	Management []*CodeableConcept `json:"management,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The type of the interaction e.g. drug-drug interaction, drug-food interaction, drug-lab test interaction.
	Type *CodeableConcept `json:"type,omitempty"`
}

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

func (*ClinicalUseDefinitionInteraction) MarshalJSON

func (strct *ClinicalUseDefinitionInteraction) MarshalJSON() ([]byte, error)

func (*ClinicalUseDefinitionInteraction) UnmarshalJSON

func (strct *ClinicalUseDefinitionInteraction) UnmarshalJSON(b []byte) error

type ClinicalUseDefinitionOtherTherapy

type ClinicalUseDefinitionOtherTherapy struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The type of relationship between the medicinal product indication or contraindication and another therapy.
	RelationshipType *CodeableConcept `json:"relationshipType"`

	// Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.
	Therapy *CodeableReference `json:"therapy"`
}

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

func (*ClinicalUseDefinitionOtherTherapy) MarshalJSON

func (strct *ClinicalUseDefinitionOtherTherapy) MarshalJSON() ([]byte, error)

func (*ClinicalUseDefinitionOtherTherapy) UnmarshalJSON

func (strct *ClinicalUseDefinitionOtherTherapy) UnmarshalJSON(b []byte) error

type ClinicalUseDefinitionUndesirableEffect

type ClinicalUseDefinitionUndesirableEffect struct {

	// High level classification of the effect.
	Classification *CodeableConcept `json:"classification,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// How often the effect is seen.
	FrequencyOfOccurrence *CodeableConcept `json:"frequencyOfOccurrence,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The situation in which the undesirable effect may manifest.
	SymptomConditionEffect *CodeableReference `json:"symptomConditionEffect,omitempty"`
}

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

func (*ClinicalUseDefinitionUndesirableEffect) MarshalJSON

func (strct *ClinicalUseDefinitionUndesirableEffect) MarshalJSON() ([]byte, error)

func (*ClinicalUseDefinitionUndesirableEffect) UnmarshalJSON

func (strct *ClinicalUseDefinitionUndesirableEffect) UnmarshalJSON(b []byte) error

type ClinicalUseDefinitionWarning

type ClinicalUseDefinitionWarning struct {

	// A coded or unformatted textual definition of this warning.
	Code *CodeableConcept `json:"code,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

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

func (*ClinicalUseDefinitionWarning) MarshalJSON

func (strct *ClinicalUseDefinitionWarning) MarshalJSON() ([]byte, error)

func (*ClinicalUseDefinitionWarning) UnmarshalJSON

func (strct *ClinicalUseDefinitionWarning) UnmarshalJSON(b []byte) error

type CodeSystem

type CodeSystem struct {

	// Extensions for caseSensitive
	CaseSensitive *Element `json:"_caseSensitive,omitempty"`

	// The code system defines a compositional (post-coordination) grammar.
	Compositional bool `json:"compositional,omitempty"`

	// Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are.
	Concept []*CodeSystemConcept `json:"concept,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.
	Content string `json:"content,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// 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 float64 `json:"count,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// A free text natural language description of the code system from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// A filter that can be used in a value set compose statement when selecting concepts using a filter.
	Filter []*CodeSystemFilter `json:"filter,omitempty"`

	// The meaning of the hierarchy of concepts as represented in this resource.
	HierarchyMeaning string `json:"hierarchyMeaning,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// A legal or geographic region in which the code system is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"name,omitempty"`

	// A property defines an additional slot through which additional information can be provided about a concept.
	Property []*CodeSystemProperty `json:"property,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Explanation of why this code system is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// This is a CodeSystem resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// The canonical URL of the code system that this code system supplement is adding designations and properties to.
	Supplements string `json:"supplements,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the code system.
	Title string `json:"title,omitempty"`

	// 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 string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Canonical reference to the value set that contains the entire code system.
	ValueSet string `json:"valueSet,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`

	// 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 bool `json:"versionNeeded,omitempty"`
}

CodeSystem The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content.

func (*CodeSystem) MarshalJSON

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

func (*CodeSystem) UnmarshalJSON

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

type CodeSystemConcept

type CodeSystemConcept struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// 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 `json:"concept,omitempty"`

	// Extensions for definition
	Definition *Element `json:"_definition,omitempty"`

	// Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc.
	Designation []*CodeSystemDesignation `json:"designation,omitempty"`

	// Extensions for display
	Display *Element `json:"_display,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A property value for this concept.
	Property []*CodeSystemProperty1 `json:"property,omitempty"`
}

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 (*CodeSystemConcept) MarshalJSON

func (strct *CodeSystemConcept) MarshalJSON() ([]byte, error)

func (*CodeSystemConcept) UnmarshalJSON

func (strct *CodeSystemConcept) UnmarshalJSON(b []byte) error

type CodeSystemDesignation

type CodeSystemDesignation struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A code that details how this designation would be used.
	Use *Coding `json:"use,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

CodeSystemDesignation 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 (*CodeSystemDesignation) MarshalJSON

func (strct *CodeSystemDesignation) MarshalJSON() ([]byte, error)

func (*CodeSystemDesignation) UnmarshalJSON

func (strct *CodeSystemDesignation) UnmarshalJSON(b []byte) error

type CodeSystemFilter

type CodeSystemFilter struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// A description of how or why the filter is used.
	Description string `json:"description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for operator
	Operator []*Element `json:"_operator,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

CodeSystemFilter 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 (*CodeSystemFilter) MarshalJSON

func (strct *CodeSystemFilter) MarshalJSON() ([]byte, error)

func (*CodeSystemFilter) UnmarshalJSON

func (strct *CodeSystemFilter) UnmarshalJSON(b []byte) error

type CodeSystemProperty

type CodeSystemProperty struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`

	// Extensions for uri
	Uri *Element `json:"_uri,omitempty"`
}

CodeSystemProperty 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 (*CodeSystemProperty) MarshalJSON

func (strct *CodeSystemProperty) MarshalJSON() ([]byte, error)

func (*CodeSystemProperty) UnmarshalJSON

func (strct *CodeSystemProperty) UnmarshalJSON(b []byte) error

type CodeSystemProperty1

type CodeSystemProperty1 struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// The value of this property.
	ValueCode string `json:"valueCode,omitempty"`

	// The value of this property.
	ValueCoding *Coding `json:"valueCoding,omitempty"`

	// Extensions for valueDateTime
	ValueDateTime *Element `json:"_valueDateTime,omitempty"`

	// Extensions for valueDecimal
	ValueDecimal *Element `json:"_valueDecimal,omitempty"`

	// Extensions for valueInteger
	ValueInteger *Element `json:"_valueInteger,omitempty"`

	// Extensions for valueString
	ValueString *Element `json:"_valueString,omitempty"`
}

CodeSystemProperty1 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 (*CodeSystemProperty1) MarshalJSON

func (strct *CodeSystemProperty1) MarshalJSON() ([]byte, error)

func (*CodeSystemProperty1) UnmarshalJSON

func (strct *CodeSystemProperty1) UnmarshalJSON(b []byte) error

type CodeableConcept

type CodeableConcept struct {

	// A reference to a code defined by a terminology system.
	Coding []*Coding `json:"coding,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"text,omitempty"`
}

CodeableConcept A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.

func (*CodeableConcept) MarshalJSON

func (strct *CodeableConcept) MarshalJSON() ([]byte, error)

func (*CodeableConcept) UnmarshalJSON

func (strct *CodeableConcept) UnmarshalJSON(b []byte) error

type CodeableReference

type CodeableReference struct {

	// 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 `json:"concept,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A reference to a resource the provides exact details about the information being referenced.
	Reference *Reference `json:"reference,omitempty"`
}

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

func (*CodeableReference) MarshalJSON

func (strct *CodeableReference) MarshalJSON() ([]byte, error)

func (*CodeableReference) UnmarshalJSON

func (strct *CodeableReference) UnmarshalJSON(b []byte) error

type Coding

type Coding struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Extensions for display
	Display *Element `json:"_display,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for system
	System *Element `json:"_system,omitempty"`

	// Extensions for userSelected
	UserSelected *Element `json:"_userSelected,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

Coding A reference to a code defined by a terminology system.

func (*Coding) MarshalJSON

func (strct *Coding) MarshalJSON() ([]byte, error)

func (*Coding) UnmarshalJSON

func (strct *Coding) UnmarshalJSON(b []byte) error

type Communication

type Communication struct {

	// Other resources that pertain to this communication and to which this communication should be associated.
	About []*Reference `json:"about,omitempty"`

	// An order, proposal or plan fulfilled in whole or in part by this Communication.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// The type of message conveyed such as alert, notification, reminder, instruction, etc.
	Category []*CodeableConcept `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The Encounter during which this Communication was created or to which the creation of this record is tightly associated.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Prior communication that this communication is in response to.
	InResponseTo []*Reference `json:"inResponseTo,omitempty"`

	// 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 []string `json:"instantiatesCanonical,omitempty"`

	// 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 []string `json:"instantiatesUri,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// A channel that was used for this communication (e.g. email, fax).
	Medium []*CodeableConcept `json:"medium,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Additional notes or commentary about the communication by the sender, receiver or other interested parties.
	Note []*Annotation `json:"note,omitempty"`

	// Part of this action.
	PartOf []*Reference `json:"partOf,omitempty"`

	// Text, attachment(s), or resource(s) that was communicated to the recipient.
	Payload []*CommunicationPayload `json:"payload,omitempty"`

	// Characterizes how quickly the planned or in progress communication must be addressed. Includes concepts such as stat, urgent, routine.
	Priority string `json:"priority,omitempty"`

	// The reason or justification for the communication.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Indicates another resource whose existence justifies this communication.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// The time when this communication arrived at the destination.
	Received string `json:"received,omitempty"`

	// 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 `json:"recipient,omitempty"`

	// This is a Communication resource
	ResourceType interface{} `json:"resourceType"`

	// The entity (e.g. person, organization, clinical information system, or device) which was the source of the communication.
	Sender *Reference `json:"sender,omitempty"`

	// Extensions for sent
	Sent *Element `json:"_sent,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Captures the reason for the current state of the Communication.
	StatusReason *CodeableConcept `json:"statusReason,omitempty"`

	// The patient or group that was the focus of this communication.
	Subject *Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// Description of the purpose/content, similar to a subject line in an email.
	Topic *CodeableConcept `json:"topic,omitempty"`
}

Communication An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.

func (*Communication) MarshalJSON

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

func (*Communication) UnmarshalJSON

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

type CommunicationPayload

type CommunicationPayload struct {

	// A communicated content (or for multi-part communications, one portion of the communication).
	ContentAttachment *Attachment `json:"contentAttachment,omitempty"`

	// A communicated content (or for multi-part communications, one portion of the communication).
	ContentReference *Reference `json:"contentReference,omitempty"`

	// A communicated content (or for multi-part communications, one portion of the communication).
	ContentString string `json:"contentString,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

CommunicationPayload 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 (*CommunicationPayload) MarshalJSON

func (strct *CommunicationPayload) MarshalJSON() ([]byte, error)

func (*CommunicationPayload) UnmarshalJSON

func (strct *CommunicationPayload) UnmarshalJSON(b []byte) error

type CommunicationRequest

type CommunicationRequest struct {

	// Other resources that pertain to this communication request and to which this communication request should be associated.
	About []*Reference `json:"about,omitempty"`

	// For draft requests, indicates the date of initial creation.  For requests with other statuses, indicates the date of activation.
	AuthoredOn string `json:"authoredOn,omitempty"`

	// A plan or proposal that is fulfilled in whole or in part by this request.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// The type of message to be sent such as alert, notification, reminder, instruction, etc.
	Category []*CodeableConcept `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// If true indicates that the CommunicationRequest is asking for the specified action to *not* occur.
	DoNotPerform bool `json:"doNotPerform,omitempty"`

	// The Encounter during which this CommunicationRequest was created or to which the creation of this record is tightly associated.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 `json:"groupIdentifier,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// A channel that was used for this communication (e.g. email, fax).
	Medium []*CodeableConcept `json:"medium,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Comments made about the request by the requester, sender, recipient, subject or other participants.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for occurrenceDateTime
	OccurrenceDateTime *Element `json:"_occurrenceDateTime,omitempty"`

	// The time when this communication is to occur.
	OccurrencePeriod *Period `json:"occurrencePeriod,omitempty"`

	// Text, attachment(s), or resource(s) to be communicated to the recipient.
	Payload []*CommunicationRequestPayload `json:"payload,omitempty"`

	// Extensions for priority
	Priority *Element `json:"_priority,omitempty"`

	// Describes why the request is being made in coded or textual form.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Indicates another resource whose existence justifies this request.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// The entity (e.g. person, organization, clinical information system, device, group, or care team) which is the intended target of the communication.
	Recipient []*Reference `json:"recipient,omitempty"`

	// Completed or terminated request(s) whose function is taken by this new request.
	Replaces []*Reference `json:"replaces,omitempty"`

	// The device, individual, or organization who initiated the request and has responsibility for its activation.
	Requester *Reference `json:"requester,omitempty"`

	// This is a CommunicationRequest resource
	ResourceType interface{} `json:"resourceType"`

	// The entity (e.g. person, organization, clinical information system, or device) which is to be the source of the communication.
	Sender *Reference `json:"sender,omitempty"`

	// The status of the proposal or order.
	Status string `json:"status,omitempty"`

	// Captures the reason for the current state of the CommunicationRequest.
	StatusReason *CodeableConcept `json:"statusReason,omitempty"`

	// The patient or group that is the focus of this communication request.
	Subject *Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`
}

CommunicationRequest A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition.

func (*CommunicationRequest) MarshalJSON

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

func (*CommunicationRequest) UnmarshalJSON

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

type CommunicationRequestPayload

type CommunicationRequestPayload struct {

	// The communicated content (or for multi-part communications, one portion of the communication).
	ContentAttachment *Attachment `json:"contentAttachment,omitempty"`

	// The communicated content (or for multi-part communications, one portion of the communication).
	ContentReference *Reference `json:"contentReference,omitempty"`

	// Extensions for contentString
	ContentString *Element `json:"_contentString,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

CommunicationRequestPayload 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 (*CommunicationRequestPayload) MarshalJSON

func (strct *CommunicationRequestPayload) MarshalJSON() ([]byte, error)

func (*CommunicationRequestPayload) UnmarshalJSON

func (strct *CommunicationRequestPayload) UnmarshalJSON(b []byte) error

type CompartmentDefinition

type CompartmentDefinition struct {

	// Which compartment this definition describes.
	Code string `json:"code,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"date,omitempty"`

	// A free text natural language description of the compartment definition from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"name,omitempty"`

	// The name of the organization or individual that published the compartment definition.
	Publisher string `json:"publisher,omitempty"`

	// Extensions for purpose
	Purpose *Element `json:"_purpose,omitempty"`

	// Information about how a resource is related to the compartment.
	Resource []*CompartmentDefinitionResource `json:"resource,omitempty"`

	// This is a CompartmentDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// Whether the search syntax is supported,.
	Search bool `json:"search,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`

	// 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 string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`
}

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

func (*CompartmentDefinition) MarshalJSON

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

func (*CompartmentDefinition) UnmarshalJSON

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

type CompartmentDefinitionResource

type CompartmentDefinitionResource struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Extensions for documentation
	Documentation *Element `json:"_documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for param
	Param []*Element `json:"_param,omitempty"`
}

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

func (*CompartmentDefinitionResource) MarshalJSON

func (strct *CompartmentDefinitionResource) MarshalJSON() ([]byte, error)

func (*CompartmentDefinitionResource) UnmarshalJSON

func (strct *CompartmentDefinitionResource) UnmarshalJSON(b []byte) error

type Composition

type Composition struct {

	// A participant who has attested to the accuracy of the composition/document.
	Attester []*CompositionAttester `json:"attester,omitempty"`

	// Identifies who is responsible for the information in the composition, not necessarily who typed it in.
	Author []*Reference `json:"author"`

	// 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 `json:"category,omitempty"`

	// Extensions for confidentiality
	Confidentiality *Element `json:"_confidentiality,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information.
	Custodian *Reference `json:"custodian,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Describes the clinical encounter or type of care this documentation is associated with.
	Encounter *Reference `json:"encounter,omitempty"`

	// The clinical service, such as a colonoscopy or an appendectomy, being documented.
	Event []*CompositionEvent `json:"event,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time.
	Identifier *Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Relationships that this composition has with other compositions or documents that already exist.
	RelatesTo []*CompositionRelatesTo `json:"relatesTo,omitempty"`

	// This is a Composition resource
	ResourceType interface{} `json:"resourceType"`

	// The root of the sections that make up the composition.
	Section []*CompositionSection `json:"section,omitempty"`

	// The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document.
	Status string `json:"status,omitempty"`

	// 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 `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`

	// 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 `json:"type"`
}

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

func (*Composition) MarshalJSON

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

func (*Composition) UnmarshalJSON

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

type CompositionAttester

type CompositionAttester struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for mode
	Mode *Element `json:"_mode,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Who attested the composition in the specified way.
	Party *Reference `json:"party,omitempty"`

	// Extensions for time
	Time *Element `json:"_time,omitempty"`
}

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

func (*CompositionAttester) MarshalJSON

func (strct *CompositionAttester) MarshalJSON() ([]byte, error)

func (*CompositionAttester) UnmarshalJSON

func (strct *CompositionAttester) UnmarshalJSON(b []byte) error

type CompositionEvent

type CompositionEvent struct {

	// 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 `json:"code,omitempty"`

	// 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 `json:"detail,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"period,omitempty"`
}

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

func (*CompositionEvent) MarshalJSON

func (strct *CompositionEvent) MarshalJSON() ([]byte, error)

func (*CompositionEvent) UnmarshalJSON

func (strct *CompositionEvent) UnmarshalJSON(b []byte) error

type CompositionRelatesTo

type CompositionRelatesTo struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The target composition/document of this relationship.
	TargetIdentifier *Identifier `json:"targetIdentifier,omitempty"`

	// The target composition/document of this relationship.
	TargetReference *Reference `json:"targetReference,omitempty"`
}

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

func (*CompositionRelatesTo) MarshalJSON

func (strct *CompositionRelatesTo) MarshalJSON() ([]byte, error)

func (*CompositionRelatesTo) UnmarshalJSON

func (strct *CompositionRelatesTo) UnmarshalJSON(b []byte) error

type CompositionSection

type CompositionSection struct {

	// Identifies who is responsible for the information in this section, not necessarily who typed it in.
	Author []*Reference `json:"author,omitempty"`

	// A code identifying the kind of content contained within the section. This must be consistent with the section title.
	Code *CodeableConcept `json:"code,omitempty"`

	// If the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason.
	EmptyReason *CodeableConcept `json:"emptyReason,omitempty"`

	// A reference to the actual resource from which the narrative in the section is derived.
	Entry []*Reference `json:"entry,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 `json:"focus,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for mode
	Mode *Element `json:"_mode,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Specifies the order applied to the items in the section entries.
	OrderedBy *CodeableConcept `json:"orderedBy,omitempty"`

	// A nested sub-section within this section.
	Section []*CompositionSection `json:"section,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`
}

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

func (*CompositionSection) MarshalJSON

func (strct *CompositionSection) MarshalJSON() ([]byte, error)

func (*CompositionSection) UnmarshalJSON

func (strct *CompositionSection) UnmarshalJSON(b []byte) error

type ConceptMap

type ConceptMap struct {

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// A group of mappings that all have the same source and target system.
	Group []*ConceptMapGroup `json:"group,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// A legal or geographic region in which the concept map is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"name,omitempty"`

	// The name of the organization or individual that published the concept map.
	Publisher string `json:"publisher,omitempty"`

	// Explanation of why this concept map is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// This is a ConceptMap resource
	ResourceType interface{} `json:"resourceType"`

	// Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings.
	SourceCanonical string `json:"sourceCanonical,omitempty"`

	// Extensions for sourceUri
	SourceUri *Element `json:"_sourceUri,omitempty"`

	// The status of this concept map. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// 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.
	TargetCanonical string `json:"targetCanonical,omitempty"`

	// Extensions for targetUri
	TargetUri *Element `json:"_targetUri,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the concept map.
	Title string `json:"title,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

ConceptMap A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.

func (*ConceptMap) MarshalJSON

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

func (*ConceptMap) UnmarshalJSON

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

type ConceptMapDependsOn

type ConceptMapDependsOn struct {

	// Extensions for display
	Display *Element `json:"_display,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for property
	Property *Element `json:"_property,omitempty"`

	// 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 string `json:"system,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

ConceptMapDependsOn 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 (*ConceptMapDependsOn) MarshalJSON

func (strct *ConceptMapDependsOn) MarshalJSON() ([]byte, error)

func (*ConceptMapDependsOn) UnmarshalJSON

func (strct *ConceptMapDependsOn) UnmarshalJSON(b []byte) error

type ConceptMapElement

type ConceptMapElement struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Extensions for display
	Display *Element `json:"_display,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A concept from the target value set that this concept maps to.
	Target []*ConceptMapTarget `json:"target,omitempty"`
}

ConceptMapElement 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 (*ConceptMapElement) MarshalJSON

func (strct *ConceptMapElement) MarshalJSON() ([]byte, error)

func (*ConceptMapElement) UnmarshalJSON

func (strct *ConceptMapElement) UnmarshalJSON(b []byte) error

type ConceptMapGroup

type ConceptMapGroup struct {

	// Mappings for an individual concept in the source to one or more concepts in the target.
	Element []*ConceptMapElement `json:"element"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// An absolute URI that identifies the source system where the concepts to be mapped are defined.
	Source string `json:"source,omitempty"`

	// Extensions for sourceVersion
	SourceVersion *Element `json:"_sourceVersion,omitempty"`

	// Extensions for target
	Target *Element `json:"_target,omitempty"`

	// Extensions for targetVersion
	TargetVersion *Element `json:"_targetVersion,omitempty"`

	// What to do when there is no mapping for the source concept. "Unmapped" does not include codes that are unmatched, and the unmapped element is ignored in a code is specified to have equivalence = unmatched.
	Unmapped *ConceptMapUnmapped `json:"unmapped,omitempty"`
}

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 (*ConceptMapGroup) MarshalJSON

func (strct *ConceptMapGroup) MarshalJSON() ([]byte, error)

func (*ConceptMapGroup) UnmarshalJSON

func (strct *ConceptMapGroup) UnmarshalJSON(b []byte) error

type ConceptMapTarget

type ConceptMapTarget struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Extensions for comment
	Comment *Element `json:"_comment,omitempty"`

	// A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.
	DependsOn []*ConceptMapDependsOn `json:"dependsOn,omitempty"`

	// The display for the code. The display is only provided to help editors when editing the concept map.
	Display string `json:"display,omitempty"`

	// Extensions for equivalence
	Equivalence *Element `json:"_equivalence,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 []*ConceptMapDependsOn `json:"product,omitempty"`
}

ConceptMapTarget 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 (*ConceptMapTarget) MarshalJSON

func (strct *ConceptMapTarget) MarshalJSON() ([]byte, error)

func (*ConceptMapTarget) UnmarshalJSON

func (strct *ConceptMapTarget) UnmarshalJSON(b []byte) error

type ConceptMapUnmapped

type ConceptMapUnmapped struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Extensions for display
	Display *Element `json:"_display,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for mode
	Mode *Element `json:"_mode,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 string `json:"url,omitempty"`
}

ConceptMapUnmapped 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 (*ConceptMapUnmapped) MarshalJSON

func (strct *ConceptMapUnmapped) MarshalJSON() ([]byte, error)

func (*ConceptMapUnmapped) UnmarshalJSON

func (strct *ConceptMapUnmapped) UnmarshalJSON(b []byte) error

type Condition

type Condition struct {

	// 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.
	AbatementAge *Age `json:"abatementAge,omitempty"`

	// Extensions for abatementDateTime
	AbatementDateTime *Element `json:"_abatementDateTime,omitempty"`

	// 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.
	AbatementPeriod *Period `json:"abatementPeriod,omitempty"`

	// 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.
	AbatementRange *Range `json:"abatementRange,omitempty"`

	// Extensions for abatementString
	AbatementString *Element `json:"_abatementString,omitempty"`

	// Individual who is making the condition statement.
	Asserter *Reference `json:"asserter,omitempty"`

	// The anatomical location where this condition manifests itself.
	BodySite []*CodeableConcept `json:"bodySite,omitempty"`

	// A category assigned to the condition.
	Category []*CodeableConcept `json:"category,omitempty"`

	// The clinical status of the condition.
	ClinicalStatus *CodeableConcept `json:"clinicalStatus,omitempty"`

	// Identification of the condition, problem or diagnosis.
	Code *CodeableConcept `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The Encounter during which this Condition was created or to which the creation of this record is tightly associated.
	Encounter *Reference `json:"encounter,omitempty"`

	// Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition.
	Evidence []*ConditionEvidence `json:"evidence,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Additional information about the Condition. This is a general notes/comments entry  for description of the Condition, its diagnosis and prognosis.
	Note []*Annotation `json:"note,omitempty"`

	// Estimated or actual date or date-time  the condition began, in the opinion of the clinician.
	OnsetAge *Age `json:"onsetAge,omitempty"`

	// Estimated or actual date or date-time  the condition began, in the opinion of the clinician.
	OnsetDateTime string `json:"onsetDateTime,omitempty"`

	// Estimated or actual date or date-time  the condition began, in the opinion of the clinician.
	OnsetPeriod *Period `json:"onsetPeriod,omitempty"`

	// Estimated or actual date or date-time  the condition began, in the opinion of the clinician.
	OnsetRange *Range `json:"onsetRange,omitempty"`

	// Extensions for onsetString
	OnsetString *Element `json:"_onsetString,omitempty"`

	// The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date.
	RecordedDate string `json:"recordedDate,omitempty"`

	// Individual who recorded the record and takes responsibility for its content.
	Recorder *Reference `json:"recorder,omitempty"`

	// This is a Condition resource
	ResourceType interface{} `json:"resourceType"`

	// A subjective assessment of the severity of the condition as evaluated by the clinician.
	Severity *CodeableConcept `json:"severity,omitempty"`

	// Clinical stage or grade of a condition. May include formal severity assessments.
	Stage []*ConditionStage `json:"stage,omitempty"`

	// Indicates the patient or group who the condition record is associated with.
	Subject *Reference `json:"subject"`

	// 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 `json:"text,omitempty"`

	// The verification status to support the clinical status of the condition.
	VerificationStatus *CodeableConcept `json:"verificationStatus,omitempty"`
}

Condition 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 (strct *Condition) MarshalJSON() ([]byte, error)

func (*Condition) UnmarshalJSON

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

type ConditionEvidence

type ConditionEvidence struct {

	// A manifestation or symptom that led to the recording of this condition.
	Code []*CodeableConcept `json:"code,omitempty"`

	// Links to other relevant information, including pathology reports.
	Detail []*Reference `json:"detail,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

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

func (*ConditionEvidence) MarshalJSON

func (strct *ConditionEvidence) MarshalJSON() ([]byte, error)

func (*ConditionEvidence) UnmarshalJSON

func (strct *ConditionEvidence) UnmarshalJSON(b []byte) error

type ConditionStage

type ConditionStage struct {

	// Reference to a formal record of the evidence on which the staging assessment is based.
	Assessment []*Reference `json:"assessment,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific.
	Summary *CodeableConcept `json:"summary,omitempty"`

	// The kind of staging, such as pathological or clinical staging.
	Type *CodeableConcept `json:"type,omitempty"`
}

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

func (*ConditionStage) MarshalJSON

func (strct *ConditionStage) MarshalJSON() ([]byte, error)

func (*ConditionStage) UnmarshalJSON

func (strct *ConditionStage) UnmarshalJSON(b []byte) error
type Consent struct {

	// A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements.
	Category []*CodeableConcept `json:"category"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for dateTime
	DateTime *Element `json:"_dateTime,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Unique identifier for this copy of the Consent Statement.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The organization that manages the consent, and the framework within which it is executed.
	Organization []*Reference `json:"organization,omitempty"`

	// The patient/healthcare consumer to whom this consent applies.
	Patient *Reference `json:"patient,omitempty"`

	// 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 `json:"performer,omitempty"`

	// The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law.
	Policy []*ConsentPolicy `json:"policy,omitempty"`

	// A reference to the specific base computable regulation or policy.
	PolicyRule *CodeableConcept `json:"policyRule,omitempty"`

	// An exception to the base policy of this consent. An exception can be an addition or removal of access permissions.
	Provision *ConsentProvision `json:"provision,omitempty"`

	// This is a Consent resource
	ResourceType interface{} `json:"resourceType"`

	// A selector of the type of consent being presented: ADR, Privacy, Treatment, Research.  This list is now extensible.
	Scope *CodeableConcept `json:"scope"`

	// 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.
	SourceAttachment *Attachment `json:"sourceAttachment,omitempty"`

	// 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.
	SourceReference *Reference `json:"sourceReference,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`

	// 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 `json:"verification,omitempty"`
}

Consent A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.

func (*Consent) MarshalJSON

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

func (*Consent) UnmarshalJSON

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

type ConsentActor

type ConsentActor struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"reference"`

	// How the individual is involved in the resources content that is described in the exception.
	Role *CodeableConcept `json:"role"`
}

ConsentActor 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 (*ConsentActor) MarshalJSON

func (strct *ConsentActor) MarshalJSON() ([]byte, error)

func (*ConsentActor) UnmarshalJSON

func (strct *ConsentActor) UnmarshalJSON(b []byte) error

type ConsentData

type ConsentData struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// How the resource reference is interpreted when testing consent restrictions.
	Meaning string `json:"meaning,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A reference to a specific resource that defines which resources are covered by this consent.
	Reference *Reference `json:"reference"`
}

ConsentData 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 (*ConsentData) MarshalJSON

func (strct *ConsentData) MarshalJSON() ([]byte, error)

func (*ConsentData) UnmarshalJSON

func (strct *ConsentData) UnmarshalJSON(b []byte) error

type ConsentPolicy

type ConsentPolicy struct {

	// Entity or Organization having regulatory jurisdiction or accountability for  enforcing policies pertaining to Consent Directives.
	Authority string `json:"authority,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for uri
	Uri *Element `json:"_uri,omitempty"`
}

ConsentPolicy 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 (*ConsentPolicy) MarshalJSON

func (strct *ConsentPolicy) MarshalJSON() ([]byte, error)

func (*ConsentPolicy) UnmarshalJSON

func (strct *ConsentPolicy) UnmarshalJSON(b []byte) error

type ConsentProvision

type ConsentProvision struct {

	// Actions controlled by this Rule.
	Action []*CodeableConcept `json:"action,omitempty"`

	// 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 []*ConsentActor `json:"actor,omitempty"`

	// 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 `json:"class,omitempty"`

	// If this code is found in an instance, then the rule applies.
	Code []*CodeableConcept `json:"code,omitempty"`

	// The resources controlled by this rule if specific resources are referenced.
	Data []*ConsentData `json:"data,omitempty"`

	// Clinical or Operational Relevant period of time that bounds the data controlled by this rule.
	DataPeriod *Period `json:"dataPeriod,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The timeframe in this rule is valid.
	Period *Period `json:"period,omitempty"`

	// Rules which provide exceptions to the base rule or subrules.
	Provision []*ConsentProvision `json:"provision,omitempty"`

	// The context of the activities a user is taking - why the user is accessing the data - that are controlled by this rule.
	Purpose []*Coding `json:"purpose,omitempty"`

	// A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception.
	SecurityLabel []*Coding `json:"securityLabel,omitempty"`

	// Action  to take - permit or deny - when the rule conditions are met.  Not permitted in root rule, required in all nested rules.
	Type string `json:"type,omitempty"`
}

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 (*ConsentProvision) MarshalJSON

func (strct *ConsentProvision) MarshalJSON() ([]byte, error)

func (*ConsentProvision) UnmarshalJSON

func (strct *ConsentProvision) UnmarshalJSON(b []byte) error

type ConsentVerification

type ConsentVerification struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Date verification was collected.
	VerificationDate string `json:"verificationDate,omitempty"`

	// Extensions for verified
	Verified *Element `json:"_verified,omitempty"`

	// Who verified the instruction (Patient, Relative or other Authorized Person).
	VerifiedWith *Reference `json:"verifiedWith,omitempty"`
}

ConsentVerification 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 (*ConsentVerification) MarshalJSON

func (strct *ConsentVerification) MarshalJSON() ([]byte, error)

func (*ConsentVerification) UnmarshalJSON

func (strct *ConsentVerification) UnmarshalJSON(b []byte) error

type ContactDetail

type ContactDetail struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// The contact details for the individual (if a name was provided) or the organization.
	Telecom []*ContactPoint `json:"telecom,omitempty"`
}

ContactDetail Specifies contact information for a person or organization.

func (*ContactDetail) MarshalJSON

func (strct *ContactDetail) MarshalJSON() ([]byte, error)

func (*ContactDetail) UnmarshalJSON

func (strct *ContactDetail) UnmarshalJSON(b []byte) error

type ContactPoint

type ContactPoint struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Time period when the contact point was/is in use.
	Period *Period `json:"period,omitempty"`

	// Extensions for rank
	Rank *Element `json:"_rank,omitempty"`

	// Extensions for system
	System *Element `json:"_system,omitempty"`

	// Identifies the purpose for the contact point.
	Use interface{} `json:"use,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

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

func (*ContactPoint) MarshalJSON

func (strct *ContactPoint) MarshalJSON() ([]byte, error)

func (*ContactPoint) UnmarshalJSON

func (strct *ContactPoint) UnmarshalJSON(b []byte) error

type Contract

type Contract struct {

	// Extensions for alias
	Alias []*Element `json:"_alias,omitempty"`

	// Relevant time or time-period when this Contract is applicable.
	Applies *Period `json:"applies,omitempty"`

	// The individual or organization that authored the Contract definition, derivative, or instance in any legal state.
	Author *Reference `json:"author,omitempty"`

	// 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 `json:"authority,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract.
	ContentDefinition *ContractContentDefinition `json:"contentDefinition,omitempty"`

	// The minimal content derived from the basal information source at a specific stage in its lifecycle.
	ContentDerivative *CodeableConcept `json:"contentDerivative,omitempty"`

	// 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 `json:"domain,omitempty"`

	// Event resulting in discontinuation or termination of this Contract instance by one or more parties to the contract.
	ExpirationType *CodeableConcept `json:"expirationType,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 `json:"friendly,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Unique identifier for this Contract or a derivative that references a Source Contract.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The URL pointing to a FHIR-defined Contract Definition that is adhered to in whole or part by this Contract.
	InstantiatesCanonical *Reference `json:"instantiatesCanonical,omitempty"`

	// The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract.
	InstantiatesUri string `json:"instantiatesUri,omitempty"`

	// When this  Contract was issued.
	Issued string `json:"issued,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// List of Legal expressions or representations of this Contract.
	Legal []*ContractLegal `json:"legal,omitempty"`

	// 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 `json:"legalState,omitempty"`

	// 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.
	LegallyBindingAttachment *Attachment `json:"legallyBindingAttachment,omitempty"`

	// 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.
	LegallyBindingReference *Reference `json:"legallyBindingReference,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"name,omitempty"`

	// 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 `json:"relevantHistory,omitempty"`

	// This is a Contract resource
	ResourceType interface{} `json:"resourceType"`

	// List of Computable Policy Rule Language Representations of this Contract.
	Rule []*ContractRule `json:"rule,omitempty"`

	// A selector of legal concerns for this Contract definition, derivative, or instance in any legal state.
	Scope *CodeableConcept `json:"scope,omitempty"`

	// 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 `json:"signer,omitempty"`

	// Sites in which the contract is complied with,  exercised, or in force.
	Site []*Reference `json:"site,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"subType,omitempty"`

	// The target entity impacted by or of interest to parties to the agreement.
	Subject []*Reference `json:"subject,omitempty"`

	// Extensions for subtitle
	Subtitle *Element `json:"_subtitle,omitempty"`

	// Information that may be needed by/relevant to the performer in their execution of this term action.
	SupportingInfo []*Reference `json:"supportingInfo,omitempty"`

	// One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups.
	Term []*ContractTerm `json:"term,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`

	// Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.
	TopicCodeableConcept *CodeableConcept `json:"topicCodeableConcept,omitempty"`

	// Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.
	TopicReference *Reference `json:"topicReference,omitempty"`

	// 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 `json:"type,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

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

func (*Contract) MarshalJSON

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

func (*Contract) UnmarshalJSON

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

type ContractAction

type ContractAction struct {

	// Encounter or Episode with primary association to specified term activity.
	Context *Reference `json:"context,omitempty"`

	// Extensions for contextLinkId
	ContextLinkId []*Element `json:"_contextLinkId,omitempty"`

	// Extensions for doNotPerform
	DoNotPerform *Element `json:"_doNotPerform,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Reason or purpose for the action stipulated by this Contract Provision.
	Intent *CodeableConcept `json:"intent"`

	// Extensions for linkId
	LinkId []*Element `json:"_linkId,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Comments made about the term action made by the requester, performer, subject or other participants.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for occurrenceDateTime
	OccurrenceDateTime *Element `json:"_occurrenceDateTime,omitempty"`

	// When action happens.
	OccurrencePeriod *Period `json:"occurrencePeriod,omitempty"`

	// When action happens.
	OccurrenceTiming *Timing `json:"occurrenceTiming,omitempty"`

	// Indicates who or what is being asked to perform (or not perform) the ction.
	Performer *Reference `json:"performer,omitempty"`

	// Extensions for performerLinkId
	PerformerLinkId []*Element `json:"_performerLinkId,omitempty"`

	// The type of role or competency of an individual desired or required to perform or not perform the action.
	PerformerRole *CodeableConcept `json:"performerRole,omitempty"`

	// The type of individual that is desired or required to perform or not perform the action.
	PerformerType []*CodeableConcept `json:"performerType,omitempty"`

	// Extensions for reason
	Reason []*Element `json:"_reason,omitempty"`

	// Rationale for the action to be performed or not performed. Describes why the action is permitted or prohibited.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Extensions for reasonLinkId
	ReasonLinkId []*Element `json:"_reasonLinkId,omitempty"`

	// Indicates another resource whose existence justifies permitting or not permitting this action.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// Who or what initiated the action and has responsibility for its activation.
	Requester []*Reference `json:"requester,omitempty"`

	// Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.
	RequesterLinkId []string `json:"requesterLinkId,omitempty"`

	// Security labels that protects the action.
	SecurityLabelNumber []float64 `json:"securityLabelNumber,omitempty"`

	// Current state of the term action.
	Status *CodeableConcept `json:"status"`

	// Entity of the action.
	Subject []*ContractSubject `json:"subject,omitempty"`

	// Activity or service obligation to be done or not done, performed or not performed, effectuated or not by this Contract term.
	Type *CodeableConcept `json:"type"`
}

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

func (*ContractAction) MarshalJSON

func (strct *ContractAction) MarshalJSON() ([]byte, error)

func (*ContractAction) UnmarshalJSON

func (strct *ContractAction) UnmarshalJSON(b []byte) error

type ContractAnswer

type ContractAnswer struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// 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.
	ValueCoding *Coding `json:"valueCoding,omitempty"`

	// Extensions for valueDate
	ValueDate *Element `json:"_valueDate,omitempty"`

	// Extensions for valueDateTime
	ValueDateTime *Element `json:"_valueDateTime,omitempty"`

	// Extensions for valueDecimal
	ValueDecimal *Element `json:"_valueDecimal,omitempty"`

	// 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.
	ValueInteger float64 `json:"valueInteger,omitempty"`

	// 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.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// 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.
	ValueReference *Reference `json:"valueReference,omitempty"`

	// 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.
	ValueString string `json:"valueString,omitempty"`

	// Extensions for valueTime
	ValueTime *Element `json:"_valueTime,omitempty"`

	// 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.
	ValueUri string `json:"valueUri,omitempty"`
}

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

func (*ContractAnswer) MarshalJSON

func (strct *ContractAnswer) MarshalJSON() ([]byte, error)

func (*ContractAnswer) UnmarshalJSON

func (strct *ContractAnswer) UnmarshalJSON(b []byte) error

type ContractAsset

type ContractAsset struct {

	// Response to assets.
	Answer []*ContractAnswer `json:"answer,omitempty"`

	// Extensions for condition
	Condition *Element `json:"_condition,omitempty"`

	// Circumstance of the asset.
	Context []*ContractContext `json:"context,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse.
	LinkId []string `json:"linkId,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Asset relevant contractual time period.
	Period []*Period `json:"period,omitempty"`

	// Type of Asset availability for use or ownership.
	PeriodType []*CodeableConcept `json:"periodType,omitempty"`

	// 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 `json:"relationship,omitempty"`

	// Differentiates the kind of the asset .
	Scope *CodeableConcept `json:"scope,omitempty"`

	// Security labels that protects the asset.
	SecurityLabelNumber []float64 `json:"securityLabelNumber,omitempty"`

	// May be a subtype or part of an offered asset.
	Subtype []*CodeableConcept `json:"subtype,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`

	// Target entity type about which the term may be concerned.
	Type []*CodeableConcept `json:"type,omitempty"`

	// Associated entities.
	TypeReference []*Reference `json:"typeReference,omitempty"`

	// Time period of asset use.
	UsePeriod []*Period `json:"usePeriod,omitempty"`

	// Contract Valued Item List.
	ValuedItem []*ContractValuedItem `json:"valuedItem,omitempty"`
}

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

func (*ContractAsset) MarshalJSON

func (strct *ContractAsset) MarshalJSON() ([]byte, error)

func (*ContractAsset) UnmarshalJSON

func (strct *ContractAsset) UnmarshalJSON(b []byte) error

type ContractContentDefinition

type ContractContentDefinition struct {

	// 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 string `json:"copyright,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for publicationDate
	PublicationDate *Element `json:"_publicationDate,omitempty"`

	// amended | appended | cancelled | disputed | entered-in-error | executable | executed | negotiable | offered | policy | rejected | renewed | revoked | resolved | terminated.
	PublicationStatus string `json:"publicationStatus,omitempty"`

	// The  individual or organization that published the Contract precursor content.
	Publisher *Reference `json:"publisher,omitempty"`

	// Detailed Precusory content type.
	SubType *CodeableConcept `json:"subType,omitempty"`

	// 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 `json:"type"`
}

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

func (*ContractContentDefinition) MarshalJSON

func (strct *ContractContentDefinition) MarshalJSON() ([]byte, error)

func (*ContractContentDefinition) UnmarshalJSON

func (strct *ContractContentDefinition) UnmarshalJSON(b []byte) error

type ContractContext

type ContractContext struct {

	// Coded representation of the context generally or of the Referenced entity, such as the asset holder type or location.
	Code []*CodeableConcept `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"reference,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`
}

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

func (*ContractContext) MarshalJSON

func (strct *ContractContext) MarshalJSON() ([]byte, error)

func (*ContractContext) UnmarshalJSON

func (strct *ContractContext) UnmarshalJSON(b []byte) error

type ContractFriendly

type ContractFriendly struct {

	// Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.
	ContentAttachment *Attachment `json:"contentAttachment,omitempty"`

	// Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.
	ContentReference *Reference `json:"contentReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

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

func (*ContractFriendly) MarshalJSON

func (strct *ContractFriendly) MarshalJSON() ([]byte, error)

func (*ContractFriendly) UnmarshalJSON

func (strct *ContractFriendly) UnmarshalJSON(b []byte) error

type ContractLegal

type ContractLegal struct {

	// Contract legal text in human renderable form.
	ContentAttachment *Attachment `json:"contentAttachment,omitempty"`

	// Contract legal text in human renderable form.
	ContentReference *Reference `json:"contentReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

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

func (*ContractLegal) MarshalJSON

func (strct *ContractLegal) MarshalJSON() ([]byte, error)

func (*ContractLegal) UnmarshalJSON

func (strct *ContractLegal) UnmarshalJSON(b []byte) error

type ContractOffer

type ContractOffer struct {

	// Response to offer text.
	Answer []*ContractAnswer `json:"answer,omitempty"`

	// Type of choice made by accepting party with respect to an offer made by an offeror/ grantee.
	Decision *CodeableConcept `json:"decision,omitempty"`

	// How the decision about a Contract was conveyed.
	DecisionMode []*CodeableConcept `json:"decisionMode,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Unique identifier for this particular Contract Provision.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for linkId
	LinkId []*Element `json:"_linkId,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Offer Recipient.
	Party []*ContractParty `json:"party,omitempty"`

	// Security labels that protects the offer.
	SecurityLabelNumber []float64 `json:"securityLabelNumber,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`

	// 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 `json:"topic,omitempty"`

	// Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit.
	Type *CodeableConcept `json:"type,omitempty"`
}

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

func (*ContractOffer) MarshalJSON

func (strct *ContractOffer) MarshalJSON() ([]byte, error)

func (*ContractOffer) UnmarshalJSON

func (strct *ContractOffer) UnmarshalJSON(b []byte) error

type ContractParty

type ContractParty struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Participant in the offer.
	Reference []*Reference `json:"reference"`

	// How the party participates in the offer.
	Role *CodeableConcept `json:"role"`
}

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

func (*ContractParty) MarshalJSON

func (strct *ContractParty) MarshalJSON() ([]byte, error)

func (*ContractParty) UnmarshalJSON

func (strct *ContractParty) UnmarshalJSON(b []byte) error

type ContractRule

type ContractRule struct {

	// Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).
	ContentAttachment *Attachment `json:"contentAttachment,omitempty"`

	// Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).
	ContentReference *Reference `json:"contentReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

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

func (*ContractRule) MarshalJSON

func (strct *ContractRule) MarshalJSON() ([]byte, error)

func (*ContractRule) UnmarshalJSON

func (strct *ContractRule) UnmarshalJSON(b []byte) error

type ContractSecurityLabel

type ContractSecurityLabel struct {

	// Security label privacy tag that species the applicable privacy and security policies governing this term and/or term elements.
	Category []*Coding `json:"category,omitempty"`

	// Security label privacy tag that species the level of confidentiality protection required for this term and/or term elements.
	Classification *Coding `json:"classification"`

	// Security label privacy tag that species the manner in which term and/or term elements are to be protected.
	Control []*Coding `json:"control,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for number
	Number []*Element `json:"_number,omitempty"`
}

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

func (*ContractSecurityLabel) MarshalJSON

func (strct *ContractSecurityLabel) MarshalJSON() ([]byte, error)

func (*ContractSecurityLabel) UnmarshalJSON

func (strct *ContractSecurityLabel) UnmarshalJSON(b []byte) error

type ContractSigner

type ContractSigner struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Party which is a signator to this Contract.
	Party *Reference `json:"party"`

	// Legally binding Contract DSIG signature contents in Base64.
	Signature []*Signature `json:"signature"`

	// Role of this Contract signer, e.g. notary, grantee.
	Type *Coding `json:"type"`
}

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

func (*ContractSigner) MarshalJSON

func (strct *ContractSigner) MarshalJSON() ([]byte, error)

func (*ContractSigner) UnmarshalJSON

func (strct *ContractSigner) UnmarshalJSON(b []byte) error

type ContractSubject

type ContractSubject struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The entity the action is performed or not performed on or for.
	Reference []*Reference `json:"reference"`

	// Role type of agent assigned roles in this Contract.
	Role *CodeableConcept `json:"role,omitempty"`
}

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

func (*ContractSubject) MarshalJSON

func (strct *ContractSubject) MarshalJSON() ([]byte, error)

func (*ContractSubject) UnmarshalJSON

func (strct *ContractSubject) UnmarshalJSON(b []byte) error

type ContractTerm

type ContractTerm struct {

	// An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.
	Action []*ContractAction `json:"action,omitempty"`

	// Relevant time or time-period when this Contract Provision is applicable.
	Applies *Period `json:"applies,omitempty"`

	// Contract Term Asset List.
	Asset []*ContractAsset `json:"asset,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Nested group of Contract Provisions.
	Group []*ContractTerm `json:"group,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Unique identifier for this particular Contract Provision.
	Identifier *Identifier `json:"identifier,omitempty"`

	// When this Contract Provision was issued.
	Issued string `json:"issued,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The matter of concern in the context of this provision of the agrement.
	Offer *ContractOffer `json:"offer"`

	// Security labels that protect the handling of information about the term and its elements, which may be specifically identified..
	SecurityLabel []*ContractSecurityLabel `json:"securityLabel,omitempty"`

	// A specialized legal clause or condition based on overarching contract type.
	SubType *CodeableConcept `json:"subType,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`

	// The entity that the term applies to.
	TopicCodeableConcept *CodeableConcept `json:"topicCodeableConcept,omitempty"`

	// The entity that the term applies to.
	TopicReference *Reference `json:"topicReference,omitempty"`

	// 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 `json:"type,omitempty"`
}

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

func (*ContractTerm) MarshalJSON

func (strct *ContractTerm) MarshalJSON() ([]byte, error)

func (*ContractTerm) UnmarshalJSON

func (strct *ContractTerm) UnmarshalJSON(b []byte) error

type ContractValuedItem

type ContractValuedItem struct {

	// Extensions for effectiveTime
	EffectiveTime *Element `json:"_effectiveTime,omitempty"`

	// Specific type of Contract Valued Item that may be priced.
	EntityCodeableConcept *CodeableConcept `json:"entityCodeableConcept,omitempty"`

	// Specific type of Contract Valued Item that may be priced.
	EntityReference *Reference `json:"entityReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 float64 `json:"factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Identifies a Contract Valued Item instance.
	Identifier *Identifier `json:"identifier,omitempty"`

	// Extensions for linkId
	LinkId []*Element `json:"_linkId,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"net,omitempty"`

	// Extensions for payment
	Payment *Element `json:"_payment,omitempty"`

	// When payment is due.
	PaymentDate string `json:"paymentDate,omitempty"`

	// Extensions for points
	Points *Element `json:"_points,omitempty"`

	// 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 `json:"quantity,omitempty"`

	// Who will receive payment.
	Recipient *Reference `json:"recipient,omitempty"`

	// Who will make payment.
	Responsible *Reference `json:"responsible,omitempty"`

	// Extensions for securityLabelNumber
	SecurityLabelNumber []*Element `json:"_securityLabelNumber,omitempty"`

	// A Contract Valued Item unit valuation measure.
	UnitPrice *Money `json:"unitPrice,omitempty"`
}

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

func (*ContractValuedItem) MarshalJSON

func (strct *ContractValuedItem) MarshalJSON() ([]byte, error)

func (*ContractValuedItem) UnmarshalJSON

func (strct *ContractValuedItem) UnmarshalJSON(b []byte) error

type Contributor

type Contributor struct {

	// Contact details to assist a user in finding and communicating with the contributor.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

Contributor A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.

func (*Contributor) MarshalJSON

func (strct *Contributor) MarshalJSON() ([]byte, error)

func (*Contributor) UnmarshalJSON

func (strct *Contributor) UnmarshalJSON(b []byte) error

type Count

type Count struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// 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 interface{} `json:"comparator,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The identification of the system that provides the coded form of the unit.
	System string `json:"system,omitempty"`

	// A human-readable form of the unit.
	Unit string `json:"unit,omitempty"`

	// The value of the measured amount. The value includes an implicit precision in the presentation of the value.
	Value float64 `json:"value,omitempty"`
}

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

func (*Count) MarshalJSON

func (strct *Count) MarshalJSON() ([]byte, error)

func (*Count) UnmarshalJSON

func (strct *Count) UnmarshalJSON(b []byte) error

type Coverage

type Coverage struct {

	// The party who benefits from the insurance coverage; the patient when products and/or services are provided.
	Beneficiary *Reference `json:"beneficiary"`

	// A suite of underwriter specific classifiers.
	Class []*CoverageClass `json:"class,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The policy(s) which constitute this insurance coverage.
	Contract []*Reference `json:"contract,omitempty"`

	// A suite of codes indicating the cost category and associated amount which have been detailed in the policy and may have been  included on the health card.
	CostToBeneficiary []*CoverageCostToBeneficiary `json:"costToBeneficiary,omitempty"`

	// A unique identifier for a dependent under the coverage.
	Dependent string `json:"dependent,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this coverage.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"network,omitempty"`

	// 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 float64 `json:"order,omitempty"`

	// The program or plan underwriter or payor including both insurance and non-insurance agreements, such as patient-pay agreements.
	Payor []*Reference `json:"payor"`

	// 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 `json:"period,omitempty"`

	// The party who 'owns' the insurance policy.
	PolicyHolder *Reference `json:"policyHolder,omitempty"`

	// The relationship of beneficiary (patient) to the subscriber.
	Relationship *CodeableConcept `json:"relationship,omitempty"`

	// This is a Coverage resource
	ResourceType interface{} `json:"resourceType"`

	// The status of the resource instance.
	Status string `json:"status,omitempty"`

	// Extensions for subrogation
	Subrogation *Element `json:"_subrogation,omitempty"`

	// 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 `json:"subscriber,omitempty"`

	// Extensions for subscriberId
	SubscriberId *Element `json:"_subscriberId,omitempty"`

	// 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 `json:"text,omitempty"`

	// The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization.
	Type *CodeableConcept `json:"type,omitempty"`
}

Coverage Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.

func (*Coverage) MarshalJSON

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

func (*Coverage) UnmarshalJSON

func (strct *Coverage) UnmarshalJSON(b []byte) error

type CoverageClass

type CoverageClass struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// 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 `json:"type"`

	// The alphanumeric string value associated with the insurer issued label.
	Value string `json:"value,omitempty"`
}

CoverageClass Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.

func (*CoverageClass) MarshalJSON

func (strct *CoverageClass) MarshalJSON() ([]byte, error)

func (*CoverageClass) UnmarshalJSON

func (strct *CoverageClass) UnmarshalJSON(b []byte) error

type CoverageCostToBeneficiary

type CoverageCostToBeneficiary struct {

	// A suite of codes indicating exceptions or reductions to patient costs and their effective periods.
	Exception []*CoverageException `json:"exception,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The category of patient centric costs associated with treatment.
	Type *CodeableConcept `json:"type,omitempty"`

	// The amount due from the patient for the cost category.
	ValueMoney *Money `json:"valueMoney,omitempty"`

	// The amount due from the patient for the cost category.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`
}

CoverageCostToBeneficiary Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.

func (*CoverageCostToBeneficiary) MarshalJSON

func (strct *CoverageCostToBeneficiary) MarshalJSON() ([]byte, error)

func (*CoverageCostToBeneficiary) UnmarshalJSON

func (strct *CoverageCostToBeneficiary) UnmarshalJSON(b []byte) error

type CoverageEligibilityRequest

type CoverageEligibilityRequest struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for created
	Created *Element `json:"_created,omitempty"`

	// Person who created the request.
	Enterer *Reference `json:"enterer,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Facility where the services are intended to be provided.
	Facility *Reference `json:"facility,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this coverage eligiblity request.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Financial instruments for reimbursement for the health care products and services.
	Insurance []*CoverageEligibilityRequestInsurance `json:"insurance,omitempty"`

	// The Insurer who issued the coverage in question and is the recipient of the request.
	Insurer *Reference `json:"insurer"`

	// 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 `json:"item,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.
	Patient *Reference `json:"patient"`

	// When the requestor expects the processor to complete processing.
	Priority *CodeableConcept `json:"priority,omitempty"`

	// The provider which is responsible for the request.
	Provider *Reference `json:"provider,omitempty"`

	// 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 []string `json:"purpose,omitempty"`

	// This is a CoverageEligibilityRequest resource
	ResourceType interface{} `json:"resourceType"`

	// The date or dates when the enclosed suite of services were performed or completed.
	ServicedDate string `json:"servicedDate,omitempty"`

	// The date or dates when the enclosed suite of services were performed or completed.
	ServicedPeriod *Period `json:"servicedPeriod,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.
	SupportingInfo []*CoverageEligibilityRequestSupportingInfo `json:"supportingInfo,omitempty"`

	// 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 `json:"text,omitempty"`
}

CoverageEligibilityRequest The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.

func (*CoverageEligibilityRequest) MarshalJSON

func (strct *CoverageEligibilityRequest) MarshalJSON() ([]byte, error)

func (*CoverageEligibilityRequest) UnmarshalJSON

func (strct *CoverageEligibilityRequest) UnmarshalJSON(b []byte) error

type CoverageEligibilityRequestDiagnosis

type CoverageEligibilityRequestDiagnosis struct {

	// The nature of illness or problem in a coded form or as a reference to an external defined Condition.
	DiagnosisCodeableConcept *CodeableConcept `json:"diagnosisCodeableConcept,omitempty"`

	// The nature of illness or problem in a coded form or as a reference to an external defined Condition.
	DiagnosisReference *Reference `json:"diagnosisReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

CoverageEligibilityRequestDiagnosis 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 (*CoverageEligibilityRequestDiagnosis) MarshalJSON

func (strct *CoverageEligibilityRequestDiagnosis) MarshalJSON() ([]byte, error)

func (*CoverageEligibilityRequestDiagnosis) UnmarshalJSON

func (strct *CoverageEligibilityRequestDiagnosis) UnmarshalJSON(b []byte) error

type CoverageEligibilityRequestInsurance

type CoverageEligibilityRequestInsurance struct {

	// Extensions for businessArrangement
	BusinessArrangement *Element `json:"_businessArrangement,omitempty"`

	// 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 `json:"coverage"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for focal
	Focal *Element `json:"_focal,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

CoverageEligibilityRequestInsurance 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 (*CoverageEligibilityRequestInsurance) MarshalJSON

func (strct *CoverageEligibilityRequestInsurance) MarshalJSON() ([]byte, error)

func (*CoverageEligibilityRequestInsurance) UnmarshalJSON

func (strct *CoverageEligibilityRequestInsurance) UnmarshalJSON(b []byte) error

type CoverageEligibilityRequestItem

type CoverageEligibilityRequestItem struct {

	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept `json:"category,omitempty"`

	// The plan/proposal/order describing the proposed service in detail.
	Detail []*Reference `json:"detail,omitempty"`

	// Patient diagnosis for which care is sought.
	Diagnosis []*CoverageEligibilityRequestDiagnosis `json:"diagnosis,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Facility where the services will be provided.
	Facility *Reference `json:"facility,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// This contains the product, service, drug or other billing code for the item.
	ProductOrService *CodeableConcept `json:"productOrService,omitempty"`

	// The practitioner who is responsible for the product or service to be rendered to the patient.
	Provider *Reference `json:"provider,omitempty"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// Exceptions, special conditions and supporting information applicable for this service or product line.
	SupportingInfoSequence []float64 `json:"supportingInfoSequence,omitempty"`

	// The amount charged to the patient by the provider for a single unit.
	UnitPrice *Money `json:"unitPrice,omitempty"`
}

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 (*CoverageEligibilityRequestItem) MarshalJSON

func (strct *CoverageEligibilityRequestItem) MarshalJSON() ([]byte, error)

func (*CoverageEligibilityRequestItem) UnmarshalJSON

func (strct *CoverageEligibilityRequestItem) UnmarshalJSON(b []byte) error

type CoverageEligibilityRequestSupportingInfo

type CoverageEligibilityRequestSupportingInfo struct {

	// Extensions for appliesToAll
	AppliesToAll *Element `json:"_appliesToAll,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.
	Information *Reference `json:"information"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`
}

CoverageEligibilityRequestSupportingInfo 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 (*CoverageEligibilityRequestSupportingInfo) MarshalJSON

func (strct *CoverageEligibilityRequestSupportingInfo) MarshalJSON() ([]byte, error)

func (*CoverageEligibilityRequestSupportingInfo) UnmarshalJSON

func (strct *CoverageEligibilityRequestSupportingInfo) UnmarshalJSON(b []byte) error

type CoverageEligibilityResponse

type CoverageEligibilityResponse struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// The date this resource was created.
	Created string `json:"created,omitempty"`

	// Extensions for disposition
	Disposition *Element `json:"_disposition,omitempty"`

	// Errors encountered during the processing of the request.
	Error []*CoverageEligibilityResponseError `json:"error,omitempty"`

	// 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 `json:"extension,omitempty"`

	// A code for the form to be used for printing the content.
	Form *CodeableConcept `json:"form,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this coverage eligiblity request.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Financial instruments for reimbursement for the health care products and services.
	Insurance []*CoverageEligibilityResponseInsurance `json:"insurance,omitempty"`

	// The Insurer who issued the coverage in question and is the author of the response.
	Insurer *Reference `json:"insurer"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The outcome of the request processing.
	Outcome string `json:"outcome,omitempty"`

	// The party who is the beneficiary of the supplied coverage and for whom eligibility is sought.
	Patient *Reference `json:"patient"`

	// Extensions for preAuthRef
	PreAuthRef *Element `json:"_preAuthRef,omitempty"`

	// Extensions for purpose
	Purpose []*Element `json:"_purpose,omitempty"`

	// Reference to the original request resource.
	Request *Reference `json:"request"`

	// The provider which is responsible for the request.
	Requestor *Reference `json:"requestor,omitempty"`

	// This is a CoverageEligibilityResponse resource
	ResourceType interface{} `json:"resourceType"`

	// The date or dates when the enclosed suite of services were performed or completed.
	ServicedDate string `json:"servicedDate,omitempty"`

	// The date or dates when the enclosed suite of services were performed or completed.
	ServicedPeriod *Period `json:"servicedPeriod,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`
}

CoverageEligibilityResponse This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.

func (*CoverageEligibilityResponse) MarshalJSON

func (strct *CoverageEligibilityResponse) MarshalJSON() ([]byte, error)

func (*CoverageEligibilityResponse) UnmarshalJSON

func (strct *CoverageEligibilityResponse) UnmarshalJSON(b []byte) error

type CoverageEligibilityResponseBenefit

type CoverageEligibilityResponseBenefit struct {

	// The quantity of the benefit which is permitted under the coverage.
	AllowedMoney *Money `json:"allowedMoney,omitempty"`

	// Extensions for allowedString
	AllowedString *Element `json:"_allowedString,omitempty"`

	// The quantity of the benefit which is permitted under the coverage.
	AllowedUnsignedInt float64 `json:"allowedUnsignedInt,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Classification of benefit being provided.
	Type *CodeableConcept `json:"type"`

	// The quantity of the benefit which have been consumed to date.
	UsedMoney *Money `json:"usedMoney,omitempty"`

	// Extensions for usedString
	UsedString *Element `json:"_usedString,omitempty"`

	// Extensions for usedUnsignedInt
	UsedUnsignedInt *Element `json:"_usedUnsignedInt,omitempty"`
}

CoverageEligibilityResponseBenefit This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.

func (*CoverageEligibilityResponseBenefit) MarshalJSON

func (strct *CoverageEligibilityResponseBenefit) MarshalJSON() ([]byte, error)

func (*CoverageEligibilityResponseBenefit) UnmarshalJSON

func (strct *CoverageEligibilityResponseBenefit) UnmarshalJSON(b []byte) error

type CoverageEligibilityResponseError

type CoverageEligibilityResponseError struct {

	// An error code,from a specified code system, which details why the eligibility check could not be performed.
	Code *CodeableConcept `json:"code"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

CoverageEligibilityResponseError This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.

func (*CoverageEligibilityResponseError) MarshalJSON

func (strct *CoverageEligibilityResponseError) MarshalJSON() ([]byte, error)

func (*CoverageEligibilityResponseError) UnmarshalJSON

func (strct *CoverageEligibilityResponseError) UnmarshalJSON(b []byte) error

type CoverageEligibilityResponseInsurance

type CoverageEligibilityResponseInsurance struct {

	// The term of the benefits documented in this response.
	BenefitPeriod *Period `json:"benefitPeriod,omitempty"`

	// 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 `json:"coverage"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for inforce
	Inforce *Element `json:"_inforce,omitempty"`

	// Benefits and optionally current balances, and authorization details by category or service.
	Item []*CoverageEligibilityResponseItem `json:"item,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

CoverageEligibilityResponseInsurance This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.

func (*CoverageEligibilityResponseInsurance) MarshalJSON

func (strct *CoverageEligibilityResponseInsurance) MarshalJSON() ([]byte, error)

func (*CoverageEligibilityResponseInsurance) UnmarshalJSON

func (strct *CoverageEligibilityResponseInsurance) UnmarshalJSON(b []byte) error

type CoverageEligibilityResponseItem

type CoverageEligibilityResponseItem struct {

	// Extensions for authorizationRequired
	AuthorizationRequired *Element `json:"_authorizationRequired,omitempty"`

	// Codes or comments regarding information or actions associated with the preauthorization.
	AuthorizationSupporting []*CodeableConcept `json:"authorizationSupporting,omitempty"`

	// A web location for obtaining requirements or descriptive information regarding the preauthorization.
	AuthorizationUrl string `json:"authorizationUrl,omitempty"`

	// Benefits used to date.
	Benefit []*CoverageEligibilityResponseBenefit `json:"benefit,omitempty"`

	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept `json:"category,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// 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 bool `json:"excluded,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A short name or tag for the benefit.
	Name string `json:"name,omitempty"`

	// Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.
	Network *CodeableConcept `json:"network,omitempty"`

	// This contains the product, service, drug or other billing code for the item.
	ProductOrService *CodeableConcept `json:"productOrService,omitempty"`

	// The practitioner who is eligible for the provision of the product or service.
	Provider *Reference `json:"provider,omitempty"`

	// The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.
	Term *CodeableConcept `json:"term,omitempty"`

	// Indicates if the benefits apply to an individual or to the family.
	Unit *CodeableConcept `json:"unit,omitempty"`
}

CoverageEligibilityResponseItem This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.

func (*CoverageEligibilityResponseItem) MarshalJSON

func (strct *CoverageEligibilityResponseItem) MarshalJSON() ([]byte, error)

func (*CoverageEligibilityResponseItem) UnmarshalJSON

func (strct *CoverageEligibilityResponseItem) UnmarshalJSON(b []byte) error

type CoverageException

type CoverageException struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The timeframe during when the exception is in force.
	Period *Period `json:"period,omitempty"`

	// The code for the specific exception.
	Type *CodeableConcept `json:"type"`
}

CoverageException Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.

func (*CoverageException) MarshalJSON

func (strct *CoverageException) MarshalJSON() ([]byte, error)

func (*CoverageException) UnmarshalJSON

func (strct *CoverageException) UnmarshalJSON(b []byte) error

type DataRequirement

type DataRequirement struct {

	// 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 `json:"codeFilter,omitempty"`

	// Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed.
	DateFilter []*DataRequirementDateFilter `json:"dateFilter,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Specifies a maximum number of results that are required (uses the _count search parameter).
	Limit float64 `json:"limit,omitempty"`

	// Extensions for mustSupport
	MustSupport []*Element `json:"_mustSupport,omitempty"`

	// The profile of the required data, specified as the uri of the profile definition.
	Profile []string `json:"profile,omitempty"`

	// Specifies the order of the results to be returned.
	Sort []*DataRequirementSort `json:"sort,omitempty"`

	// The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed.
	SubjectCodeableConcept *CodeableConcept `json:"subjectCodeableConcept,omitempty"`

	// The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed.
	SubjectReference *Reference `json:"subjectReference,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

DataRequirement 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 (strct *DataRequirement) MarshalJSON() ([]byte, error)

func (*DataRequirement) UnmarshalJSON

func (strct *DataRequirement) UnmarshalJSON(b []byte) error

type DataRequirementCodeFilter

type DataRequirementCodeFilter struct {

	// 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 `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for path
	Path *Element `json:"_path,omitempty"`

	// Extensions for searchParam
	SearchParam *Element `json:"_searchParam,omitempty"`

	// 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 string `json:"valueSet,omitempty"`
}

DataRequirementCodeFilter 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 (*DataRequirementCodeFilter) MarshalJSON

func (strct *DataRequirementCodeFilter) MarshalJSON() ([]byte, error)

func (*DataRequirementCodeFilter) UnmarshalJSON

func (strct *DataRequirementCodeFilter) UnmarshalJSON(b []byte) error

type DataRequirementDateFilter

type DataRequirementDateFilter struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for path
	Path *Element `json:"_path,omitempty"`

	// 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 `json:"searchParam,omitempty"`

	// 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.
	ValueDateTime string `json:"valueDateTime,omitempty"`

	// 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.
	ValueDuration *Duration `json:"valueDuration,omitempty"`

	// 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.
	ValuePeriod *Period `json:"valuePeriod,omitempty"`
}

DataRequirementDateFilter 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 (*DataRequirementDateFilter) MarshalJSON

func (strct *DataRequirementDateFilter) MarshalJSON() ([]byte, error)

func (*DataRequirementDateFilter) UnmarshalJSON

func (strct *DataRequirementDateFilter) UnmarshalJSON(b []byte) error

type DataRequirementSort

type DataRequirementSort struct {

	// Extensions for direction
	Direction *Element `json:"_direction,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"path,omitempty"`
}

DataRequirementSort 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 (*DataRequirementSort) MarshalJSON

func (strct *DataRequirementSort) MarshalJSON() ([]byte, error)

func (*DataRequirementSort) UnmarshalJSON

func (strct *DataRequirementSort) UnmarshalJSON(b []byte) error

type DetectedIssue

type DetectedIssue struct {

	// Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review.
	Author *Reference `json:"author,omitempty"`

	// Identifies the general type of issue identified.
	Code *CodeableConcept `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for detail
	Detail *Element `json:"_detail,omitempty"`

	// Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport.
	Evidence []*DetectedIssueEvidence `json:"evidence,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Extensions for identifiedDateTime
	IdentifiedDateTime *Element `json:"_identifiedDateTime,omitempty"`

	// The date or period when the detected issue was initially identified.
	IdentifiedPeriod *Period `json:"identifiedPeriod,omitempty"`

	// Business identifier associated with the detected issue record.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Indicates the resource representing the current activity or proposed activity that is potentially problematic.
	Implicated []*Reference `json:"implicated,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.
	Mitigation []*DetectedIssueMitigation `json:"mitigation,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Indicates the patient whose record the detected issue is associated with.
	Patient *Reference `json:"patient,omitempty"`

	// Extensions for reference
	Reference *Element `json:"_reference,omitempty"`

	// This is a DetectedIssue resource
	ResourceType interface{} `json:"resourceType"`

	// Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.
	Severity string `json:"severity,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`
}

DetectedIssue Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc.

func (*DetectedIssue) MarshalJSON

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

func (*DetectedIssue) UnmarshalJSON

func (strct *DetectedIssue) UnmarshalJSON(b []byte) error

type DetectedIssueEvidence

type DetectedIssueEvidence struct {

	// A manifestation that led to the recording of this detected issue.
	Code []*CodeableConcept `json:"code,omitempty"`

	// Links to resources that constitute evidence for the detected issue such as a GuidanceResponse or MeasureReport.
	Detail []*Reference `json:"detail,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

DetectedIssueEvidence 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 (*DetectedIssueEvidence) MarshalJSON

func (strct *DetectedIssueEvidence) MarshalJSON() ([]byte, error)

func (*DetectedIssueEvidence) UnmarshalJSON

func (strct *DetectedIssueEvidence) UnmarshalJSON(b []byte) error

type DetectedIssueMitigation

type DetectedIssueMitigation struct {

	// Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue.
	Action *CodeableConcept `json:"action"`

	// Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring.
	Author *Reference `json:"author,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

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 (*DetectedIssueMitigation) MarshalJSON

func (strct *DetectedIssueMitigation) MarshalJSON() ([]byte, error)

func (*DetectedIssueMitigation) UnmarshalJSON

func (strct *DetectedIssueMitigation) UnmarshalJSON(b []byte) error

type Device

type Device struct {

	// Contact details for an organization or a particular human that is responsible for the device.
	Contact []*ContactPoint `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The reference to the definition for the device.
	Definition *Reference `json:"definition,omitempty"`

	// 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 `json:"deviceName,omitempty"`

	// Extensions for distinctIdentifier
	DistinctIdentifier *Element `json:"_distinctIdentifier,omitempty"`

	// The date and time beyond which this device is no longer valid or should not be used (if applicable).
	ExpirationDate string `json:"expirationDate,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Unique instance identifiers assigned to a device by manufacturers other organizations or owners.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The place where the device can be found.
	Location *Reference `json:"location,omitempty"`

	// Lot number assigned by the manufacturer.
	LotNumber string `json:"lotNumber,omitempty"`

	// Extensions for manufactureDate
	ManufactureDate *Element `json:"_manufactureDate,omitempty"`

	// A name of the manufacturer.
	Manufacturer string `json:"manufacturer,omitempty"`

	// 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 `json:"meta,omitempty"`

	// Extensions for modelNumber
	ModelNumber *Element `json:"_modelNumber,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Descriptive information, usage information or implantation information that is not captured in an existing element.
	Note []*Annotation `json:"note,omitempty"`

	// An organization that is responsible for the provision and ongoing maintenance of the device.
	Owner *Reference `json:"owner,omitempty"`

	// The device that this device is attached to or is part of.
	Parent *Reference `json:"parent,omitempty"`

	// Extensions for partNumber
	PartNumber *Element `json:"_partNumber,omitempty"`

	// Patient information, If the device is affixed to a person.
	Patient *Reference `json:"patient,omitempty"`

	// The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties.
	Property []*DeviceProperty `json:"property,omitempty"`

	// This is a Device resource
	ResourceType interface{} `json:"resourceType"`

	// Provides additional safety characteristics about a medical device.  For example devices containing latex.
	Safety []*CodeableConcept `json:"safety,omitempty"`

	// Extensions for serialNumber
	SerialNumber *Element `json:"_serialNumber,omitempty"`

	// The capabilities supported on a  device, the standards to which the device conforms for a particular purpose, and used for the communication.
	Specialization []*DeviceSpecialization `json:"specialization,omitempty"`

	// Status of the Device availability.
	Status string `json:"status,omitempty"`

	// Reason for the dtatus of the Device availability.
	StatusReason []*CodeableConcept `json:"statusReason,omitempty"`

	// 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 `json:"text,omitempty"`

	// The kind or type of device.
	Type *CodeableConcept `json:"type,omitempty"`

	// Unique device identifier (UDI) assigned to device label or package.  Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold.
	UdiCarrier []*DeviceUdiCarrier `json:"udiCarrier,omitempty"`

	// A network address on which the device may be contacted directly.
	Url string `json:"url,omitempty"`

	// The actual design of the device or software version running on the device.
	Version []*DeviceVersion `json:"version,omitempty"`
}

Device A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.

func (*Device) MarshalJSON

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

func (*Device) UnmarshalJSON

func (strct *Device) UnmarshalJSON(b []byte) error

type DeviceDefinition

type DeviceDefinition struct {

	// Device capabilities.
	Capability []*DeviceDefinitionCapability `json:"capability,omitempty"`

	// Contact details for an organization or a particular human that is responsible for the device.
	Contact []*ContactPoint `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// A name given to the device to identify it.
	DeviceName []*DeviceDefinitionDeviceName `json:"deviceName,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Unique instance identifiers assigned to a device by the software, manufacturers, other organizations or owners. For example: handle ID.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Language code for the human-readable text strings produced by the device (all supported).
	LanguageCode []*CodeableConcept `json:"languageCode,omitempty"`

	// A name of the manufacturer.
	ManufacturerReference *Reference `json:"manufacturerReference,omitempty"`

	// Extensions for manufacturerString
	ManufacturerString *Element `json:"_manufacturerString,omitempty"`

	// A substance used to create the material(s) of which the device is made.
	Material []*DeviceDefinitionMaterial `json:"material,omitempty"`

	// 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 `json:"meta,omitempty"`

	// The model number for the device.
	ModelNumber string `json:"modelNumber,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Descriptive information, usage information or implantation information that is not captured in an existing element.
	Note []*Annotation `json:"note,omitempty"`

	// Access to on-line information about the device.
	OnlineInformation string `json:"onlineInformation,omitempty"`

	// An organization that is responsible for the provision and ongoing maintenance of the device.
	Owner *Reference `json:"owner,omitempty"`

	// The parent device it can be part of.
	ParentDevice *Reference `json:"parentDevice,omitempty"`

	// Dimensions, color etc.
	PhysicalCharacteristics *ProdCharacteristic `json:"physicalCharacteristics,omitempty"`

	// The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties.
	Property []*DeviceDefinitionProperty `json:"property,omitempty"`

	// 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 `json:"quantity,omitempty"`

	// This is a DeviceDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// Safety characteristics of the device.
	Safety []*CodeableConcept `json:"safety,omitempty"`

	// Shelf Life and storage information.
	ShelfLifeStorage []*ProductShelfLife `json:"shelfLifeStorage,omitempty"`

	// The capabilities supported on a  device, the standards to which the device conforms for a particular purpose, and used for the communication.
	Specialization []*DeviceDefinitionSpecialization `json:"specialization,omitempty"`

	// 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 `json:"text,omitempty"`

	// What kind of device or device system this is.
	Type *CodeableConcept `json:"type,omitempty"`

	// Unique device identifier (UDI) assigned to device label or package.  Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold.
	UdiDeviceIdentifier []*DeviceDefinitionUdiDeviceIdentifier `json:"udiDeviceIdentifier,omitempty"`

	// A network address on which the device may be contacted directly.
	Url string `json:"url,omitempty"`

	// Extensions for version
	Version []*Element `json:"_version,omitempty"`
}

DeviceDefinition The characteristics, operational status and capabilities of a medical-related component of a medical device.

func (*DeviceDefinition) MarshalJSON

func (strct *DeviceDefinition) MarshalJSON() ([]byte, error)

func (*DeviceDefinition) UnmarshalJSON

func (strct *DeviceDefinition) UnmarshalJSON(b []byte) error

type DeviceDefinitionCapability

type DeviceDefinitionCapability struct {

	// Description of capability.
	Description []*CodeableConcept `json:"description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Type of capability.
	Type *CodeableConcept `json:"type"`
}

DeviceDefinitionCapability The characteristics, operational status and capabilities of a medical-related component of a medical device.

func (*DeviceDefinitionCapability) MarshalJSON

func (strct *DeviceDefinitionCapability) MarshalJSON() ([]byte, error)

func (*DeviceDefinitionCapability) UnmarshalJSON

func (strct *DeviceDefinitionCapability) UnmarshalJSON(b []byte) error

type DeviceDefinitionDeviceName

type DeviceDefinitionDeviceName struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

DeviceDefinitionDeviceName The characteristics, operational status and capabilities of a medical-related component of a medical device.

func (*DeviceDefinitionDeviceName) MarshalJSON

func (strct *DeviceDefinitionDeviceName) MarshalJSON() ([]byte, error)

func (*DeviceDefinitionDeviceName) UnmarshalJSON

func (strct *DeviceDefinitionDeviceName) UnmarshalJSON(b []byte) error

type DeviceDefinitionMaterial

type DeviceDefinitionMaterial struct {

	// Whether the substance is a known or suspected allergen.
	AllergenicIndicator bool `json:"allergenicIndicator,omitempty"`

	// Extensions for alternate
	Alternate *Element `json:"_alternate,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The substance.
	Substance *CodeableConcept `json:"substance"`
}

DeviceDefinitionMaterial The characteristics, operational status and capabilities of a medical-related component of a medical device.

func (*DeviceDefinitionMaterial) MarshalJSON

func (strct *DeviceDefinitionMaterial) MarshalJSON() ([]byte, error)

func (*DeviceDefinitionMaterial) UnmarshalJSON

func (strct *DeviceDefinitionMaterial) UnmarshalJSON(b []byte) error

type DeviceDefinitionProperty

type DeviceDefinitionProperty struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Code that specifies the property DeviceDefinitionPropetyCode (Extensible).
	Type *CodeableConcept `json:"type"`

	// Property value as a code, e.g., NTP4 (synced to NTP).
	ValueCode []*CodeableConcept `json:"valueCode,omitempty"`

	// Property value as a quantity.
	ValueQuantity []*Quantity `json:"valueQuantity,omitempty"`
}

DeviceDefinitionProperty The characteristics, operational status and capabilities of a medical-related component of a medical device.

func (*DeviceDefinitionProperty) MarshalJSON

func (strct *DeviceDefinitionProperty) MarshalJSON() ([]byte, error)

func (*DeviceDefinitionProperty) UnmarshalJSON

func (strct *DeviceDefinitionProperty) UnmarshalJSON(b []byte) error

type DeviceDefinitionSpecialization

type DeviceDefinitionSpecialization struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for systemType
	SystemType *Element `json:"_systemType,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

DeviceDefinitionSpecialization The characteristics, operational status and capabilities of a medical-related component of a medical device.

func (*DeviceDefinitionSpecialization) MarshalJSON

func (strct *DeviceDefinitionSpecialization) MarshalJSON() ([]byte, error)

func (*DeviceDefinitionSpecialization) UnmarshalJSON

func (strct *DeviceDefinitionSpecialization) UnmarshalJSON(b []byte) error

type DeviceDefinitionUdiDeviceIdentifier

type DeviceDefinitionUdiDeviceIdentifier struct {

	// Extensions for deviceIdentifier
	DeviceIdentifier *Element `json:"_deviceIdentifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The organization that assigns the identifier algorithm.
	Issuer string `json:"issuer,omitempty"`

	// Extensions for jurisdiction
	Jurisdiction *Element `json:"_jurisdiction,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

DeviceDefinitionUdiDeviceIdentifier The characteristics, operational status and capabilities of a medical-related component of a medical device.

func (*DeviceDefinitionUdiDeviceIdentifier) MarshalJSON

func (strct *DeviceDefinitionUdiDeviceIdentifier) MarshalJSON() ([]byte, error)

func (*DeviceDefinitionUdiDeviceIdentifier) UnmarshalJSON

func (strct *DeviceDefinitionUdiDeviceIdentifier) UnmarshalJSON(b []byte) error

type DeviceDeviceName

type DeviceDeviceName struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

DeviceDeviceName A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.

func (*DeviceDeviceName) MarshalJSON

func (strct *DeviceDeviceName) MarshalJSON() ([]byte, error)

func (*DeviceDeviceName) UnmarshalJSON

func (strct *DeviceDeviceName) UnmarshalJSON(b []byte) error

type DeviceMetric

type DeviceMetric struct {

	// Describes the calibrations that have been performed or that are required to be performed.
	Calibration []*DeviceMetricCalibration `json:"calibration,omitempty"`

	// Extensions for category
	Category *Element `json:"_category,omitempty"`

	// Extensions for color
	Color *Element `json:"_color,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Unique instance identifiers assigned to a device by the device or gateway software, manufacturers, other organizations or owners. For example: handle ID.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"measurementPeriod,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Indicates current operational state of the device. For example: On, Off, Standby, etc.
	OperationalStatus string `json:"operationalStatus,omitempty"`

	// 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 `json:"parent,omitempty"`

	// This is a DeviceMetric resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"source,omitempty"`

	// 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 `json:"text,omitempty"`

	// Describes the type of the metric. For example: Heart Rate, PEEP Setting, etc.
	Type *CodeableConcept `json:"type"`

	// Describes the unit that an observed value determined for this metric will have. For example: Percent, Seconds, etc.
	Unit *CodeableConcept `json:"unit,omitempty"`
}

DeviceMetric Describes a measurement, calculation or setting capability of a medical device.

func (*DeviceMetric) MarshalJSON

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

func (*DeviceMetric) UnmarshalJSON

func (strct *DeviceMetric) UnmarshalJSON(b []byte) error

type DeviceMetricCalibration

type DeviceMetricCalibration struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for state
	State *Element `json:"_state,omitempty"`

	// Describes the time last calibration has been performed.
	Time string `json:"time,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

DeviceMetricCalibration Describes a measurement, calculation or setting capability of a medical device.

func (*DeviceMetricCalibration) MarshalJSON

func (strct *DeviceMetricCalibration) MarshalJSON() ([]byte, error)

func (*DeviceMetricCalibration) UnmarshalJSON

func (strct *DeviceMetricCalibration) UnmarshalJSON(b []byte) error

type DeviceProperty

type DeviceProperty struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Code that specifies the property DeviceDefinitionPropetyCode (Extensible).
	Type *CodeableConcept `json:"type"`

	// Property value as a code, e.g., NTP4 (synced to NTP).
	ValueCode []*CodeableConcept `json:"valueCode,omitempty"`

	// Property value as a quantity.
	ValueQuantity []*Quantity `json:"valueQuantity,omitempty"`
}

DeviceProperty A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.

func (*DeviceProperty) MarshalJSON

func (strct *DeviceProperty) MarshalJSON() ([]byte, error)

func (*DeviceProperty) UnmarshalJSON

func (strct *DeviceProperty) UnmarshalJSON(b []byte) error

type DeviceRequest

type DeviceRequest struct {

	// When the request transitioned to being actionable.
	AuthoredOn string `json:"authoredOn,omitempty"`

	// Plan/proposal/order fulfilled by this request.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// The details of the device to be used.
	CodeCodeableConcept *CodeableConcept `json:"codeCodeableConcept,omitempty"`

	// The details of the device to be used.
	CodeReference *Reference `json:"codeReference,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// An encounter that provides additional context in which this request is made.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Composite request this is part of.
	GroupIdentifier *Identifier `json:"groupIdentifier,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifiers assigned to this order by the orderer or by the receiver.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// 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 []string `json:"instantiatesCanonical,omitempty"`

	// 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 []string `json:"instantiatesUri,omitempty"`

	// Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.
	Insurance []*Reference `json:"insurance,omitempty"`

	// Extensions for intent
	Intent *Element `json:"_intent,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"note,omitempty"`

	// Extensions for occurrenceDateTime
	OccurrenceDateTime *Element `json:"_occurrenceDateTime,omitempty"`

	// 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".
	OccurrencePeriod *Period `json:"occurrencePeriod,omitempty"`

	// 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".
	OccurrenceTiming *Timing `json:"occurrenceTiming,omitempty"`

	// Specific parameters for the ordered item.  For example, the prism value for lenses.
	Parameter []*DeviceRequestParameter `json:"parameter,omitempty"`

	// The desired performer for doing the diagnostic testing.
	Performer *Reference `json:"performer,omitempty"`

	// Desired type of performer for doing the diagnostic testing.
	PerformerType *CodeableConcept `json:"performerType,omitempty"`

	// The request takes the place of the referenced completed or terminated request(s).
	PriorRequest []*Reference `json:"priorRequest,omitempty"`

	// Extensions for priority
	Priority *Element `json:"_priority,omitempty"`

	// Reason or justification for the use of this device.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Reason or justification for the use of this device.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// Key events in the history of the request.
	RelevantHistory []*Reference `json:"relevantHistory,omitempty"`

	// The individual who initiated the request and has responsibility for its activation.
	Requester *Reference `json:"requester,omitempty"`

	// This is a DeviceRequest resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// The patient who will use the device.
	Subject *Reference `json:"subject"`

	// 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 `json:"supportingInfo,omitempty"`

	// 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 `json:"text,omitempty"`
}

DeviceRequest Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker.

func (*DeviceRequest) MarshalJSON

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

func (*DeviceRequest) UnmarshalJSON

func (strct *DeviceRequest) UnmarshalJSON(b []byte) error

type DeviceRequestParameter

type DeviceRequestParameter struct {

	// A code or string that identifies the device detail being asserted.
	Code *CodeableConcept `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// The value of the device detail.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// The value of the device detail.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// The value of the device detail.
	ValueRange *Range `json:"valueRange,omitempty"`
}

DeviceRequestParameter 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 (*DeviceRequestParameter) MarshalJSON

func (strct *DeviceRequestParameter) MarshalJSON() ([]byte, error)

func (*DeviceRequestParameter) UnmarshalJSON

func (strct *DeviceRequestParameter) UnmarshalJSON(b []byte) error

type DeviceSpecialization

type DeviceSpecialization struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The standard that is used to operate and communicate.
	SystemType *CodeableConcept `json:"systemType"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

DeviceSpecialization A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.

func (*DeviceSpecialization) MarshalJSON

func (strct *DeviceSpecialization) MarshalJSON() ([]byte, error)

func (*DeviceSpecialization) UnmarshalJSON

func (strct *DeviceSpecialization) UnmarshalJSON(b []byte) error

type DeviceUdiCarrier

type DeviceUdiCarrier struct {

	// Extensions for carrierAIDC
	CarrierAIDC *Element `json:"_carrierAIDC,omitempty"`

	// 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 `json:"carrierHRF,omitempty"`

	// Extensions for deviceIdentifier
	DeviceIdentifier *Element `json:"_deviceIdentifier,omitempty"`

	// Extensions for entryType
	EntryType *Element `json:"_entryType,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for issuer
	Issuer *Element `json:"_issuer,omitempty"`

	// Extensions for jurisdiction
	Jurisdiction *Element `json:"_jurisdiction,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

DeviceUdiCarrier A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.

func (*DeviceUdiCarrier) MarshalJSON

func (strct *DeviceUdiCarrier) MarshalJSON() ([]byte, error)

func (*DeviceUdiCarrier) UnmarshalJSON

func (strct *DeviceUdiCarrier) UnmarshalJSON(b []byte) error

type DeviceUseStatement

type DeviceUseStatement struct {

	// A plan, proposal or order that is fulfilled in whole or in part by this DeviceUseStatement.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// Indicates the anotomic location on the subject's body where the device was used ( i.e. the target).
	BodySite *CodeableConcept `json:"bodySite,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Allows linking the DeviceUseStatement to the underlying Request, or to other information that supports or is used to derive the DeviceUseStatement.
	DerivedFrom []*Reference `json:"derivedFrom,omitempty"`

	// The details of the device used.
	Device *Reference `json:"device"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// An external identifier for this statement such as an IRI.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"note,omitempty"`

	// Reason or justification for the use of the device.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Indicates another resource whose existence justifies this DeviceUseStatement.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// Extensions for recordedOn
	RecordedOn *Element `json:"_recordedOn,omitempty"`

	// This is a DeviceUseStatement resource
	ResourceType interface{} `json:"resourceType"`

	// Who reported the device was being used by the patient.
	Source *Reference `json:"source,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// The patient who used the device.
	Subject *Reference `json:"subject"`

	// 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 `json:"text,omitempty"`

	// Extensions for timingDateTime
	TimingDateTime *Element `json:"_timingDateTime,omitempty"`

	// How often the device was used.
	TimingPeriod *Period `json:"timingPeriod,omitempty"`

	// How often the device was used.
	TimingTiming *Timing `json:"timingTiming,omitempty"`
}

DeviceUseStatement A record of a device being used by a patient where the record is the result of a report from the patient or another clinician.

func (*DeviceUseStatement) MarshalJSON

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

func (*DeviceUseStatement) UnmarshalJSON

func (strct *DeviceUseStatement) UnmarshalJSON(b []byte) error

type DeviceVersion

type DeviceVersion struct {

	// A single component of the device version.
	Component *Identifier `json:"component,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The type of the device version, e.g. manufacturer, approved, internal.
	Type *CodeableConcept `json:"type,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

DeviceVersion A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.

func (*DeviceVersion) MarshalJSON

func (strct *DeviceVersion) MarshalJSON() ([]byte, error)

func (*DeviceVersion) UnmarshalJSON

func (strct *DeviceVersion) UnmarshalJSON(b []byte) error

type DiagnosticReport

type DiagnosticReport struct {

	// Details concerning a service requested.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// 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 `json:"category,omitempty"`

	// A code or name that describes this diagnostic report.
	Code *CodeableConcept `json:"code"`

	// Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report.
	Conclusion string `json:"conclusion,omitempty"`

	// One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report.
	ConclusionCode []*CodeableConcept `json:"conclusionCode,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for effectiveDateTime
	EffectiveDateTime *Element `json:"_effectiveDateTime,omitempty"`

	// 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.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// The healthcare event  (e.g. a patient and healthcare provider interaction) which this DiagnosticReport is about.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifiers assigned to this report by the performer or other systems.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 `json:"imagingStudy,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified.
	Issued string `json:"issued,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"media,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The diagnostic service that is responsible for issuing the report.
	Performer []*Reference `json:"performer,omitempty"`

	// 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 `json:"presentedForm,omitempty"`

	// This is a DiagnosticReport resource
	ResourceType interface{} `json:"resourceType"`

	// [Observations](observation.html)  that are part of this diagnostic report.
	Result []*Reference `json:"result,omitempty"`

	// The practitioner or organization that is responsible for the report's conclusions and interpretations.
	ResultsInterpreter []*Reference `json:"resultsInterpreter,omitempty"`

	// Details about the specimens on which this diagnostic report is based.
	Specimen []*Reference `json:"specimen,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`
}

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

func (*DiagnosticReport) MarshalJSON

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

func (*DiagnosticReport) UnmarshalJSON

func (strct *DiagnosticReport) UnmarshalJSON(b []byte) error

type DiagnosticReportMedia

type DiagnosticReportMedia struct {

	// 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 `json:"comment,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Reference to the image source.
	Link *Reference `json:"link"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

DiagnosticReportMedia The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.

func (*DiagnosticReportMedia) MarshalJSON

func (strct *DiagnosticReportMedia) MarshalJSON() ([]byte, error)

func (*DiagnosticReportMedia) UnmarshalJSON

func (strct *DiagnosticReportMedia) UnmarshalJSON(b []byte) error

type Distance

type Distance struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// 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 interface{} `json:"comparator,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The identification of the system that provides the coded form of the unit.
	System string `json:"system,omitempty"`

	// A human-readable form of the unit.
	Unit string `json:"unit,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

Distance A length - a value with a unit that is a physical distance.

func (*Distance) MarshalJSON

func (strct *Distance) MarshalJSON() ([]byte, error)

func (*Distance) UnmarshalJSON

func (strct *Distance) UnmarshalJSON(b []byte) error

type DocumentManifest

type DocumentManifest struct {

	// Identifies who is the author of the manifest. Manifest author is not necessarly the author of the references included.
	Author []*Reference `json:"author,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The list of Resources that consist of the parts of this manifest.
	Content []*Reference `json:"content"`

	// 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 string `json:"created,omitempty"`

	// Human-readable description of the source document. This is sometimes known as the "title".
	Description string `json:"description,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Other identifiers associated with the document manifest, including version independent  identifiers.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts.
	MasterIdentifier *Identifier `json:"masterIdentifier,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// A patient, practitioner, or organization for which this set of documents is intended.
	Recipient []*Reference `json:"recipient,omitempty"`

	// Related identifiers or resources associated with the DocumentManifest.
	Related []*DocumentManifestRelated `json:"related,omitempty"`

	// This is a DocumentManifest resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for source
	Source *Element `json:"_source,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// The code specifying the type of clinical activity that resulted in placing the associated content into the DocumentManifest.
	Type *CodeableConcept `json:"type,omitempty"`
}

DocumentManifest A collection of documents compiled for a purpose together with metadata that applies to the collection.

func (*DocumentManifest) MarshalJSON

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

func (*DocumentManifest) UnmarshalJSON

func (strct *DocumentManifest) UnmarshalJSON(b []byte) error

type DocumentManifestRelated

type DocumentManifestRelated struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Related identifier to this DocumentManifest.  For example, Order numbers, accession numbers, XDW workflow numbers.
	Identifier *Identifier `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Related Resource to this DocumentManifest. For example, Order, ServiceRequest,  Procedure, EligibilityRequest, etc.
	Ref *Reference `json:"ref,omitempty"`
}

DocumentManifestRelated A collection of documents compiled for a purpose together with metadata that applies to the collection.

func (*DocumentManifestRelated) MarshalJSON

func (strct *DocumentManifestRelated) MarshalJSON() ([]byte, error)

func (*DocumentManifestRelated) UnmarshalJSON

func (strct *DocumentManifestRelated) UnmarshalJSON(b []byte) error

type DocumentReference

type DocumentReference struct {

	// Which person or organization authenticates that this document is valid.
	Authenticator *Reference `json:"authenticator,omitempty"`

	// Identifies who is responsible for adding the information to the document.
	Author []*Reference `json:"author,omitempty"`

	// 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 `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The document and format referenced. There may be multiple content element repetitions, each with a different format.
	Content []*DocumentReferenceContent `json:"content"`

	// The clinical context in which the document was prepared.
	Context *DocumentReferenceContext `json:"context,omitempty"`

	// Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.
	Custodian *Reference `json:"custodian,omitempty"`

	// When the document reference was created.
	Date string `json:"date,omitempty"`

	// Human-readable description of the source document.
	Description string `json:"description,omitempty"`

	// Extensions for docStatus
	DocStatus *Element `json:"_docStatus,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Other identifiers associated with the document, including version independent identifiers.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"masterIdentifier,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Relationships that this document has with other document references that already exist.
	RelatesTo []*DocumentReferenceRelatesTo `json:"relatesTo,omitempty"`

	// This is a DocumentReference resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"securityLabel,omitempty"`

	// The status of this document reference.
	Status string `json:"status,omitempty"`

	// 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 `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// 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 `json:"type,omitempty"`
}

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

func (*DocumentReference) MarshalJSON

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

func (*DocumentReference) UnmarshalJSON

func (strct *DocumentReference) UnmarshalJSON(b []byte) error

type DocumentReferenceContent

type DocumentReferenceContent struct {

	// The document or URL of the document along with critical metadata to prove content has integrity.
	Attachment *Attachment `json:"attachment"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType.
	Format *Coding `json:"format,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

DocumentReferenceContent 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 (*DocumentReferenceContent) MarshalJSON

func (strct *DocumentReferenceContent) MarshalJSON() ([]byte, error)

func (*DocumentReferenceContent) UnmarshalJSON

func (strct *DocumentReferenceContent) UnmarshalJSON(b []byte) error

type DocumentReferenceContext

type DocumentReferenceContext struct {

	// Describes the clinical encounter or type of care that the document content is associated with.
	Encounter []*Reference `json:"encounter,omitempty"`

	// 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 `json:"event,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The kind of facility where the patient was seen.
	FacilityType *CodeableConcept `json:"facilityType,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The time period over which the service that is described by the document was provided.
	Period *Period `json:"period,omitempty"`

	// This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.
	PracticeSetting *CodeableConcept `json:"practiceSetting,omitempty"`

	// Related identifiers or resources associated with the DocumentReference.
	Related []*Reference `json:"related,omitempty"`

	// The Patient Information as known when the document was published. May be a reference to a version specific, or contained.
	SourcePatientInfo *Reference `json:"sourcePatientInfo,omitempty"`
}

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 (*DocumentReferenceContext) MarshalJSON

func (strct *DocumentReferenceContext) MarshalJSON() ([]byte, error)

func (*DocumentReferenceContext) UnmarshalJSON

func (strct *DocumentReferenceContext) UnmarshalJSON(b []byte) error

type DocumentReferenceRelatesTo

type DocumentReferenceRelatesTo struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The target document of this relationship.
	Target *Reference `json:"target"`
}

DocumentReferenceRelatesTo 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 (*DocumentReferenceRelatesTo) MarshalJSON

func (strct *DocumentReferenceRelatesTo) MarshalJSON() ([]byte, error)

func (*DocumentReferenceRelatesTo) UnmarshalJSON

func (strct *DocumentReferenceRelatesTo) UnmarshalJSON(b []byte) error

type Dosage

type Dosage struct {

	// 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 `json:"additionalInstruction,omitempty"`

	// Extensions for asNeededBoolean
	AsNeededBoolean *Element `json:"_asNeededBoolean,omitempty"`

	// 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).
	AsNeededCodeableConcept *CodeableConcept `json:"asNeededCodeableConcept,omitempty"`

	// The amount of medication administered.
	DoseAndRate []*DosageDoseAndRate `json:"doseAndRate,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Upper limit on medication per administration.
	MaxDosePerAdministration *Quantity `json:"maxDosePerAdministration,omitempty"`

	// Upper limit on medication per lifetime of the patient.
	MaxDosePerLifetime *Quantity `json:"maxDosePerLifetime,omitempty"`

	// Upper limit on medication per unit of time.
	MaxDosePerPeriod *Ratio `json:"maxDosePerPeriod,omitempty"`

	// Technique for administering medication.
	Method *CodeableConcept `json:"method,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for patientInstruction
	PatientInstruction *Element `json:"_patientInstruction,omitempty"`

	// How drug should enter body.
	Route *CodeableConcept `json:"route,omitempty"`

	// Indicates the order in which the dosage instructions should be applied or interpreted.
	Sequence float64 `json:"sequence,omitempty"`

	// Body site to administer to.
	Site *CodeableConcept `json:"site,omitempty"`

	// Free text dosage instructions e.g. SIG.
	Text string `json:"text,omitempty"`

	// When medication should be administered.
	Timing *Timing `json:"timing,omitempty"`
}

Dosage Indicates how the medication is/was taken or should be taken by the patient.

func (*Dosage) MarshalJSON

func (strct *Dosage) MarshalJSON() ([]byte, error)

func (*Dosage) UnmarshalJSON

func (strct *Dosage) UnmarshalJSON(b []byte) error

type DosageDoseAndRate

type DosageDoseAndRate struct {

	// Amount of medication per dose.
	DoseQuantity *Quantity `json:"doseQuantity,omitempty"`

	// Amount of medication per dose.
	DoseRange *Range `json:"doseRange,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Amount of medication per unit of time.
	RateQuantity *Quantity `json:"rateQuantity,omitempty"`

	// Amount of medication per unit of time.
	RateRange *Range `json:"rateRange,omitempty"`

	// Amount of medication per unit of time.
	RateRatio *Ratio `json:"rateRatio,omitempty"`

	// The kind of dose or rate specified, for example, ordered or calculated.
	Type *CodeableConcept `json:"type,omitempty"`
}

DosageDoseAndRate Indicates how the medication is/was taken or should be taken by the patient.

func (*DosageDoseAndRate) MarshalJSON

func (strct *DosageDoseAndRate) MarshalJSON() ([]byte, error)

func (*DosageDoseAndRate) UnmarshalJSON

func (strct *DosageDoseAndRate) UnmarshalJSON(b []byte) error

type Duration

type Duration struct {

	// A computer processable form of the unit in some unit representation system.
	Code string `json:"code,omitempty"`

	// Extensions for comparator
	Comparator *Element `json:"_comparator,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for system
	System *Element `json:"_system,omitempty"`

	// Extensions for unit
	Unit *Element `json:"_unit,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

Duration A length of time.

func (*Duration) MarshalJSON

func (strct *Duration) MarshalJSON() ([]byte, error)

func (*Duration) UnmarshalJSON

func (strct *Duration) UnmarshalJSON(b []byte) error

type Element

type Element struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`
}

Element Base definition for all elements in a resource.

func (*Element) MarshalJSON

func (strct *Element) MarshalJSON() ([]byte, error)

func (*Element) UnmarshalJSON

func (strct *Element) UnmarshalJSON(b []byte) error

type ElementDefinition

type ElementDefinition struct {

	// Identifies additional names by which this element might also be known.
	Alias []string `json:"alias,omitempty"`

	// 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 `json:"base,omitempty"`

	// Binds to a value set if this element is coded (code, Coding, CodeableConcept, Quantity), or the data types (string, uri).
	Binding *ElementDefinitionBinding `json:"binding,omitempty"`

	// A code that has the same meaning as the element in a particular terminology.
	Code []*Coding `json:"code,omitempty"`

	// Extensions for comment
	Comment *Element `json:"_comment,omitempty"`

	// A reference to an invariant that may make additional statements about the cardinality or value in the instance.
	Condition []string `json:"condition,omitempty"`

	// Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance.
	Constraint []*ElementDefinitionConstraint `json:"constraint,omitempty"`

	// 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 string `json:"contentReference,omitempty"`

	// 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').
	DefaultValueAddress *Address `json:"defaultValueAddress,omitempty"`

	// 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').
	DefaultValueAge *Age `json:"defaultValueAge,omitempty"`

	// 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').
	DefaultValueAnnotation *Annotation `json:"defaultValueAnnotation,omitempty"`

	// 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').
	DefaultValueAttachment *Attachment `json:"defaultValueAttachment,omitempty"`

	// Extensions for defaultValueBase64Binary
	DefaultValueBase64Binary *Element `json:"_defaultValueBase64Binary,omitempty"`

	// 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').
	DefaultValueBoolean bool `json:"defaultValueBoolean,omitempty"`

	// 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').
	DefaultValueCanonical string `json:"defaultValueCanonical,omitempty"`

	// Extensions for defaultValueCode
	DefaultValueCode *Element `json:"_defaultValueCode,omitempty"`

	// 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').
	DefaultValueCodeableConcept *CodeableConcept `json:"defaultValueCodeableConcept,omitempty"`

	// 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').
	DefaultValueCodeableReference *CodeableReference `json:"defaultValueCodeableReference,omitempty"`

	// 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').
	DefaultValueCoding *Coding `json:"defaultValueCoding,omitempty"`

	// 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').
	DefaultValueContactDetail *ContactDetail `json:"defaultValueContactDetail,omitempty"`

	// 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').
	DefaultValueContactPoint *ContactPoint `json:"defaultValueContactPoint,omitempty"`

	// 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').
	DefaultValueContributor *Contributor `json:"defaultValueContributor,omitempty"`

	// 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').
	DefaultValueCount *Count `json:"defaultValueCount,omitempty"`

	// 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').
	DefaultValueDataRequirement *DataRequirement `json:"defaultValueDataRequirement,omitempty"`

	// Extensions for defaultValueDate
	DefaultValueDate *Element `json:"_defaultValueDate,omitempty"`

	// 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').
	DefaultValueDateTime string `json:"defaultValueDateTime,omitempty"`

	// 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').
	DefaultValueDecimal float64 `json:"defaultValueDecimal,omitempty"`

	// 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').
	DefaultValueDistance *Distance `json:"defaultValueDistance,omitempty"`

	// 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').
	DefaultValueDosage *Dosage `json:"defaultValueDosage,omitempty"`

	// 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').
	DefaultValueDuration *Duration `json:"defaultValueDuration,omitempty"`

	// 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').
	DefaultValueExpression *Expression `json:"defaultValueExpression,omitempty"`

	// 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').
	DefaultValueHumanName *HumanName `json:"defaultValueHumanName,omitempty"`

	// Extensions for defaultValueId
	DefaultValueId *Element `json:"_defaultValueId,omitempty"`

	// 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').
	DefaultValueIdentifier *Identifier `json:"defaultValueIdentifier,omitempty"`

	// 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').
	DefaultValueInstant string `json:"defaultValueInstant,omitempty"`

	// 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').
	DefaultValueInteger float64 `json:"defaultValueInteger,omitempty"`

	// 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').
	DefaultValueMarkdown string `json:"defaultValueMarkdown,omitempty"`

	// 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').
	DefaultValueMoney *Money `json:"defaultValueMoney,omitempty"`

	// 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').
	DefaultValueOid string `json:"defaultValueOid,omitempty"`

	// 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').
	DefaultValueParameterDefinition *ParameterDefinition `json:"defaultValueParameterDefinition,omitempty"`

	// 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').
	DefaultValuePeriod *Period `json:"defaultValuePeriod,omitempty"`

	// Extensions for defaultValuePositiveInt
	DefaultValuePositiveInt *Element `json:"_defaultValuePositiveInt,omitempty"`

	// 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').
	DefaultValueQuantity *Quantity `json:"defaultValueQuantity,omitempty"`

	// 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').
	DefaultValueRange *Range `json:"defaultValueRange,omitempty"`

	// 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').
	DefaultValueRatio *Ratio `json:"defaultValueRatio,omitempty"`

	// 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').
	DefaultValueRatioRange *RatioRange `json:"defaultValueRatioRange,omitempty"`

	// 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').
	DefaultValueReference *Reference `json:"defaultValueReference,omitempty"`

	// 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').
	DefaultValueRelatedArtifact *RelatedArtifact `json:"defaultValueRelatedArtifact,omitempty"`

	// 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').
	DefaultValueSampledData *SampledData `json:"defaultValueSampledData,omitempty"`

	// 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').
	DefaultValueSignature *Signature `json:"defaultValueSignature,omitempty"`

	// 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').
	DefaultValueString string `json:"defaultValueString,omitempty"`

	// Extensions for defaultValueTime
	DefaultValueTime *Element `json:"_defaultValueTime,omitempty"`

	// 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').
	DefaultValueTiming *Timing `json:"defaultValueTiming,omitempty"`

	// 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').
	DefaultValueTriggerDefinition *TriggerDefinition `json:"defaultValueTriggerDefinition,omitempty"`

	// Extensions for defaultValueUnsignedInt
	DefaultValueUnsignedInt *Element `json:"_defaultValueUnsignedInt,omitempty"`

	// Extensions for defaultValueUri
	DefaultValueUri *Element `json:"_defaultValueUri,omitempty"`

	// 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').
	DefaultValueUrl string `json:"defaultValueUrl,omitempty"`

	// 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').
	DefaultValueUsageContext *UsageContext `json:"defaultValueUsageContext,omitempty"`

	// 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').
	DefaultValueUuid string `json:"defaultValueUuid,omitempty"`

	// Extensions for definition
	Definition *Element `json:"_definition,omitempty"`

	// A sample value for this element demonstrating the type of information that would typically be found in the element.
	Example []*ElementDefinitionExample `json:"example,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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.
	FixedAddress *Address `json:"fixedAddress,omitempty"`

	// 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.
	FixedAge *Age `json:"fixedAge,omitempty"`

	// 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.
	FixedAnnotation *Annotation `json:"fixedAnnotation,omitempty"`

	// 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.
	FixedAttachment *Attachment `json:"fixedAttachment,omitempty"`

	// Extensions for fixedBase64Binary
	FixedBase64Binary *Element `json:"_fixedBase64Binary,omitempty"`

	// Extensions for fixedBoolean
	FixedBoolean *Element `json:"_fixedBoolean,omitempty"`

	// Extensions for fixedCanonical
	FixedCanonical *Element `json:"_fixedCanonical,omitempty"`

	// 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.
	FixedCode string `json:"fixedCode,omitempty"`

	// 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.
	FixedCodeableConcept *CodeableConcept `json:"fixedCodeableConcept,omitempty"`

	// 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.
	FixedCodeableReference *CodeableReference `json:"fixedCodeableReference,omitempty"`

	// 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.
	FixedCoding *Coding `json:"fixedCoding,omitempty"`

	// 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.
	FixedContactDetail *ContactDetail `json:"fixedContactDetail,omitempty"`

	// 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.
	FixedContactPoint *ContactPoint `json:"fixedContactPoint,omitempty"`

	// 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.
	FixedContributor *Contributor `json:"fixedContributor,omitempty"`

	// 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.
	FixedCount *Count `json:"fixedCount,omitempty"`

	// 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.
	FixedDataRequirement *DataRequirement `json:"fixedDataRequirement,omitempty"`

	// 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.
	FixedDate string `json:"fixedDate,omitempty"`

	// Extensions for fixedDateTime
	FixedDateTime *Element `json:"_fixedDateTime,omitempty"`

	// Extensions for fixedDecimal
	FixedDecimal *Element `json:"_fixedDecimal,omitempty"`

	// 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.
	FixedDistance *Distance `json:"fixedDistance,omitempty"`

	// 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.
	FixedDosage *Dosage `json:"fixedDosage,omitempty"`

	// 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.
	FixedDuration *Duration `json:"fixedDuration,omitempty"`

	// 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.
	FixedExpression *Expression `json:"fixedExpression,omitempty"`

	// 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.
	FixedHumanName *HumanName `json:"fixedHumanName,omitempty"`

	// Extensions for fixedId
	FixedId *Element `json:"_fixedId,omitempty"`

	// 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.
	FixedIdentifier *Identifier `json:"fixedIdentifier,omitempty"`

	// Extensions for fixedInstant
	FixedInstant *Element `json:"_fixedInstant,omitempty"`

	// 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.
	FixedInteger float64 `json:"fixedInteger,omitempty"`

	// 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.
	FixedMarkdown string `json:"fixedMarkdown,omitempty"`

	// 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.
	FixedMoney *Money `json:"fixedMoney,omitempty"`

	// 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.
	FixedOid string `json:"fixedOid,omitempty"`

	// 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.
	FixedParameterDefinition *ParameterDefinition `json:"fixedParameterDefinition,omitempty"`

	// 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.
	FixedPeriod *Period `json:"fixedPeriod,omitempty"`

	// 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.
	FixedPositiveInt float64 `json:"fixedPositiveInt,omitempty"`

	// 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.
	FixedQuantity *Quantity `json:"fixedQuantity,omitempty"`

	// 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.
	FixedRange *Range `json:"fixedRange,omitempty"`

	// 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.
	FixedRatio *Ratio `json:"fixedRatio,omitempty"`

	// 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.
	FixedRatioRange *RatioRange `json:"fixedRatioRange,omitempty"`

	// 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.
	FixedReference *Reference `json:"fixedReference,omitempty"`

	// 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.
	FixedRelatedArtifact *RelatedArtifact `json:"fixedRelatedArtifact,omitempty"`

	// 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.
	FixedSampledData *SampledData `json:"fixedSampledData,omitempty"`

	// 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.
	FixedSignature *Signature `json:"fixedSignature,omitempty"`

	// 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.
	FixedString string `json:"fixedString,omitempty"`

	// Extensions for fixedTime
	FixedTime *Element `json:"_fixedTime,omitempty"`

	// 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.
	FixedTiming *Timing `json:"fixedTiming,omitempty"`

	// 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.
	FixedTriggerDefinition *TriggerDefinition `json:"fixedTriggerDefinition,omitempty"`

	// Extensions for fixedUnsignedInt
	FixedUnsignedInt *Element `json:"_fixedUnsignedInt,omitempty"`

	// Extensions for fixedUri
	FixedUri *Element `json:"_fixedUri,omitempty"`

	// Extensions for fixedUrl
	FixedUrl *Element `json:"_fixedUrl,omitempty"`

	// 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.
	FixedUsageContext *UsageContext `json:"fixedUsageContext,omitempty"`

	// 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.
	FixedUuid string `json:"fixedUuid,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 bool `json:"isModifier,omitempty"`

	// Explains how that element affects the interpretation of the resource or element that contains it.
	IsModifierReason string `json:"isModifierReason,omitempty"`

	// Whether the element should be included if a client requests a search with the parameter _summary=true.
	IsSummary bool `json:"isSummary,omitempty"`

	// 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 `json:"label,omitempty"`

	// Identifies a concept from an external specification that roughly corresponds to this element.
	Mapping []*ElementDefinitionMapping `json:"mapping,omitempty"`

	// The maximum number of times this element is permitted to appear in the instance.
	Max string `json:"max,omitempty"`

	// 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 float64 `json:"maxLength,omitempty"`

	// 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.
	MaxValueDate string `json:"maxValueDate,omitempty"`

	// Extensions for maxValueDateTime
	MaxValueDateTime *Element `json:"_maxValueDateTime,omitempty"`

	// Extensions for maxValueDecimal
	MaxValueDecimal *Element `json:"_maxValueDecimal,omitempty"`

	// Extensions for maxValueInstant
	MaxValueInstant *Element `json:"_maxValueInstant,omitempty"`

	// 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.
	MaxValueInteger float64 `json:"maxValueInteger,omitempty"`

	// Extensions for maxValuePositiveInt
	MaxValuePositiveInt *Element `json:"_maxValuePositiveInt,omitempty"`

	// 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.
	MaxValueQuantity *Quantity `json:"maxValueQuantity,omitempty"`

	// Extensions for maxValueTime
	MaxValueTime *Element `json:"_maxValueTime,omitempty"`

	// 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.
	MaxValueUnsignedInt float64 `json:"maxValueUnsignedInt,omitempty"`

	// 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 string `json:"meaningWhenMissing,omitempty"`

	// The minimum number of times this element SHALL appear in the instance.
	Min float64 `json:"min,omitempty"`

	// Extensions for minValueDate
	MinValueDate *Element `json:"_minValueDate,omitempty"`

	// Extensions for minValueDateTime
	MinValueDateTime *Element `json:"_minValueDateTime,omitempty"`

	// 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.
	MinValueDecimal float64 `json:"minValueDecimal,omitempty"`

	// 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.
	MinValueInstant string `json:"minValueInstant,omitempty"`

	// 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.
	MinValueInteger float64 `json:"minValueInteger,omitempty"`

	// 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.
	MinValuePositiveInt float64 `json:"minValuePositiveInt,omitempty"`

	// 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.
	MinValueQuantity *Quantity `json:"minValueQuantity,omitempty"`

	// 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.
	MinValueTime string `json:"minValueTime,omitempty"`

	// Extensions for minValueUnsignedInt
	MinValueUnsignedInt *Element `json:"_minValueUnsignedInt,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 bool `json:"mustSupport,omitempty"`

	// Extensions for orderMeaning
	OrderMeaning *Element `json:"_orderMeaning,omitempty"`

	// Extensions for path
	Path *Element `json:"_path,omitempty"`

	// 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.
	PatternAddress *Address `json:"patternAddress,omitempty"`

	// 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.
	PatternAge *Age `json:"patternAge,omitempty"`

	// 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.
	PatternAnnotation *Annotation `json:"patternAnnotation,omitempty"`

	// 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.
	PatternAttachment *Attachment `json:"patternAttachment,omitempty"`

	// Extensions for patternBase64Binary
	PatternBase64Binary *Element `json:"_patternBase64Binary,omitempty"`

	// Extensions for patternBoolean
	PatternBoolean *Element `json:"_patternBoolean,omitempty"`

	// Extensions for patternCanonical
	PatternCanonical *Element `json:"_patternCanonical,omitempty"`

	// Extensions for patternCode
	PatternCode *Element `json:"_patternCode,omitempty"`

	// 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.
	PatternCodeableConcept *CodeableConcept `json:"patternCodeableConcept,omitempty"`

	// 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.
	PatternCodeableReference *CodeableReference `json:"patternCodeableReference,omitempty"`

	// 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.
	PatternCoding *Coding `json:"patternCoding,omitempty"`

	// 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.
	PatternContactDetail *ContactDetail `json:"patternContactDetail,omitempty"`

	// 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.
	PatternContactPoint *ContactPoint `json:"patternContactPoint,omitempty"`

	// 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.
	PatternContributor *Contributor `json:"patternContributor,omitempty"`

	// 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.
	PatternCount *Count `json:"patternCount,omitempty"`

	// 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.
	PatternDataRequirement *DataRequirement `json:"patternDataRequirement,omitempty"`

	// Extensions for patternDate
	PatternDate *Element `json:"_patternDate,omitempty"`

	// 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.
	PatternDateTime string `json:"patternDateTime,omitempty"`

	// 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.
	PatternDecimal float64 `json:"patternDecimal,omitempty"`

	// 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.
	PatternDistance *Distance `json:"patternDistance,omitempty"`

	// 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.
	PatternDosage *Dosage `json:"patternDosage,omitempty"`

	// 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.
	PatternDuration *Duration `json:"patternDuration,omitempty"`

	// 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.
	PatternExpression *Expression `json:"patternExpression,omitempty"`

	// 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.
	PatternHumanName *HumanName `json:"patternHumanName,omitempty"`

	// Extensions for patternId
	PatternId *Element `json:"_patternId,omitempty"`

	// 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.
	PatternIdentifier *Identifier `json:"patternIdentifier,omitempty"`

	// 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.
	PatternInstant string `json:"patternInstant,omitempty"`

	// Extensions for patternInteger
	PatternInteger *Element `json:"_patternInteger,omitempty"`

	// 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.
	PatternMarkdown string `json:"patternMarkdown,omitempty"`

	// 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.
	PatternMoney *Money `json:"patternMoney,omitempty"`

	// 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.
	PatternOid string `json:"patternOid,omitempty"`

	// 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.
	PatternParameterDefinition *ParameterDefinition `json:"patternParameterDefinition,omitempty"`

	// 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.
	PatternPeriod *Period `json:"patternPeriod,omitempty"`

	// Extensions for patternPositiveInt
	PatternPositiveInt *Element `json:"_patternPositiveInt,omitempty"`

	// 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.
	PatternQuantity *Quantity `json:"patternQuantity,omitempty"`

	// 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.
	PatternRange *Range `json:"patternRange,omitempty"`

	// 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.
	PatternRatio *Ratio `json:"patternRatio,omitempty"`

	// 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.
	PatternRatioRange *RatioRange `json:"patternRatioRange,omitempty"`

	// 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.
	PatternReference *Reference `json:"patternReference,omitempty"`

	// 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.
	PatternRelatedArtifact *RelatedArtifact `json:"patternRelatedArtifact,omitempty"`

	// 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.
	PatternSampledData *SampledData `json:"patternSampledData,omitempty"`

	// 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.
	PatternSignature *Signature `json:"patternSignature,omitempty"`

	// Extensions for patternString
	PatternString *Element `json:"_patternString,omitempty"`

	// Extensions for patternTime
	PatternTime *Element `json:"_patternTime,omitempty"`

	// 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.
	PatternTiming *Timing `json:"patternTiming,omitempty"`

	// 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.
	PatternTriggerDefinition *TriggerDefinition `json:"patternTriggerDefinition,omitempty"`

	// Extensions for patternUnsignedInt
	PatternUnsignedInt *Element `json:"_patternUnsignedInt,omitempty"`

	// Extensions for patternUri
	PatternUri *Element `json:"_patternUri,omitempty"`

	// Extensions for patternUrl
	PatternUrl *Element `json:"_patternUrl,omitempty"`

	// 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.
	PatternUsageContext *UsageContext `json:"patternUsageContext,omitempty"`

	// 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.
	PatternUuid string `json:"patternUuid,omitempty"`

	// Extensions for representation
	Representation []*Element `json:"_representation,omitempty"`

	// Extensions for requirements
	Requirements *Element `json:"_requirements,omitempty"`

	// A concise description of what this element means (e.g. for use in autogenerated summaries).
	Short string `json:"short,omitempty"`

	// 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 bool `json:"sliceIsConstraining,omitempty"`

	// Extensions for sliceName
	SliceName *Element `json:"_sliceName,omitempty"`

	// 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 `json:"slicing,omitempty"`

	// The data type or resource that the value of this element is permitted to be.
	Type []*ElementDefinitionType `json:"type,omitempty"`
}

ElementDefinition Captures constraints on each element within the resource, profile, or extension.

func (*ElementDefinition) MarshalJSON

func (strct *ElementDefinition) MarshalJSON() ([]byte, error)

func (*ElementDefinition) UnmarshalJSON

func (strct *ElementDefinition) UnmarshalJSON(b []byte) error

type ElementDefinitionBase

type ElementDefinitionBase struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Maximum cardinality of the base element identified by the path.
	Max string `json:"max,omitempty"`

	// Minimum cardinality of the base element identified by the path.
	Min float64 `json:"min,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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]]] without a StructureDefinition.base.
	Path string `json:"path,omitempty"`
}

ElementDefinitionBase Captures constraints on each element within the resource, profile, or extension.

func (*ElementDefinitionBase) MarshalJSON

func (strct *ElementDefinitionBase) MarshalJSON() ([]byte, error)

func (*ElementDefinitionBase) UnmarshalJSON

func (strct *ElementDefinitionBase) UnmarshalJSON(b []byte) error

type ElementDefinitionBinding

type ElementDefinitionBinding struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for strength
	Strength *Element `json:"_strength,omitempty"`

	// Refers to the value set that identifies the set of codes the binding refers to.
	ValueSet string `json:"valueSet,omitempty"`
}

ElementDefinitionBinding Captures constraints on each element within the resource, profile, or extension.

func (*ElementDefinitionBinding) MarshalJSON

func (strct *ElementDefinitionBinding) MarshalJSON() ([]byte, error)

func (*ElementDefinitionBinding) UnmarshalJSON

func (strct *ElementDefinitionBinding) UnmarshalJSON(b []byte) error

type ElementDefinitionConstraint

type ElementDefinitionConstraint struct {

	// Extensions for expression
	Expression *Element `json:"_expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for human
	Human *Element `json:"_human,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for key
	Key *Element `json:"_key,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Description of why this constraint is necessary or appropriate.
	Requirements string `json:"requirements,omitempty"`

	// Extensions for severity
	Severity *Element `json:"_severity,omitempty"`

	// A reference to the original source of the constraint, for traceability purposes.
	Source string `json:"source,omitempty"`

	// An XPath expression of constraint that can be executed to see if this constraint is met.
	Xpath string `json:"xpath,omitempty"`
}

ElementDefinitionConstraint Captures constraints on each element within the resource, profile, or extension.

func (*ElementDefinitionConstraint) MarshalJSON

func (strct *ElementDefinitionConstraint) MarshalJSON() ([]byte, error)

func (*ElementDefinitionConstraint) UnmarshalJSON

func (strct *ElementDefinitionConstraint) UnmarshalJSON(b []byte) error

type ElementDefinitionDiscriminator

type ElementDefinitionDiscriminator struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for path
	Path *Element `json:"_path,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

ElementDefinitionDiscriminator Captures constraints on each element within the resource, profile, or extension.

func (*ElementDefinitionDiscriminator) MarshalJSON

func (strct *ElementDefinitionDiscriminator) MarshalJSON() ([]byte, error)

func (*ElementDefinitionDiscriminator) UnmarshalJSON

func (strct *ElementDefinitionDiscriminator) UnmarshalJSON(b []byte) error

type ElementDefinitionExample

type ElementDefinitionExample struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for label
	Label *Element `json:"_label,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueAddress *Address `json:"valueAddress,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueAge *Age `json:"valueAge,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueAnnotation *Annotation `json:"valueAnnotation,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// Extensions for valueBase64Binary
	ValueBase64Binary *Element `json:"_valueBase64Binary,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// Extensions for valueCanonical
	ValueCanonical *Element `json:"_valueCanonical,omitempty"`

	// Extensions for valueCode
	ValueCode *Element `json:"_valueCode,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueCodeableReference *CodeableReference `json:"valueCodeableReference,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueCoding *Coding `json:"valueCoding,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueContactDetail *ContactDetail `json:"valueContactDetail,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueContactPoint *ContactPoint `json:"valueContactPoint,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueContributor *Contributor `json:"valueContributor,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueCount *Count `json:"valueCount,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueDataRequirement *DataRequirement `json:"valueDataRequirement,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueDate string `json:"valueDate,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueDateTime string `json:"valueDateTime,omitempty"`

	// Extensions for valueDecimal
	ValueDecimal *Element `json:"_valueDecimal,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueDistance *Distance `json:"valueDistance,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueDosage *Dosage `json:"valueDosage,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueDuration *Duration `json:"valueDuration,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueExpression *Expression `json:"valueExpression,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueHumanName *HumanName `json:"valueHumanName,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueId string `json:"valueId,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueIdentifier *Identifier `json:"valueIdentifier,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueInstant string `json:"valueInstant,omitempty"`

	// Extensions for valueInteger
	ValueInteger *Element `json:"_valueInteger,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueMarkdown string `json:"valueMarkdown,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueMoney *Money `json:"valueMoney,omitempty"`

	// Extensions for valueOid
	ValueOid *Element `json:"_valueOid,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueParameterDefinition *ParameterDefinition `json:"valueParameterDefinition,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValuePeriod *Period `json:"valuePeriod,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValuePositiveInt float64 `json:"valuePositiveInt,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueRange *Range `json:"valueRange,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueRatio *Ratio `json:"valueRatio,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueRatioRange *RatioRange `json:"valueRatioRange,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueReference *Reference `json:"valueReference,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueRelatedArtifact *RelatedArtifact `json:"valueRelatedArtifact,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueSampledData *SampledData `json:"valueSampledData,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueSignature *Signature `json:"valueSignature,omitempty"`

	// Extensions for valueString
	ValueString *Element `json:"_valueString,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueTime string `json:"valueTime,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueTiming *Timing `json:"valueTiming,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueTriggerDefinition *TriggerDefinition `json:"valueTriggerDefinition,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueUnsignedInt float64 `json:"valueUnsignedInt,omitempty"`

	// Extensions for valueUri
	ValueUri *Element `json:"_valueUri,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueUrl string `json:"valueUrl,omitempty"`

	// The actual value for the element, which must be one of the types allowed for this element.
	ValueUsageContext *UsageContext `json:"valueUsageContext,omitempty"`

	// Extensions for valueUuid
	ValueUuid *Element `json:"_valueUuid,omitempty"`
}

ElementDefinitionExample Captures constraints on each element within the resource, profile, or extension.

func (*ElementDefinitionExample) MarshalJSON

func (strct *ElementDefinitionExample) MarshalJSON() ([]byte, error)

func (*ElementDefinitionExample) UnmarshalJSON

func (strct *ElementDefinitionExample) UnmarshalJSON(b []byte) error

type ElementDefinitionMapping

type ElementDefinitionMapping struct {

	// Comments that provide information about the mapping or its use.
	Comment string `json:"comment,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for identity
	Identity *Element `json:"_identity,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Expresses what part of the target specification corresponds to this element.
	Map string `json:"map,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ElementDefinitionMapping Captures constraints on each element within the resource, profile, or extension.

func (*ElementDefinitionMapping) MarshalJSON

func (strct *ElementDefinitionMapping) MarshalJSON() ([]byte, error)

func (*ElementDefinitionMapping) UnmarshalJSON

func (strct *ElementDefinitionMapping) UnmarshalJSON(b []byte) error

type ElementDefinitionSlicing

type ElementDefinitionSlicing struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// 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 []*ElementDefinitionDiscriminator `json:"discriminator,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for ordered
	Ordered *Element `json:"_ordered,omitempty"`

	// Extensions for rules
	Rules *Element `json:"_rules,omitempty"`
}

ElementDefinitionSlicing Captures constraints on each element within the resource, profile, or extension.

func (*ElementDefinitionSlicing) MarshalJSON

func (strct *ElementDefinitionSlicing) MarshalJSON() ([]byte, error)

func (*ElementDefinitionSlicing) UnmarshalJSON

func (strct *ElementDefinitionSlicing) UnmarshalJSON(b []byte) error

type ElementDefinitionType

type ElementDefinitionType struct {

	// Extensions for aggregation
	Aggregation []*Element `json:"_aggregation,omitempty"`

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 []string `json:"profile,omitempty"`

	// 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 []string `json:"targetProfile,omitempty"`

	// Whether this reference needs to be version specific or version independent, or whether either can be used.
	Versioning interface{} `json:"versioning,omitempty"`
}

ElementDefinitionType Captures constraints on each element within the resource, profile, or extension.

func (*ElementDefinitionType) MarshalJSON

func (strct *ElementDefinitionType) MarshalJSON() ([]byte, error)

func (*ElementDefinitionType) UnmarshalJSON

func (strct *ElementDefinitionType) UnmarshalJSON(b []byte) error

type Encounter

type Encounter struct {

	// The set of accounts that may be used for billing for this Encounter.
	Account []*Reference `json:"account,omitempty"`

	// The appointment that scheduled this encounter.
	Appointment []*Reference `json:"appointment,omitempty"`

	// The request this encounter satisfies (e.g. incoming referral or procedure request).
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.
	Class *Coding `json:"class"`

	// 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 `json:"classHistory,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The list of diagnosis relevant to this encounter.
	Diagnosis []*EncounterDiagnosis `json:"diagnosis,omitempty"`

	// 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 `json:"episodeOfCare,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Details about the admission to a healthcare service.
	Hospitalization *EncounterHospitalization `json:"hospitalization,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier(s) by which this encounter is known.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// Quantity of time the encounter lasted. This excludes the time during leaves of absence.
	Length *Duration `json:"length,omitempty"`

	// List of locations where  the patient has been during this encounter.
	Location []*EncounterLocation `json:"location,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Another Encounter of which this encounter is a part of (administratively or in time).
	PartOf *Reference `json:"partOf,omitempty"`

	// The list of people responsible for providing the service.
	Participant []*EncounterParticipant `json:"participant,omitempty"`

	// The start and end time of the encounter.
	Period *Period `json:"period,omitempty"`

	// Indicates the urgency of the encounter.
	Priority *CodeableConcept `json:"priority,omitempty"`

	// Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// This is a Encounter resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"serviceProvider,omitempty"`

	// Broad categorization of the service that is to be provided (e.g. cardiology).
	ServiceType *CodeableConcept `json:"serviceType,omitempty"`

	// planned | arrived | triaged | in-progress | onleave | finished | cancelled +.
	Status string `json:"status,omitempty"`

	// 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 `json:"statusHistory,omitempty"`

	// The patient or group present at the encounter.
	Subject *Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).
	Type []*CodeableConcept `json:"type,omitempty"`
}

Encounter An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.

func (*Encounter) MarshalJSON

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

func (*Encounter) UnmarshalJSON

func (strct *Encounter) UnmarshalJSON(b []byte) error

type EncounterClassHistory

type EncounterClassHistory struct {

	// inpatient | outpatient | ambulatory | emergency +.
	Class *Coding `json:"class"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The time that the episode was in the specified class.
	Period *Period `json:"period"`
}

EncounterClassHistory 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 (*EncounterClassHistory) MarshalJSON

func (strct *EncounterClassHistory) MarshalJSON() ([]byte, error)

func (*EncounterClassHistory) UnmarshalJSON

func (strct *EncounterClassHistory) UnmarshalJSON(b []byte) error

type EncounterDiagnosis

type EncounterDiagnosis struct {

	// 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 `json:"condition"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for rank
	Rank *Element `json:"_rank,omitempty"`

	// Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …).
	Use *CodeableConcept `json:"use,omitempty"`
}

EncounterDiagnosis 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 (*EncounterDiagnosis) MarshalJSON

func (strct *EncounterDiagnosis) MarshalJSON() ([]byte, error)

func (*EncounterDiagnosis) UnmarshalJSON

func (strct *EncounterDiagnosis) UnmarshalJSON(b []byte) error

type EncounterHospitalization

type EncounterHospitalization struct {

	// From where patient was admitted (physician referral, transfer).
	AdmitSource *CodeableConcept `json:"admitSource,omitempty"`

	// Location/organization to which the patient is discharged.
	Destination *Reference `json:"destination,omitempty"`

	// Diet preferences reported by the patient.
	DietPreference []*CodeableConcept `json:"dietPreference,omitempty"`

	// Category or kind of location after discharge.
	DischargeDisposition *CodeableConcept `json:"dischargeDisposition,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The location/organization from which the patient came before admission.
	Origin *Reference `json:"origin,omitempty"`

	// Pre-admission identifier.
	PreAdmissionIdentifier *Identifier `json:"preAdmissionIdentifier,omitempty"`

	// Whether this hospitalization is a readmission and why if known.
	ReAdmission *CodeableConcept `json:"reAdmission,omitempty"`

	// Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things.
	SpecialArrangement []*CodeableConcept `json:"specialArrangement,omitempty"`

	// Special courtesies (VIP, board member).
	SpecialCourtesy []*CodeableConcept `json:"specialCourtesy,omitempty"`
}

EncounterHospitalization 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 (*EncounterHospitalization) MarshalJSON

func (strct *EncounterHospitalization) MarshalJSON() ([]byte, error)

func (*EncounterHospitalization) UnmarshalJSON

func (strct *EncounterHospitalization) UnmarshalJSON(b []byte) error

type EncounterLocation

type EncounterLocation struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The location where the encounter takes place.
	Location *Reference `json:"location"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Time period during which the patient was present at the location.
	Period *Period `json:"period,omitempty"`

	// 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 `json:"physicalType,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`
}

EncounterLocation 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 (*EncounterLocation) MarshalJSON

func (strct *EncounterLocation) MarshalJSON() ([]byte, error)

func (*EncounterLocation) UnmarshalJSON

func (strct *EncounterLocation) UnmarshalJSON(b []byte) error

type EncounterParticipant

type EncounterParticipant struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Persons involved in the encounter other than the patient.
	Individual *Reference `json:"individual,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"period,omitempty"`

	// Role of participant in encounter.
	Type []*CodeableConcept `json:"type,omitempty"`
}

EncounterParticipant 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 (*EncounterParticipant) MarshalJSON

func (strct *EncounterParticipant) MarshalJSON() ([]byte, error)

func (*EncounterParticipant) UnmarshalJSON

func (strct *EncounterParticipant) UnmarshalJSON(b []byte) error

type EncounterStatusHistory

type EncounterStatusHistory struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The time that the episode was in the specified status.
	Period *Period `json:"period"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`
}

EncounterStatusHistory 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 (*EncounterStatusHistory) MarshalJSON

func (strct *EncounterStatusHistory) MarshalJSON() ([]byte, error)

func (*EncounterStatusHistory) UnmarshalJSON

func (strct *EncounterStatusHistory) UnmarshalJSON(b []byte) error

type Endpoint

type Endpoint struct {

	// Extensions for address
	Address *Element `json:"_address,omitempty"`

	// 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 `json:"connectionType"`

	// Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.
	Contact []*ContactPoint `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Additional headers / information to send as part of the notification.
	Header []string `json:"header,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier for the organization that is used to identify the endpoint across multiple disparate systems.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"managingOrganization,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// A friendly name that this endpoint can be referred to with.
	Name string `json:"name,omitempty"`

	// 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 []string `json:"payloadMimeType,omitempty"`

	// The payload type describes the acceptable content that can be communicated on the endpoint.
	PayloadType []*CodeableConcept `json:"payloadType"`

	// The interval during which the endpoint is expected to be operational.
	Period *Period `json:"period,omitempty"`

	// This is a Endpoint resource
	ResourceType interface{} `json:"resourceType"`

	// active | suspended | error | off | test.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`
}

Endpoint The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information.

func (*Endpoint) MarshalJSON

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

func (*Endpoint) UnmarshalJSON

func (strct *Endpoint) UnmarshalJSON(b []byte) error

type EnrollmentRequest

type EnrollmentRequest struct {

	// Patient Resource.
	Candidate *Reference `json:"candidate,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Reference to the program or plan identification, underwriter or payor.
	Coverage *Reference `json:"coverage,omitempty"`

	// The date when this resource was created.
	Created string `json:"created,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// The Response business identifier.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The Insurer who is target  of the request.
	Insurer *Reference `json:"insurer,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The practitioner who is responsible for the services rendered to the patient.
	Provider *Reference `json:"provider,omitempty"`

	// This is a EnrollmentRequest resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`
}

EnrollmentRequest This resource provides the insurance enrollment details to the insurer regarding a specified coverage.

func (*EnrollmentRequest) MarshalJSON

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

func (*EnrollmentRequest) UnmarshalJSON

func (strct *EnrollmentRequest) UnmarshalJSON(b []byte) error

type EnrollmentResponse

type EnrollmentResponse struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for created
	Created *Element `json:"_created,omitempty"`

	// Extensions for disposition
	Disposition *Element `json:"_disposition,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// The Response business identifier.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The Insurer who produced this adjudicated response.
	Organization *Reference `json:"organization,omitempty"`

	// Extensions for outcome
	Outcome *Element `json:"_outcome,omitempty"`

	// Original request resource reference.
	Request *Reference `json:"request,omitempty"`

	// The practitioner who is responsible for the services rendered to the patient.
	RequestProvider *Reference `json:"requestProvider,omitempty"`

	// This is a EnrollmentResponse resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`
}

EnrollmentResponse This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.

func (*EnrollmentResponse) MarshalJSON

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

func (*EnrollmentResponse) UnmarshalJSON

func (strct *EnrollmentResponse) UnmarshalJSON(b []byte) error

type EpisodeOfCare

type EpisodeOfCare struct {

	// The set of accounts that may be used for billing for this EpisodeOfCare.
	Account []*Reference `json:"account,omitempty"`

	// The practitioner that is the care manager/care coordinator for this patient.
	CareManager *Reference `json:"careManager,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The list of diagnosis relevant to this episode of care.
	Diagnosis []*EpisodeOfCareDiagnosis `json:"diagnosis,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The organization that has assumed the specific responsibilities for the specified duration.
	ManagingOrganization *Reference `json:"managingOrganization,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The patient who is the focus of this episode of care.
	Patient *Reference `json:"patient"`

	// The interval during which the managing organization assumes the defined responsibility.
	Period *Period `json:"period,omitempty"`

	// Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals.
	ReferralRequest []*Reference `json:"referralRequest,omitempty"`

	// This is a EpisodeOfCare resource
	ResourceType interface{} `json:"resourceType"`

	// planned | waitlist | active | onhold | finished | cancelled.
	Status string `json:"status,omitempty"`

	// The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource).
	StatusHistory []*EpisodeOfCareStatusHistory `json:"statusHistory,omitempty"`

	// The list of practitioners that may be facilitating this episode of care for specific purposes.
	Team []*Reference `json:"team,omitempty"`

	// 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 `json:"text,omitempty"`

	// A classification of the type of episode of care; e.g. specialist referral, disease management, type of funded care.
	Type []*CodeableConcept `json:"type,omitempty"`
}

EpisodeOfCare An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.

func (*EpisodeOfCare) MarshalJSON

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

func (*EpisodeOfCare) UnmarshalJSON

func (strct *EpisodeOfCare) UnmarshalJSON(b []byte) error

type EpisodeOfCareDiagnosis

type EpisodeOfCareDiagnosis struct {

	// A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for.
	Condition *Reference `json:"condition"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for rank
	Rank *Element `json:"_rank,omitempty"`

	// Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …).
	Role *CodeableConcept `json:"role,omitempty"`
}

EpisodeOfCareDiagnosis 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 (*EpisodeOfCareDiagnosis) MarshalJSON

func (strct *EpisodeOfCareDiagnosis) MarshalJSON() ([]byte, error)

func (*EpisodeOfCareDiagnosis) UnmarshalJSON

func (strct *EpisodeOfCareDiagnosis) UnmarshalJSON(b []byte) error

type EpisodeOfCareStatusHistory

type EpisodeOfCareStatusHistory struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The period during this EpisodeOfCare that the specific status applied.
	Period *Period `json:"period"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`
}

EpisodeOfCareStatusHistory 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 (*EpisodeOfCareStatusHistory) MarshalJSON

func (strct *EpisodeOfCareStatusHistory) MarshalJSON() ([]byte, error)

func (*EpisodeOfCareStatusHistory) UnmarshalJSON

func (strct *EpisodeOfCareStatusHistory) UnmarshalJSON(b []byte) error

type EventDefinition

type EventDefinition struct {

	// Extensions for approvalDate
	ApprovalDate *Element `json:"_approvalDate,omitempty"`

	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []*ContactDetail `json:"author,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// A free text natural language description of the event definition from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []*ContactDetail `json:"editor,omitempty"`

	// The period during which the event definition content was or is planned to be in active use.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []*ContactDetail `json:"endorser,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// A legal or geographic region in which the event definition is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Extensions for lastReviewDate
	LastReviewDate *Element `json:"_lastReviewDate,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"name,omitempty"`

	// The name of the organization or individual that published the event definition.
	Publisher string `json:"publisher,omitempty"`

	// Explanation of why this event definition is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// Related resources such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []*RelatedArtifact `json:"relatedArtifact,omitempty"`

	// This is a EventDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []*ContactDetail `json:"reviewer,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// A code or group definition that describes the intended subject of the event definition.
	SubjectCodeableConcept *CodeableConcept `json:"subjectCodeableConcept,omitempty"`

	// A code or group definition that describes the intended subject of the event definition.
	SubjectReference *Reference `json:"subjectReference,omitempty"`

	// An explanatory or alternate title for the event definition giving additional information about its content.
	Subtitle string `json:"subtitle,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`

	// 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 `json:"topic,omitempty"`

	// 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 `json:"trigger"`

	// 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 string `json:"url,omitempty"`

	// Extensions for usage
	Usage *Element `json:"_usage,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`
}

EventDefinition The EventDefinition resource provides a reusable description of when a particular event can occur.

func (*EventDefinition) MarshalJSON

func (strct *EventDefinition) MarshalJSON() ([]byte, error)

func (*EventDefinition) UnmarshalJSON

func (strct *EventDefinition) UnmarshalJSON(b []byte) error

type Evidence

type Evidence struct {

	// Extensions for approvalDate
	ApprovalDate *Element `json:"_approvalDate,omitempty"`

	// Declarative description of the Evidence.
	Assertion string `json:"assertion,omitempty"`

	// An individiual, organization, or device primarily involved in the creation and maintenance of the content.
	Author []*ContactDetail `json:"author,omitempty"`

	// Assessment of certainty, confidence in the estimates, or quality of the evidence.
	Certainty []*EvidenceCertainty `json:"certainty,omitempty"`

	// Extensions for citeAsMarkdown
	CiteAsMarkdown *Element `json:"_citeAsMarkdown,omitempty"`

	// Citation Resource or display of suggested citation for this evidence.
	CiteAsReference *Reference `json:"citeAsReference,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"date,omitempty"`

	// A free text natural language description of the evidence from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// An individiual, organization, or device primarily responsible for internal coherence of the content.
	Editor []*ContactDetail `json:"editor,omitempty"`

	// An individiual, organization, or device responsible for officially endorsing the content for use in some setting.
	Endorser []*ContactDetail `json:"endorser,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// Extensions for lastReviewDate
	LastReviewDate *Element `json:"_lastReviewDate,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Footnotes and/or explanatory notes.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Link or citation to artifact associated with the summary.
	RelatedArtifact []*RelatedArtifact `json:"relatedArtifact,omitempty"`

	// This is a Evidence resource
	ResourceType interface{} `json:"resourceType"`

	// An individiual, organization, or device primarily responsible for review of some aspect of the content.
	Reviewer []*ContactDetail `json:"reviewer,omitempty"`

	// Values and parameters for a single statistic.
	Statistic []*EvidenceStatistic `json:"statistic,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// The type of study that produced this evidence.
	StudyType *CodeableConcept `json:"studyType,omitempty"`

	// The method to combine studies.
	SynthesisType *CodeableConcept `json:"synthesisType,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the summary.
	Title string `json:"title,omitempty"`

	// 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 string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Evidence variable such as population, exposure, or outcome.
	VariableDefinition []*EvidenceVariableDefinition `json:"variableDefinition"`

	// 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 `json:"version,omitempty"`
}

Evidence 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 (strct *Evidence) MarshalJSON() ([]byte, error)

func (*Evidence) UnmarshalJSON

func (strct *Evidence) UnmarshalJSON(b []byte) error

type EvidenceAttributeEstimate

type EvidenceAttributeEstimate struct {

	// A nested attribute estimate; which is the attribute estimate of an attribute estimate.
	AttributeEstimate []*EvidenceAttributeEstimate `json:"attributeEstimate,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Use 95 for a 95% confidence interval.
	Level float64 `json:"level,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Footnote or explanatory note about the estimate.
	Note []*Annotation `json:"note,omitempty"`

	// The singular quantity of the attribute estimate, for attribute estimates represented as single values; also used to report unit of measure.
	Quantity *Quantity `json:"quantity,omitempty"`

	// Lower bound of confidence interval.
	Range *Range `json:"range,omitempty"`

	// The type of attribute estimate, eg confidence interval or p value.
	Type *CodeableConcept `json:"type,omitempty"`
}

EvidenceAttributeEstimate 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 (*EvidenceAttributeEstimate) MarshalJSON

func (strct *EvidenceAttributeEstimate) MarshalJSON() ([]byte, error)

func (*EvidenceAttributeEstimate) UnmarshalJSON

func (strct *EvidenceAttributeEstimate) UnmarshalJSON(b []byte) error

type EvidenceCertainty

type EvidenceCertainty struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Footnotes and/or explanatory notes.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for rater
	Rater *Element `json:"_rater,omitempty"`

	// Assessment or judgement of the aspect.
	Rating *CodeableConcept `json:"rating,omitempty"`

	// A domain or subdomain of certainty.
	Subcomponent []*EvidenceCertainty `json:"subcomponent,omitempty"`

	// Aspect of certainty being rated.
	Type *CodeableConcept `json:"type,omitempty"`
}

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 (*EvidenceCertainty) MarshalJSON

func (strct *EvidenceCertainty) MarshalJSON() ([]byte, error)

func (*EvidenceCertainty) UnmarshalJSON

func (strct *EvidenceCertainty) UnmarshalJSON(b []byte) error

type EvidenceModelCharacteristic

type EvidenceModelCharacteristic struct {

	// An attribute of the statistic used as a model characteristic.
	AttributeEstimate []*EvidenceAttributeEstimate `json:"attributeEstimate,omitempty"`

	// Description of a component of the method to generate the statistic.
	Code *CodeableConcept `json:"code"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Further specification of the quantified value of the component of the method to generate the statistic.
	Value *Quantity `json:"value,omitempty"`

	// A variable adjusted for in the adjusted analysis.
	Variable []*EvidenceVariable `json:"variable,omitempty"`
}

EvidenceModelCharacteristic 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 (*EvidenceModelCharacteristic) MarshalJSON

func (strct *EvidenceModelCharacteristic) MarshalJSON() ([]byte, error)

func (*EvidenceModelCharacteristic) UnmarshalJSON

func (strct *EvidenceModelCharacteristic) UnmarshalJSON(b []byte) error

type EvidenceReport

type EvidenceReport struct {

	// An individiual, organization, or device primarily involved in the creation and maintenance of the content.
	Author []*ContactDetail `json:"author,omitempty"`

	// Extensions for citeAsMarkdown
	CiteAsMarkdown *Element `json:"_citeAsMarkdown,omitempty"`

	// Citation Resource or display of suggested citation for this report.
	CiteAsReference *Reference `json:"citeAsReference,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// An individiual, organization, or device primarily responsible for internal coherence of the content.
	Editor []*ContactDetail `json:"editor,omitempty"`

	// An individiual, organization, or device responsible for officially endorsing the content for use in some setting.
	Endorser []*ContactDetail `json:"endorser,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Used for footnotes and annotations.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Link, description or reference to artifact associated with the report.
	RelatedArtifact []*RelatedArtifact `json:"relatedArtifact,omitempty"`

	// A formal identifier that is used to identify things closely related to this EvidenceReport.
	RelatedIdentifier []*Identifier `json:"relatedIdentifier,omitempty"`

	// Relationships that this composition has with other compositions or documents that already exist.
	RelatesTo []*EvidenceReportRelatesTo `json:"relatesTo,omitempty"`

	// This is a EvidenceReport resource
	ResourceType interface{} `json:"resourceType"`

	// An individiual, organization, or device primarily responsible for review of some aspect of the content.
	Reviewer []*ContactDetail `json:"reviewer,omitempty"`

	// The root of the sections that make up the composition.
	Section []*EvidenceReportSection `json:"section,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Specifies the subject or focus of the report. Answers "What is this report about?".
	Subject *EvidenceReportSubject `json:"subject"`

	// 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 `json:"text,omitempty"`

	// Specifies the kind of report, such as grouping of classifiers, search results, or human-compiled expression.
	Type *CodeableConcept `json:"type,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// 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 `json:"useContext,omitempty"`
}

EvidenceReport 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 (strct *EvidenceReport) MarshalJSON() ([]byte, error)

func (*EvidenceReport) UnmarshalJSON

func (strct *EvidenceReport) UnmarshalJSON(b []byte) error

type EvidenceReportCharacteristic

type EvidenceReportCharacteristic struct {

	// Characteristic code.
	Code *CodeableConcept `json:"code"`

	// Extensions for exclude
	Exclude *Element `json:"_exclude,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Timeframe for the characteristic.
	Period *Period `json:"period,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// Characteristic value.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// Characteristic value.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// Characteristic value.
	ValueRange *Range `json:"valueRange,omitempty"`

	// Characteristic value.
	ValueReference *Reference `json:"valueReference,omitempty"`
}

EvidenceReportCharacteristic 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 (*EvidenceReportCharacteristic) MarshalJSON

func (strct *EvidenceReportCharacteristic) MarshalJSON() ([]byte, error)

func (*EvidenceReportCharacteristic) UnmarshalJSON

func (strct *EvidenceReportCharacteristic) UnmarshalJSON(b []byte) error

type EvidenceReportRelatesTo

type EvidenceReportRelatesTo struct {

	// The type of relationship that this composition has with anther composition or document.
	Code string `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The target composition/document of this relationship.
	TargetIdentifier *Identifier `json:"targetIdentifier,omitempty"`

	// The target composition/document of this relationship.
	TargetReference *Reference `json:"targetReference,omitempty"`
}

EvidenceReportRelatesTo 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 (*EvidenceReportRelatesTo) MarshalJSON

func (strct *EvidenceReportRelatesTo) MarshalJSON() ([]byte, error)

func (*EvidenceReportRelatesTo) UnmarshalJSON

func (strct *EvidenceReportRelatesTo) UnmarshalJSON(b []byte) error

type EvidenceReportSection

type EvidenceReportSection struct {

	// Identifies who is responsible for the information in this section, not necessarily who typed it in.
	Author []*Reference `json:"author,omitempty"`

	// If the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason.
	EmptyReason *CodeableConcept `json:"emptyReason,omitempty"`

	// Specifies any type of classification of the evidence report.
	EntryClassifier []*CodeableConcept `json:"entryClassifier,omitempty"`

	// Quantity as content.
	EntryQuantity []*Quantity `json:"entryQuantity,omitempty"`

	// A reference to the actual resource from which the narrative in the section is derived.
	EntryReference []*Reference `json:"entryReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// A code identifying the kind of content contained within the section. This should be consistent with the section title.
	Focus *CodeableConcept `json:"focus,omitempty"`

	// A definitional Resource identifying the kind of content contained within the section. This should be consistent with the section title.
	FocusReference *Reference `json:"focusReference,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 string `json:"mode,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Specifies the order applied to the items in the section entries.
	OrderedBy *CodeableConcept `json:"orderedBy,omitempty"`

	// A nested sub-section within this section.
	Section []*EvidenceReportSection `json:"section,omitempty"`

	// 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 `json:"text,omitempty"`

	// 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 `json:"title,omitempty"`
}

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 (*EvidenceReportSection) MarshalJSON

func (strct *EvidenceReportSection) MarshalJSON() ([]byte, error)

func (*EvidenceReportSection) UnmarshalJSON

func (strct *EvidenceReportSection) UnmarshalJSON(b []byte) error

type EvidenceReportSubject

type EvidenceReportSubject struct {

	// Characteristic.
	Characteristic []*EvidenceReportCharacteristic `json:"characteristic,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Used for general notes and annotations not coded elsewhere.
	Note []*Annotation `json:"note,omitempty"`
}

EvidenceReportSubject 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 (*EvidenceReportSubject) MarshalJSON

func (strct *EvidenceReportSubject) MarshalJSON() ([]byte, error)

func (*EvidenceReportSubject) UnmarshalJSON

func (strct *EvidenceReportSubject) UnmarshalJSON(b []byte) error

type EvidenceSampleSize

type EvidenceSampleSize struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for knownDataCount
	KnownDataCount *Element `json:"_knownDataCount,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Footnote or explanatory note about the sample size.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for numberOfParticipants
	NumberOfParticipants *Element `json:"_numberOfParticipants,omitempty"`

	// Number of participants in the population.
	NumberOfStudies float64 `json:"numberOfStudies,omitempty"`
}

EvidenceSampleSize 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 (*EvidenceSampleSize) MarshalJSON

func (strct *EvidenceSampleSize) MarshalJSON() ([]byte, error)

func (*EvidenceSampleSize) UnmarshalJSON

func (strct *EvidenceSampleSize) UnmarshalJSON(b []byte) error

type EvidenceStatistic

type EvidenceStatistic struct {

	// A statistical attribute of the statistic such as a measure of heterogeneity.
	AttributeEstimate []*EvidenceAttributeEstimate `json:"attributeEstimate,omitempty"`

	// When the measured variable is handled categorically, the category element is used to define which category the statistic is reporting.
	Category *CodeableConcept `json:"category,omitempty"`

	// A description of the content value of the statistic.
	Description string `json:"description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A component of the method to generate the statistic.
	ModelCharacteristic []*EvidenceModelCharacteristic `json:"modelCharacteristic,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Footnotes and/or explanatory notes.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for numberAffected
	NumberAffected *Element `json:"_numberAffected,omitempty"`

	// The number of events associated with the statistic, where the unit of analysis is different from numberAffected, sampleSize.knownDataCount and sampleSize.numberOfParticipants.
	NumberOfEvents float64 `json:"numberOfEvents,omitempty"`

	// Statistic value.
	Quantity *Quantity `json:"quantity,omitempty"`

	// Number of samples in the statistic.
	SampleSize *EvidenceSampleSize `json:"sampleSize,omitempty"`

	// Type of statistic, eg relative risk.
	StatisticType *CodeableConcept `json:"statisticType,omitempty"`
}

EvidenceStatistic 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 (*EvidenceStatistic) MarshalJSON

func (strct *EvidenceStatistic) MarshalJSON() ([]byte, error)

func (*EvidenceStatistic) UnmarshalJSON

func (strct *EvidenceStatistic) UnmarshalJSON(b []byte) error

type EvidenceVariable

type EvidenceVariable struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// How the variable is classified for use in adjusted analysis.
	Handling string `json:"handling,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Description for grouping of ordinal or polychotomous variables.
	ValueCategory []*CodeableConcept `json:"valueCategory,omitempty"`

	// Discrete value for grouping of ordinal or polychotomous variables.
	ValueQuantity []*Quantity `json:"valueQuantity,omitempty"`

	// Range of values for grouping of ordinal or polychotomous variables.
	ValueRange []*Range `json:"valueRange,omitempty"`

	// Description of the variable.
	VariableDefinition *Reference `json:"variableDefinition"`
}

EvidenceVariable 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 (*EvidenceVariable) MarshalJSON

func (strct *EvidenceVariable) MarshalJSON() ([]byte, error)

func (*EvidenceVariable) UnmarshalJSON

func (strct *EvidenceVariable) UnmarshalJSON(b []byte) error

type EvidenceVariableCategory

type EvidenceVariableCategory struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Value or set of values that define the grouping.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// Value or set of values that define the grouping.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// Value or set of values that define the grouping.
	ValueRange *Range `json:"valueRange,omitempty"`
}

EvidenceVariableCategory The EvidenceVariable resource describes an element that knowledge (Evidence) is about.

func (*EvidenceVariableCategory) MarshalJSON

func (strct *EvidenceVariableCategory) MarshalJSON() ([]byte, error)

func (*EvidenceVariableCategory) UnmarshalJSON

func (strct *EvidenceVariableCategory) UnmarshalJSON(b []byte) error

type EvidenceVariableCharacteristic

type EvidenceVariableCharacteristic struct {

	// Extensions for definitionCanonical
	DefinitionCanonical *Element `json:"_definitionCanonical,omitempty"`

	// 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).
	DefinitionCodeableConcept *CodeableConcept `json:"definitionCodeableConcept,omitempty"`

	// 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).
	DefinitionExpression *Expression `json:"definitionExpression,omitempty"`

	// 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).
	DefinitionReference *Reference `json:"definitionReference,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Device used for determining characteristic.
	Device *Reference `json:"device,omitempty"`

	// When true, members with this characteristic are excluded from the element.
	Exclude bool `json:"exclude,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Indicates how elements are aggregated within the study effective period.
	GroupMeasure string `json:"groupMeasure,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Method used for describing characteristic.
	Method *CodeableConcept `json:"method,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Indicates duration, period, or point of observation from the participant's study entry.
	TimeFromStart *EvidenceVariableTimeFromStart `json:"timeFromStart,omitempty"`
}

EvidenceVariableCharacteristic The EvidenceVariable resource describes an element that knowledge (Evidence) is about.

func (*EvidenceVariableCharacteristic) MarshalJSON

func (strct *EvidenceVariableCharacteristic) MarshalJSON() ([]byte, error)

func (*EvidenceVariableCharacteristic) UnmarshalJSON

func (strct *EvidenceVariableCharacteristic) UnmarshalJSON(b []byte) error

type EvidenceVariableDefinition

type EvidenceVariableDefinition struct {

	// A text description or summary of the variable.
	Description string `json:"description,omitempty"`

	// Indication of quality of match between intended variable to actual variable.
	DirectnessMatch *CodeableConcept `json:"directnessMatch,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Definition of the intended variable related to the Evidence.
	Intended *Reference `json:"intended,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Footnotes and/or explanatory notes.
	Note []*Annotation `json:"note,omitempty"`

	// Definition of the actual variable related to the statistic(s).
	Observed *Reference `json:"observed,omitempty"`

	// population | subpopulation | exposure | referenceExposure | measuredVariable | confounder.
	VariableRole *CodeableConcept `json:"variableRole"`
}

EvidenceVariableDefinition 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 (*EvidenceVariableDefinition) MarshalJSON

func (strct *EvidenceVariableDefinition) MarshalJSON() ([]byte, error)

func (*EvidenceVariableDefinition) UnmarshalJSON

func (strct *EvidenceVariableDefinition) UnmarshalJSON(b []byte) error

type EvidenceVariableTimeFromStart

type EvidenceVariableTimeFromStart struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A human-readable string to clarify or explain concepts about the resource.
	Note []*Annotation `json:"note,omitempty"`

	// Used to express the observation at a defined amount of time after the study start.
	Quantity *Quantity `json:"quantity,omitempty"`

	// Used to express the observation within a period after the study start.
	Range *Range `json:"range,omitempty"`
}

EvidenceVariableTimeFromStart The EvidenceVariable resource describes an element that knowledge (Evidence) is about.

func (*EvidenceVariableTimeFromStart) MarshalJSON

func (strct *EvidenceVariableTimeFromStart) MarshalJSON() ([]byte, error)

func (*EvidenceVariableTimeFromStart) UnmarshalJSON

func (strct *EvidenceVariableTimeFromStart) UnmarshalJSON(b []byte) error

type ExampleScenario

type ExampleScenario struct {

	// Actor participating in the resource.
	Actor []*ExampleScenarioActor `json:"actor,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"copyright,omitempty"`

	// 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 string `json:"date,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Each resource and each version that is present in the workflow.
	Instance []*ExampleScenarioInstance `json:"instance,omitempty"`

	// A legal or geographic region in which the example scenario is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Each major process - a group of operations.
	Process []*ExampleScenarioProcess `json:"process,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// 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 string `json:"purpose,omitempty"`

	// This is a ExampleScenario resource
	ResourceType interface{} `json:"resourceType"`

	// The status of this example scenario. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`

	// 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 string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`

	// Another nested workflow.
	Workflow []string `json:"workflow,omitempty"`
}

ExampleScenario Example of workflow instance.

func (*ExampleScenario) MarshalJSON

func (strct *ExampleScenario) MarshalJSON() ([]byte, error)

func (*ExampleScenario) UnmarshalJSON

func (strct *ExampleScenario) UnmarshalJSON(b []byte) error

type ExampleScenarioActor

type ExampleScenarioActor struct {

	// ID or acronym of actor.
	ActorId string `json:"actorId,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// The type of actor - person or system.
	Type string `json:"type,omitempty"`
}

ExampleScenarioActor Example of workflow instance.

func (*ExampleScenarioActor) MarshalJSON

func (strct *ExampleScenarioActor) MarshalJSON() ([]byte, error)

func (*ExampleScenarioActor) UnmarshalJSON

func (strct *ExampleScenarioActor) UnmarshalJSON(b []byte) error

type ExampleScenarioAlternative

type ExampleScenarioAlternative struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// What happens in each alternative option.
	Step []*ExampleScenarioStep `json:"step,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`
}

ExampleScenarioAlternative Example of workflow instance.

func (*ExampleScenarioAlternative) MarshalJSON

func (strct *ExampleScenarioAlternative) MarshalJSON() ([]byte, error)

func (*ExampleScenarioAlternative) UnmarshalJSON

func (strct *ExampleScenarioAlternative) UnmarshalJSON(b []byte) error

type ExampleScenarioContainedInstance

type ExampleScenarioContainedInstance struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for resourceId
	ResourceId *Element `json:"_resourceId,omitempty"`

	// Extensions for versionId
	VersionId *Element `json:"_versionId,omitempty"`
}

ExampleScenarioContainedInstance Example of workflow instance.

func (*ExampleScenarioContainedInstance) MarshalJSON

func (strct *ExampleScenarioContainedInstance) MarshalJSON() ([]byte, error)

func (*ExampleScenarioContainedInstance) UnmarshalJSON

func (strct *ExampleScenarioContainedInstance) UnmarshalJSON(b []byte) error

type ExampleScenarioInstance

type ExampleScenarioInstance struct {

	// Resources contained in the instance (e.g. the observations contained in a bundle).
	ContainedInstance []*ExampleScenarioContainedInstance `json:"containedInstance,omitempty"`

	// Human-friendly description of the resource instance.
	Description string `json:"description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for resourceId
	ResourceId *Element `json:"_resourceId,omitempty"`

	// The type of the resource.
	ResourceType string `json:"resourceType,omitempty"`

	// A specific version of the resource.
	Version []*ExampleScenarioVersion `json:"version,omitempty"`
}

ExampleScenarioInstance Example of workflow instance.

func (*ExampleScenarioInstance) MarshalJSON

func (strct *ExampleScenarioInstance) MarshalJSON() ([]byte, error)

func (*ExampleScenarioInstance) UnmarshalJSON

func (strct *ExampleScenarioInstance) UnmarshalJSON(b []byte) error

type ExampleScenarioOperation

type ExampleScenarioOperation struct {

	// A comment to be inserted in the diagram.
	Description string `json:"description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for initiator
	Initiator *Element `json:"_initiator,omitempty"`

	// Whether the initiator is deactivated right after the transaction.
	InitiatorActive bool `json:"initiatorActive,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for number
	Number *Element `json:"_number,omitempty"`

	// Extensions for receiver
	Receiver *Element `json:"_receiver,omitempty"`

	// Extensions for receiverActive
	ReceiverActive *Element `json:"_receiverActive,omitempty"`

	// Each resource instance used by the initiator.
	Request *ExampleScenarioContainedInstance `json:"request,omitempty"`

	// Each resource instance used by the responder.
	Response *ExampleScenarioContainedInstance `json:"response,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

ExampleScenarioOperation Example of workflow instance.

func (*ExampleScenarioOperation) MarshalJSON

func (strct *ExampleScenarioOperation) MarshalJSON() ([]byte, error)

func (*ExampleScenarioOperation) UnmarshalJSON

func (strct *ExampleScenarioOperation) UnmarshalJSON(b []byte) error

type ExampleScenarioProcess

type ExampleScenarioProcess struct {

	// A longer description of the group of operations.
	Description string `json:"description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for postConditions
	PostConditions *Element `json:"_postConditions,omitempty"`

	// Description of initial status before the process starts.
	PreConditions string `json:"preConditions,omitempty"`

	// Each step of the process.
	Step []*ExampleScenarioStep `json:"step,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`
}

ExampleScenarioProcess Example of workflow instance.

func (*ExampleScenarioProcess) MarshalJSON

func (strct *ExampleScenarioProcess) MarshalJSON() ([]byte, error)

func (*ExampleScenarioProcess) UnmarshalJSON

func (strct *ExampleScenarioProcess) UnmarshalJSON(b []byte) error

type ExampleScenarioStep

type ExampleScenarioStep struct {

	// Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances.
	Alternative []*ExampleScenarioAlternative `json:"alternative,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Each interaction or action.
	Operation *ExampleScenarioOperation `json:"operation,omitempty"`

	// Extensions for pause
	Pause *Element `json:"_pause,omitempty"`

	// Nested process.
	Process []*ExampleScenarioProcess `json:"process,omitempty"`
}

ExampleScenarioStep Example of workflow instance.

func (*ExampleScenarioStep) MarshalJSON

func (strct *ExampleScenarioStep) MarshalJSON() ([]byte, error)

func (*ExampleScenarioStep) UnmarshalJSON

func (strct *ExampleScenarioStep) UnmarshalJSON(b []byte) error

type ExampleScenarioVersion

type ExampleScenarioVersion struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for versionId
	VersionId *Element `json:"_versionId,omitempty"`
}

ExampleScenarioVersion Example of workflow instance.

func (*ExampleScenarioVersion) MarshalJSON

func (strct *ExampleScenarioVersion) MarshalJSON() ([]byte, error)

func (*ExampleScenarioVersion) UnmarshalJSON

func (strct *ExampleScenarioVersion) UnmarshalJSON(b []byte) error

type ExplanationOfBenefit

type ExplanationOfBenefit struct {

	// Details of a accident which resulted in injuries which required the products and services listed in the claim.
	Accident *ExplanationOfBenefitAccident `json:"accident,omitempty"`

	// The first-tier service adjudications for payor added product or service lines.
	AddItem []*ExplanationOfBenefitAddItem `json:"addItem,omitempty"`

	// The adjudication results which are presented at the header level rather than at the line-item or add-item levels.
	Adjudication []*ExplanationOfBenefitAdjudication `json:"adjudication,omitempty"`

	// Balance by Benefit Category.
	BenefitBalance []*ExplanationOfBenefitBenefitBalance `json:"benefitBalance,omitempty"`

	// The term of the benefits documented in this response.
	BenefitPeriod *Period `json:"benefitPeriod,omitempty"`

	// The period for which charges are being submitted.
	BillablePeriod *Period `json:"billablePeriod,omitempty"`

	// The members of the team who provided the products and services.
	CareTeam []*ExplanationOfBenefitCareTeam `json:"careTeam,omitempty"`

	// The business identifier for the instance of the adjudication request: claim predetermination or preauthorization.
	Claim *Reference `json:"claim,omitempty"`

	// The business identifier for the instance of the adjudication response: claim, predetermination or preauthorization response.
	ClaimResponse *Reference `json:"claimResponse,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for created
	Created *Element `json:"_created,omitempty"`

	// Information about diagnoses relevant to the claim items.
	Diagnosis []*ExplanationOfBenefitDiagnosis `json:"diagnosis,omitempty"`

	// Extensions for disposition
	Disposition *Element `json:"_disposition,omitempty"`

	// Individual who created the claim, predetermination or preauthorization.
	Enterer *Reference `json:"enterer,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Facility where the services were provided.
	Facility *Reference `json:"facility,omitempty"`

	// The actual form, by reference or inclusion, for printing the content or an EOB.
	Form *Attachment `json:"form,omitempty"`

	// A code for the form to be used for printing the content.
	FormCode *CodeableConcept `json:"formCode,omitempty"`

	// A code, used only on a response to a preauthorization, to indicate whether the benefits payable have been reserved and for whom.
	FundsReserve *CodeableConcept `json:"fundsReserve,omitempty"`

	// A code to indicate whether and for whom funds are to be reserved for future claims.
	FundsReserveRequested *CodeableConcept `json:"fundsReserveRequested,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this explanation of benefit.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Financial instruments for reimbursement for the health care products and services specified on the claim.
	Insurance []*ExplanationOfBenefitInsurance `json:"insurance"`

	// The party responsible for authorization, adjudication and reimbursement.
	Insurer *Reference `json:"insurer"`

	// 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 `json:"item,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Original prescription which has been superseded by this prescription to support the dispensing of pharmacy services, medications or products.
	OriginalPrescription *Reference `json:"originalPrescription,omitempty"`

	// The outcome of the claim, predetermination, or preauthorization processing.
	Outcome string `json:"outcome,omitempty"`

	// 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 `json:"patient"`

	// The party to be reimbursed for cost of the products and services according to the terms of the policy.
	Payee *ExplanationOfBenefitPayee `json:"payee,omitempty"`

	// Payment details for the adjudication of the claim.
	Payment *ExplanationOfBenefitPayment `json:"payment,omitempty"`

	// Extensions for preAuthRef
	PreAuthRef []*Element `json:"_preAuthRef,omitempty"`

	// The timeframe during which the supplied preauthorization reference may be quoted on claims to obtain the adjudication as provided.
	PreAuthRefPeriod []*Period `json:"preAuthRefPeriod,omitempty"`

	// This indicates the relative order of a series of EOBs related to different coverages for the same suite of services.
	Precedence float64 `json:"precedence,omitempty"`

	// Prescription to support the dispensing of pharmacy, device or vision products.
	Prescription *Reference `json:"prescription,omitempty"`

	// The provider-required urgency of processing the request. Typical values include: stat, routine deferred.
	Priority *CodeableConcept `json:"priority,omitempty"`

	// Procedures performed on the patient relevant to the billing items with the claim.
	Procedure []*ExplanationOfBenefitProcedure `json:"procedure,omitempty"`

	// A note that describes or explains adjudication results in a human readable form.
	ProcessNote []*ExplanationOfBenefitProcessNote `json:"processNote,omitempty"`

	// The provider which is responsible for the claim, predetermination or preauthorization.
	Provider *Reference `json:"provider"`

	// A reference to a referral resource.
	Referral *Reference `json:"referral,omitempty"`

	// Other claims which are related to this claim such as prior submissions or claims for related services or for the same event.
	Related []*ExplanationOfBenefitRelated `json:"related,omitempty"`

	// This is a ExplanationOfBenefit resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"subType,omitempty"`

	// Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.
	SupportingInfo []*ExplanationOfBenefitSupportingInfo `json:"supportingInfo,omitempty"`

	// 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 `json:"text,omitempty"`

	// Categorized monetary totals for the adjudication.
	Total []*ExplanationOfBenefitTotal `json:"total,omitempty"`

	// The category of claim, e.g. oral, pharmacy, vision, institutional, professional.
	Type *CodeableConcept `json:"type"`

	// 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 string `json:"use,omitempty"`
}

ExplanationOfBenefit This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.

func (*ExplanationOfBenefit) MarshalJSON

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

func (*ExplanationOfBenefit) UnmarshalJSON

func (strct *ExplanationOfBenefit) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitAccident

type ExplanationOfBenefitAccident struct {

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The physical location of the accident event.
	LocationAddress *Address `json:"locationAddress,omitempty"`

	// The physical location of the accident event.
	LocationReference *Reference `json:"locationReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"type,omitempty"`
}

ExplanationOfBenefitAccident 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 (*ExplanationOfBenefitAccident) MarshalJSON

func (strct *ExplanationOfBenefitAccident) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitAccident) UnmarshalJSON

func (strct *ExplanationOfBenefitAccident) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitAddItem

type ExplanationOfBenefitAddItem struct {

	// The adjudication results.
	Adjudication []*ExplanationOfBenefitAdjudication `json:"adjudication,omitempty"`

	// Physical service site on the patient (limb, tooth, etc.).
	BodySite *CodeableConcept `json:"bodySite,omitempty"`

	// The second-tier service adjudications for payor added services.
	Detail []*ExplanationOfBenefitDetail1 `json:"detail,omitempty"`

	// The sequence number of the details within the claim item which this line is intended to replace.
	DetailSequence []float64 `json:"detailSequence,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for factor
	Factor *Element `json:"_factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for itemSequence
	ItemSequence []*Element `json:"_itemSequence,omitempty"`

	// Where the product or service was provided.
	LocationAddress *Address `json:"locationAddress,omitempty"`

	// Where the product or service was provided.
	LocationCodeableConcept *CodeableConcept `json:"locationCodeableConcept,omitempty"`

	// Where the product or service was provided.
	LocationReference *Reference `json:"locationReference,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []float64 `json:"noteNumber,omitempty"`

	// 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 `json:"productOrService"`

	// Identifies the program under which this may be recovered.
	ProgramCode []*CodeableConcept `json:"programCode,omitempty"`

	// The providers who are authorized for the services rendered to the patient.
	Provider []*Reference `json:"provider,omitempty"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// The date or dates when the service or product was supplied, performed or completed.
	ServicedDate string `json:"servicedDate,omitempty"`

	// The date or dates when the service or product was supplied, performed or completed.
	ServicedPeriod *Period `json:"servicedPeriod,omitempty"`

	// The sequence number of the sub-details woithin the details within the claim item which this line is intended to replace.
	SubDetailSequence []float64 `json:"subDetailSequence,omitempty"`

	// A region or surface of the bodySite, e.g. limb region or tooth surface(s).
	SubSite []*CodeableConcept `json:"subSite,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

ExplanationOfBenefitAddItem 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 (*ExplanationOfBenefitAddItem) MarshalJSON

func (strct *ExplanationOfBenefitAddItem) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitAddItem) UnmarshalJSON

func (strct *ExplanationOfBenefitAddItem) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitAdjudication

type ExplanationOfBenefitAdjudication struct {

	// Monetary amount associated with the category.
	Amount *Money `json:"amount,omitempty"`

	// 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 `json:"category"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A code supporting the understanding of the adjudication result and explaining variance from expected amount.
	Reason *CodeableConcept `json:"reason,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

ExplanationOfBenefitAdjudication 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 (*ExplanationOfBenefitAdjudication) MarshalJSON

func (strct *ExplanationOfBenefitAdjudication) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitAdjudication) UnmarshalJSON

func (strct *ExplanationOfBenefitAdjudication) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitBenefitBalance

type ExplanationOfBenefitBenefitBalance struct {

	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept `json:"category"`

	// A richer description of the benefit or services covered.
	Description string `json:"description,omitempty"`

	// 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 bool `json:"excluded,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Benefits Used to date.
	Financial []*ExplanationOfBenefitFinancial `json:"financial,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.
	Network *CodeableConcept `json:"network,omitempty"`

	// The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.
	Term *CodeableConcept `json:"term,omitempty"`

	// Indicates if the benefits apply to an individual or to the family.
	Unit *CodeableConcept `json:"unit,omitempty"`
}

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 (*ExplanationOfBenefitBenefitBalance) MarshalJSON

func (strct *ExplanationOfBenefitBenefitBalance) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitBenefitBalance) UnmarshalJSON

func (strct *ExplanationOfBenefitBenefitBalance) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitCareTeam

type ExplanationOfBenefitCareTeam struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Member of the team who provided the product or service.
	Provider *Reference `json:"provider"`

	// The qualification of the practitioner which is applicable for this service.
	Qualification *CodeableConcept `json:"qualification,omitempty"`

	// Extensions for responsible
	Responsible *Element `json:"_responsible,omitempty"`

	// The lead, assisting or supervising practitioner and their discipline if a multidisciplinary team.
	Role *CodeableConcept `json:"role,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`
}

ExplanationOfBenefitCareTeam 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 (*ExplanationOfBenefitCareTeam) MarshalJSON

func (strct *ExplanationOfBenefitCareTeam) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitCareTeam) UnmarshalJSON

func (strct *ExplanationOfBenefitCareTeam) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitDetail

type ExplanationOfBenefitDetail struct {

	// The adjudication results.
	Adjudication []*ExplanationOfBenefitAdjudication `json:"adjudication,omitempty"`

	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept `json:"category,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 float64 `json:"factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []float64 `json:"noteNumber,omitempty"`

	// 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 `json:"productOrService"`

	// Identifies the program under which this may be recovered.
	ProgramCode []*CodeableConcept `json:"programCode,omitempty"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept `json:"revenue,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`

	// Third-tier of goods and services.
	SubDetail []*ExplanationOfBenefitSubDetail `json:"subDetail,omitempty"`

	// Unique Device Identifiers associated with this line item.
	Udi []*Reference `json:"udi,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

ExplanationOfBenefitDetail 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 (*ExplanationOfBenefitDetail) MarshalJSON

func (strct *ExplanationOfBenefitDetail) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitDetail) UnmarshalJSON

func (strct *ExplanationOfBenefitDetail) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitDetail1

type ExplanationOfBenefitDetail1 struct {

	// The adjudication results.
	Adjudication []*ExplanationOfBenefitAdjudication `json:"adjudication,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for factor
	Factor *Element `json:"_factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// The numbers associated with notes below which apply to the adjudication of this item.
	NoteNumber []float64 `json:"noteNumber,omitempty"`

	// 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 `json:"productOrService"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// The third-tier service adjudications for payor added services.
	SubDetail []*ExplanationOfBenefitSubDetail1 `json:"subDetail,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

ExplanationOfBenefitDetail1 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 (*ExplanationOfBenefitDetail1) MarshalJSON

func (strct *ExplanationOfBenefitDetail1) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitDetail1) UnmarshalJSON

func (strct *ExplanationOfBenefitDetail1) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitDiagnosis

type ExplanationOfBenefitDiagnosis struct {

	// The nature of illness or problem in a coded form or as a reference to an external defined Condition.
	DiagnosisCodeableConcept *CodeableConcept `json:"diagnosisCodeableConcept,omitempty"`

	// The nature of illness or problem in a coded form or as a reference to an external defined Condition.
	DiagnosisReference *Reference `json:"diagnosisReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Indication of whether the diagnosis was present on admission to a facility.
	OnAdmission *CodeableConcept `json:"onAdmission,omitempty"`

	// 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 `json:"packageCode,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`

	// When the condition was observed or the relative ranking.
	Type []*CodeableConcept `json:"type,omitempty"`
}

ExplanationOfBenefitDiagnosis 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 (*ExplanationOfBenefitDiagnosis) MarshalJSON

func (strct *ExplanationOfBenefitDiagnosis) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitDiagnosis) UnmarshalJSON

func (strct *ExplanationOfBenefitDiagnosis) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitFinancial

type ExplanationOfBenefitFinancial struct {

	// The quantity of the benefit which is permitted under the coverage.
	AllowedMoney *Money `json:"allowedMoney,omitempty"`

	// Extensions for allowedString
	AllowedString *Element `json:"_allowedString,omitempty"`

	// The quantity of the benefit which is permitted under the coverage.
	AllowedUnsignedInt float64 `json:"allowedUnsignedInt,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Classification of benefit being provided.
	Type *CodeableConcept `json:"type"`

	// The quantity of the benefit which have been consumed to date.
	UsedMoney *Money `json:"usedMoney,omitempty"`

	// Extensions for usedUnsignedInt
	UsedUnsignedInt *Element `json:"_usedUnsignedInt,omitempty"`
}

ExplanationOfBenefitFinancial 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 (*ExplanationOfBenefitFinancial) MarshalJSON

func (strct *ExplanationOfBenefitFinancial) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitFinancial) UnmarshalJSON

func (strct *ExplanationOfBenefitFinancial) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitInsurance

type ExplanationOfBenefitInsurance struct {

	// 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 `json:"coverage"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for focal
	Focal *Element `json:"_focal,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for preAuthRef
	PreAuthRef []*Element `json:"_preAuthRef,omitempty"`
}

ExplanationOfBenefitInsurance 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 (*ExplanationOfBenefitInsurance) MarshalJSON

func (strct *ExplanationOfBenefitInsurance) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitInsurance) UnmarshalJSON

func (strct *ExplanationOfBenefitInsurance) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitItem

type ExplanationOfBenefitItem struct {

	// 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 []*ExplanationOfBenefitAdjudication `json:"adjudication,omitempty"`

	// Physical service site on the patient (limb, tooth, etc.).
	BodySite *CodeableConcept `json:"bodySite,omitempty"`

	// Extensions for careTeamSequence
	CareTeamSequence []*Element `json:"_careTeamSequence,omitempty"`

	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept `json:"category,omitempty"`

	// Second-tier of goods and services.
	Detail []*ExplanationOfBenefitDetail `json:"detail,omitempty"`

	// Extensions for diagnosisSequence
	DiagnosisSequence []*Element `json:"_diagnosisSequence,omitempty"`

	// A billed item may include goods or services provided in multiple encounters.
	Encounter []*Reference `json:"encounter,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for factor
	Factor *Element `json:"_factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for informationSequence
	InformationSequence []*Element `json:"_informationSequence,omitempty"`

	// Where the product or service was provided.
	LocationAddress *Address `json:"locationAddress,omitempty"`

	// Where the product or service was provided.
	LocationCodeableConcept *CodeableConcept `json:"locationCodeableConcept,omitempty"`

	// Where the product or service was provided.
	LocationReference *Reference `json:"locationReference,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// Extensions for noteNumber
	NoteNumber []*Element `json:"_noteNumber,omitempty"`

	// Extensions for procedureSequence
	ProcedureSequence []*Element `json:"_procedureSequence,omitempty"`

	// 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 `json:"productOrService"`

	// Identifies the program under which this may be recovered.
	ProgramCode []*CodeableConcept `json:"programCode,omitempty"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept `json:"revenue,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`

	// Extensions for servicedDate
	ServicedDate *Element `json:"_servicedDate,omitempty"`

	// The date or dates when the service or product was supplied, performed or completed.
	ServicedPeriod *Period `json:"servicedPeriod,omitempty"`

	// A region or surface of the bodySite, e.g. limb region or tooth surface(s).
	SubSite []*CodeableConcept `json:"subSite,omitempty"`

	// Unique Device Identifiers associated with this line item.
	Udi []*Reference `json:"udi,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

ExplanationOfBenefitItem 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 (*ExplanationOfBenefitItem) MarshalJSON

func (strct *ExplanationOfBenefitItem) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitItem) UnmarshalJSON

func (strct *ExplanationOfBenefitItem) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitPayee

type ExplanationOfBenefitPayee struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Reference to the individual or organization to whom any payment will be made.
	Party *Reference `json:"party,omitempty"`

	// Type of Party to be reimbursed: Subscriber, provider, other.
	Type *CodeableConcept `json:"type,omitempty"`
}

ExplanationOfBenefitPayee 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 (*ExplanationOfBenefitPayee) MarshalJSON

func (strct *ExplanationOfBenefitPayee) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitPayee) UnmarshalJSON

func (strct *ExplanationOfBenefitPayee) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitPayment

type ExplanationOfBenefitPayment struct {

	// Total amount of all adjustments to this payment included in this transaction which are not related to this claim's adjudication.
	Adjustment *Money `json:"adjustment,omitempty"`

	// Reason for the payment adjustment.
	AdjustmentReason *CodeableConcept `json:"adjustmentReason,omitempty"`

	// Benefits payable less any payment adjustment.
	Amount *Money `json:"amount,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Issuer's unique identifier for the payment instrument.
	Identifier *Identifier `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Whether this represents partial or complete payment of the benefits payable.
	Type *CodeableConcept `json:"type,omitempty"`
}

ExplanationOfBenefitPayment 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 (*ExplanationOfBenefitPayment) MarshalJSON

func (strct *ExplanationOfBenefitPayment) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitPayment) UnmarshalJSON

func (strct *ExplanationOfBenefitPayment) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitProcedure

type ExplanationOfBenefitProcedure struct {

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The code or reference to a Procedure resource which identifies the clinical intervention performed.
	ProcedureCodeableConcept *CodeableConcept `json:"procedureCodeableConcept,omitempty"`

	// The code or reference to a Procedure resource which identifies the clinical intervention performed.
	ProcedureReference *Reference `json:"procedureReference,omitempty"`

	// A number to uniquely identify procedure entries.
	Sequence float64 `json:"sequence,omitempty"`

	// When the condition was observed or the relative ranking.
	Type []*CodeableConcept `json:"type,omitempty"`

	// Unique Device Identifiers associated with this line item.
	Udi []*Reference `json:"udi,omitempty"`
}

ExplanationOfBenefitProcedure 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 (*ExplanationOfBenefitProcedure) MarshalJSON

func (strct *ExplanationOfBenefitProcedure) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitProcedure) UnmarshalJSON

func (strct *ExplanationOfBenefitProcedure) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitProcessNote

type ExplanationOfBenefitProcessNote struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A code to define the language used in the text of the note.
	Language *CodeableConcept `json:"language,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for number
	Number *Element `json:"_number,omitempty"`

	// The explanation or description associated with the processing.
	Text string `json:"text,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

ExplanationOfBenefitProcessNote 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 (*ExplanationOfBenefitProcessNote) MarshalJSON

func (strct *ExplanationOfBenefitProcessNote) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitProcessNote) UnmarshalJSON

func (strct *ExplanationOfBenefitProcessNote) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitRelated

type ExplanationOfBenefitRelated struct {

	// Reference to a related claim.
	Claim *Reference `json:"claim,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// An alternate organizational reference to the case or file to which this particular claim pertains.
	Reference *Identifier `json:"reference,omitempty"`

	// A code to convey how the claims are related.
	Relationship *CodeableConcept `json:"relationship,omitempty"`
}

ExplanationOfBenefitRelated 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 (*ExplanationOfBenefitRelated) MarshalJSON

func (strct *ExplanationOfBenefitRelated) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitRelated) UnmarshalJSON

func (strct *ExplanationOfBenefitRelated) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitSubDetail

type ExplanationOfBenefitSubDetail struct {

	// The adjudication results.
	Adjudication []*ExplanationOfBenefitAdjudication `json:"adjudication,omitempty"`

	// Code to identify the general type of benefits under which products and services are provided.
	Category *CodeableConcept `json:"category,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for factor
	Factor *Element `json:"_factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// Extensions for noteNumber
	NoteNumber []*Element `json:"_noteNumber,omitempty"`

	// 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 `json:"productOrService"`

	// Identifies the program under which this may be recovered.
	ProgramCode []*CodeableConcept `json:"programCode,omitempty"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// The type of revenue or cost center providing the product and/or service.
	Revenue *CodeableConcept `json:"revenue,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`

	// Unique Device Identifiers associated with this line item.
	Udi []*Reference `json:"udi,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

ExplanationOfBenefitSubDetail 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 (*ExplanationOfBenefitSubDetail) MarshalJSON

func (strct *ExplanationOfBenefitSubDetail) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitSubDetail) UnmarshalJSON

func (strct *ExplanationOfBenefitSubDetail) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitSubDetail1

type ExplanationOfBenefitSubDetail1 struct {

	// The adjudication results.
	Adjudication []*ExplanationOfBenefitAdjudication `json:"adjudication,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for factor
	Factor *Element `json:"_factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Item typification or modifiers codes to convey additional context for the product or service.
	Modifier []*CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity times the unit price for an additional service or product or charge.
	Net *Money `json:"net,omitempty"`

	// Extensions for noteNumber
	NoteNumber []*Element `json:"_noteNumber,omitempty"`

	// 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 `json:"productOrService"`

	// The number of repetitions of a service or product.
	Quantity *Quantity `json:"quantity,omitempty"`

	// 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 `json:"unitPrice,omitempty"`
}

ExplanationOfBenefitSubDetail1 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 (*ExplanationOfBenefitSubDetail1) MarshalJSON

func (strct *ExplanationOfBenefitSubDetail1) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitSubDetail1) UnmarshalJSON

func (strct *ExplanationOfBenefitSubDetail1) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitSupportingInfo

type ExplanationOfBenefitSupportingInfo struct {

	// The general class of the information supplied: information; exception; accident, employment; onset, etc.
	Category *CodeableConcept `json:"category"`

	// 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 `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Provides the reason in the situation where a reason code is required in addition to the content.
	Reason *Coding `json:"reason,omitempty"`

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`

	// The date when or period to which this information refers.
	TimingDate string `json:"timingDate,omitempty"`

	// The date when or period to which this information refers.
	TimingPeriod *Period `json:"timingPeriod,omitempty"`

	// Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.
	ValueReference *Reference `json:"valueReference,omitempty"`

	// Extensions for valueString
	ValueString *Element `json:"_valueString,omitempty"`
}

ExplanationOfBenefitSupportingInfo 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 (*ExplanationOfBenefitSupportingInfo) MarshalJSON

func (strct *ExplanationOfBenefitSupportingInfo) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitSupportingInfo) UnmarshalJSON

func (strct *ExplanationOfBenefitSupportingInfo) UnmarshalJSON(b []byte) error

type ExplanationOfBenefitTotal

type ExplanationOfBenefitTotal struct {

	// Monetary total amount associated with the category.
	Amount *Money `json:"amount"`

	// 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 `json:"category"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ExplanationOfBenefitTotal 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 (*ExplanationOfBenefitTotal) MarshalJSON

func (strct *ExplanationOfBenefitTotal) MarshalJSON() ([]byte, error)

func (*ExplanationOfBenefitTotal) UnmarshalJSON

func (strct *ExplanationOfBenefitTotal) UnmarshalJSON(b []byte) error

type Expression

type Expression struct {

	// A brief, natural language description of the condition that effectively communicates the intended semantics.
	Description string `json:"description,omitempty"`

	// Extensions for expression
	Expression *Element `json:"_expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The media type of the language for the expression.
	Language interface{} `json:"language,omitempty"`

	// A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined.
	Name string `json:"name,omitempty"`

	// Extensions for reference
	Reference *Element `json:"_reference,omitempty"`
}

Expression 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 (strct *Expression) MarshalJSON() ([]byte, error)

func (*Expression) UnmarshalJSON

func (strct *Expression) UnmarshalJSON(b []byte) error

type Extension

type Extension struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueAddress *Address `json:"valueAddress,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueAge *Age `json:"valueAge,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueAnnotation *Annotation `json:"valueAnnotation,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// Extensions for valueBase64Binary
	ValueBase64Binary *Element `json:"_valueBase64Binary,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueCanonical string `json:"valueCanonical,omitempty"`

	// Extensions for valueCode
	ValueCode *Element `json:"_valueCode,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueCodeableReference *CodeableReference `json:"valueCodeableReference,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueCoding *Coding `json:"valueCoding,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueContactDetail *ContactDetail `json:"valueContactDetail,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueContactPoint *ContactPoint `json:"valueContactPoint,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueContributor *Contributor `json:"valueContributor,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueCount *Count `json:"valueCount,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueDataRequirement *DataRequirement `json:"valueDataRequirement,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueDate string `json:"valueDate,omitempty"`

	// Extensions for valueDateTime
	ValueDateTime *Element `json:"_valueDateTime,omitempty"`

	// Extensions for valueDecimal
	ValueDecimal *Element `json:"_valueDecimal,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueDistance *Distance `json:"valueDistance,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueDosage *Dosage `json:"valueDosage,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueDuration *Duration `json:"valueDuration,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueExpression *Expression `json:"valueExpression,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueHumanName *HumanName `json:"valueHumanName,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueId string `json:"valueId,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueIdentifier *Identifier `json:"valueIdentifier,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueInstant string `json:"valueInstant,omitempty"`

	// Extensions for valueInteger
	ValueInteger *Element `json:"_valueInteger,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueMarkdown string `json:"valueMarkdown,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueMoney *Money `json:"valueMoney,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueOid string `json:"valueOid,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueParameterDefinition *ParameterDefinition `json:"valueParameterDefinition,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValuePeriod *Period `json:"valuePeriod,omitempty"`

	// Extensions for valuePositiveInt
	ValuePositiveInt *Element `json:"_valuePositiveInt,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueRange *Range `json:"valueRange,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueRatio *Ratio `json:"valueRatio,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueRatioRange *RatioRange `json:"valueRatioRange,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueReference *Reference `json:"valueReference,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueRelatedArtifact *RelatedArtifact `json:"valueRelatedArtifact,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueSampledData *SampledData `json:"valueSampledData,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueSignature *Signature `json:"valueSignature,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueString string `json:"valueString,omitempty"`

	// Extensions for valueTime
	ValueTime *Element `json:"_valueTime,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueTiming *Timing `json:"valueTiming,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueTriggerDefinition *TriggerDefinition `json:"valueTriggerDefinition,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueUnsignedInt float64 `json:"valueUnsignedInt,omitempty"`

	// Extensions for valueUri
	ValueUri *Element `json:"_valueUri,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueUrl string `json:"valueUrl,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueUsageContext *UsageContext `json:"valueUsageContext,omitempty"`

	// Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).
	ValueUuid string `json:"valueUuid,omitempty"`
}

Extension Optional Extension Element - found in all resources.

func (*Extension) MarshalJSON

func (strct *Extension) MarshalJSON() ([]byte, error)

func (*Extension) UnmarshalJSON

func (strct *Extension) UnmarshalJSON(b []byte) error

type FamilyMemberHistory

type FamilyMemberHistory struct {

	// The age of the relative at the time the family member history is recorded.
	AgeAge *Age `json:"ageAge,omitempty"`

	// The age of the relative at the time the family member history is recorded.
	AgeRange *Range `json:"ageRange,omitempty"`

	// The age of the relative at the time the family member history is recorded.
	AgeString string `json:"ageString,omitempty"`

	// Extensions for bornDate
	BornDate *Element `json:"_bornDate,omitempty"`

	// The actual or approximate date of birth of the relative.
	BornPeriod *Period `json:"bornPeriod,omitempty"`

	// Extensions for bornString
	BornString *Element `json:"_bornString,omitempty"`

	// The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition.
	Condition []*FamilyMemberHistoryCondition `json:"condition,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Describes why the family member's history is not available.
	DataAbsentReason *CodeableConcept `json:"dataAbsentReason,omitempty"`

	// The date (and possibly time) when the family member history was recorded or last updated.
	Date string `json:"date,omitempty"`

	// Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.
	DeceasedAge *Age `json:"deceasedAge,omitempty"`

	// Extensions for deceasedBoolean
	DeceasedBoolean *Element `json:"_deceasedBoolean,omitempty"`

	// Extensions for deceasedDate
	DeceasedDate *Element `json:"_deceasedDate,omitempty"`

	// Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.
	DeceasedRange *Range `json:"deceasedRange,omitempty"`

	// Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record.
	DeceasedString string `json:"deceasedString,omitempty"`

	// If true, indicates that the age value specified is an estimated value.
	EstimatedAge bool `json:"estimatedAge,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// 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 []string `json:"instantiatesCanonical,omitempty"`

	// Extensions for instantiatesUri
	InstantiatesUri []*Element `json:"_instantiatesUri,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair".
	Name string `json:"name,omitempty"`

	// 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 `json:"note,omitempty"`

	// The person who this history concerns.
	Patient *Reference `json:"patient"`

	// Describes why the family member history occurred in coded or textual form.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// The type of relationship this person has to the patient (father, mother, brother etc.).
	Relationship *CodeableConcept `json:"relationship"`

	// This is a FamilyMemberHistory resource
	ResourceType interface{} `json:"resourceType"`

	// The birth sex of the family member.
	Sex *CodeableConcept `json:"sex,omitempty"`

	// A code specifying the status of the record of the family history of a specific family member.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`
}

FamilyMemberHistory Significant health conditions for a person related to the patient relevant in the context of care for the patient.

func (*FamilyMemberHistory) MarshalJSON

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

func (*FamilyMemberHistory) UnmarshalJSON

func (strct *FamilyMemberHistory) UnmarshalJSON(b []byte) error

type FamilyMemberHistoryCondition

type FamilyMemberHistoryCondition struct {

	// 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 `json:"code"`

	// This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown.
	ContributedToDeath bool `json:"contributedToDeath,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// An area where general notes can be placed about this specific condition.
	Note []*Annotation `json:"note,omitempty"`

	// 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.
	OnsetAge *Age `json:"onsetAge,omitempty"`

	// 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.
	OnsetPeriod *Period `json:"onsetPeriod,omitempty"`

	// 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.
	OnsetRange *Range `json:"onsetRange,omitempty"`

	// Extensions for onsetString
	OnsetString *Element `json:"_onsetString,omitempty"`

	// Indicates what happened following the condition.  If the condition resulted in death, deceased date is captured on the relation.
	Outcome *CodeableConcept `json:"outcome,omitempty"`
}

FamilyMemberHistoryCondition Significant health conditions for a person related to the patient relevant in the context of care for the patient.

func (*FamilyMemberHistoryCondition) MarshalJSON

func (strct *FamilyMemberHistoryCondition) MarshalJSON() ([]byte, error)

func (*FamilyMemberHistoryCondition) UnmarshalJSON

func (strct *FamilyMemberHistoryCondition) UnmarshalJSON(b []byte) error

type Flag

type Flag struct {

	// The person, organization or device that created the flag.
	Author *Reference `json:"author,omitempty"`

	// 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 `json:"category,omitempty"`

	// The coded value or textual component of the flag to display to the user.
	Code *CodeableConcept `json:"code"`

	// 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 []interface{} `json:"contained,omitempty"`

	// This alert is only relevant during the encounter.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"period,omitempty"`

	// This is a Flag resource
	ResourceType interface{} `json:"resourceType"`

	// Supports basic workflow.
	Status string `json:"status,omitempty"`

	// The patient, location, group, organization, or practitioner etc. this is about record this flag is associated with.
	Subject *Reference `json:"subject"`

	// 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 `json:"text,omitempty"`
}

Flag Prospective warnings of potential issues when providing care to the patient.

func (*Flag) MarshalJSON

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

func (*Flag) UnmarshalJSON

func (strct *Flag) UnmarshalJSON(b []byte) error

type Goal

type Goal struct {

	// Describes the progression, or lack thereof, towards the goal against the target.
	AchievementStatus *CodeableConcept `json:"achievementStatus,omitempty"`

	// The identified conditions and other health record elements that are intended to be addressed by the goal.
	Addresses []*Reference `json:"addresses,omitempty"`

	// Indicates a category the goal falls within.
	Category []*CodeableConcept `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"description"`

	// Indicates whose goal this is - patient goal, practitioner goal, etc.
	ExpressedBy *Reference `json:"expressedBy,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// Extensions for lifecycleStatus
	LifecycleStatus *Element `json:"_lifecycleStatus,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Any comments related to the goal.
	Note []*Annotation `json:"note,omitempty"`

	// Identifies the change (or lack of change) at the point when the status of the goal is assessed.
	OutcomeCode []*CodeableConcept `json:"outcomeCode,omitempty"`

	// Details of what's changed (or not changed).
	OutcomeReference []*Reference `json:"outcomeReference,omitempty"`

	// Identifies the mutually agreed level of importance associated with reaching/sustaining the goal.
	Priority *CodeableConcept `json:"priority,omitempty"`

	// This is a Goal resource
	ResourceType interface{} `json:"resourceType"`

	// The date or event after which the goal should begin being pursued.
	StartCodeableConcept *CodeableConcept `json:"startCodeableConcept,omitempty"`

	// Extensions for startDate
	StartDate *Element `json:"_startDate,omitempty"`

	// Identifies when the current status.  I.e. When initially created, when achieved, when cancelled, etc.
	StatusDate string `json:"statusDate,omitempty"`

	// Captures the reason for the current status.
	StatusReason string `json:"statusReason,omitempty"`

	// Identifies the patient, group or organization for whom the goal is being established.
	Subject *Reference `json:"subject"`

	// Indicates what should be done by when.
	Target []*GoalTarget `json:"target,omitempty"`

	// 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 `json:"text,omitempty"`
}

Goal Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.

func (*Goal) MarshalJSON

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

func (*Goal) UnmarshalJSON

func (strct *Goal) UnmarshalJSON(b []byte) error

type GoalTarget

type GoalTarget struct {

	// Extensions for detailBoolean
	DetailBoolean *Element `json:"_detailBoolean,omitempty"`

	// 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.
	DetailCodeableConcept *CodeableConcept `json:"detailCodeableConcept,omitempty"`

	// Extensions for detailInteger
	DetailInteger *Element `json:"_detailInteger,omitempty"`

	// 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.
	DetailQuantity *Quantity `json:"detailQuantity,omitempty"`

	// 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.
	DetailRange *Range `json:"detailRange,omitempty"`

	// 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.
	DetailRatio *Ratio `json:"detailRatio,omitempty"`

	// Extensions for detailString
	DetailString *Element `json:"_detailString,omitempty"`

	// Extensions for dueDate
	DueDate *Element `json:"_dueDate,omitempty"`

	// Indicates either the date or the duration after start by which the goal should be met.
	DueDuration *Duration `json:"dueDuration,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
	Measure *CodeableConcept `json:"measure,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

GoalTarget 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 (*GoalTarget) MarshalJSON

func (strct *GoalTarget) MarshalJSON() ([]byte, error)

func (*GoalTarget) UnmarshalJSON

func (strct *GoalTarget) UnmarshalJSON(b []byte) error

type GraphDefinition

type GraphDefinition struct {

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// A free text natural language description of the graph definition from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// A legal or geographic region in which the graph definition is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// Links this graph makes rules about.
	Link []*GraphDefinitionLink `json:"link,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// The profile that describes the use of the base resource.
	Profile string `json:"profile,omitempty"`

	// The name of the organization or individual that published the graph definition.
	Publisher string `json:"publisher,omitempty"`

	// Extensions for purpose
	Purpose *Element `json:"_purpose,omitempty"`

	// This is a GraphDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for start
	Start *Element `json:"_start,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`
}

GraphDefinition A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.

func (*GraphDefinition) MarshalJSON

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

func (*GraphDefinition) UnmarshalJSON

func (strct *GraphDefinition) UnmarshalJSON(b []byte) error

type GraphDefinitionCompartment

type GraphDefinitionCompartment struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Custom rule, as a FHIRPath expression.
	Expression string `json:"expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for rule
	Rule *Element `json:"_rule,omitempty"`

	// Extensions for use
	Use *Element `json:"_use,omitempty"`
}

GraphDefinitionCompartment 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 (*GraphDefinitionCompartment) MarshalJSON

func (strct *GraphDefinitionCompartment) MarshalJSON() ([]byte, error)

func (*GraphDefinitionCompartment) UnmarshalJSON

func (strct *GraphDefinitionCompartment) UnmarshalJSON(b []byte) error
type GraphDefinitionLink struct {

	// Information about why this link is of interest in this graph definition.
	Description string `json:"description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for max
	Max *Element `json:"_max,omitempty"`

	// Extensions for min
	Min *Element `json:"_min,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for path
	Path *Element `json:"_path,omitempty"`

	// Which slice (if profiled).
	SliceName string `json:"sliceName,omitempty"`

	// Potential target for the link.
	Target []*GraphDefinitionTarget `json:"target,omitempty"`
}

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 (*GraphDefinitionLink) MarshalJSON

func (strct *GraphDefinitionLink) MarshalJSON() ([]byte, error)

func (*GraphDefinitionLink) UnmarshalJSON

func (strct *GraphDefinitionLink) UnmarshalJSON(b []byte) error

type GraphDefinitionTarget

type GraphDefinitionTarget struct {

	// Compartment Consistency Rules.
	Compartment []*GraphDefinitionCompartment `json:"compartment,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Additional links from target resource.
	Link []*GraphDefinitionLink `json:"link,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for params
	Params *Element `json:"_params,omitempty"`

	// Profile for the target resource.
	Profile string `json:"profile,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

GraphDefinitionTarget 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 (*GraphDefinitionTarget) MarshalJSON

func (strct *GraphDefinitionTarget) MarshalJSON() ([]byte, error)

func (*GraphDefinitionTarget) UnmarshalJSON

func (strct *GraphDefinitionTarget) UnmarshalJSON(b []byte) error

type Group

type Group struct {

	// Extensions for active
	Active *Element `json:"_active,omitempty"`

	// Extensions for actual
	Actual *Element `json:"_actual,omitempty"`

	// Identifies traits whose presence r absence is shared by members of the group.
	Characteristic []*GroupCharacteristic `json:"characteristic,omitempty"`

	// Provides a specific type of resource the group includes; e.g. "cow", "syringe", etc.
	Code *CodeableConcept `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique business identifier for this group.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// Entity responsible for defining and maintaining Group characteristics and/or registered members.
	ManagingEntity *Reference `json:"managingEntity,omitempty"`

	// Identifies the resource instances that are members of the group.
	Member []*GroupMember `json:"member,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for quantity
	Quantity *Element `json:"_quantity,omitempty"`

	// This is a Group resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"text,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

Group Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization.

func (*Group) MarshalJSON

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

func (*Group) UnmarshalJSON

func (strct *Group) UnmarshalJSON(b []byte) error

type GroupCharacteristic

type GroupCharacteristic struct {

	// A code that identifies the kind of trait being asserted.
	Code *CodeableConcept `json:"code"`

	// Extensions for exclude
	Exclude *Element `json:"_exclude,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The period over which the characteristic is tested; e.g. the patient had an operation during the month of June.
	Period *Period `json:"period,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// The value of the trait that holds (or does not hold - see 'exclude') for members of the group.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// The value of the trait that holds (or does not hold - see 'exclude') for members of the group.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// The value of the trait that holds (or does not hold - see 'exclude') for members of the group.
	ValueRange *Range `json:"valueRange,omitempty"`

	// The value of the trait that holds (or does not hold - see 'exclude') for members of the group.
	ValueReference *Reference `json:"valueReference,omitempty"`
}

GroupCharacteristic 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 (*GroupCharacteristic) MarshalJSON

func (strct *GroupCharacteristic) MarshalJSON() ([]byte, error)

func (*GroupCharacteristic) UnmarshalJSON

func (strct *GroupCharacteristic) UnmarshalJSON(b []byte) error

type GroupMember

type GroupMember struct {

	// 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 `json:"entity"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for inactive
	Inactive *Element `json:"_inactive,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The period that the member was in the group, if known.
	Period *Period `json:"period,omitempty"`
}

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 (*GroupMember) MarshalJSON

func (strct *GroupMember) MarshalJSON() ([]byte, error)

func (*GroupMember) UnmarshalJSON

func (strct *GroupMember) UnmarshalJSON(b []byte) error

type GuidanceResponse

type GuidanceResponse struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"dataRequirement,omitempty"`

	// The encounter during which this response was created or to which the creation of this record is tightly associated.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"evaluationMessage,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Allows a service to provide  unique, business identifiers for the response.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for moduleCanonical
	ModuleCanonical *Element `json:"_moduleCanonical,omitempty"`

	// An identifier, CodeableConcept or canonical reference to the guidance that was requested.
	ModuleCodeableConcept *CodeableConcept `json:"moduleCodeableConcept,omitempty"`

	// Extensions for moduleUri
	ModuleUri *Element `json:"_moduleUri,omitempty"`

	// Provides a mechanism to communicate additional information about the response.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for occurrenceDateTime
	OccurrenceDateTime *Element `json:"_occurrenceDateTime,omitempty"`

	// 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 `json:"outputParameters,omitempty"`

	// Provides a reference to the device that performed the guidance.
	Performer *Reference `json:"performer,omitempty"`

	// Describes the reason for the guidance response in coded or textual form.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// 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 `json:"reasonReference,omitempty"`

	// 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 `json:"requestIdentifier,omitempty"`

	// This is a GuidanceResponse resource
	ResourceType interface{} `json:"resourceType"`

	// The actions, if any, produced by the evaluation of the artifact.
	Result *Reference `json:"result,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// The patient for which the request was processed.
	Subject *Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`
}

GuidanceResponse A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken.

func (*GuidanceResponse) MarshalJSON

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

func (*GuidanceResponse) UnmarshalJSON

func (strct *GuidanceResponse) UnmarshalJSON(b []byte) error

type HealthcareService

type HealthcareService struct {

	// 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 bool `json:"active,omitempty"`

	// Extensions for appointmentRequired
	AppointmentRequired *Element `json:"_appointmentRequired,omitempty"`

	// 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 `json:"availabilityExceptions,omitempty"`

	// A collection of times that the Service Site is available.
	AvailableTime []*HealthcareServiceAvailableTime `json:"availableTime,omitempty"`

	// Identifies the broad category of service being performed or delivered.
	Category []*CodeableConcept `json:"category,omitempty"`

	// Collection of characteristics (attributes).
	Characteristic []*CodeableConcept `json:"characteristic,omitempty"`

	// Extensions for comment
	Comment *Element `json:"_comment,omitempty"`

	// 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 `json:"communication,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The location(s) that this service is available to (not where the service is provided).
	CoverageArea []*Reference `json:"coverageArea,omitempty"`

	// Does this service have specific eligibility requirements that need to be met in order to use the service?
	Eligibility []*HealthcareServiceEligibility `json:"eligibility,omitempty"`

	// Technical endpoints providing access to services operated for the specific healthcare services defined at this resource.
	Endpoint []*Reference `json:"endpoint,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Extensions for extraDetails
	ExtraDetails *Element `json:"_extraDetails,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// External identifiers for this item.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The location(s) where this healthcare service may be provided.
	Location []*Reference `json:"location,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Further description of the service as it would be presented to a consumer while searching.
	Name string `json:"name,omitempty"`

	// The HealthcareService is not available during this period of time due to the provided reason.
	NotAvailable []*HealthcareServiceNotAvailable `json:"notAvailable,omitempty"`

	// 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 `json:"photo,omitempty"`

	// Programs that this service is applicable to.
	Program []*CodeableConcept `json:"program,omitempty"`

	// The organization that provides this healthcare service.
	ProvidedBy *Reference `json:"providedBy,omitempty"`

	// Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required.
	ReferralMethod []*CodeableConcept `json:"referralMethod,omitempty"`

	// This is a HealthcareService resource
	ResourceType interface{} `json:"resourceType"`

	// The code(s) that detail the conditions under which the healthcare service is available/offered.
	ServiceProvisionCode []*CodeableConcept `json:"serviceProvisionCode,omitempty"`

	// Collection of specialties handled by the service site. This is more of a medical term.
	Specialty []*CodeableConcept `json:"specialty,omitempty"`

	// List of contacts related to this specific healthcare service.
	Telecom []*ContactPoint `json:"telecom,omitempty"`

	// 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 `json:"text,omitempty"`

	// The specific type of service that may be delivered or performed.
	Type []*CodeableConcept `json:"type,omitempty"`
}

HealthcareService The details of a healthcare service available at a location.

func (*HealthcareService) MarshalJSON

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

func (*HealthcareService) UnmarshalJSON

func (strct *HealthcareService) UnmarshalJSON(b []byte) error

type HealthcareServiceAvailableTime

type HealthcareServiceAvailableTime struct {

	// Is this always available? (hence times are irrelevant) e.g. 24 hour service.
	AllDay bool `json:"allDay,omitempty"`

	// The closing time of day. Note: If the AllDay flag is set, then this time is ignored.
	AvailableEndTime string `json:"availableEndTime,omitempty"`

	// The opening time of day. Note: If the AllDay flag is set, then this time is ignored.
	AvailableStartTime string `json:"availableStartTime,omitempty"`

	// Extensions for daysOfWeek
	DaysOfWeek []*Element `json:"_daysOfWeek,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

HealthcareServiceAvailableTime The details of a healthcare service available at a location.

func (*HealthcareServiceAvailableTime) MarshalJSON

func (strct *HealthcareServiceAvailableTime) MarshalJSON() ([]byte, error)

func (*HealthcareServiceAvailableTime) UnmarshalJSON

func (strct *HealthcareServiceAvailableTime) UnmarshalJSON(b []byte) error

type HealthcareServiceEligibility

type HealthcareServiceEligibility struct {

	// Coded value for the eligibility.
	Code *CodeableConcept `json:"code,omitempty"`

	// Extensions for comment
	Comment *Element `json:"_comment,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

HealthcareServiceEligibility The details of a healthcare service available at a location.

func (*HealthcareServiceEligibility) MarshalJSON

func (strct *HealthcareServiceEligibility) MarshalJSON() ([]byte, error)

func (*HealthcareServiceEligibility) UnmarshalJSON

func (strct *HealthcareServiceEligibility) UnmarshalJSON(b []byte) error

type HealthcareServiceNotAvailable

type HealthcareServiceNotAvailable struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Service is not available (seasonally or for a public holiday) from this date.
	During *Period `json:"during,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

HealthcareServiceNotAvailable The details of a healthcare service available at a location.

func (*HealthcareServiceNotAvailable) MarshalJSON

func (strct *HealthcareServiceNotAvailable) MarshalJSON() ([]byte, error)

func (*HealthcareServiceNotAvailable) UnmarshalJSON

func (strct *HealthcareServiceNotAvailable) UnmarshalJSON(b []byte) error

type HumanName

type HumanName struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 `json:"family,omitempty"`

	// Extensions for given
	Given []*Element `json:"_given,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Indicates the period of time when this name was valid for the named person.
	Period *Period `json:"period,omitempty"`

	// Extensions for prefix
	Prefix []*Element `json:"_prefix,omitempty"`

	// 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 `json:"suffix,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`

	// Extensions for use
	Use *Element `json:"_use,omitempty"`
}

HumanName A human's name with the ability to identify parts and usage.

func (*HumanName) MarshalJSON

func (strct *HumanName) MarshalJSON() ([]byte, error)

func (*HumanName) UnmarshalJSON

func (strct *HumanName) UnmarshalJSON(b []byte) error

type Identifier

type Identifier struct {

	// Organization that issued/manages the identifier.
	Assigner *Reference `json:"assigner,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Time period during which identifier is/was valid for use.
	Period *Period `json:"period,omitempty"`

	// Extensions for system
	System *Element `json:"_system,omitempty"`

	// A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
	Type *CodeableConcept `json:"type,omitempty"`

	// Extensions for use
	Use *Element `json:"_use,omitempty"`

	// The portion of the identifier typically relevant to the user and which is unique within the context of the system.
	Value string `json:"value,omitempty"`
}

Identifier An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

func (*Identifier) MarshalJSON

func (strct *Identifier) MarshalJSON() ([]byte, error)

func (*Identifier) UnmarshalJSON

func (strct *Identifier) UnmarshalJSON(b []byte) error

type ImagingStudy

type ImagingStudy struct {

	// A list of the diagnostic requests that resulted in this imaging study being performed.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// The healthcare event (e.g. a patient and healthcare provider interaction) during which this ImagingStudy is made.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"endpoint,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifiers for the ImagingStudy such as DICOM Study Instance UID, and Accession Number.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Who read the study and interpreted the images or other content.
	Interpreter []*Reference `json:"interpreter,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The principal physical location where the ImagingStudy was performed.
	Location *Reference `json:"location,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modality,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"note,omitempty"`

	// Extensions for numberOfInstances
	NumberOfInstances *Element `json:"_numberOfInstances,omitempty"`

	// 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 float64 `json:"numberOfSeries,omitempty"`

	// The code for the performed procedure type.
	ProcedureCode []*CodeableConcept `json:"procedureCode,omitempty"`

	// The procedure which this ImagingStudy was part of.
	ProcedureReference *Reference `json:"procedureReference,omitempty"`

	// Description of clinical condition indicating why the ImagingStudy was requested.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Indicates another resource whose existence justifies this Study.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// The requesting/referring physician.
	Referrer *Reference `json:"referrer,omitempty"`

	// This is a ImagingStudy resource
	ResourceType interface{} `json:"resourceType"`

	// Each study has one or more series of images or other content.
	Series []*ImagingStudySeries `json:"series,omitempty"`

	// Date and time the study started.
	Started string `json:"started,omitempty"`

	// The current state of the ImagingStudy.
	Status string `json:"status,omitempty"`

	// The subject, typically a patient, of the imaging study.
	Subject *Reference `json:"subject"`

	// 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 `json:"text,omitempty"`
}

ImagingStudy Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities.

func (*ImagingStudy) MarshalJSON

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

func (*ImagingStudy) UnmarshalJSON

func (strct *ImagingStudy) UnmarshalJSON(b []byte) error

type ImagingStudyInstance

type ImagingStudyInstance struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for number
	Number *Element `json:"_number,omitempty"`

	// DICOM instance  type.
	SopClass *Coding `json:"sopClass"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`

	// Extensions for uid
	Uid *Element `json:"_uid,omitempty"`
}

ImagingStudyInstance 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 (*ImagingStudyInstance) MarshalJSON

func (strct *ImagingStudyInstance) MarshalJSON() ([]byte, error)

func (*ImagingStudyInstance) UnmarshalJSON

func (strct *ImagingStudyInstance) UnmarshalJSON(b []byte) error

type ImagingStudyPerformer

type ImagingStudyPerformer struct {

	// Indicates who or what performed the series.
	Actor *Reference `json:"actor"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Distinguishes the type of involvement of the performer in the series.
	Function *CodeableConcept `json:"function,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ImagingStudyPerformer 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 (*ImagingStudyPerformer) MarshalJSON

func (strct *ImagingStudyPerformer) MarshalJSON() ([]byte, error)

func (*ImagingStudyPerformer) UnmarshalJSON

func (strct *ImagingStudyPerformer) UnmarshalJSON(b []byte) error

type ImagingStudySeries

type ImagingStudySeries struct {

	// 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 `json:"bodySite,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// 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 `json:"endpoint,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A single SOP instance within the series, e.g. an image, or presentation state.
	Instance []*ImagingStudyInstance `json:"instance,omitempty"`

	// 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 `json:"laterality,omitempty"`

	// The modality of this series sequence.
	Modality *Coding `json:"modality"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for number
	Number *Element `json:"_number,omitempty"`

	// 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 float64 `json:"numberOfInstances,omitempty"`

	// Indicates who or what performed the series and how they were involved.
	Performer []*ImagingStudyPerformer `json:"performer,omitempty"`

	// The specimen imaged, e.g., for whole slide imaging of a biopsy.
	Specimen []*Reference `json:"specimen,omitempty"`

	// The date and time the series was started.
	Started string `json:"started,omitempty"`

	// Extensions for uid
	Uid *Element `json:"_uid,omitempty"`
}

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 (*ImagingStudySeries) MarshalJSON

func (strct *ImagingStudySeries) MarshalJSON() ([]byte, error)

func (*ImagingStudySeries) UnmarshalJSON

func (strct *ImagingStudySeries) UnmarshalJSON(b []byte) error

type Immunization

type Immunization struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// The quantity of vaccine product that was administered.
	DoseQuantity *Quantity `json:"doseQuantity,omitempty"`

	// Educational material presented to the patient (or guardian) at the time of vaccine administration.
	Education []*ImmunizationEducation `json:"education,omitempty"`

	// The visit or admission or other contact between patient and health care provider the immunization was performed as part of.
	Encounter *Reference `json:"encounter,omitempty"`

	// Date vaccine batch expires.
	ExpirationDate string `json:"expirationDate,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 `json:"fundingSource,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this immunization record.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Indication if a dose is considered to be subpotent. By default, a dose should be considered to be potent.
	IsSubpotent bool `json:"isSubpotent,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The service delivery location where the vaccine administration occurred.
	Location *Reference `json:"location,omitempty"`

	// Lot number of the  vaccine product.
	LotNumber string `json:"lotNumber,omitempty"`

	// Name of vaccine manufacturer.
	Manufacturer *Reference `json:"manufacturer,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extra information about the immunization that is not conveyed by the other attributes.
	Note []*Annotation `json:"note,omitempty"`

	// Date vaccine administered or was to be administered.
	OccurrenceDateTime string `json:"occurrenceDateTime,omitempty"`

	// Extensions for occurrenceString
	OccurrenceString *Element `json:"_occurrenceString,omitempty"`

	// The patient who either received or did not receive the immunization.
	Patient *Reference `json:"patient"`

	// Indicates who performed the immunization event.
	Performer []*ImmunizationPerformer `json:"performer,omitempty"`

	// 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 bool `json:"primarySource,omitempty"`

	// Indicates a patient's eligibility for a funding program.
	ProgramEligibility []*CodeableConcept `json:"programEligibility,omitempty"`

	// The protocol (set of recommendations) being followed by the provider who administered the dose.
	ProtocolApplied []*ImmunizationProtocolApplied `json:"protocolApplied,omitempty"`

	// Categorical data indicating that an adverse event is associated in time to an immunization.
	Reaction []*ImmunizationReaction `json:"reaction,omitempty"`

	// Reasons why the vaccine was administered.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Condition, Observation or DiagnosticReport that supports why the immunization was administered.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// The date the occurrence of the immunization was first captured in the record - potentially significantly after the occurrence of the event.
	Recorded string `json:"recorded,omitempty"`

	// 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 `json:"reportOrigin,omitempty"`

	// This is a Immunization resource
	ResourceType interface{} `json:"resourceType"`

	// The path by which the vaccine product is taken into the body.
	Route *CodeableConcept `json:"route,omitempty"`

	// Body site where vaccine was administered.
	Site *CodeableConcept `json:"site,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Indicates the reason the immunization event was not performed.
	StatusReason *CodeableConcept `json:"statusReason,omitempty"`

	// Reason why a dose is considered to be subpotent.
	SubpotentReason []*CodeableConcept `json:"subpotentReason,omitempty"`

	// 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 `json:"text,omitempty"`

	// Vaccine that was administered or was to be administered.
	VaccineCode *CodeableConcept `json:"vaccineCode"`
}

Immunization Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party.

func (*Immunization) MarshalJSON

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

func (*Immunization) UnmarshalJSON

func (strct *Immunization) UnmarshalJSON(b []byte) error

type ImmunizationEducation

type ImmunizationEducation struct {

	// Identifier of the material presented to the patient.
	DocumentType string `json:"documentType,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Date the educational material was given to the patient.
	PresentationDate string `json:"presentationDate,omitempty"`

	// Date the educational material was published.
	PublicationDate string `json:"publicationDate,omitempty"`

	// Reference pointer to the educational material given to the patient if the information was on line.
	Reference string `json:"reference,omitempty"`
}

ImmunizationEducation 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 (*ImmunizationEducation) MarshalJSON

func (strct *ImmunizationEducation) MarshalJSON() ([]byte, error)

func (*ImmunizationEducation) UnmarshalJSON

func (strct *ImmunizationEducation) UnmarshalJSON(b []byte) error

type ImmunizationEvaluation

type ImmunizationEvaluation struct {

	// Indicates the authority who published the protocol (e.g. ACIP).
	Authority *Reference `json:"authority,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Extensions for doseNumberPositiveInt
	DoseNumberPositiveInt *Element `json:"_doseNumberPositiveInt,omitempty"`

	// Nominal position in a series.
	DoseNumberString string `json:"doseNumberString,omitempty"`

	// Indicates if the dose is valid or not valid with respect to the published recommendations.
	DoseStatus *CodeableConcept `json:"doseStatus"`

	// Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations.
	DoseStatusReason []*CodeableConcept `json:"doseStatusReason,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this immunization evaluation record.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// The vaccine administration event being evaluated.
	ImmunizationEvent *Reference `json:"immunizationEvent"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The individual for whom the evaluation is being done.
	Patient *Reference `json:"patient"`

	// This is a ImmunizationEvaluation resource
	ResourceType interface{} `json:"resourceType"`

	// One possible path to achieve presumed immunity against a disease - within the context of an authority.
	Series string `json:"series,omitempty"`

	// Extensions for seriesDosesPositiveInt
	SeriesDosesPositiveInt *Element `json:"_seriesDosesPositiveInt,omitempty"`

	// The recommended number of doses to achieve immunity.
	SeriesDosesString string `json:"seriesDosesString,omitempty"`

	// Indicates the current status of the evaluation of the vaccination administration event.
	Status string `json:"status,omitempty"`

	// The vaccine preventable disease the dose is being evaluated against.
	TargetDisease *CodeableConcept `json:"targetDisease"`

	// 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 `json:"text,omitempty"`
}

ImmunizationEvaluation 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 (strct *ImmunizationEvaluation) MarshalJSON() ([]byte, error)

func (*ImmunizationEvaluation) UnmarshalJSON

func (strct *ImmunizationEvaluation) UnmarshalJSON(b []byte) error

type ImmunizationPerformer

type ImmunizationPerformer struct {

	// The practitioner or organization who performed the action.
	Actor *Reference `json:"actor"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Describes the type of performance (e.g. ordering provider, administering provider, etc.).
	Function *CodeableConcept `json:"function,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ImmunizationPerformer 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 (*ImmunizationPerformer) MarshalJSON

func (strct *ImmunizationPerformer) MarshalJSON() ([]byte, error)

func (*ImmunizationPerformer) UnmarshalJSON

func (strct *ImmunizationPerformer) UnmarshalJSON(b []byte) error

type ImmunizationProtocolApplied

type ImmunizationProtocolApplied struct {

	// Indicates the authority who published the protocol (e.g. ACIP) that is being followed.
	Authority *Reference `json:"authority,omitempty"`

	// Nominal position in a series.
	DoseNumberPositiveInt float64 `json:"doseNumberPositiveInt,omitempty"`

	// Extensions for doseNumberString
	DoseNumberString *Element `json:"_doseNumberString,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for series
	Series *Element `json:"_series,omitempty"`

	// The recommended number of doses to achieve immunity.
	SeriesDosesPositiveInt float64 `json:"seriesDosesPositiveInt,omitempty"`

	// The recommended number of doses to achieve immunity.
	SeriesDosesString string `json:"seriesDosesString,omitempty"`

	// The vaccine preventable disease the dose is being administered against.
	TargetDisease []*CodeableConcept `json:"targetDisease,omitempty"`
}

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 (*ImmunizationProtocolApplied) MarshalJSON

func (strct *ImmunizationProtocolApplied) MarshalJSON() ([]byte, error)

func (*ImmunizationProtocolApplied) UnmarshalJSON

func (strct *ImmunizationProtocolApplied) UnmarshalJSON(b []byte) error

type ImmunizationReaction

type ImmunizationReaction struct {

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Details of the reaction.
	Detail *Reference `json:"detail,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Self-reported indicator.
	Reported bool `json:"reported,omitempty"`
}

ImmunizationReaction 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 (*ImmunizationReaction) MarshalJSON

func (strct *ImmunizationReaction) MarshalJSON() ([]byte, error)

func (*ImmunizationReaction) UnmarshalJSON

func (strct *ImmunizationReaction) UnmarshalJSON(b []byte) error

type ImmunizationRecommendation

type ImmunizationRecommendation struct {

	// Indicates the authority who published the protocol (e.g. ACIP).
	Authority *Reference `json:"authority,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The date the immunization recommendation(s) were created.
	Date string `json:"date,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this particular recommendation record.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The patient the recommendation(s) are for.
	Patient *Reference `json:"patient"`

	// Vaccine administration recommendations.
	Recommendation []*ImmunizationRecommendationRecommendation `json:"recommendation"`

	// This is a ImmunizationRecommendation resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"text,omitempty"`
}

ImmunizationRecommendation 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 (strct *ImmunizationRecommendation) MarshalJSON() ([]byte, error)

func (*ImmunizationRecommendation) UnmarshalJSON

func (strct *ImmunizationRecommendation) UnmarshalJSON(b []byte) error

type ImmunizationRecommendationDateCriterion

type ImmunizationRecommendationDateCriterion struct {

	// Date classification of recommendation.  For example, earliest date to give, latest date to give, etc.
	Code *CodeableConcept `json:"code"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

ImmunizationRecommendationDateCriterion A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.

func (*ImmunizationRecommendationDateCriterion) MarshalJSON

func (strct *ImmunizationRecommendationDateCriterion) MarshalJSON() ([]byte, error)

func (*ImmunizationRecommendationDateCriterion) UnmarshalJSON

func (strct *ImmunizationRecommendationDateCriterion) UnmarshalJSON(b []byte) error

type ImmunizationRecommendationRecommendation

type ImmunizationRecommendationRecommendation struct {

	// Vaccine(s) which should not be used to fulfill the recommendation.
	ContraindicatedVaccineCode []*CodeableConcept `json:"contraindicatedVaccineCode,omitempty"`

	// Vaccine date recommendations.  For example, earliest date to administer, latest date to administer, etc.
	DateCriterion []*ImmunizationRecommendationDateCriterion `json:"dateCriterion,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Extensions for doseNumberPositiveInt
	DoseNumberPositiveInt *Element `json:"_doseNumberPositiveInt,omitempty"`

	// Nominal position of the recommended dose in a series (e.g. dose 2 is the next recommended dose).
	DoseNumberString string `json:"doseNumberString,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The reason for the assigned forecast status.
	ForecastReason []*CodeableConcept `json:"forecastReason,omitempty"`

	// Indicates the patient status with respect to the path to immunity for the target disease.
	ForecastStatus *CodeableConcept `json:"forecastStatus"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// One possible path to achieve presumed immunity against a disease - within the context of an authority.
	Series string `json:"series,omitempty"`

	// Extensions for seriesDosesPositiveInt
	SeriesDosesPositiveInt *Element `json:"_seriesDosesPositiveInt,omitempty"`

	// Extensions for seriesDosesString
	SeriesDosesString *Element `json:"_seriesDosesString,omitempty"`

	// Immunization event history and/or evaluation that supports the status and recommendation.
	SupportingImmunization []*Reference `json:"supportingImmunization,omitempty"`

	// Patient Information that supports the status and recommendation.  This includes patient observations, adverse reactions and allergy/intolerance information.
	SupportingPatientInformation []*Reference `json:"supportingPatientInformation,omitempty"`

	// The targeted disease for the recommendation.
	TargetDisease *CodeableConcept `json:"targetDisease,omitempty"`

	// Vaccine(s) or vaccine group that pertain to the recommendation.
	VaccineCode []*CodeableConcept `json:"vaccineCode,omitempty"`
}

ImmunizationRecommendationRecommendation A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.

func (*ImmunizationRecommendationRecommendation) MarshalJSON

func (strct *ImmunizationRecommendationRecommendation) MarshalJSON() ([]byte, error)

func (*ImmunizationRecommendationRecommendation) UnmarshalJSON

func (strct *ImmunizationRecommendationRecommendation) UnmarshalJSON(b []byte) error

type ImplementationGuide

type ImplementationGuide struct {

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// The information needed by an IG publisher tool to publish the whole implementation guide.
	Definition *ImplementationGuideDefinition `json:"definition,omitempty"`

	// Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.
	DependsOn []*ImplementationGuideDependsOn `json:"dependsOn,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 []string `json:"fhirVersion,omitempty"`

	// A set of profiles that all resources covered by this implementation guide must conform to.
	Global []*ImplementationGuideGlobal `json:"global,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// A legal or geographic region in which the implementation guide is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Extensions for license
	License *Element `json:"_license,omitempty"`

	// Information about an assembled implementation guide, created by the publication tooling.
	Manifest *ImplementationGuideManifest `json:"manifest,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"name,omitempty"`

	// Extensions for packageId
	PackageId *Element `json:"_packageId,omitempty"`

	// The name of the organization or individual that published the implementation guide.
	Publisher string `json:"publisher,omitempty"`

	// This is a ImplementationGuide resource
	ResourceType interface{} `json:"resourceType"`

	// The status of this implementation guide. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the implementation guide.
	Title string `json:"title,omitempty"`

	// 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 string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

ImplementationGuide A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func (*ImplementationGuide) MarshalJSON

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

func (*ImplementationGuide) UnmarshalJSON

func (strct *ImplementationGuide) UnmarshalJSON(b []byte) error

type ImplementationGuideDefinition

type ImplementationGuideDefinition struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// A logical group of resources. Logical groups can be used when building pages.
	Grouping []*ImplementationGuideGrouping `json:"grouping,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A page / section in the implementation guide. The root page is the implementation guide home page.
	Page *ImplementationGuidePage `json:"page,omitempty"`

	// Defines how IG is built by tools.
	Parameter []*ImplementationGuideParameter `json:"parameter,omitempty"`

	// A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.
	Resource []*ImplementationGuideResource `json:"resource"`

	// A template for building resources.
	Template []*ImplementationGuideTemplate `json:"template,omitempty"`
}

ImplementationGuideDefinition A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func (*ImplementationGuideDefinition) MarshalJSON

func (strct *ImplementationGuideDefinition) MarshalJSON() ([]byte, error)

func (*ImplementationGuideDefinition) UnmarshalJSON

func (strct *ImplementationGuideDefinition) UnmarshalJSON(b []byte) error

type ImplementationGuideDependsOn

type ImplementationGuideDependsOn struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for packageId
	PackageId *Element `json:"_packageId,omitempty"`

	// A canonical reference to the Implementation guide for the dependency.
	Uri string `json:"uri"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

ImplementationGuideDependsOn A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func (*ImplementationGuideDependsOn) MarshalJSON

func (strct *ImplementationGuideDependsOn) MarshalJSON() ([]byte, error)

func (*ImplementationGuideDependsOn) UnmarshalJSON

func (strct *ImplementationGuideDependsOn) UnmarshalJSON(b []byte) error

type ImplementationGuideGlobal

type ImplementationGuideGlobal struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A reference to the profile that all instances must conform to.
	Profile string `json:"profile"`

	// The type of resource that all instances must conform to.
	Type string `json:"type,omitempty"`
}

ImplementationGuideGlobal A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func (*ImplementationGuideGlobal) MarshalJSON

func (strct *ImplementationGuideGlobal) MarshalJSON() ([]byte, error)

func (*ImplementationGuideGlobal) UnmarshalJSON

func (strct *ImplementationGuideGlobal) UnmarshalJSON(b []byte) error

type ImplementationGuideGrouping

type ImplementationGuideGrouping struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`
}

ImplementationGuideGrouping A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func (*ImplementationGuideGrouping) MarshalJSON

func (strct *ImplementationGuideGrouping) MarshalJSON() ([]byte, error)

func (*ImplementationGuideGrouping) UnmarshalJSON

func (strct *ImplementationGuideGrouping) UnmarshalJSON(b []byte) error

type ImplementationGuideManifest

type ImplementationGuideManifest struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for image
	Image []*Element `json:"_image,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for other
	Other []*Element `json:"_other,omitempty"`

	// Information about a page within the IG.
	Page []*ImplementationGuidePage1 `json:"page,omitempty"`

	// Extensions for rendering
	Rendering *Element `json:"_rendering,omitempty"`

	// A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.
	Resource []*ImplementationGuideResource1 `json:"resource"`
}

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.

func (*ImplementationGuideManifest) MarshalJSON

func (strct *ImplementationGuideManifest) MarshalJSON() ([]byte, error)

func (*ImplementationGuideManifest) UnmarshalJSON

func (strct *ImplementationGuideManifest) UnmarshalJSON(b []byte) error

type ImplementationGuidePage

type ImplementationGuidePage struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// A code that indicates how the page is generated.
	Generation string `json:"generation,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The source address for the page.
	NameReference *Reference `json:"nameReference,omitempty"`

	// Extensions for nameUrl
	NameUrl *Element `json:"_nameUrl,omitempty"`

	// Nested Pages/Sections under this page.
	Page []*ImplementationGuidePage `json:"page,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`
}

ImplementationGuidePage A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func (*ImplementationGuidePage) MarshalJSON

func (strct *ImplementationGuidePage) MarshalJSON() ([]byte, error)

func (*ImplementationGuidePage) UnmarshalJSON

func (strct *ImplementationGuidePage) UnmarshalJSON(b []byte) error

type ImplementationGuidePage1

type ImplementationGuidePage1 struct {

	// The name of an anchor available on the page.
	Anchor []string `json:"anchor,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Relative path to the page.
	Name string `json:"name,omitempty"`

	// Label for the page intended for human display.
	Title string `json:"title,omitempty"`
}

ImplementationGuidePage1 A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func (*ImplementationGuidePage1) MarshalJSON

func (strct *ImplementationGuidePage1) MarshalJSON() ([]byte, error)

func (*ImplementationGuidePage1) UnmarshalJSON

func (strct *ImplementationGuidePage1) UnmarshalJSON(b []byte) error

type ImplementationGuideParameter

type ImplementationGuideParameter struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

ImplementationGuideParameter A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func (*ImplementationGuideParameter) MarshalJSON

func (strct *ImplementationGuideParameter) MarshalJSON() ([]byte, error)

func (*ImplementationGuideParameter) UnmarshalJSON

func (strct *ImplementationGuideParameter) UnmarshalJSON(b []byte) error

type ImplementationGuideResource

type ImplementationGuideResource struct {

	// A description of the reason that a resource has been included in the implementation guide.
	Description string `json:"description,omitempty"`

	// Extensions for exampleBoolean
	ExampleBoolean *Element `json:"_exampleBoolean,omitempty"`

	// 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.
	ExampleCanonical string `json:"exampleCanonical,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 []string `json:"fhirVersion,omitempty"`

	// Extensions for groupingId
	GroupingId *Element `json:"_groupingId,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Where this resource is found.
	Reference *Reference `json:"reference"`
}

ImplementationGuideResource A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func (*ImplementationGuideResource) MarshalJSON

func (strct *ImplementationGuideResource) MarshalJSON() ([]byte, error)

func (*ImplementationGuideResource) UnmarshalJSON

func (strct *ImplementationGuideResource) UnmarshalJSON(b []byte) error

type ImplementationGuideResource1

type ImplementationGuideResource1 struct {

	// 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.
	ExampleBoolean bool `json:"exampleBoolean,omitempty"`

	// Extensions for exampleCanonical
	ExampleCanonical *Element `json:"_exampleCanonical,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Where this resource is found.
	Reference *Reference `json:"reference"`

	// Extensions for relativePath
	RelativePath *Element `json:"_relativePath,omitempty"`
}

ImplementationGuideResource1 A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func (*ImplementationGuideResource1) MarshalJSON

func (strct *ImplementationGuideResource1) MarshalJSON() ([]byte, error)

func (*ImplementationGuideResource1) UnmarshalJSON

func (strct *ImplementationGuideResource1) UnmarshalJSON(b []byte) error

type ImplementationGuideTemplate

type ImplementationGuideTemplate struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for scope
	Scope *Element `json:"_scope,omitempty"`

	// Extensions for source
	Source *Element `json:"_source,omitempty"`
}

ImplementationGuideTemplate A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.

func (*ImplementationGuideTemplate) MarshalJSON

func (strct *ImplementationGuideTemplate) MarshalJSON() ([]byte, error)

func (*ImplementationGuideTemplate) UnmarshalJSON

func (strct *ImplementationGuideTemplate) UnmarshalJSON(b []byte) error

type Ingredient

type Ingredient struct {

	// 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 bool `json:"allergenicIndicator,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The product which this ingredient is a constituent part of.
	For []*Reference `json:"for,omitempty"`

	// 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 `json:"function,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"manufacturer,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// This is a Ingredient resource
	ResourceType interface{} `json:"resourceType"`

	// A classification of the ingredient identifying its purpose within the product, e.g. active, inactive.
	Role *CodeableConcept `json:"role"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// The substance that comprises this ingredient.
	Substance *IngredientSubstance `json:"substance"`

	// 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 `json:"text,omitempty"`
}

Ingredient An ingredient of a manufactured item or pharmaceutical product.

func (*Ingredient) MarshalJSON

func (strct *Ingredient) MarshalJSON() ([]byte, error)

func (*Ingredient) UnmarshalJSON

func (strct *Ingredient) UnmarshalJSON(b []byte) error

type IngredientManufacturer

type IngredientManufacturer struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// An organization that manufactures this ingredient.
	Manufacturer *Reference `json:"manufacturer"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for role
	Role *Element `json:"_role,omitempty"`
}

IngredientManufacturer An ingredient of a manufactured item or pharmaceutical product.

func (*IngredientManufacturer) MarshalJSON

func (strct *IngredientManufacturer) MarshalJSON() ([]byte, error)

func (*IngredientManufacturer) UnmarshalJSON

func (strct *IngredientManufacturer) UnmarshalJSON(b []byte) error

type IngredientReferenceStrength

type IngredientReferenceStrength struct {

	// The country or countries for which the strength range applies.
	Country []*CodeableConcept `json:"country,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for measurementPoint
	MeasurementPoint *Element `json:"_measurementPoint,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Strength expressed in terms of a reference substance.
	StrengthRatio *Ratio `json:"strengthRatio,omitempty"`

	// Strength expressed in terms of a reference substance.
	StrengthRatioRange *RatioRange `json:"strengthRatioRange,omitempty"`

	// Relevant reference substance.
	Substance *CodeableReference `json:"substance,omitempty"`
}

IngredientReferenceStrength An ingredient of a manufactured item or pharmaceutical product.

func (*IngredientReferenceStrength) MarshalJSON

func (strct *IngredientReferenceStrength) MarshalJSON() ([]byte, error)

func (*IngredientReferenceStrength) UnmarshalJSON

func (strct *IngredientReferenceStrength) UnmarshalJSON(b []byte) error

type IngredientStrength

type IngredientStrength struct {

	// The strength per unitary volume (or mass).
	ConcentrationRatio *Ratio `json:"concentrationRatio,omitempty"`

	// The strength per unitary volume (or mass).
	ConcentrationRatioRange *RatioRange `json:"concentrationRatioRange,omitempty"`

	// The country or countries for which the strength range applies.
	Country []*CodeableConcept `json:"country,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"measurementPoint,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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').
	PresentationRatio *Ratio `json:"presentationRatio,omitempty"`

	// 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').
	PresentationRatioRange *RatioRange `json:"presentationRatioRange,omitempty"`

	// 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 []*IngredientReferenceStrength `json:"referenceStrength,omitempty"`

	// 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 `json:"textConcentration,omitempty"`

	// 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 `json:"textPresentation,omitempty"`
}

IngredientStrength An ingredient of a manufactured item or pharmaceutical product.

func (*IngredientStrength) MarshalJSON

func (strct *IngredientStrength) MarshalJSON() ([]byte, error)

func (*IngredientStrength) UnmarshalJSON

func (strct *IngredientStrength) UnmarshalJSON(b []byte) error

type IngredientSubstance

type IngredientSubstance struct {

	// A code or full resource that represents the ingredient's substance.
	Code *CodeableReference `json:"code"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 []*IngredientStrength `json:"strength,omitempty"`
}

IngredientSubstance An ingredient of a manufactured item or pharmaceutical product.

func (*IngredientSubstance) MarshalJSON

func (strct *IngredientSubstance) MarshalJSON() ([]byte, error)

func (*IngredientSubstance) UnmarshalJSON

func (strct *IngredientSubstance) UnmarshalJSON(b []byte) error

type InsurancePlan

type InsurancePlan struct {

	// 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 `json:"administeredBy,omitempty"`

	// Extensions for alias
	Alias []*Element `json:"_alias,omitempty"`

	// The contact for the health insurance product for a certain purpose.
	Contact []*InsurancePlanContact `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Details about the coverage offered by the insurance product.
	Coverage []*InsurancePlanCoverage `json:"coverage,omitempty"`

	// The geographic region in which a health insurance product's benefits apply.
	CoverageArea []*Reference `json:"coverageArea,omitempty"`

	// The technical endpoints providing access to services operated for the health insurance product.
	Endpoint []*Reference `json:"endpoint,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Business identifiers assigned to this health insurance product which remain constant as the resource is updated and propagates from server to server.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Reference to the network included in the health insurance product.
	Network []*Reference `json:"network,omitempty"`

	// 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 `json:"ownedBy,omitempty"`

	// The period of time that the health insurance product is available.
	Period *Period `json:"period,omitempty"`

	// Details about an insurance plan.
	Plan []*InsurancePlanPlan `json:"plan,omitempty"`

	// This is a InsurancePlan resource
	ResourceType interface{} `json:"resourceType"`

	// The current state of the health insurance product.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`

	// The kind of health insurance product.
	Type []*CodeableConcept `json:"type,omitempty"`
}

InsurancePlan Details of a Health Insurance product/plan provided by an organization.

func (*InsurancePlan) MarshalJSON

func (strct *InsurancePlan) MarshalJSON() ([]byte, error)

func (*InsurancePlan) UnmarshalJSON

func (strct *InsurancePlan) UnmarshalJSON(b []byte) error

type InsurancePlanBenefit

type InsurancePlanBenefit struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The specific limits on the benefit.
	Limit []*InsurancePlanLimit `json:"limit,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for requirement
	Requirement *Element `json:"_requirement,omitempty"`

	// Type of benefit (primary care; speciality care; inpatient; outpatient).
	Type *CodeableConcept `json:"type"`
}

InsurancePlanBenefit Details of a Health Insurance product/plan provided by an organization.

func (*InsurancePlanBenefit) MarshalJSON

func (strct *InsurancePlanBenefit) MarshalJSON() ([]byte, error)

func (*InsurancePlanBenefit) UnmarshalJSON

func (strct *InsurancePlanBenefit) UnmarshalJSON(b []byte) error

type InsurancePlanBenefit1

type InsurancePlanBenefit1 struct {

	// List of the costs associated with a specific benefit.
	Cost []*InsurancePlanCost `json:"cost,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Type of specific benefit (preventative; primary care office visit; speciality office visit; hospitalization; emergency room; urgent care).
	Type *CodeableConcept `json:"type"`
}

InsurancePlanBenefit1 Details of a Health Insurance product/plan provided by an organization.

func (*InsurancePlanBenefit1) MarshalJSON

func (strct *InsurancePlanBenefit1) MarshalJSON() ([]byte, error)

func (*InsurancePlanBenefit1) UnmarshalJSON

func (strct *InsurancePlanBenefit1) UnmarshalJSON(b []byte) error

type InsurancePlanContact

type InsurancePlanContact struct {

	// Visiting or postal addresses for the contact.
	Address *Address `json:"address,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A name associated with the contact.
	Name *HumanName `json:"name,omitempty"`

	// Indicates a purpose for which the contact can be reached.
	Purpose *CodeableConcept `json:"purpose,omitempty"`

	// A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
	Telecom []*ContactPoint `json:"telecom,omitempty"`
}

InsurancePlanContact Details of a Health Insurance product/plan provided by an organization.

func (*InsurancePlanContact) MarshalJSON

func (strct *InsurancePlanContact) MarshalJSON() ([]byte, error)

func (*InsurancePlanContact) UnmarshalJSON

func (strct *InsurancePlanContact) UnmarshalJSON(b []byte) error

type InsurancePlanCost

type InsurancePlanCost struct {

	// Whether the cost applies to in-network or out-of-network providers (in-network; out-of-network; other).
	Applicability *CodeableConcept `json:"applicability,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Additional information about the cost, such as information about funding sources (e.g. HSA, HRA, FSA, RRA).
	Qualifiers []*CodeableConcept `json:"qualifiers,omitempty"`

	// Type of cost (copay; individual cap; family cap; coinsurance; deductible).
	Type *CodeableConcept `json:"type"`

	// The actual cost value. (some of the costs may be represented as percentages rather than currency, e.g. 10% coinsurance).
	Value *Quantity `json:"value,omitempty"`
}

InsurancePlanCost Details of a Health Insurance product/plan provided by an organization.

func (*InsurancePlanCost) MarshalJSON

func (strct *InsurancePlanCost) MarshalJSON() ([]byte, error)

func (*InsurancePlanCost) UnmarshalJSON

func (strct *InsurancePlanCost) UnmarshalJSON(b []byte) error

type InsurancePlanCoverage

type InsurancePlanCoverage struct {

	// Specific benefits under this type of coverage.
	Benefit []*InsurancePlanBenefit `json:"benefit"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Reference to the network that providing the type of coverage.
	Network []*Reference `json:"network,omitempty"`

	// Type of coverage  (Medical; Dental; Mental Health; Substance Abuse; Vision; Drug; Short Term; Long Term Care; Hospice; Home Health).
	Type *CodeableConcept `json:"type"`
}

InsurancePlanCoverage Details of a Health Insurance product/plan provided by an organization.

func (*InsurancePlanCoverage) MarshalJSON

func (strct *InsurancePlanCoverage) MarshalJSON() ([]byte, error)

func (*InsurancePlanCoverage) UnmarshalJSON

func (strct *InsurancePlanCoverage) UnmarshalJSON(b []byte) error

type InsurancePlanGeneralCost

type InsurancePlanGeneralCost struct {

	// Extensions for comment
	Comment *Element `json:"_comment,omitempty"`

	// Value of the cost.
	Cost *Money `json:"cost,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Number of participants enrolled in the plan.
	GroupSize float64 `json:"groupSize,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Type of cost.
	Type *CodeableConcept `json:"type,omitempty"`
}

InsurancePlanGeneralCost Details of a Health Insurance product/plan provided by an organization.

func (*InsurancePlanGeneralCost) MarshalJSON

func (strct *InsurancePlanGeneralCost) MarshalJSON() ([]byte, error)

func (*InsurancePlanGeneralCost) UnmarshalJSON

func (strct *InsurancePlanGeneralCost) UnmarshalJSON(b []byte) error

type InsurancePlanLimit

type InsurancePlanLimit struct {

	// The specific limit on the benefit.
	Code *CodeableConcept `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The maximum amount of a service item a plan will pay for a covered benefit.  For examples. wellness visits, or eyeglasses.
	Value *Quantity `json:"value,omitempty"`
}

InsurancePlanLimit Details of a Health Insurance product/plan provided by an organization.

func (*InsurancePlanLimit) MarshalJSON

func (strct *InsurancePlanLimit) MarshalJSON() ([]byte, error)

func (*InsurancePlanLimit) UnmarshalJSON

func (strct *InsurancePlanLimit) UnmarshalJSON(b []byte) error

type InsurancePlanPlan

type InsurancePlanPlan struct {

	// The geographic region in which a health insurance plan's benefits apply.
	CoverageArea []*Reference `json:"coverageArea,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Overall costs associated with the plan.
	GeneralCost []*InsurancePlanGeneralCost `json:"generalCost,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Business identifiers assigned to this health insurance plan which remain constant as the resource is updated and propagates from server to server.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Reference to the network that providing the type of coverage.
	Network []*Reference `json:"network,omitempty"`

	// Costs associated with the coverage provided by the product.
	SpecificCost []*InsurancePlanSpecificCost `json:"specificCost,omitempty"`

	// Type of plan. For example, "Platinum" or "High Deductable".
	Type *CodeableConcept `json:"type,omitempty"`
}

InsurancePlanPlan Details of a Health Insurance product/plan provided by an organization.

func (*InsurancePlanPlan) MarshalJSON

func (strct *InsurancePlanPlan) MarshalJSON() ([]byte, error)

func (*InsurancePlanPlan) UnmarshalJSON

func (strct *InsurancePlanPlan) UnmarshalJSON(b []byte) error

type InsurancePlanSpecificCost

type InsurancePlanSpecificCost struct {

	// List of the specific benefits under this category of benefit.
	Benefit []*InsurancePlanBenefit1 `json:"benefit,omitempty"`

	// General category of benefit (Medical; Dental; Vision; Drug; Mental Health; Substance Abuse; Hospice, Home Health).
	Category *CodeableConcept `json:"category"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

InsurancePlanSpecificCost Details of a Health Insurance product/plan provided by an organization.

func (*InsurancePlanSpecificCost) MarshalJSON

func (strct *InsurancePlanSpecificCost) MarshalJSON() ([]byte, error)

func (*InsurancePlanSpecificCost) UnmarshalJSON

func (strct *InsurancePlanSpecificCost) UnmarshalJSON(b []byte) error

type Invoice

type Invoice struct {

	// Account which is supposed to be balanced with this Invoice.
	Account *Reference `json:"account,omitempty"`

	// Extensions for cancelledReason
	CancelledReason *Element `json:"_cancelledReason,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The organizationissuing the Invoice.
	Issuer *Reference `json:"issuer,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource.
	LineItem []*InvoiceLineItem `json:"lineItem,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Comments made about the invoice by the issuer, subject, or other participants.
	Note []*Annotation `json:"note,omitempty"`

	// Indicates who or what performed or participated in the charged service.
	Participant []*InvoiceParticipant `json:"participant,omitempty"`

	// Extensions for paymentTerms
	PaymentTerms *Element `json:"_paymentTerms,omitempty"`

	// The individual or Organization responsible for balancing of this invoice.
	Recipient *Reference `json:"recipient,omitempty"`

	// This is a Invoice resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// The individual or set of individuals receiving the goods and services billed in this invoice.
	Subject *Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// Invoice total, tax included.
	TotalGross *Money `json:"totalGross,omitempty"`

	// Invoice total , taxes excluded.
	TotalNet *Money `json:"totalNet,omitempty"`

	// 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 []*InvoicePriceComponent `json:"totalPriceComponent,omitempty"`

	// Type of Invoice depending on domain, realm an usage (e.g. internal/external, dental, preliminary).
	Type *CodeableConcept `json:"type,omitempty"`
}

Invoice Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.

func (*Invoice) MarshalJSON

func (strct *Invoice) MarshalJSON() ([]byte, error)

func (*Invoice) UnmarshalJSON

func (strct *Invoice) UnmarshalJSON(b []byte) error

type InvoiceLineItem

type InvoiceLineItem struct {

	// 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.
	ChargeItemCodeableConcept *CodeableConcept `json:"chargeItemCodeableConcept,omitempty"`

	// 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.
	ChargeItemReference *Reference `json:"chargeItemReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

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

	// Extensions for sequence
	Sequence *Element `json:"_sequence,omitempty"`
}

InvoiceLineItem Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.

func (*InvoiceLineItem) MarshalJSON

func (strct *InvoiceLineItem) MarshalJSON() ([]byte, error)

func (*InvoiceLineItem) UnmarshalJSON

func (strct *InvoiceLineItem) UnmarshalJSON(b []byte) error

type InvoiceParticipant

type InvoiceParticipant struct {

	// The device, practitioner, etc. who performed or participated in the service.
	Actor *Reference `json:"actor"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"role,omitempty"`
}

InvoiceParticipant Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.

func (*InvoiceParticipant) MarshalJSON

func (strct *InvoiceParticipant) MarshalJSON() ([]byte, error)

func (*InvoiceParticipant) UnmarshalJSON

func (strct *InvoiceParticipant) UnmarshalJSON(b []byte) error

type InvoicePriceComponent

type InvoicePriceComponent struct {

	// The amount calculated for this component.
	Amount *Money `json:"amount,omitempty"`

	// A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.
	Code *CodeableConcept `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The factor that has been applied on the base price for calculating this component.
	Factor float64 `json:"factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// This code identifies the type of the component.
	Type string `json:"type,omitempty"`
}

InvoicePriceComponent Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.

func (*InvoicePriceComponent) MarshalJSON

func (strct *InvoicePriceComponent) MarshalJSON() ([]byte, error)

func (*InvoicePriceComponent) UnmarshalJSON

func (strct *InvoicePriceComponent) UnmarshalJSON(b []byte) error

type Library

type Library struct {

	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate string `json:"approvalDate,omitempty"`

	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []*ContactDetail `json:"author,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"content,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// 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 `json:"dataRequirement,omitempty"`

	// 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 string `json:"date,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []*ContactDetail `json:"editor,omitempty"`

	// The period during which the library content was or is planned to be in active use.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []*ContactDetail `json:"endorser,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// A legal or geographic region in which the library is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate string `json:"lastReviewDate,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// The parameter element defines parameters used by the library.
	Parameter []*ParameterDefinition `json:"parameter,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Explanation of why this library is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []*RelatedArtifact `json:"relatedArtifact,omitempty"`

	// This is a Library resource
	ResourceType interface{} `json:"resourceType"`

	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []*ContactDetail `json:"reviewer,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// A code or group definition that describes the intended subject of the contents of the library.
	SubjectCodeableConcept *CodeableConcept `json:"subjectCodeableConcept,omitempty"`

	// A code or group definition that describes the intended subject of the contents of the library.
	SubjectReference *Reference `json:"subjectReference,omitempty"`

	// Extensions for subtitle
	Subtitle *Element `json:"_subtitle,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the library.
	Title string `json:"title,omitempty"`

	// 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 `json:"topic,omitempty"`

	// Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definition.
	Type *CodeableConcept `json:"type"`

	// 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 string `json:"url,omitempty"`

	// A detailed description of how the library is used from a clinical perspective.
	Usage string `json:"usage,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`
}

Library The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets.

func (*Library) MarshalJSON

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

func (*Library) UnmarshalJSON

func (strct *Library) UnmarshalJSON(b []byte) error

type Linkage

type Linkage struct {

	// Indicates whether the asserted set of linkages are considered to be "in effect".
	Active bool `json:"active,omitempty"`

	// 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 `json:"author,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// 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 `json:"item"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// This is a Linkage resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"text,omitempty"`
}

Linkage Identifies two or more records (resource instances) that refer to the same real-world "occurrence".

func (*Linkage) MarshalJSON

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

func (*Linkage) UnmarshalJSON

func (strct *Linkage) UnmarshalJSON(b []byte) error

type LinkageItem

type LinkageItem struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The resource instance being linked as part of the group.
	Resource *Reference `json:"resource"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

LinkageItem Identifies two or more records (resource instances) that refer to the same real-world "occurrence".

func (*LinkageItem) MarshalJSON

func (strct *LinkageItem) MarshalJSON() ([]byte, error)

func (*LinkageItem) UnmarshalJSON

func (strct *LinkageItem) UnmarshalJSON(b []byte) error

type List

type List struct {

	// This code defines the purpose of the list - why it was created.
	Code *CodeableConcept `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// If the list is empty, why the list is empty.
	EmptyReason *CodeableConcept `json:"emptyReason,omitempty"`

	// The encounter that is the context in which this list was created.
	Encounter *Reference `json:"encounter,omitempty"`

	// Entries in this list.
	Entry []*ListEntry `json:"entry,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier for the List assigned for business purposes outside the context of FHIR.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// Extensions for mode
	Mode *Element `json:"_mode,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Comments that apply to the overall list.
	Note []*Annotation `json:"note,omitempty"`

	// What order applies to the items in the list.
	OrderedBy *CodeableConcept `json:"orderedBy,omitempty"`

	// This is a List resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"source,omitempty"`

	// Indicates the current state of this list.
	Status string `json:"status,omitempty"`

	// The common subject (or patient) of the resources that are in the list if there is one.
	Subject *Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// A label for the list assigned by the author.
	Title string `json:"title,omitempty"`
}

List A list is a curated collection of resources.

func (*List) MarshalJSON

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

func (*List) UnmarshalJSON

func (strct *List) UnmarshalJSON(b []byte) error

type ListEntry

type ListEntry struct {

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Extensions for deleted
	Deleted *Element `json:"_deleted,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The flag allows the system constructing the list to indicate the role and significance of the item in the list.
	Flag *CodeableConcept `json:"flag,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A reference to the actual resource from which data was derived.
	Item *Reference `json:"item"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ListEntry A list is a curated collection of resources.

func (*ListEntry) MarshalJSON

func (strct *ListEntry) MarshalJSON() ([]byte, error)

func (*ListEntry) UnmarshalJSON

func (strct *ListEntry) UnmarshalJSON(b []byte) error

type Location

type Location struct {

	// Physical location.
	Address *Address `json:"address,omitempty"`

	// Extensions for alias
	Alias []*Element `json:"_alias,omitempty"`

	// Extensions for availabilityExceptions
	AvailabilityExceptions *Element `json:"_availabilityExceptions,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Description of the Location, which helps in finding or referencing the place.
	Description string `json:"description,omitempty"`

	// Technical endpoints providing access to services operated for the location.
	Endpoint []*Reference `json:"endpoint,omitempty"`

	// 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 `json:"extension,omitempty"`

	// What days/times during a week is this location usually open.
	HoursOfOperation []*LocationHoursOfOperation `json:"hoursOfOperation,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Unique code or number identifying the location to its users.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The organization responsible for the provisioning and upkeep of the location.
	ManagingOrganization *Reference `json:"managingOrganization,omitempty"`

	// 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 `json:"meta,omitempty"`

	// Extensions for mode
	Mode *Element `json:"_mode,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Name of the location as used by humans. Does not need to be unique.
	Name string `json:"name,omitempty"`

	// 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 `json:"operationalStatus,omitempty"`

	// Another Location of which this Location is physically a part of.
	PartOf *Reference `json:"partOf,omitempty"`

	// Physical form of the location, e.g. building, room, vehicle, road.
	PhysicalType *CodeableConcept `json:"physicalType,omitempty"`

	// The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).
	Position *LocationPosition `json:"position,omitempty"`

	// This is a Location resource
	ResourceType interface{} `json:"resourceType"`

	// 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 string `json:"status,omitempty"`

	// 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 `json:"telecom,omitempty"`

	// 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 `json:"text,omitempty"`

	// Indicates the type of function performed at the location.
	Type []*CodeableConcept `json:"type,omitempty"`
}

Location Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.

func (*Location) MarshalJSON

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

func (*Location) UnmarshalJSON

func (strct *Location) UnmarshalJSON(b []byte) error

type LocationHoursOfOperation

type LocationHoursOfOperation struct {

	// Extensions for allDay
	AllDay *Element `json:"_allDay,omitempty"`

	// Extensions for closingTime
	ClosingTime *Element `json:"_closingTime,omitempty"`

	// Extensions for daysOfWeek
	DaysOfWeek []*Element `json:"_daysOfWeek,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Time that the Location opens.
	OpeningTime string `json:"openingTime,omitempty"`
}

LocationHoursOfOperation Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.

func (*LocationHoursOfOperation) MarshalJSON

func (strct *LocationHoursOfOperation) MarshalJSON() ([]byte, error)

func (*LocationHoursOfOperation) UnmarshalJSON

func (strct *LocationHoursOfOperation) UnmarshalJSON(b []byte) error

type LocationPosition

type LocationPosition struct {

	// Extensions for altitude
	Altitude *Element `json:"_altitude,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for latitude
	Latitude *Element `json:"_latitude,omitempty"`

	// Extensions for longitude
	Longitude *Element `json:"_longitude,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

LocationPosition Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.

func (*LocationPosition) MarshalJSON

func (strct *LocationPosition) MarshalJSON() ([]byte, error)

func (*LocationPosition) UnmarshalJSON

func (strct *LocationPosition) UnmarshalJSON(b []byte) error

type ManufacturedItemDefinition

type ManufacturedItemDefinition struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Unique identifier.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// 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 `json:"ingredient,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Dose form as manufactured and before any transformation into the pharmaceutical product.
	ManufacturedDoseForm *CodeableConcept `json:"manufacturedDoseForm"`

	// Manufacturer of the item (Note that this should be named "manufacturer" but it currently causes technical issues).
	Manufacturer []*Reference `json:"manufacturer,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// General characteristics of this item.
	Property []*ManufacturedItemDefinitionProperty `json:"property,omitempty"`

	// This is a ManufacturedItemDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`

	// The “real world” units in which the quantity of the manufactured item is described.
	UnitOfPresentation *CodeableConcept `json:"unitOfPresentation,omitempty"`
}

ManufacturedItemDefinition 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 (strct *ManufacturedItemDefinition) MarshalJSON() ([]byte, error)

func (*ManufacturedItemDefinition) UnmarshalJSON

func (strct *ManufacturedItemDefinition) UnmarshalJSON(b []byte) error

type ManufacturedItemDefinitionProperty

type ManufacturedItemDefinitionProperty struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A code expressing the type of characteristic.
	Type *CodeableConcept `json:"type"`

	// A value for the characteristic.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// A value for the characteristic.
	ValueBoolean bool `json:"valueBoolean,omitempty"`

	// A value for the characteristic.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// A value for the characteristic.
	ValueDate string `json:"valueDate,omitempty"`

	// A value for the characteristic.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`
}

ManufacturedItemDefinitionProperty The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product.

func (*ManufacturedItemDefinitionProperty) MarshalJSON

func (strct *ManufacturedItemDefinitionProperty) MarshalJSON() ([]byte, error)

func (*ManufacturedItemDefinitionProperty) UnmarshalJSON

func (strct *ManufacturedItemDefinitionProperty) UnmarshalJSON(b []byte) error

type MarketingStatus

type MarketingStatus struct {

	// 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 `json:"country,omitempty"`

	// 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 `json:"dateRange,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"jurisdiction,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 string `json:"restoreDate,omitempty"`

	// 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 `json:"status"`
}

MarketingStatus 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 (strct *MarketingStatus) MarshalJSON() ([]byte, error)

func (*MarketingStatus) UnmarshalJSON

func (strct *MarketingStatus) UnmarshalJSON(b []byte) error

type Measure

type Measure struct {

	// Extensions for approvalDate
	ApprovalDate *Element `json:"_approvalDate,omitempty"`

	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []*ContactDetail `json:"author,omitempty"`

	// Extensions for clinicalRecommendationStatement
	ClinicalRecommendationStatement *Element `json:"_clinicalRecommendationStatement,omitempty"`

	// If this is a composite measure, the scoring method used to combine the component measures to determine the composite score.
	CompositeScoring *CodeableConcept `json:"compositeScoring,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// 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 string `json:"date,omitempty"`

	// Provides a description of an individual term used within the measure.
	Definition []string `json:"definition,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Notices and disclaimers regarding the use of the measure or related to intellectual property (such as code systems) referenced by the measure.
	Disclaimer string `json:"disclaimer,omitempty"`

	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []*ContactDetail `json:"editor,omitempty"`

	// The period during which the measure content was or is planned to be in active use.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []*ContactDetail `json:"endorser,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// A group of population criteria for the measure.
	Group []*MeasureGroup `json:"group,omitempty"`

	// Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure.
	Guidance string `json:"guidance,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// 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 `json:"improvementNotation,omitempty"`

	// A legal or geographic region in which the measure is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Extensions for lastReviewDate
	LastReviewDate *Element `json:"_lastReviewDate,omitempty"`

	// A reference to a Library resource containing the formal logic used by the measure.
	Library []string `json:"library,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Extensions for purpose
	Purpose *Element `json:"_purpose,omitempty"`

	// Extensions for rateAggregation
	RateAggregation *Element `json:"_rateAggregation,omitempty"`

	// Extensions for rationale
	Rationale *Element `json:"_rationale,omitempty"`

	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []*RelatedArtifact `json:"relatedArtifact,omitempty"`

	// This is a Measure resource
	ResourceType interface{} `json:"resourceType"`

	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []*ContactDetail `json:"reviewer,omitempty"`

	// Extensions for riskAdjustment
	RiskAdjustment *Element `json:"_riskAdjustment,omitempty"`

	// 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 `json:"scoring,omitempty"`

	// The status of this measure. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// 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.
	SubjectCodeableConcept *CodeableConcept `json:"subjectCodeableConcept,omitempty"`

	// 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.
	SubjectReference *Reference `json:"subjectReference,omitempty"`

	// An explanatory or alternate title for the measure giving additional information about its content.
	Subtitle string `json:"subtitle,omitempty"`

	// 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 `json:"supplementalData,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the measure.
	Title string `json:"title,omitempty"`

	// 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 `json:"topic,omitempty"`

	// 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 `json:"type,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// Extensions for usage
	Usage *Element `json:"_usage,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`
}

Measure The Measure resource provides the definition of a quality measure.

func (*Measure) MarshalJSON

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

func (*Measure) UnmarshalJSON

func (strct *Measure) UnmarshalJSON(b []byte) error

type MeasureComponent

type MeasureComponent struct {

	// 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 `json:"code,omitempty"`

	// 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 `json:"criteria"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

MeasureComponent The Measure resource provides the definition of a quality measure.

func (*MeasureComponent) MarshalJSON

func (strct *MeasureComponent) MarshalJSON() ([]byte, error)

func (*MeasureComponent) UnmarshalJSON

func (strct *MeasureComponent) UnmarshalJSON(b []byte) error

type MeasureGroup

type MeasureGroup struct {

	// 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 `json:"code,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A population criteria for the measure.
	Population []*MeasurePopulation `json:"population,omitempty"`

	// The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library or a valid FHIR Resource Path.
	Stratifier []*MeasureStratifier `json:"stratifier,omitempty"`
}

MeasureGroup The Measure resource provides the definition of a quality measure.

func (*MeasureGroup) MarshalJSON

func (strct *MeasureGroup) MarshalJSON() ([]byte, error)

func (*MeasureGroup) UnmarshalJSON

func (strct *MeasureGroup) UnmarshalJSON(b []byte) error

type MeasurePopulation

type MeasurePopulation struct {

	// The type of population criteria.
	Code *CodeableConcept `json:"code,omitempty"`

	// An expression that specifies the criteria for the population, typically the name of an expression in a library.
	Criteria *Expression `json:"criteria"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

MeasurePopulation The Measure resource provides the definition of a quality measure.

func (*MeasurePopulation) MarshalJSON

func (strct *MeasurePopulation) MarshalJSON() ([]byte, error)

func (*MeasurePopulation) UnmarshalJSON

func (strct *MeasurePopulation) UnmarshalJSON(b []byte) error

type MeasureReport

type MeasureReport struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// The date this measure report was generated.
	Date string `json:"date,omitempty"`

	// A reference to a Bundle containing the Resources that were used in the calculation of this measure.
	EvaluatedResource []*Reference `json:"evaluatedResource,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The results of the calculation, one for each population group in the measure.
	Group []*MeasureReportGroup `json:"group,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Whether improvement in the measure is noted by an increase or decrease in the measure score.
	ImprovementNotation *CodeableConcept `json:"improvementNotation,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// A reference to the Measure that was calculated to produce this report.
	Measure string `json:"measure"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The reporting period for which the report was calculated.
	Period *Period `json:"period"`

	// The individual, location, or organization that is reporting the data.
	Reporter *Reference `json:"reporter,omitempty"`

	// This is a MeasureReport resource
	ResourceType interface{} `json:"resourceType"`

	// The MeasureReport status. No data will be available until the MeasureReport status is complete.
	Status string `json:"status,omitempty"`

	// Optional subject identifying the individual or individuals the report is for.
	Subject *Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// 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 string `json:"type,omitempty"`
}

MeasureReport The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.

func (*MeasureReport) MarshalJSON

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

func (*MeasureReport) UnmarshalJSON

func (strct *MeasureReport) UnmarshalJSON(b []byte) error

type MeasureReportComponent

type MeasureReportComponent struct {

	// The code for the stratum component value.
	Code *CodeableConcept `json:"code"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The stratum component value.
	Value *CodeableConcept `json:"value"`
}

MeasureReportComponent The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.

func (*MeasureReportComponent) MarshalJSON

func (strct *MeasureReportComponent) MarshalJSON() ([]byte, error)

func (*MeasureReportComponent) UnmarshalJSON

func (strct *MeasureReportComponent) UnmarshalJSON(b []byte) error

type MeasureReportGroup

type MeasureReportGroup struct {

	// The meaning of the population group as defined in the measure definition.
	Code *CodeableConcept `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"measureScore,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The populations that make up the population group, one for each type of population appropriate for the measure.
	Population []*MeasureReportPopulation `json:"population,omitempty"`

	// When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measure.
	Stratifier []*MeasureReportStratifier `json:"stratifier,omitempty"`
}

MeasureReportGroup The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.

func (*MeasureReportGroup) MarshalJSON

func (strct *MeasureReportGroup) MarshalJSON() ([]byte, error)

func (*MeasureReportGroup) UnmarshalJSON

func (strct *MeasureReportGroup) UnmarshalJSON(b []byte) error

type MeasureReportPopulation

type MeasureReportPopulation struct {

	// The type of the population.
	Code *CodeableConcept `json:"code,omitempty"`

	// Extensions for count
	Count *Element `json:"_count,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// This element refers to a List of subject level MeasureReport resources, one for each subject in this population.
	SubjectResults *Reference `json:"subjectResults,omitempty"`
}

MeasureReportPopulation The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.

func (*MeasureReportPopulation) MarshalJSON

func (strct *MeasureReportPopulation) MarshalJSON() ([]byte, error)

func (*MeasureReportPopulation) UnmarshalJSON

func (strct *MeasureReportPopulation) UnmarshalJSON(b []byte) error

type MeasureReportPopulation1

type MeasureReportPopulation1 struct {

	// The type of the population.
	Code *CodeableConcept `json:"code,omitempty"`

	// Extensions for count
	Count *Element `json:"_count,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// This element refers to a List of subject level MeasureReport resources, one for each subject in this population in this stratum.
	SubjectResults *Reference `json:"subjectResults,omitempty"`
}

MeasureReportPopulation1 The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.

func (*MeasureReportPopulation1) MarshalJSON

func (strct *MeasureReportPopulation1) MarshalJSON() ([]byte, error)

func (*MeasureReportPopulation1) UnmarshalJSON

func (strct *MeasureReportPopulation1) UnmarshalJSON(b []byte) error

type MeasureReportStratifier

type MeasureReportStratifier struct {

	// The meaning of this stratifier, as defined in the measure definition.
	Code []*CodeableConcept `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value.
	Stratum []*MeasureReportStratum `json:"stratum,omitempty"`
}

MeasureReportStratifier The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.

func (*MeasureReportStratifier) MarshalJSON

func (strct *MeasureReportStratifier) MarshalJSON() ([]byte, error)

func (*MeasureReportStratifier) UnmarshalJSON

func (strct *MeasureReportStratifier) UnmarshalJSON(b []byte) error

type MeasureReportStratum

type MeasureReportStratum struct {

	// A stratifier component value.
	Component []*MeasureReportComponent `json:"component,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"measureScore,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The populations that make up the stratum, one for each type of population appropriate to the measure.
	Population []*MeasureReportPopulation1 `json:"population,omitempty"`

	// 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 `json:"value,omitempty"`
}

MeasureReportStratum The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.

func (*MeasureReportStratum) MarshalJSON

func (strct *MeasureReportStratum) MarshalJSON() ([]byte, error)

func (*MeasureReportStratum) UnmarshalJSON

func (strct *MeasureReportStratum) UnmarshalJSON(b []byte) error

type MeasureStratifier

type MeasureStratifier struct {

	// 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 `json:"code,omitempty"`

	// 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 []*MeasureComponent `json:"component,omitempty"`

	// 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 `json:"criteria,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

MeasureStratifier The Measure resource provides the definition of a quality measure.

func (*MeasureStratifier) MarshalJSON

func (strct *MeasureStratifier) MarshalJSON() ([]byte, error)

func (*MeasureStratifier) UnmarshalJSON

func (strct *MeasureStratifier) UnmarshalJSON(b []byte) error

type MeasureSupplementalData

type MeasureSupplementalData struct {

	// 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 `json:"code,omitempty"`

	// 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 `json:"criteria"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"usage,omitempty"`
}

MeasureSupplementalData The Measure resource provides the definition of a quality measure.

func (*MeasureSupplementalData) MarshalJSON

func (strct *MeasureSupplementalData) MarshalJSON() ([]byte, error)

func (*MeasureSupplementalData) UnmarshalJSON

func (strct *MeasureSupplementalData) UnmarshalJSON(b []byte) error

type Media

type Media struct {

	// A procedure that is fulfilled in whole or in part by the creation of this media.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// Indicates the site on the subject's body where the observation was made (i.e. the target site).
	BodySite *CodeableConcept `json:"bodySite,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The actual content of the media - inline or by direct reference to the media source file.
	Content *Attachment `json:"content"`

	// Extensions for createdDateTime
	CreatedDateTime *Element `json:"_createdDateTime,omitempty"`

	// The date and time(s) at which the media was collected.
	CreatedPeriod *Period `json:"createdPeriod,omitempty"`

	// The device used to collect the media.
	Device *Reference `json:"device,omitempty"`

	// The name of the device / manufacturer of the device  that was used to make the recording.
	DeviceName string `json:"deviceName,omitempty"`

	// Extensions for duration
	Duration *Element `json:"_duration,omitempty"`

	// The encounter that establishes the context for this media.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Extensions for frames
	Frames *Element `json:"_frames,omitempty"`

	// Extensions for height
	Height *Element `json:"_height,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for issued
	Issued *Element `json:"_issued,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modality,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Comments made about the media by the performer, subject or other participants.
	Note []*Annotation `json:"note,omitempty"`

	// The person who administered the collection of the image.
	Operator *Reference `json:"operator,omitempty"`

	// A larger event of which this particular event is a component or step.
	PartOf []*Reference `json:"partOf,omitempty"`

	// Describes why the event occurred in coded or textual form.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// This is a Media resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Who/What this Media is a record of.
	Subject *Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// A code that classifies whether the media is an image, video or audio recording or some other media category.
	Type *CodeableConcept `json:"type,omitempty"`

	// The name of the imaging view e.g. Lateral or Antero-posterior (AP).
	View *CodeableConcept `json:"view,omitempty"`

	// Extensions for width
	Width *Element `json:"_width,omitempty"`
}

Media 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 (strct *Media) MarshalJSON() ([]byte, error)

func (*Media) UnmarshalJSON

func (strct *Media) UnmarshalJSON(b []byte) error

type Medication

type Medication struct {

	// 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 `json:"amount,omitempty"`

	// Information that only applies to packages (not products).
	Batch *MedicationBatch `json:"batch,omitempty"`

	// 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 `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Describes the form of the item.  Powder; tablets; capsule.
	Form *CodeableConcept `json:"form,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Business identifier for this medication.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Identifies a particular constituent of interest in the product.
	Ingredient []*MedicationIngredient `json:"ingredient,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Describes the details of the manufacturer of the medication product.  This is not intended to represent the distributor of a medication product.
	Manufacturer *Reference `json:"manufacturer,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// This is a Medication resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`
}

Medication This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.

func (*Medication) MarshalJSON

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

func (*Medication) UnmarshalJSON

func (strct *Medication) UnmarshalJSON(b []byte) error

type MedicationAdministration

type MedicationAdministration struct {

	// Indicates where the medication is expected to be consumed or administered.
	Category *CodeableConcept `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The visit, admission, or other contact between patient and health care provider during which the medication administration was performed.
	Context *Reference `json:"context,omitempty"`

	// The device used in administering the medication to the patient.  For example, a particular infusion pump.
	Device []*Reference `json:"device,omitempty"`

	// Describes the medication dosage information details e.g. dose, rate, site, route, etc.
	Dosage *MedicationAdministrationDosage `json:"dosage,omitempty"`

	// 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.
	EffectiveDateTime string `json:"effectiveDateTime,omitempty"`

	// 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.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// A summary of the events of interest that have occurred, such as when the administration was verified.
	EventHistory []*Reference `json:"eventHistory,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for instantiates
	Instantiates []*Element `json:"_instantiates,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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.
	MedicationCodeableConcept *CodeableConcept `json:"medicationCodeableConcept,omitempty"`

	// 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.
	MedicationReference *Reference `json:"medicationReference,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extra information about the medication administration that is not conveyed by the other attributes.
	Note []*Annotation `json:"note,omitempty"`

	// A larger event of which this particular event is a component or step.
	PartOf []*Reference `json:"partOf,omitempty"`

	// Indicates who or what performed the medication administration and how they were involved.
	Performer []*MedicationAdministrationPerformer `json:"performer,omitempty"`

	// A code indicating why the medication was given.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Condition or observation that supports why the medication was administered.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// The original request, instruction or authority to perform the administration.
	Request *Reference `json:"request,omitempty"`

	// This is a MedicationAdministration resource
	ResourceType interface{} `json:"resourceType"`

	// 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 string `json:"status,omitempty"`

	// A code indicating why the administration was not performed.
	StatusReason []*CodeableConcept `json:"statusReason,omitempty"`

	// The person or animal or group receiving the medication.
	Subject *Reference `json:"subject"`

	// Additional information (for example, patient height and weight) that supports the administration of the medication.
	SupportingInformation []*Reference `json:"supportingInformation,omitempty"`

	// 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 `json:"text,omitempty"`
}

MedicationAdministration Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.

func (*MedicationAdministration) MarshalJSON

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

func (*MedicationAdministration) UnmarshalJSON

func (strct *MedicationAdministration) UnmarshalJSON(b []byte) error

type MedicationAdministrationDosage

type MedicationAdministrationDosage struct {

	// 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 `json:"dose,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"method,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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.
	RateQuantity *Quantity `json:"rateQuantity,omitempty"`

	// 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.
	RateRatio *Ratio `json:"rateRatio,omitempty"`

	// 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 `json:"route,omitempty"`

	// A coded specification of the anatomic site where the medication first entered the body.  For example, "left arm".
	Site *CodeableConcept `json:"site,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`
}

MedicationAdministrationDosage 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 (*MedicationAdministrationDosage) MarshalJSON

func (strct *MedicationAdministrationDosage) MarshalJSON() ([]byte, error)

func (*MedicationAdministrationDosage) UnmarshalJSON

func (strct *MedicationAdministrationDosage) UnmarshalJSON(b []byte) error

type MedicationAdministrationPerformer

type MedicationAdministrationPerformer struct {

	// Indicates who or what performed the medication administration.
	Actor *Reference `json:"actor"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Distinguishes the type of involvement of the performer in the medication administration.
	Function *CodeableConcept `json:"function,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

MedicationAdministrationPerformer 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 (*MedicationAdministrationPerformer) MarshalJSON

func (strct *MedicationAdministrationPerformer) MarshalJSON() ([]byte, error)

func (*MedicationAdministrationPerformer) UnmarshalJSON

func (strct *MedicationAdministrationPerformer) UnmarshalJSON(b []byte) error

type MedicationBatch

type MedicationBatch struct {

	// Extensions for expirationDate
	ExpirationDate *Element `json:"_expirationDate,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for lotNumber
	LotNumber *Element `json:"_lotNumber,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

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 (*MedicationBatch) MarshalJSON

func (strct *MedicationBatch) MarshalJSON() ([]byte, error)

func (*MedicationBatch) UnmarshalJSON

func (strct *MedicationBatch) UnmarshalJSON(b []byte) error

type MedicationDispense

type MedicationDispense struct {

	// Indicates the medication order that is being dispensed against.
	AuthorizingPrescription []*Reference `json:"authorizingPrescription,omitempty"`

	// 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 `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The encounter or episode of care that establishes the context for this event.
	Context *Reference `json:"context,omitempty"`

	// The amount of medication expressed as a timing amount.
	DaysSupply *Quantity `json:"daysSupply,omitempty"`

	// Identification of the facility/location where the medication was shipped to, as part of the dispense event.
	Destination *Reference `json:"destination,omitempty"`

	// 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 `json:"detectedIssue,omitempty"`

	// Indicates how the medication is to be used by the patient.
	DosageInstruction []*Dosage `json:"dosageInstruction,omitempty"`

	// A summary of the events of interest that have occurred, such as when the dispense was verified.
	EventHistory []*Reference `json:"eventHistory,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The principal physical location where the dispense was performed.
	Location *Reference `json:"location,omitempty"`

	// 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.
	MedicationCodeableConcept *CodeableConcept `json:"medicationCodeableConcept,omitempty"`

	// 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.
	MedicationReference *Reference `json:"medicationReference,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extra information about the dispense that could not be conveyed in the other attributes.
	Note []*Annotation `json:"note,omitempty"`

	// The procedure that trigger the dispense.
	PartOf []*Reference `json:"partOf,omitempty"`

	// Indicates who or what performed the event.
	Performer []*MedicationDispensePerformer `json:"performer,omitempty"`

	// The amount of medication that has been dispensed. Includes unit of measure.
	Quantity *Quantity `json:"quantity,omitempty"`

	// 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 `json:"receiver,omitempty"`

	// This is a MedicationDispense resource
	ResourceType interface{} `json:"resourceType"`

	// A code specifying the state of the set of dispense events.
	Status string `json:"status,omitempty"`

	// Indicates the reason why a dispense was not performed.
	StatusReasonCodeableConcept *CodeableConcept `json:"statusReasonCodeableConcept,omitempty"`

	// Indicates the reason why a dispense was not performed.
	StatusReasonReference *Reference `json:"statusReasonReference,omitempty"`

	// A link to a resource representing the person or the group to whom the medication will be given.
	Subject *Reference `json:"subject,omitempty"`

	// Indicates whether or not substitution was made as part of the dispense.  In some cases, substitution will be expected but does not happen, in other cases substitution is not expected but does happen.  This block explains what substitution did or did not happen and why.  If nothing is specified, substitution was not done.
	Substitution *MedicationDispenseSubstitution `json:"substitution,omitempty"`

	// Additional information that supports the medication being dispensed.
	SupportingInformation []*Reference `json:"supportingInformation,omitempty"`

	// 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 `json:"text,omitempty"`

	// Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.
	Type *CodeableConcept `json:"type,omitempty"`

	// Extensions for whenHandedOver
	WhenHandedOver *Element `json:"_whenHandedOver,omitempty"`

	// The time when the dispensed product was packaged and reviewed.
	WhenPrepared string `json:"whenPrepared,omitempty"`
}

MedicationDispense Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order.

func (*MedicationDispense) MarshalJSON

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

func (*MedicationDispense) UnmarshalJSON

func (strct *MedicationDispense) UnmarshalJSON(b []byte) error

type MedicationDispensePerformer

type MedicationDispensePerformer struct {

	// The device, practitioner, etc. who performed the action.  It should be assumed that the actor is the dispenser of the medication.
	Actor *Reference `json:"actor"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Distinguishes the type of performer in the dispense.  For example, date enterer, packager, final checker.
	Function *CodeableConcept `json:"function,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

MedicationDispensePerformer 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 (*MedicationDispensePerformer) MarshalJSON

func (strct *MedicationDispensePerformer) MarshalJSON() ([]byte, error)

func (*MedicationDispensePerformer) UnmarshalJSON

func (strct *MedicationDispensePerformer) UnmarshalJSON(b []byte) error

type MedicationDispenseSubstitution

type MedicationDispenseSubstitution struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Indicates the reason for the substitution (or lack of substitution) from what was prescribed.
	Reason []*CodeableConcept `json:"reason,omitempty"`

	// The person or organization that has primary responsibility for the substitution.
	ResponsibleParty []*Reference `json:"responsibleParty,omitempty"`

	// A code signifying whether a different drug was dispensed from what was prescribed.
	Type *CodeableConcept `json:"type,omitempty"`

	// Extensions for wasSubstituted
	WasSubstituted *Element `json:"_wasSubstituted,omitempty"`
}

MedicationDispenseSubstitution 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 (*MedicationDispenseSubstitution) MarshalJSON

func (strct *MedicationDispenseSubstitution) MarshalJSON() ([]byte, error)

func (*MedicationDispenseSubstitution) UnmarshalJSON

func (strct *MedicationDispenseSubstitution) UnmarshalJSON(b []byte) error

type MedicationIngredient

type MedicationIngredient struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Indication of whether this ingredient affects the therapeutic action of the drug.
	IsActive bool `json:"isActive,omitempty"`

	// The actual ingredient - either a substance (simple ingredient) or another medication of a medication.
	ItemCodeableConcept *CodeableConcept `json:"itemCodeableConcept,omitempty"`

	// The actual ingredient - either a substance (simple ingredient) or another medication of a medication.
	ItemReference *Reference `json:"itemReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"strength,omitempty"`
}

MedicationIngredient 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 (*MedicationIngredient) MarshalJSON

func (strct *MedicationIngredient) MarshalJSON() ([]byte, error)

func (*MedicationIngredient) UnmarshalJSON

func (strct *MedicationIngredient) UnmarshalJSON(b []byte) error

type MedicationKnowledge

type MedicationKnowledge struct {

	// Guidelines for the administration of the medication.
	AdministrationGuidelines []*MedicationKnowledgeAdministrationGuidelines `json:"administrationGuidelines,omitempty"`

	// 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 `json:"amount,omitempty"`

	// 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 `json:"associatedMedication,omitempty"`

	// 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 `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Potential clinical issue with or between medication(s) (for example, drug-drug interaction, drug-disease contraindication, drug-allergy interaction, etc.).
	Contraindication []*Reference `json:"contraindication,omitempty"`

	// The price of the medication.
	Cost []*MedicationKnowledgeCost `json:"cost,omitempty"`

	// Describes the form of the item.  Powder; tablets; capsule.
	DoseForm *CodeableConcept `json:"doseForm,omitempty"`

	// Specifies descriptive properties of the medicine, such as color, shape, imprints, etc.
	DrugCharacteristic []*MedicationKnowledgeDrugCharacteristic `json:"drugCharacteristic,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Identifies a particular constituent of interest in the product.
	Ingredient []*MedicationKnowledgeIngredient `json:"ingredient,omitempty"`

	// The intended or approved route of administration.
	IntendedRoute []*CodeableConcept `json:"intendedRoute,omitempty"`

	// The time course of drug absorption, distribution, metabolism and excretion of a medication from the body.
	Kinetics []*MedicationKnowledgeKinetics `json:"kinetics,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Describes the details of the manufacturer of the medication product.  This is not intended to represent the distributor of a medication product.
	Manufacturer *Reference `json:"manufacturer,omitempty"`

	// Categorization of the medication within a formulary or classification system.
	MedicineClassification []*MedicationKnowledgeMedicineClassification `json:"medicineClassification,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The program under which the medication is reviewed.
	MonitoringProgram []*MedicationKnowledgeMonitoringProgram `json:"monitoringProgram,omitempty"`

	// Associated documentation about the medication.
	Monograph []*MedicationKnowledgeMonograph `json:"monograph,omitempty"`

	// Information that only applies to packages (not products).
	Packaging *MedicationKnowledgePackaging `json:"packaging,omitempty"`

	// Extensions for preparationInstruction
	PreparationInstruction *Element `json:"_preparationInstruction,omitempty"`

	// Category of the medication or product (e.g. branded product, therapeutic moeity, generic product, innovator product, etc.).
	ProductType []*CodeableConcept `json:"productType,omitempty"`

	// Regulatory information about a medication.
	Regulatory []*MedicationKnowledgeRegulatory `json:"regulatory,omitempty"`

	// Associated or related knowledge about a medication.
	RelatedMedicationKnowledge []*MedicationKnowledgeRelatedMedicationKnowledge `json:"relatedMedicationKnowledge,omitempty"`

	// This is a MedicationKnowledge resource
	ResourceType interface{} `json:"resourceType"`

	// 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 string `json:"status,omitempty"`

	// 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 `json:"synonym,omitempty"`

	// 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 `json:"text,omitempty"`
}

MedicationKnowledge Information about a medication that is used to support knowledge.

func (*MedicationKnowledge) MarshalJSON

func (strct *MedicationKnowledge) MarshalJSON() ([]byte, error)

func (*MedicationKnowledge) UnmarshalJSON

func (strct *MedicationKnowledge) UnmarshalJSON(b []byte) error

type MedicationKnowledgeAdministrationGuidelines

type MedicationKnowledgeAdministrationGuidelines struct {

	// Dosage for the medication for the specific guidelines.
	Dosage []*MedicationKnowledgeDosage `json:"dosage,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Indication for use that apply to the specific administration guidelines.
	IndicationCodeableConcept *CodeableConcept `json:"indicationCodeableConcept,omitempty"`

	// Indication for use that apply to the specific administration guidelines.
	IndicationReference *Reference `json:"indicationReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Characteristics of the patient that are relevant to the administration guidelines (for example, height, weight, gender, etc.).
	PatientCharacteristics []*MedicationKnowledgePatientCharacteristics `json:"patientCharacteristics,omitempty"`
}

MedicationKnowledgeAdministrationGuidelines Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeAdministrationGuidelines) MarshalJSON

func (strct *MedicationKnowledgeAdministrationGuidelines) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeAdministrationGuidelines) UnmarshalJSON

func (strct *MedicationKnowledgeAdministrationGuidelines) UnmarshalJSON(b []byte) error

type MedicationKnowledgeCost

type MedicationKnowledgeCost struct {

	// The price of the medication.
	Cost *Money `json:"cost"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for source
	Source *Element `json:"_source,omitempty"`

	// The category of the cost information.  For example, manufacturers' cost, patient cost, claim reimbursement cost, actual acquisition cost.
	Type *CodeableConcept `json:"type"`
}

MedicationKnowledgeCost Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeCost) MarshalJSON

func (strct *MedicationKnowledgeCost) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeCost) UnmarshalJSON

func (strct *MedicationKnowledgeCost) UnmarshalJSON(b []byte) error

type MedicationKnowledgeDosage

type MedicationKnowledgeDosage struct {

	// Dosage for the medication for the specific guidelines.
	Dosage []*Dosage `json:"dosage"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The type of dosage (for example, prophylaxis, maintenance, therapeutic, etc.).
	Type *CodeableConcept `json:"type"`
}

MedicationKnowledgeDosage Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeDosage) MarshalJSON

func (strct *MedicationKnowledgeDosage) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeDosage) UnmarshalJSON

func (strct *MedicationKnowledgeDosage) UnmarshalJSON(b []byte) error

type MedicationKnowledgeDrugCharacteristic

type MedicationKnowledgeDrugCharacteristic struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A code specifying which characteristic of the medicine is being described (for example, colour, shape, imprint).
	Type *CodeableConcept `json:"type,omitempty"`

	// Extensions for valueBase64Binary
	ValueBase64Binary *Element `json:"_valueBase64Binary,omitempty"`

	// Description of the characteristic.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// Description of the characteristic.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// Extensions for valueString
	ValueString *Element `json:"_valueString,omitempty"`
}

MedicationKnowledgeDrugCharacteristic Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeDrugCharacteristic) MarshalJSON

func (strct *MedicationKnowledgeDrugCharacteristic) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeDrugCharacteristic) UnmarshalJSON

func (strct *MedicationKnowledgeDrugCharacteristic) UnmarshalJSON(b []byte) error

type MedicationKnowledgeIngredient

type MedicationKnowledgeIngredient struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for isActive
	IsActive *Element `json:"_isActive,omitempty"`

	// The actual ingredient - either a substance (simple ingredient) or another medication.
	ItemCodeableConcept *CodeableConcept `json:"itemCodeableConcept,omitempty"`

	// The actual ingredient - either a substance (simple ingredient) or another medication.
	ItemReference *Reference `json:"itemReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"strength,omitempty"`
}

MedicationKnowledgeIngredient Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeIngredient) MarshalJSON

func (strct *MedicationKnowledgeIngredient) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeIngredient) UnmarshalJSON

func (strct *MedicationKnowledgeIngredient) UnmarshalJSON(b []byte) error

type MedicationKnowledgeKinetics

type MedicationKnowledgeKinetics struct {

	// The drug concentration measured at certain discrete points in time.
	AreaUnderCurve []*Quantity `json:"areaUnderCurve,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The time required for any specified property (e.g., the concentration of a substance in the body) to decrease by half.
	HalfLifePeriod *Duration `json:"halfLifePeriod,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The median lethal dose of a drug.
	LethalDose50 []*Quantity `json:"lethalDose50,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

MedicationKnowledgeKinetics Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeKinetics) MarshalJSON

func (strct *MedicationKnowledgeKinetics) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeKinetics) UnmarshalJSON

func (strct *MedicationKnowledgeKinetics) UnmarshalJSON(b []byte) error

type MedicationKnowledgeMaxDispense

type MedicationKnowledgeMaxDispense struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The period that applies to the maximum number of units.
	Period *Duration `json:"period,omitempty"`

	// The maximum number of units of the medication that can be dispensed.
	Quantity *Quantity `json:"quantity"`
}

MedicationKnowledgeMaxDispense Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeMaxDispense) MarshalJSON

func (strct *MedicationKnowledgeMaxDispense) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeMaxDispense) UnmarshalJSON

func (strct *MedicationKnowledgeMaxDispense) UnmarshalJSON(b []byte) error

type MedicationKnowledgeMedicineClassification

type MedicationKnowledgeMedicineClassification struct {

	// Specific category assigned to the medication (e.g. anti-infective, anti-hypertensive, antibiotic, etc.).
	Classification []*CodeableConcept `json:"classification,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The type of category for the medication (for example, therapeutic classification, therapeutic sub-classification).
	Type *CodeableConcept `json:"type"`
}

MedicationKnowledgeMedicineClassification Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeMedicineClassification) MarshalJSON

func (strct *MedicationKnowledgeMedicineClassification) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeMedicineClassification) UnmarshalJSON

func (strct *MedicationKnowledgeMedicineClassification) UnmarshalJSON(b []byte) error

type MedicationKnowledgeMonitoringProgram

type MedicationKnowledgeMonitoringProgram struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Type of program under which the medication is monitored.
	Type *CodeableConcept `json:"type,omitempty"`
}

MedicationKnowledgeMonitoringProgram Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeMonitoringProgram) MarshalJSON

func (strct *MedicationKnowledgeMonitoringProgram) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeMonitoringProgram) UnmarshalJSON

func (strct *MedicationKnowledgeMonitoringProgram) UnmarshalJSON(b []byte) error

type MedicationKnowledgeMonograph

type MedicationKnowledgeMonograph struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Associated documentation about the medication.
	Source *Reference `json:"source,omitempty"`

	// The category of documentation about the medication. (e.g. professional monograph, patient education monograph).
	Type *CodeableConcept `json:"type,omitempty"`
}

MedicationKnowledgeMonograph Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeMonograph) MarshalJSON

func (strct *MedicationKnowledgeMonograph) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeMonograph) UnmarshalJSON

func (strct *MedicationKnowledgeMonograph) UnmarshalJSON(b []byte) error

type MedicationKnowledgePackaging

type MedicationKnowledgePackaging struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The number of product units the package would contain if fully loaded.
	Quantity *Quantity `json:"quantity,omitempty"`

	// A code that defines the specific type of packaging that the medication can be found in (e.g. blister sleeve, tube, bottle).
	Type *CodeableConcept `json:"type,omitempty"`
}

MedicationKnowledgePackaging Information about a medication that is used to support knowledge.

func (*MedicationKnowledgePackaging) MarshalJSON

func (strct *MedicationKnowledgePackaging) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgePackaging) UnmarshalJSON

func (strct *MedicationKnowledgePackaging) UnmarshalJSON(b []byte) error

type MedicationKnowledgePatientCharacteristics

type MedicationKnowledgePatientCharacteristics struct {

	// Specific characteristic that is relevant to the administration guideline (e.g. height, weight, gender).
	CharacteristicCodeableConcept *CodeableConcept `json:"characteristicCodeableConcept,omitempty"`

	// Specific characteristic that is relevant to the administration guideline (e.g. height, weight, gender).
	CharacteristicQuantity *Quantity `json:"characteristicQuantity,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The specific characteristic (e.g. height, weight, gender, etc.).
	Value []string `json:"value,omitempty"`
}

MedicationKnowledgePatientCharacteristics Information about a medication that is used to support knowledge.

func (*MedicationKnowledgePatientCharacteristics) MarshalJSON

func (strct *MedicationKnowledgePatientCharacteristics) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgePatientCharacteristics) UnmarshalJSON

func (strct *MedicationKnowledgePatientCharacteristics) UnmarshalJSON(b []byte) error

type MedicationKnowledgeRegulatory

type MedicationKnowledgeRegulatory struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The maximum number of units of the medication that can be dispensed in a period.
	MaxDispense *MedicationKnowledgeMaxDispense `json:"maxDispense,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The authority that is specifying the regulations.
	RegulatoryAuthority *Reference `json:"regulatoryAuthority"`

	// Specifies the schedule of a medication in jurisdiction.
	Schedule []*MedicationKnowledgeSchedule `json:"schedule,omitempty"`

	// Specifies if changes are allowed when dispensing a medication from a regulatory perspective.
	Substitution []*MedicationKnowledgeSubstitution `json:"substitution,omitempty"`
}

MedicationKnowledgeRegulatory Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeRegulatory) MarshalJSON

func (strct *MedicationKnowledgeRegulatory) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeRegulatory) UnmarshalJSON

func (strct *MedicationKnowledgeRegulatory) UnmarshalJSON(b []byte) error

type MedicationKnowledgeRelatedMedicationKnowledge

type MedicationKnowledgeRelatedMedicationKnowledge struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Associated documentation about the associated medication knowledge.
	Reference []*Reference `json:"reference"`

	// The category of the associated medication knowledge reference.
	Type *CodeableConcept `json:"type"`
}

MedicationKnowledgeRelatedMedicationKnowledge Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeRelatedMedicationKnowledge) MarshalJSON

func (strct *MedicationKnowledgeRelatedMedicationKnowledge) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeRelatedMedicationKnowledge) UnmarshalJSON

func (strct *MedicationKnowledgeRelatedMedicationKnowledge) UnmarshalJSON(b []byte) error

type MedicationKnowledgeSchedule

type MedicationKnowledgeSchedule struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Specifies the specific drug schedule.
	Schedule *CodeableConcept `json:"schedule"`
}

MedicationKnowledgeSchedule Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeSchedule) MarshalJSON

func (strct *MedicationKnowledgeSchedule) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeSchedule) UnmarshalJSON

func (strct *MedicationKnowledgeSchedule) UnmarshalJSON(b []byte) error

type MedicationKnowledgeSubstitution

type MedicationKnowledgeSubstitution struct {

	// Extensions for allowed
	Allowed *Element `json:"_allowed,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Specifies the type of substitution allowed.
	Type *CodeableConcept `json:"type"`
}

MedicationKnowledgeSubstitution Information about a medication that is used to support knowledge.

func (*MedicationKnowledgeSubstitution) MarshalJSON

func (strct *MedicationKnowledgeSubstitution) MarshalJSON() ([]byte, error)

func (*MedicationKnowledgeSubstitution) UnmarshalJSON

func (strct *MedicationKnowledgeSubstitution) UnmarshalJSON(b []byte) error

type MedicationRequest

type MedicationRequest struct {

	// Extensions for authoredOn
	AuthoredOn *Element `json:"_authoredOn,omitempty"`

	// A plan or request that is fulfilled in whole or in part by this medication request.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// 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 `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The description of the overall patte3rn of the administration of the medication to the patient.
	CourseOfTherapyType *CodeableConcept `json:"courseOfTherapyType,omitempty"`

	// 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 `json:"detectedIssue,omitempty"`

	// Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order).  Note that this information is not always sent with the order.  There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department.
	DispenseRequest *MedicationRequestDispenseRequest `json:"dispenseRequest,omitempty"`

	// Extensions for doNotPerform
	DoNotPerform *Element `json:"_doNotPerform,omitempty"`

	// Indicates how the medication is to be used by the patient.
	DosageInstruction []*Dosage `json:"dosageInstruction,omitempty"`

	// The Encounter during which this [x] was created or to which the creation of this record is tightly associated.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"eventHistory,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 `json:"groupIdentifier,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest.
	InstantiatesCanonical []string `json:"instantiatesCanonical,omitempty"`

	// 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 []string `json:"instantiatesUri,omitempty"`

	// Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.
	Insurance []*Reference `json:"insurance,omitempty"`

	// Extensions for intent
	Intent *Element `json:"_intent,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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.
	MedicationCodeableConcept *CodeableConcept `json:"medicationCodeableConcept,omitempty"`

	// 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.
	MedicationReference *Reference `json:"medicationReference,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extra information about the prescription that could not be conveyed by the other attributes.
	Note []*Annotation `json:"note,omitempty"`

	// The specified desired performer of the medication treatment (e.g. the performer of the medication administration).
	Performer *Reference `json:"performer,omitempty"`

	// Indicates the type of performer of the administration of the medication.
	PerformerType *CodeableConcept `json:"performerType,omitempty"`

	// A link to a resource representing an earlier order related order or prescription.
	PriorPrescription *Reference `json:"priorPrescription,omitempty"`

	// Indicates how quickly the Medication Request should be addressed with respect to other requests.
	Priority string `json:"priority,omitempty"`

	// The reason or the indication for ordering or not ordering the medication.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Condition or observation that supports why the medication was ordered.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// 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 `json:"recorder,omitempty"`

	// Extensions for reportedBoolean
	ReportedBoolean *Element `json:"_reportedBoolean,omitempty"`

	// 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.
	ReportedReference *Reference `json:"reportedReference,omitempty"`

	// The individual, organization, or device that initiated the request and has responsibility for its activation.
	Requester *Reference `json:"requester,omitempty"`

	// This is a MedicationRequest resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Captures the reason for the current state of the MedicationRequest.
	StatusReason *CodeableConcept `json:"statusReason,omitempty"`

	// A link to a resource representing the person or set of individuals to whom the medication will be given.
	Subject *Reference `json:"subject"`

	// 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 `json:"substitution,omitempty"`

	// Include additional information (for example, patient height and weight) that supports the ordering of the medication.
	SupportingInformation []*Reference `json:"supportingInformation,omitempty"`

	// 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 `json:"text,omitempty"`
}

MedicationRequest An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.

func (*MedicationRequest) MarshalJSON

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

func (*MedicationRequest) UnmarshalJSON

func (strct *MedicationRequest) UnmarshalJSON(b []byte) error

type MedicationRequestDispenseRequest

type MedicationRequestDispenseRequest struct {

	// The minimum period of time that must occur between dispenses of the medication.
	DispenseInterval *Duration `json:"dispenseInterval,omitempty"`

	// 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 `json:"expectedSupplyDuration,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Indicates the quantity or duration for the first dispense of the medication.
	InitialFill *MedicationRequestInitialFill `json:"initialFill,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 float64 `json:"numberOfRepeatsAllowed,omitempty"`

	// Indicates the intended dispensing Organization specified by the prescriber.
	Performer *Reference `json:"performer,omitempty"`

	// The amount that is to be dispensed for one fill.
	Quantity *Quantity `json:"quantity,omitempty"`

	// This indicates the validity period of a prescription (stale dating the Prescription).
	ValidityPeriod *Period `json:"validityPeriod,omitempty"`
}

MedicationRequestDispenseRequest 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 (*MedicationRequestDispenseRequest) MarshalJSON

func (strct *MedicationRequestDispenseRequest) MarshalJSON() ([]byte, error)

func (*MedicationRequestDispenseRequest) UnmarshalJSON

func (strct *MedicationRequestDispenseRequest) UnmarshalJSON(b []byte) error

type MedicationRequestInitialFill

type MedicationRequestInitialFill struct {

	// The length of time that the first dispense is expected to last.
	Duration *Duration `json:"duration,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The amount or quantity to provide as part of the first dispense.
	Quantity *Quantity `json:"quantity,omitempty"`
}

MedicationRequestInitialFill 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 (*MedicationRequestInitialFill) MarshalJSON

func (strct *MedicationRequestInitialFill) MarshalJSON() ([]byte, error)

func (*MedicationRequestInitialFill) UnmarshalJSON

func (strct *MedicationRequestInitialFill) UnmarshalJSON(b []byte) error

type MedicationRequestSubstitution

type MedicationRequestSubstitution struct {

	// Extensions for allowedBoolean
	AllowedBoolean *Element `json:"_allowedBoolean,omitempty"`

	// True if the prescriber allows a different drug to be dispensed from what was prescribed.
	AllowedCodeableConcept *CodeableConcept `json:"allowedCodeableConcept,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Indicates the reason for the substitution, or why substitution must or must not be performed.
	Reason *CodeableConcept `json:"reason,omitempty"`
}

MedicationRequestSubstitution 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 (*MedicationRequestSubstitution) MarshalJSON

func (strct *MedicationRequestSubstitution) MarshalJSON() ([]byte, error)

func (*MedicationRequestSubstitution) UnmarshalJSON

func (strct *MedicationRequestSubstitution) UnmarshalJSON(b []byte) error

type MedicationStatement

type MedicationStatement struct {

	// A plan, proposal or order that is fulfilled in whole or in part by this event.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// Indicates where the medication is expected to be consumed or administered.
	Category *CodeableConcept `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The encounter or episode of care that establishes the context for this MedicationStatement.
	Context *Reference `json:"context,omitempty"`

	// The date when the medication statement was asserted by the information source.
	DateAsserted string `json:"dateAsserted,omitempty"`

	// Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement.
	DerivedFrom []*Reference `json:"derivedFrom,omitempty"`

	// Indicates how the medication is/was or should be taken by the patient.
	Dosage []*Dosage `json:"dosage,omitempty"`

	// 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).
	EffectiveDateTime string `json:"effectiveDateTime,omitempty"`

	// 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).
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// 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 `json:"informationSource,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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.
	MedicationCodeableConcept *CodeableConcept `json:"medicationCodeableConcept,omitempty"`

	// 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.
	MedicationReference *Reference `json:"medicationReference,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Provides extra information about the medication statement that is not conveyed by the other attributes.
	Note []*Annotation `json:"note,omitempty"`

	// A larger event of which this particular event is a component or step.
	PartOf []*Reference `json:"partOf,omitempty"`

	// A reason for why the medication is being/was taken.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Condition or observation that supports why the medication is being/was taken.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// This is a MedicationStatement resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Captures the reason for the current state of the MedicationStatement.
	StatusReason []*CodeableConcept `json:"statusReason,omitempty"`

	// The person, animal or group who is/was taking the medication.
	Subject *Reference `json:"subject"`

	// 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 `json:"text,omitempty"`
}

MedicationStatement A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains.

The primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information.

func (*MedicationStatement) MarshalJSON

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

func (*MedicationStatement) UnmarshalJSON

func (strct *MedicationStatement) UnmarshalJSON(b []byte) error

type MedicinalProductDefinition

type MedicinalProductDefinition struct {

	// Whether the Medicinal Product is subject to additional monitoring for regulatory reasons, such as heightened reporting requirements.
	AdditionalMonitoringIndicator *CodeableConcept `json:"additionalMonitoringIndicator,omitempty"`

	// Additional information or supporting documentation about the medicinal product.
	AttachedDocument []*Reference `json:"attachedDocument,omitempty"`

	// Allows the key product features to be recorded, such as "sugar free", "modified release", "parallel import".
	Characteristic []*MedicinalProductDefinitionCharacteristic `json:"characteristic,omitempty"`

	// Allows the product to be classified by various systems, commonly WHO ATC.
	Classification []*CodeableConcept `json:"classification,omitempty"`

	// Clinical trials or studies that this product is involved in.
	ClinicalTrial []*Reference `json:"clinicalTrial,omitempty"`

	// 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 `json:"code,omitempty"`

	// 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 `json:"combinedPharmaceuticalDoseForm,omitempty"`

	// A product specific contact, person (in a role), or an organization.
	Contact []*MedicinalProductDefinitionContact `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Reference to another product, e.g. for linking authorised to investigational product, or a virtual product.
	CrossReference []*MedicinalProductDefinitionCrossReference `json:"crossReference,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// If this medicine applies to human or veterinary uses.
	Domain *CodeableConcept `json:"domain,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// 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 `json:"impurity,omitempty"`

	// 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 string `json:"indication,omitempty"`

	// 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 `json:"ingredient,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The legal status of supply of the medicinal product as classified by the regulator.
	LegalStatusOfSupply *CodeableConcept `json:"legalStatusOfSupply,omitempty"`

	// 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 `json:"marketingStatus,omitempty"`

	// 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 `json:"masterFile,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The product's name, including full name and possibly coded parts.
	Name []*MedicinalProductDefinitionName `json:"name"`

	// A manufacturing or administrative process or step associated with (or performed on) the medicinal product.
	Operation []*MedicinalProductDefinitionOperation `json:"operation,omitempty"`

	// Package type for the product. See also the PackagedProductDefinition resource.
	PackagedMedicinalProduct []*CodeableConcept `json:"packagedMedicinalProduct,omitempty"`

	// If authorised for use in children, or infants, neonates etc.
	PediatricUseIndicator *CodeableConcept `json:"pediatricUseIndicator,omitempty"`

	// This is a MedicinalProductDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"route,omitempty"`

	// Whether the Medicinal Product is subject to special measures for regulatory reasons, such as a requirement to conduct post-authorisation studies.
	SpecialMeasures []*CodeableConcept `json:"specialMeasures,omitempty"`

	// 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 `json:"status,omitempty"`

	// The date at which the given status became applicable.
	StatusDate string `json:"statusDate,omitempty"`

	// 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 `json:"text,omitempty"`

	// Regulatory type, e.g. Investigational or Authorized.
	Type *CodeableConcept `json:"type,omitempty"`

	// A business identifier relating to a specific version of the product, this is commonly used to support revisions to an existing product.
	Version string `json:"version,omitempty"`
}

MedicinalProductDefinition A medicinal product, being a substance or combination of substances that is intended to treat, prevent or diagnose a disease, or to restore, correct or modify physiological functions by exerting a pharmacological, immunological or metabolic action. This resource is intended to define and detail such products and their properties, for uses other than direct patient care (e.g. regulatory use, or drug catalogs).

func (*MedicinalProductDefinition) MarshalJSON

func (strct *MedicinalProductDefinition) MarshalJSON() ([]byte, error)

func (*MedicinalProductDefinition) UnmarshalJSON

func (strct *MedicinalProductDefinition) UnmarshalJSON(b []byte) error

type MedicinalProductDefinitionCharacteristic

type MedicinalProductDefinitionCharacteristic struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A code expressing the type of characteristic.
	Type *CodeableConcept `json:"type"`

	// A value for the characteristic.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// A value for the characteristic.
	ValueBoolean bool `json:"valueBoolean,omitempty"`

	// A value for the characteristic.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// Extensions for valueDate
	ValueDate *Element `json:"_valueDate,omitempty"`

	// A value for the characteristic.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`
}

MedicinalProductDefinitionCharacteristic A medicinal product, being a substance or combination of substances that is intended to treat, prevent or diagnose a disease, or to restore, correct or modify physiological functions by exerting a pharmacological, immunological or metabolic action. This resource is intended to define and detail such products and their properties, for uses other than direct patient care (e.g. regulatory use, or drug catalogs).

func (*MedicinalProductDefinitionCharacteristic) MarshalJSON

func (strct *MedicinalProductDefinitionCharacteristic) MarshalJSON() ([]byte, error)

func (*MedicinalProductDefinitionCharacteristic) UnmarshalJSON

func (strct *MedicinalProductDefinitionCharacteristic) UnmarshalJSON(b []byte) error

type MedicinalProductDefinitionContact

type MedicinalProductDefinitionContact struct {

	// A product specific contact, person (in a role), or an organization.
	Contact *Reference `json:"contact"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information.
	Type *CodeableConcept `json:"type,omitempty"`
}

MedicinalProductDefinitionContact A medicinal product, being a substance or combination of substances that is intended to treat, prevent or diagnose a disease, or to restore, correct or modify physiological functions by exerting a pharmacological, immunological or metabolic action. This resource is intended to define and detail such products and their properties, for uses other than direct patient care (e.g. regulatory use, or drug catalogs).

func (*MedicinalProductDefinitionContact) MarshalJSON

func (strct *MedicinalProductDefinitionContact) MarshalJSON() ([]byte, error)

func (*MedicinalProductDefinitionContact) UnmarshalJSON

func (strct *MedicinalProductDefinitionContact) UnmarshalJSON(b []byte) error

type MedicinalProductDefinitionCountryLanguage

type MedicinalProductDefinitionCountryLanguage struct {

	// Country code for where this name applies.
	Country *CodeableConcept `json:"country"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"jurisdiction,omitempty"`

	// Language code for this name.
	Language *CodeableConcept `json:"language"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

MedicinalProductDefinitionCountryLanguage A medicinal product, being a substance or combination of substances that is intended to treat, prevent or diagnose a disease, or to restore, correct or modify physiological functions by exerting a pharmacological, immunological or metabolic action. This resource is intended to define and detail such products and their properties, for uses other than direct patient care (e.g. regulatory use, or drug catalogs).

func (*MedicinalProductDefinitionCountryLanguage) MarshalJSON

func (strct *MedicinalProductDefinitionCountryLanguage) MarshalJSON() ([]byte, error)

func (*MedicinalProductDefinitionCountryLanguage) UnmarshalJSON

func (strct *MedicinalProductDefinitionCountryLanguage) UnmarshalJSON(b []byte) error

type MedicinalProductDefinitionCrossReference

type MedicinalProductDefinitionCrossReference struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Reference to another product, e.g. for linking authorised to investigational product.
	Product *CodeableReference `json:"product"`

	// The type of relationship, for instance branded to generic, virtual to actual product, product to development product (investigational), parallel import version.
	Type *CodeableConcept `json:"type,omitempty"`
}

MedicinalProductDefinitionCrossReference A medicinal product, being a substance or combination of substances that is intended to treat, prevent or diagnose a disease, or to restore, correct or modify physiological functions by exerting a pharmacological, immunological or metabolic action. This resource is intended to define and detail such products and their properties, for uses other than direct patient care (e.g. regulatory use, or drug catalogs).

func (*MedicinalProductDefinitionCrossReference) MarshalJSON

func (strct *MedicinalProductDefinitionCrossReference) MarshalJSON() ([]byte, error)

func (*MedicinalProductDefinitionCrossReference) UnmarshalJSON

func (strct *MedicinalProductDefinitionCrossReference) UnmarshalJSON(b []byte) error

type MedicinalProductDefinitionName

type MedicinalProductDefinitionName struct {

	// Country and jurisdiction where the name applies, and associated language.
	CountryLanguage []*MedicinalProductDefinitionCountryLanguage `json:"countryLanguage,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Coding words or phrases of the name.
	NamePart []*MedicinalProductDefinitionNamePart `json:"namePart,omitempty"`

	// The full product name.
	ProductName string `json:"productName,omitempty"`

	// Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary.
	Type *CodeableConcept `json:"type,omitempty"`
}

MedicinalProductDefinitionName A medicinal product, being a substance or combination of substances that is intended to treat, prevent or diagnose a disease, or to restore, correct or modify physiological functions by exerting a pharmacological, immunological or metabolic action. This resource is intended to define and detail such products and their properties, for uses other than direct patient care (e.g. regulatory use, or drug catalogs).

func (*MedicinalProductDefinitionName) MarshalJSON

func (strct *MedicinalProductDefinitionName) MarshalJSON() ([]byte, error)

func (*MedicinalProductDefinitionName) UnmarshalJSON

func (strct *MedicinalProductDefinitionName) UnmarshalJSON(b []byte) error

type MedicinalProductDefinitionNamePart

type MedicinalProductDefinitionNamePart struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for part
	Part *Element `json:"_part,omitempty"`

	// Identifying type for this part of the name (e.g. strength part).
	Type *CodeableConcept `json:"type"`
}

MedicinalProductDefinitionNamePart A medicinal product, being a substance or combination of substances that is intended to treat, prevent or diagnose a disease, or to restore, correct or modify physiological functions by exerting a pharmacological, immunological or metabolic action. This resource is intended to define and detail such products and their properties, for uses other than direct patient care (e.g. regulatory use, or drug catalogs).

func (*MedicinalProductDefinitionNamePart) MarshalJSON

func (strct *MedicinalProductDefinitionNamePart) MarshalJSON() ([]byte, error)

func (*MedicinalProductDefinitionNamePart) UnmarshalJSON

func (strct *MedicinalProductDefinitionNamePart) UnmarshalJSON(b []byte) error

type MedicinalProductDefinitionOperation

type MedicinalProductDefinitionOperation struct {

	// Specifies whether this particular business or manufacturing process is considered proprietary or confidential.
	ConfidentialityIndicator *CodeableConcept `json:"confidentialityIndicator,omitempty"`

	// Date range of applicability.
	EffectiveDate *Period `json:"effectiveDate,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The organization or establishment responsible for (or associated with) the particular process or step, examples include the manufacturer, importer, agent.
	Organization []*Reference `json:"organization,omitempty"`

	// 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 `json:"type,omitempty"`
}

MedicinalProductDefinitionOperation A medicinal product, being a substance or combination of substances that is intended to treat, prevent or diagnose a disease, or to restore, correct or modify physiological functions by exerting a pharmacological, immunological or metabolic action. This resource is intended to define and detail such products and their properties, for uses other than direct patient care (e.g. regulatory use, or drug catalogs).

func (*MedicinalProductDefinitionOperation) MarshalJSON

func (strct *MedicinalProductDefinitionOperation) MarshalJSON() ([]byte, error)

func (*MedicinalProductDefinitionOperation) UnmarshalJSON

func (strct *MedicinalProductDefinitionOperation) UnmarshalJSON(b []byte) error

type MessageDefinition

type MessageDefinition struct {

	// Indicates what types of messages may be sent as an application-level response to this message.
	AllowedResponse []*MessageDefinitionAllowedResponse `json:"allowedResponse,omitempty"`

	// The MessageDefinition that is the basis for the contents of this resource.
	Base string `json:"base,omitempty"`

	// The impact of the content of the message.
	Category string `json:"category,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// A free text natural language description of the message definition from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// Event code or link to the EventDefinition.
	EventCoding *Coding `json:"eventCoding,omitempty"`

	// Extensions for eventUri
	EventUri *Element `json:"_eventUri,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Identifies the resource (or resources) that are being addressed by the event.  For example, the Encounter for an admit message or two Account records for a merge.
	Focus []*MessageDefinitionFocus `json:"focus,omitempty"`

	// 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 []string `json:"graph,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// A legal or geographic region in which the message definition is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Identifies a protocol or workflow that this MessageDefinition represents a step in.
	Parent []string `json:"parent,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Explanation of why this message definition is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// A MessageDefinition that is superseded by this definition.
	Replaces []string `json:"replaces,omitempty"`

	// This is a MessageDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for responseRequired
	ResponseRequired *Element `json:"_responseRequired,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the message definition.
	Title string `json:"title,omitempty"`

	// The business identifier that is used to reference the MessageDefinition and *is* expected to be consistent from server to server.
	Url string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

MessageDefinition Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.

func (*MessageDefinition) MarshalJSON

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

func (*MessageDefinition) UnmarshalJSON

func (strct *MessageDefinition) UnmarshalJSON(b []byte) error

type MessageDefinitionAllowedResponse

type MessageDefinitionAllowedResponse struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A reference to the message definition that must be adhered to by this supported response.
	Message string `json:"message"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for situation
	Situation *Element `json:"_situation,omitempty"`
}

MessageDefinitionAllowedResponse Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.

func (*MessageDefinitionAllowedResponse) MarshalJSON

func (strct *MessageDefinitionAllowedResponse) MarshalJSON() ([]byte, error)

func (*MessageDefinitionAllowedResponse) UnmarshalJSON

func (strct *MessageDefinitionAllowedResponse) UnmarshalJSON(b []byte) error

type MessageDefinitionFocus

type MessageDefinitionFocus struct {

	// The kind of resource that must be the focus for this message.
	Code string `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"max,omitempty"`

	// Extensions for min
	Min *Element `json:"_min,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A profile that reflects constraints for the focal resource (and potentially for related resources).
	Profile string `json:"profile,omitempty"`
}

MessageDefinitionFocus Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.

func (*MessageDefinitionFocus) MarshalJSON

func (strct *MessageDefinitionFocus) MarshalJSON() ([]byte, error)

func (*MessageDefinitionFocus) UnmarshalJSON

func (strct *MessageDefinitionFocus) UnmarshalJSON(b []byte) error

type MessageHeader

type MessageHeader struct {

	// 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 `json:"author,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Permanent link to the MessageDefinition for this message.
	Definition string `json:"definition,omitempty"`

	// The destination application which the message is intended for.
	Destination []*MessageHeaderDestination `json:"destination,omitempty"`

	// 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 `json:"enterer,omitempty"`

	// 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.
	EventCoding *Coding `json:"eventCoding,omitempty"`

	// 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.
	EventUri string `json:"eventUri,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The actual data of the message - a reference to the root/focus class of the event.
	Focus []*Reference `json:"focus,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"reason,omitempty"`

	// This is a MessageHeader resource
	ResourceType interface{} `json:"resourceType"`

	// Information about the message that this message is a response to.  Only present if this message is a response.
	Response *MessageHeaderResponse `json:"response,omitempty"`

	// 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 `json:"responsible,omitempty"`

	// Identifies the sending system to allow the use of a trust relationship.
	Sender *Reference `json:"sender,omitempty"`

	// The source application from which this message originated.
	Source *MessageHeaderSource `json:"source"`

	// 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 `json:"text,omitempty"`
}

MessageHeader The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.

func (*MessageHeader) MarshalJSON

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

func (*MessageHeader) UnmarshalJSON

func (strct *MessageHeader) UnmarshalJSON(b []byte) error

type MessageHeaderDestination

type MessageHeaderDestination struct {

	// Extensions for endpoint
	Endpoint *Element `json:"_endpoint,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// 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 `json:"receiver,omitempty"`

	// Identifies the target end system in situations where the initial message transmission is to an intermediary system.
	Target *Reference `json:"target,omitempty"`
}

MessageHeaderDestination The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.

func (*MessageHeaderDestination) MarshalJSON

func (strct *MessageHeaderDestination) MarshalJSON() ([]byte, error)

func (*MessageHeaderDestination) UnmarshalJSON

func (strct *MessageHeaderDestination) UnmarshalJSON(b []byte) error

type MessageHeaderResponse

type MessageHeaderResponse struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Full details of any issues found in the message.
	Details *Reference `json:"details,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for identifier
	Identifier *Element `json:"_identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

MessageHeaderResponse The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.

func (*MessageHeaderResponse) MarshalJSON

func (strct *MessageHeaderResponse) MarshalJSON() ([]byte, error)

func (*MessageHeaderResponse) UnmarshalJSON

func (strct *MessageHeaderResponse) UnmarshalJSON(b []byte) error

type MessageHeaderSource

type MessageHeaderSource struct {

	// An e-mail, phone, website or other contact point to use to resolve issues with message communications.
	Contact *ContactPoint `json:"contact,omitempty"`

	// Extensions for endpoint
	Endpoint *Element `json:"_endpoint,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// May include configuration or other information useful in debugging.
	Software string `json:"software,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

MessageHeaderSource The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.

func (*MessageHeaderSource) MarshalJSON

func (strct *MessageHeaderSource) MarshalJSON() ([]byte, error)

func (*MessageHeaderSource) UnmarshalJSON

func (strct *MessageHeaderSource) UnmarshalJSON(b []byte) error

type Meta

type Meta struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for lastUpdated
	LastUpdated *Element `json:"_lastUpdated,omitempty"`

	// A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].
	Profile []string `json:"profile,omitempty"`

	// Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
	Security []*Coding `json:"security,omitempty"`

	// Extensions for source
	Source *Element `json:"_source,omitempty"`

	// 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 `json:"tag,omitempty"`

	// 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 string `json:"versionId,omitempty"`
}

Meta 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 (strct *Meta) MarshalJSON() ([]byte, error)

func (*Meta) UnmarshalJSON

func (strct *Meta) UnmarshalJSON(b []byte) error

type MolecularSequence

type MolecularSequence struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 float64 `json:"coordinateSystem,omitempty"`

	// The method for sequencing, for example, chip information.
	Device *Reference `json:"device,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier for this particular sequence instance. This is a FHIR-defined id.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for observedSeq
	ObservedSeq *Element `json:"_observedSeq,omitempty"`

	// The patient whose sequencing results are described by this resource.
	Patient *Reference `json:"patient,omitempty"`

	// The organization or lab that should be responsible for this result.
	Performer *Reference `json:"performer,omitempty"`

	// Pointer to next atomic sequence which at most contains one variant.
	Pointer []*Reference `json:"pointer,omitempty"`

	// An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686)).
	Quality []*MolecularSequenceQuality `json:"quality,omitempty"`

	// The number of copies of the sequence of interest. (RNASeq).
	Quantity *Quantity `json:"quantity,omitempty"`

	// Extensions for readCoverage
	ReadCoverage *Element `json:"_readCoverage,omitempty"`

	// A sequence that is used as a reference to describe variants that are present in a sequence analyzed.
	ReferenceSeq *MolecularSequenceReferenceSeq `json:"referenceSeq,omitempty"`

	// Configurations of the external repository. The repository shall store target's observedSeq or records related with target's observedSeq.
	Repository []*MolecularSequenceRepository `json:"repository,omitempty"`

	// This is a MolecularSequence resource
	ResourceType interface{} `json:"resourceType"`

	// Specimen used for sequencing.
	Specimen *Reference `json:"specimen,omitempty"`

	// Information about chromosome structure variation.
	StructureVariant []*MolecularSequenceStructureVariant `json:"structureVariant,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`

	// The definition of variant here originates from Sequence ontology ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element can represent amino acid or nucleic sequence change(including insertion,deletion,SNP,etc.)  It can represent some complex mutation or segment variation with the assist of CIGAR string.
	Variant []*MolecularSequenceVariant `json:"variant,omitempty"`
}

MolecularSequence Raw data describing a biological sequence.

func (*MolecularSequence) MarshalJSON

func (strct *MolecularSequence) MarshalJSON() ([]byte, error)

func (*MolecularSequence) UnmarshalJSON

func (strct *MolecularSequence) UnmarshalJSON(b []byte) error

type MolecularSequenceInner

type MolecularSequenceInner struct {

	// Extensions for end
	End *Element `json:"_end,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for start
	Start *Element `json:"_start,omitempty"`
}

MolecularSequenceInner Raw data describing a biological sequence.

func (*MolecularSequenceInner) MarshalJSON

func (strct *MolecularSequenceInner) MarshalJSON() ([]byte, error)

func (*MolecularSequenceInner) UnmarshalJSON

func (strct *MolecularSequenceInner) UnmarshalJSON(b []byte) error

type MolecularSequenceOuter

type MolecularSequenceOuter struct {

	// Extensions for end
	End *Element `json:"_end,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for start
	Start *Element `json:"_start,omitempty"`
}

MolecularSequenceOuter Raw data describing a biological sequence.

func (*MolecularSequenceOuter) MarshalJSON

func (strct *MolecularSequenceOuter) MarshalJSON() ([]byte, error)

func (*MolecularSequenceOuter) UnmarshalJSON

func (strct *MolecularSequenceOuter) UnmarshalJSON(b []byte) error

type MolecularSequenceQuality

type MolecularSequenceQuality struct {

	// 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 float64 `json:"end,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for fScore
	FScore *Element `json:"_fScore,omitempty"`

	// Extensions for gtFP
	GtFP *Element `json:"_gtFP,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Which method is used to get sequence quality.
	Method *CodeableConcept `json:"method,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// QUERY.TP / (QUERY.TP + QUERY.FP).
	Precision float64 `json:"precision,omitempty"`

	// Extensions for queryFP
	QueryFP *Element `json:"_queryFP,omitempty"`

	// Extensions for queryTP
	QueryTP *Element `json:"_queryTP,omitempty"`

	// Extensions for recall
	Recall *Element `json:"_recall,omitempty"`

	// Receiver Operator Characteristic (ROC) Curve  to give sensitivity/specificity tradeoff.
	Roc *MolecularSequenceRoc `json:"roc,omitempty"`

	// 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 `json:"score,omitempty"`

	// Gold standard sequence used for comparing against.
	StandardSequence *CodeableConcept `json:"standardSequence,omitempty"`

	// Extensions for start
	Start *Element `json:"_start,omitempty"`

	// Extensions for truthFN
	TruthFN *Element `json:"_truthFN,omitempty"`

	// 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 float64 `json:"truthTP,omitempty"`

	// INDEL / SNP / Undefined variant.
	Type string `json:"type,omitempty"`
}

MolecularSequenceQuality Raw data describing a biological sequence.

func (*MolecularSequenceQuality) MarshalJSON

func (strct *MolecularSequenceQuality) MarshalJSON() ([]byte, error)

func (*MolecularSequenceQuality) UnmarshalJSON

func (strct *MolecularSequenceQuality) UnmarshalJSON(b []byte) error

type MolecularSequenceReferenceSeq

type MolecularSequenceReferenceSeq struct {

	// 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 `json:"chromosome,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for genomeBuild
	GenomeBuild *Element `json:"_genomeBuild,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 string `json:"orientation,omitempty"`

	// 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 `json:"referenceSeqId,omitempty"`

	// A pointer to another MolecularSequence entity as reference sequence.
	ReferenceSeqPointer *Reference `json:"referenceSeqPointer,omitempty"`

	// Extensions for referenceSeqString
	ReferenceSeqString *Element `json:"_referenceSeqString,omitempty"`

	// 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 string `json:"strand,omitempty"`

	// Extensions for windowEnd
	WindowEnd *Element `json:"_windowEnd,omitempty"`

	// 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 float64 `json:"windowStart,omitempty"`
}

MolecularSequenceReferenceSeq Raw data describing a biological sequence.

func (*MolecularSequenceReferenceSeq) MarshalJSON

func (strct *MolecularSequenceReferenceSeq) MarshalJSON() ([]byte, error)

func (*MolecularSequenceReferenceSeq) UnmarshalJSON

func (strct *MolecularSequenceReferenceSeq) UnmarshalJSON(b []byte) error

type MolecularSequenceRepository

type MolecularSequenceRepository struct {

	// 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 `json:"datasetId,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// URI of an external repository which contains further details about the genetics data.
	Name string `json:"name,omitempty"`

	// Id of the read in this external repository.
	ReadsetId string `json:"readsetId,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// Extensions for variantsetId
	VariantsetId *Element `json:"_variantsetId,omitempty"`
}

MolecularSequenceRepository Raw data describing a biological sequence.

func (*MolecularSequenceRepository) MarshalJSON

func (strct *MolecularSequenceRepository) MarshalJSON() ([]byte, error)

func (*MolecularSequenceRepository) UnmarshalJSON

func (strct *MolecularSequenceRepository) UnmarshalJSON(b []byte) error

type MolecularSequenceRoc

type MolecularSequenceRoc struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for fMeasure
	FMeasure []*Element `json:"_fMeasure,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The number of false negatives if the GQ score threshold was set to "score" field value.
	NumFN []float64 `json:"numFN,omitempty"`

	// Extensions for numFP
	NumFP []*Element `json:"_numFP,omitempty"`

	// The number of true positives if the GQ score threshold was set to "score" field value.
	NumTP []float64 `json:"numTP,omitempty"`

	// Calculated precision if the GQ score threshold was set to "score" field value.
	Precision []float64 `json:"precision,omitempty"`

	// Extensions for score
	Score []*Element `json:"_score,omitempty"`

	// Calculated sensitivity if the GQ score threshold was set to "score" field value.
	Sensitivity []float64 `json:"sensitivity,omitempty"`
}

MolecularSequenceRoc Raw data describing a biological sequence.

func (*MolecularSequenceRoc) MarshalJSON

func (strct *MolecularSequenceRoc) MarshalJSON() ([]byte, error)

func (*MolecularSequenceRoc) UnmarshalJSON

func (strct *MolecularSequenceRoc) UnmarshalJSON(b []byte) error

type MolecularSequenceStructureVariant

type MolecularSequenceStructureVariant struct {

	// Used to indicate if the outer and inner start-end values have the same meaning.
	Exact bool `json:"exact,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Structural variant inner.
	Inner *MolecularSequenceInner `json:"inner,omitempty"`

	// Extensions for length
	Length *Element `json:"_length,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Structural variant outer.
	Outer *MolecularSequenceOuter `json:"outer,omitempty"`

	// Information about chromosome structure variation DNA change type.
	VariantType *CodeableConcept `json:"variantType,omitempty"`
}

MolecularSequenceStructureVariant Raw data describing a biological sequence.

func (*MolecularSequenceStructureVariant) MarshalJSON

func (strct *MolecularSequenceStructureVariant) MarshalJSON() ([]byte, error)

func (*MolecularSequenceStructureVariant) UnmarshalJSON

func (strct *MolecularSequenceStructureVariant) UnmarshalJSON(b []byte) error

type MolecularSequenceVariant

type MolecularSequenceVariant struct {

	// Extensions for cigar
	Cigar *Element `json:"_cigar,omitempty"`

	// Extensions for end
	End *Element `json:"_end,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for observedAllele
	ObservedAllele *Element `json:"_observedAllele,omitempty"`

	// 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 `json:"referenceAllele,omitempty"`

	// 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 float64 `json:"start,omitempty"`

	// A pointer to an Observation containing variant information.
	VariantPointer *Reference `json:"variantPointer,omitempty"`
}

MolecularSequenceVariant Raw data describing a biological sequence.

func (*MolecularSequenceVariant) MarshalJSON

func (strct *MolecularSequenceVariant) MarshalJSON() ([]byte, error)

func (*MolecularSequenceVariant) UnmarshalJSON

func (strct *MolecularSequenceVariant) UnmarshalJSON(b []byte) error

type Money

type Money struct {

	// ISO 4217 Currency Code.
	Currency string `json:"currency,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

Money An amount of economic utility in some recognized currency.

func (*Money) MarshalJSON

func (strct *Money) MarshalJSON() ([]byte, error)

func (*Money) UnmarshalJSON

func (strct *Money) UnmarshalJSON(b []byte) error

type NamingSystem

type NamingSystem struct {

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"date,omitempty"`

	// 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 string `json:"description,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// A legal or geographic region in which the naming system is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for kind
	Kind *Element `json:"_kind,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// This is a NamingSystem resource
	ResourceType interface{} `json:"resourceType"`

	// The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.
	Responsible string `json:"responsible,omitempty"`

	// The status of this naming system. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`

	// Categorizes a naming system for easier search by grouping related naming systems.
	Type *CodeableConcept `json:"type,omitempty"`

	// Indicates how the system may be identified when referenced in electronic exchange.
	UniqueId []*NamingSystemUniqueId `json:"uniqueId"`

	// Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.
	Usage string `json:"usage,omitempty"`

	// 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 `json:"useContext,omitempty"`
}

NamingSystem A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a "System" used within the Identifier and Coding data types.

func (*NamingSystem) MarshalJSON

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

func (*NamingSystem) UnmarshalJSON

func (strct *NamingSystem) UnmarshalJSON(b []byte) error

type NamingSystemUniqueId

type NamingSystemUniqueId struct {

	// Extensions for comment
	Comment *Element `json:"_comment,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"period,omitempty"`

	// Extensions for preferred
	Preferred *Element `json:"_preferred,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

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 (*NamingSystemUniqueId) MarshalJSON

func (strct *NamingSystemUniqueId) MarshalJSON() ([]byte, error)

func (*NamingSystemUniqueId) UnmarshalJSON

func (strct *NamingSystemUniqueId) UnmarshalJSON(b []byte) error

type Narrative

type Narrative struct {

	// The actual narrative content, a stripped down version of XHTML.
	Div interface{} `json:"div"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`
}

Narrative A human-readable summary of the resource conveying the essential clinical and business information for the resource.

func (*Narrative) MarshalJSON

func (strct *Narrative) MarshalJSON() ([]byte, error)

func (*Narrative) UnmarshalJSON

func (strct *Narrative) UnmarshalJSON(b []byte) error

type NutritionOrder

type NutritionOrder struct {

	// A link to a record of allergies or intolerances  which should be included in the nutrition order.
	AllergyIntolerance []*Reference `json:"allergyIntolerance,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for dateTime
	DateTime *Element `json:"_dateTime,omitempty"`

	// An encounter that provides additional information about the healthcare context in which this request is made.
	Encounter *Reference `json:"encounter,omitempty"`

	// Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity.
	EnteralFormula *NutritionOrderEnteralFormula `json:"enteralFormula,omitempty"`

	// 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 `json:"excludeFoodModifier,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 `json:"foodPreferenceModifier,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifiers assigned to this order by the order sender or by the order receiver.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for instantiates
	Instantiates []*Element `json:"_instantiates,omitempty"`

	// 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 []string `json:"instantiatesCanonical,omitempty"`

	// 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 []string `json:"instantiatesUri,omitempty"`

	// Extensions for intent
	Intent *Element `json:"_intent,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Comments made about the {{title}} by the requester, performer, subject or other participants.
	Note []*Annotation `json:"note,omitempty"`

	// Diet given orally in contrast to enteral (tube) feeding.
	OralDiet *NutritionOrderOralDiet `json:"oralDiet,omitempty"`

	// The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings.
	Orderer *Reference `json:"orderer,omitempty"`

	// The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding.
	Patient *Reference `json:"patient"`

	// This is a NutritionOrder resource
	ResourceType interface{} `json:"resourceType"`

	// The workflow status of the nutrition order/request.
	Status string `json:"status,omitempty"`

	// Oral nutritional products given in order to add further nutritional value to the patient's diet.
	Supplement []*NutritionOrderSupplement `json:"supplement,omitempty"`

	// 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 `json:"text,omitempty"`
}

NutritionOrder A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.

func (*NutritionOrder) MarshalJSON

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

func (*NutritionOrder) UnmarshalJSON

func (strct *NutritionOrder) UnmarshalJSON(b []byte) error

type NutritionOrderAdministration

type NutritionOrderAdministration struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The volume of formula to provide to the patient per the specified administration schedule.
	Quantity *Quantity `json:"quantity,omitempty"`

	// The rate of administration of formula via a feeding pump, e.g. 60 mL per hour, according to the specified schedule.
	RateQuantity *Quantity `json:"rateQuantity,omitempty"`

	// The rate of administration of formula via a feeding pump, e.g. 60 mL per hour, according to the specified schedule.
	RateRatio *Ratio `json:"rateRatio,omitempty"`

	// The time period and frequency at which the enteral formula should be delivered to the patient.
	Schedule *Timing `json:"schedule,omitempty"`
}

NutritionOrderAdministration A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.

func (*NutritionOrderAdministration) MarshalJSON

func (strct *NutritionOrderAdministration) MarshalJSON() ([]byte, error)

func (*NutritionOrderAdministration) UnmarshalJSON

func (strct *NutritionOrderAdministration) UnmarshalJSON(b []byte) error

type NutritionOrderEnteralFormula

type NutritionOrderEnteralFormula struct {

	// The product or brand name of the type of modular component to be added to the formula.
	AdditiveProductName string `json:"additiveProductName,omitempty"`

	// 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 `json:"additiveType,omitempty"`

	// Formula administration instructions as structured data.  This repeating structure allows for changing the administration rate or volume over time for both bolus and continuous feeding.  An example of this would be an instruction to increase the rate of continuous feeding every 2 hours.
	Administration []*NutritionOrderAdministration `json:"administration,omitempty"`

	// Free text formula administration, feeding instructions or additional instructions or information.
	AdministrationInstruction string `json:"administrationInstruction,omitempty"`

	// Extensions for baseFormulaProductName
	BaseFormulaProductName *Element `json:"_baseFormulaProductName,omitempty"`

	// The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula.
	BaseFormulaType *CodeableConcept `json:"baseFormulaType,omitempty"`

	// 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 `json:"caloricDensity,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"maxVolumeToDeliver,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"routeofAdministration,omitempty"`
}

NutritionOrderEnteralFormula A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.

func (*NutritionOrderEnteralFormula) MarshalJSON

func (strct *NutritionOrderEnteralFormula) MarshalJSON() ([]byte, error)

func (*NutritionOrderEnteralFormula) UnmarshalJSON

func (strct *NutritionOrderEnteralFormula) UnmarshalJSON(b []byte) error

type NutritionOrderNutrient

type NutritionOrderNutrient struct {

	// The quantity of the specified nutrient to include in diet.
	Amount *Quantity `json:"amount,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The nutrient that is being modified such as carbohydrate or sodium.
	Modifier *CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

NutritionOrderNutrient A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.

func (*NutritionOrderNutrient) MarshalJSON

func (strct *NutritionOrderNutrient) MarshalJSON() ([]byte, error)

func (*NutritionOrderNutrient) UnmarshalJSON

func (strct *NutritionOrderNutrient) UnmarshalJSON(b []byte) error

type NutritionOrderOralDiet

type NutritionOrderOralDiet struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The required consistency (e.g. honey-thick, nectar-thick, thin, thickened.) of liquids or fluids served to the patient.
	FluidConsistencyType []*CodeableConcept `json:"fluidConsistencyType,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Free text or additional instructions or information pertaining to the oral diet.
	Instruction string `json:"instruction,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet.
	Nutrient []*NutritionOrderNutrient `json:"nutrient,omitempty"`

	// 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 `json:"schedule,omitempty"`

	// Class that describes any texture modifications required for the patient to safely consume various types of solid foods.
	Texture []*NutritionOrderTexture `json:"texture,omitempty"`

	// The kind of diet or dietary restriction such as fiber restricted diet or diabetic diet.
	Type []*CodeableConcept `json:"type,omitempty"`
}

NutritionOrderOralDiet A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.

func (*NutritionOrderOralDiet) MarshalJSON

func (strct *NutritionOrderOralDiet) MarshalJSON() ([]byte, error)

func (*NutritionOrderOralDiet) UnmarshalJSON

func (strct *NutritionOrderOralDiet) UnmarshalJSON(b []byte) error

type NutritionOrderSupplement

type NutritionOrderSupplement struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for instruction
	Instruction *Element `json:"_instruction,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for productName
	ProductName *Element `json:"_productName,omitempty"`

	// The amount of the nutritional supplement to be given.
	Quantity *Quantity `json:"quantity,omitempty"`

	// 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 `json:"schedule,omitempty"`

	// The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement.
	Type *CodeableConcept `json:"type,omitempty"`
}

NutritionOrderSupplement A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.

func (*NutritionOrderSupplement) MarshalJSON

func (strct *NutritionOrderSupplement) MarshalJSON() ([]byte, error)

func (*NutritionOrderSupplement) UnmarshalJSON

func (strct *NutritionOrderSupplement) UnmarshalJSON(b []byte) error

type NutritionOrderTexture

type NutritionOrderTexture struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The food type(s) (e.g. meats, all foods)  that the texture modification applies to.  This could be all foods types.
	FoodType *CodeableConcept `json:"foodType,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Any texture modifications (for solid foods) that should be made, e.g. easy to chew, chopped, ground, and pureed.
	Modifier *CodeableConcept `json:"modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

NutritionOrderTexture A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.

func (*NutritionOrderTexture) MarshalJSON

func (strct *NutritionOrderTexture) MarshalJSON() ([]byte, error)

func (*NutritionOrderTexture) UnmarshalJSON

func (strct *NutritionOrderTexture) UnmarshalJSON(b []byte) error

type NutritionProduct

type NutritionProduct struct {

	// Nutrition products can have different classifications - according to its nutritional properties, preparation methods, etc.
	Category []*CodeableConcept `json:"category,omitempty"`

	// The code assigned to the product, for example a manufacturer number or other terminology.
	Code *CodeableConcept `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Ingredients contained in this product.
	Ingredient []*NutritionProductIngredient `json:"ingredient,omitempty"`

	// Conveys instance-level information about this product item. One or several physical, countable instances or occurrences of the product.
	Instance *NutritionProductInstance `json:"instance,omitempty"`

	// Allergens that are known or suspected to be a part of this nutrition product.
	KnownAllergen []*CodeableReference `json:"knownAllergen,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The organisation (manufacturer, representative or legal authorisation holder) that is responsible for the device.
	Manufacturer []*Reference `json:"manufacturer,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Comments made about the product.
	Note []*Annotation `json:"note,omitempty"`

	// The product's nutritional information expressed by the nutrients.
	Nutrient []*NutritionProductNutrient `json:"nutrient,omitempty"`

	// Specifies descriptive properties of the nutrition product.
	ProductCharacteristic []*NutritionProductProductCharacteristic `json:"productCharacteristic,omitempty"`

	// This is a NutritionProduct resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`
}

NutritionProduct A food or fluid product that is consumed by patients.

func (*NutritionProduct) MarshalJSON

func (strct *NutritionProduct) MarshalJSON() ([]byte, error)

func (*NutritionProduct) UnmarshalJSON

func (strct *NutritionProduct) UnmarshalJSON(b []byte) error

type NutritionProductIngredient

type NutritionProductIngredient struct {

	// The amount of ingredient that is in the product.
	Amount []*Ratio `json:"amount,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The ingredient contained in the product.
	Item *CodeableReference `json:"item"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

NutritionProductIngredient A food or fluid product that is consumed by patients.

func (*NutritionProductIngredient) MarshalJSON

func (strct *NutritionProductIngredient) MarshalJSON() ([]byte, error)

func (*NutritionProductIngredient) UnmarshalJSON

func (strct *NutritionProductIngredient) UnmarshalJSON(b []byte) error

type NutritionProductInstance

type NutritionProductInstance struct {

	// 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 string `json:"expiry,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The identifier for the physical instance, typically a serial number.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// The identification of the batch or lot of the product.
	LotNumber string `json:"lotNumber,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The amount of items or instances that the resource considers, for instance when referring to 2 identical units together.
	Quantity *Quantity `json:"quantity,omitempty"`

	// Extensions for useBy
	UseBy *Element `json:"_useBy,omitempty"`
}

NutritionProductInstance A food or fluid product that is consumed by patients.

func (*NutritionProductInstance) MarshalJSON

func (strct *NutritionProductInstance) MarshalJSON() ([]byte, error)

func (*NutritionProductInstance) UnmarshalJSON

func (strct *NutritionProductInstance) UnmarshalJSON(b []byte) error

type NutritionProductNutrient

type NutritionProductNutrient struct {

	// The amount of nutrient expressed in one or more units: X per pack / per serving / per dose.
	Amount []*Ratio `json:"amount,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The (relevant) nutrients in the product.
	Item *CodeableReference `json:"item,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

NutritionProductNutrient A food or fluid product that is consumed by patients.

func (*NutritionProductNutrient) MarshalJSON

func (strct *NutritionProductNutrient) MarshalJSON() ([]byte, error)

func (*NutritionProductNutrient) UnmarshalJSON

func (strct *NutritionProductNutrient) UnmarshalJSON(b []byte) error

type NutritionProductProductCharacteristic

type NutritionProductProductCharacteristic struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A code specifying which characteristic of the product is being described (for example, colour, shape).
	Type *CodeableConcept `json:"type"`

	// The actual characteristic value corresponding to the type.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// The actual characteristic value corresponding to the type.
	ValueBase64Binary string `json:"valueBase64Binary,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// The actual characteristic value corresponding to the type.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// The actual characteristic value corresponding to the type.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// The actual characteristic value corresponding to the type.
	ValueString string `json:"valueString,omitempty"`
}

NutritionProductProductCharacteristic A food or fluid product that is consumed by patients.

func (*NutritionProductProductCharacteristic) MarshalJSON

func (strct *NutritionProductProductCharacteristic) MarshalJSON() ([]byte, error)

func (*NutritionProductProductCharacteristic) UnmarshalJSON

func (strct *NutritionProductProductCharacteristic) UnmarshalJSON(b []byte) error

type Observation

type Observation struct {

	// 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 `json:"basedOn,omitempty"`

	// Indicates the site on the subject's body where the observation was made (i.e. the target site).
	BodySite *CodeableConcept `json:"bodySite,omitempty"`

	// A code that classifies the general type of observation being made.
	Category []*CodeableConcept `json:"category,omitempty"`

	// Describes what was observed. Sometimes this is called the observation "name".
	Code *CodeableConcept `json:"code"`

	// 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 `json:"component,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Provides a reason why the expected value in the element Observation.value[x] is missing.
	DataAbsentReason *CodeableConcept `json:"dataAbsentReason,omitempty"`

	// 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 `json:"derivedFrom,omitempty"`

	// The device used to generate the observation data.
	Device *Reference `json:"device,omitempty"`

	// Extensions for effectiveDateTime
	EffectiveDateTime *Element `json:"_effectiveDateTime,omitempty"`

	// 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.
	EffectiveInstant string `json:"effectiveInstant,omitempty"`

	// 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.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// 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.
	EffectiveTiming *Timing `json:"effectiveTiming,omitempty"`

	// The healthcare event  (e.g. a patient and healthcare provider interaction) during which this observation is made.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 `json:"focus,omitempty"`

	// 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 `json:"hasMember,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this observation.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// A categorical assessment of an observation value.  For example, high, low, normal.
	Interpretation []*CodeableConcept `json:"interpretation,omitempty"`

	// The date and time this version of the observation was made available to providers, typically after the results have been reviewed and verified.
	Issued string `json:"issued,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// Indicates the mechanism used to perform the observation.
	Method *CodeableConcept `json:"method,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Comments about the observation or the results.
	Note []*Annotation `json:"note,omitempty"`

	// A larger event of which this particular Observation is a component or step.  For example,  an observation as part of a procedure.
	PartOf []*Reference `json:"partOf,omitempty"`

	// Who was responsible for asserting the observed value as "true".
	Performer []*Reference `json:"performer,omitempty"`

	// Guidance on how to interpret the value by comparison to a normal or recommended range.  Multiple reference ranges are interpreted as an "OR".   In other words, to represent two distinct target populations, two `referenceRange` elements would be used.
	ReferenceRange []*ObservationReferenceRange `json:"referenceRange,omitempty"`

	// This is a Observation resource
	ResourceType interface{} `json:"resourceType"`

	// The specimen that was used when this observation was made.
	Specimen *Reference `json:"specimen,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueBoolean bool `json:"valueBoolean,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueDateTime string `json:"valueDateTime,omitempty"`

	// Extensions for valueInteger
	ValueInteger *Element `json:"_valueInteger,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValuePeriod *Period `json:"valuePeriod,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueRange *Range `json:"valueRange,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueRatio *Ratio `json:"valueRatio,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueSampledData *SampledData `json:"valueSampledData,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueString string `json:"valueString,omitempty"`

	// Extensions for valueTime
	ValueTime *Element `json:"_valueTime,omitempty"`
}

Observation Measurements and simple assertions made about a patient, device or other subject.

func (*Observation) MarshalJSON

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

func (*Observation) UnmarshalJSON

func (strct *Observation) UnmarshalJSON(b []byte) error

type ObservationComponent

type ObservationComponent struct {

	// Describes what was observed. Sometimes this is called the observation "code".
	Code *CodeableConcept `json:"code"`

	// Provides a reason why the expected value in the element Observation.component.value[x] is missing.
	DataAbsentReason *CodeableConcept `json:"dataAbsentReason,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A categorical assessment of an observation value.  For example, high, low, normal.
	Interpretation []*CodeableConcept `json:"interpretation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Guidance on how to interpret the value by comparison to a normal or recommended range.
	ReferenceRange []*ObservationReferenceRange `json:"referenceRange,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// Extensions for valueDateTime
	ValueDateTime *Element `json:"_valueDateTime,omitempty"`

	// Extensions for valueInteger
	ValueInteger *Element `json:"_valueInteger,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValuePeriod *Period `json:"valuePeriod,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueRange *Range `json:"valueRange,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueRatio *Ratio `json:"valueRatio,omitempty"`

	// The information determined as a result of making the observation, if the information has a simple value.
	ValueSampledData *SampledData `json:"valueSampledData,omitempty"`

	// Extensions for valueString
	ValueString *Element `json:"_valueString,omitempty"`

	// Extensions for valueTime
	ValueTime *Element `json:"_valueTime,omitempty"`
}

ObservationComponent Measurements and simple assertions made about a patient, device or other subject.

func (*ObservationComponent) MarshalJSON

func (strct *ObservationComponent) MarshalJSON() ([]byte, error)

func (*ObservationComponent) UnmarshalJSON

func (strct *ObservationComponent) UnmarshalJSON(b []byte) error

type ObservationDefinition

type ObservationDefinition struct {

	// The set of abnormal coded results for the observation conforming to this ObservationDefinition.
	AbnormalCodedValueSet *Reference `json:"abnormalCodedValueSet,omitempty"`

	// A code that classifies the general type of observation.
	Category []*CodeableConcept `json:"category,omitempty"`

	// Describes what will be observed. Sometimes this is called the observation "name".
	Code *CodeableConcept `json:"code"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The set of critical coded results for the observation conforming to this ObservationDefinition.
	CriticalCodedValueSet *Reference `json:"criticalCodedValueSet,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this ObservationDefinition artifact.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// The method or technique used to perform the observation.
	Method *CodeableConcept `json:"method,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for multipleResultsAllowed
	MultipleResultsAllowed *Element `json:"_multipleResultsAllowed,omitempty"`

	// The set of normal coded results for the observations conforming to this ObservationDefinition.
	NormalCodedValueSet *Reference `json:"normalCodedValueSet,omitempty"`

	// Extensions for permittedDataType
	PermittedDataType []*Element `json:"_permittedDataType,omitempty"`

	// Extensions for preferredReportName
	PreferredReportName *Element `json:"_preferredReportName,omitempty"`

	// Multiple  ranges of results qualified by different contexts for ordinal or continuous observations conforming to this ObservationDefinition.
	QualifiedInterval []*ObservationDefinitionQualifiedInterval `json:"qualifiedInterval,omitempty"`

	// Characteristics for quantitative results of this observation.
	QuantitativeDetails *ObservationDefinitionQuantitativeDetails `json:"quantitativeDetails,omitempty"`

	// This is a ObservationDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"text,omitempty"`

	// The set of valid coded results for the observations  conforming to this ObservationDefinition.
	ValidCodedValueSet *Reference `json:"validCodedValueSet,omitempty"`
}

ObservationDefinition Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.

func (*ObservationDefinition) MarshalJSON

func (strct *ObservationDefinition) MarshalJSON() ([]byte, error)

func (*ObservationDefinition) UnmarshalJSON

func (strct *ObservationDefinition) UnmarshalJSON(b []byte) error

type ObservationDefinitionQualifiedInterval

type ObservationDefinitionQualifiedInterval struct {

	// 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 `json:"age,omitempty"`

	// Codes to indicate the target population this reference range applies to.
	AppliesTo []*CodeableConcept `json:"appliesTo,omitempty"`

	// The category of interval of values for continuous or ordinal observations conforming to this ObservationDefinition.
	Category string `json:"category,omitempty"`

	// Text based condition for which the reference range is valid.
	Condition string `json:"condition,omitempty"`

	// Codes to indicate the health context the range applies to. For example, the normal or therapeutic range.
	Context *CodeableConcept `json:"context,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Sex of the population the range applies to.
	Gender string `json:"gender,omitempty"`

	// The gestational age to which this reference range is applicable, in the context of pregnancy.
	GestationalAge *Range `json:"gestationalAge,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The low and high values determining the interval. There may be only one of the two.
	Range *Range `json:"range,omitempty"`
}

ObservationDefinitionQualifiedInterval Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.

func (*ObservationDefinitionQualifiedInterval) MarshalJSON

func (strct *ObservationDefinitionQualifiedInterval) MarshalJSON() ([]byte, error)

func (*ObservationDefinitionQualifiedInterval) UnmarshalJSON

func (strct *ObservationDefinitionQualifiedInterval) UnmarshalJSON(b []byte) error

type ObservationDefinitionQuantitativeDetails

type ObservationDefinitionQuantitativeDetails struct {

	// Extensions for conversionFactor
	ConversionFactor *Element `json:"_conversionFactor,omitempty"`

	// Customary unit used to report quantitative results of observations conforming to this ObservationDefinition.
	CustomaryUnit *CodeableConcept `json:"customaryUnit,omitempty"`

	// Number of digits after decimal separator when the results of such observations are of type Quantity.
	DecimalPrecision float64 `json:"decimalPrecision,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// SI unit used to report quantitative results of observations conforming to this ObservationDefinition.
	Unit *CodeableConcept `json:"unit,omitempty"`
}

ObservationDefinitionQuantitativeDetails Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.

func (*ObservationDefinitionQuantitativeDetails) MarshalJSON

func (strct *ObservationDefinitionQuantitativeDetails) MarshalJSON() ([]byte, error)

func (*ObservationDefinitionQuantitativeDetails) UnmarshalJSON

func (strct *ObservationDefinitionQuantitativeDetails) UnmarshalJSON(b []byte) error

type ObservationReferenceRange

type ObservationReferenceRange struct {

	// 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 `json:"age,omitempty"`

	// 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 `json:"appliesTo,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 `json:"high,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"low,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`

	// Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.
	Type *CodeableConcept `json:"type,omitempty"`
}

ObservationReferenceRange Measurements and simple assertions made about a patient, device or other subject.

func (*ObservationReferenceRange) MarshalJSON

func (strct *ObservationReferenceRange) MarshalJSON() ([]byte, error)

func (*ObservationReferenceRange) UnmarshalJSON

func (strct *ObservationReferenceRange) UnmarshalJSON(b []byte) error

type OperationDefinition

type OperationDefinition struct {

	// Whether the operation affects state. Side effects such as producing audit trail entries do not count as 'affecting  state'.
	AffectsState bool `json:"affectsState,omitempty"`

	// Indicates that this operation definition is a constraining profile on the base.
	Base string `json:"base,omitempty"`

	// The name used to invoke the operation.
	Code string `json:"code,omitempty"`

	// Additional information about how to use this operation or named query.
	Comment string `json:"comment,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// 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 string `json:"inputProfile,omitempty"`

	// Extensions for instance
	Instance *Element `json:"_instance,omitempty"`

	// A legal or geographic region in which the operation definition is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Whether this is an operation or a named query.
	Kind string `json:"kind,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"name,omitempty"`

	// 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 string `json:"outputProfile,omitempty"`

	// Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation.
	Overload []*OperationDefinitionOverload `json:"overload,omitempty"`

	// The parameters for the operation/query.
	Parameter []*OperationDefinitionParameter `json:"parameter,omitempty"`

	// The name of the organization or individual that published the operation definition.
	Publisher string `json:"publisher,omitempty"`

	// Explanation of why this operation definition is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// The types on which this operation can be executed.
	Resource []string `json:"resource,omitempty"`

	// This is a OperationDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// The status of this operation definition. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// 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 bool `json:"system,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`

	// 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 bool `json:"type,omitempty"`

	// 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 string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

OperationDefinition A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).

func (*OperationDefinition) MarshalJSON

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

func (*OperationDefinition) UnmarshalJSON

func (strct *OperationDefinition) UnmarshalJSON(b []byte) error

type OperationDefinitionBinding

type OperationDefinitionBinding struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for strength
	Strength *Element `json:"_strength,omitempty"`

	// Points to the value set or external definition (e.g. implicit value set) that identifies the set of codes to be used.
	ValueSet string `json:"valueSet"`
}

OperationDefinitionBinding A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).

func (*OperationDefinitionBinding) MarshalJSON

func (strct *OperationDefinitionBinding) MarshalJSON() ([]byte, error)

func (*OperationDefinitionBinding) UnmarshalJSON

func (strct *OperationDefinitionBinding) UnmarshalJSON(b []byte) error

type OperationDefinitionOverload

type OperationDefinitionOverload struct {

	// Extensions for comment
	Comment *Element `json:"_comment,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for parameterName
	ParameterName []*Element `json:"_parameterName,omitempty"`
}

OperationDefinitionOverload A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).

func (*OperationDefinitionOverload) MarshalJSON

func (strct *OperationDefinitionOverload) MarshalJSON() ([]byte, error)

func (*OperationDefinitionOverload) UnmarshalJSON

func (strct *OperationDefinitionOverload) UnmarshalJSON(b []byte) error

type OperationDefinitionParameter

type OperationDefinitionParameter struct {

	// Binds to a value set if this parameter is coded (code, Coding, CodeableConcept).
	Binding *OperationDefinitionBinding `json:"binding,omitempty"`

	// Describes the meaning or use of this parameter.
	Documentation string `json:"documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for max
	Max *Element `json:"_max,omitempty"`

	// The minimum number of times this parameter SHALL appear in the request or response.
	Min float64 `json:"min,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// The parts of a nested Parameter.
	Part []*OperationDefinitionParameter `json:"part,omitempty"`

	// Identifies other resource parameters within the operation invocation that are expected to resolve to this resource.
	ReferencedFrom []*OperationDefinitionReferencedFrom `json:"referencedFrom,omitempty"`

	// Extensions for searchType
	SearchType *Element `json:"_searchType,omitempty"`

	// 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 []string `json:"targetProfile,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`

	// Extensions for use
	Use *Element `json:"_use,omitempty"`
}

OperationDefinitionParameter A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).

func (*OperationDefinitionParameter) MarshalJSON

func (strct *OperationDefinitionParameter) MarshalJSON() ([]byte, error)

func (*OperationDefinitionParameter) UnmarshalJSON

func (strct *OperationDefinitionParameter) UnmarshalJSON(b []byte) error

type OperationDefinitionReferencedFrom

type OperationDefinitionReferencedFrom struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"source,omitempty"`

	// Extensions for sourceId
	SourceId *Element `json:"_sourceId,omitempty"`
}

OperationDefinitionReferencedFrom A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).

func (*OperationDefinitionReferencedFrom) MarshalJSON

func (strct *OperationDefinitionReferencedFrom) MarshalJSON() ([]byte, error)

func (*OperationDefinitionReferencedFrom) UnmarshalJSON

func (strct *OperationDefinitionReferencedFrom) UnmarshalJSON(b []byte) error

type OperationOutcome

type OperationOutcome struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// An error, warning, or information message that results from a system action.
	Issue []*OperationOutcomeIssue `json:"issue"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// This is a OperationOutcome resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"text,omitempty"`
}

OperationOutcome A collection of error, warning, or information messages that result from a system action.

func (*OperationOutcome) MarshalJSON

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

func (*OperationOutcome) UnmarshalJSON

func (strct *OperationOutcome) UnmarshalJSON(b []byte) error

type OperationOutcomeIssue

type OperationOutcomeIssue struct {

	// 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 string `json:"code,omitempty"`

	// Additional details about the error. This may be a text description of the error or a system code that identifies the error.
	Details *CodeableConcept `json:"details,omitempty"`

	// Extensions for diagnostics
	Diagnostics *Element `json:"_diagnostics,omitempty"`

	// Extensions for expression
	Expression []*Element `json:"_expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for location
	Location []*Element `json:"_location,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Indicates whether the issue indicates a variation from successful processing.
	Severity string `json:"severity,omitempty"`
}

OperationOutcomeIssue A collection of error, warning, or information messages that result from a system action.

func (*OperationOutcomeIssue) MarshalJSON

func (strct *OperationOutcomeIssue) MarshalJSON() ([]byte, error)

func (*OperationOutcomeIssue) UnmarshalJSON

func (strct *OperationOutcomeIssue) UnmarshalJSON(b []byte) error

type Organization

type Organization struct {

	// Extensions for active
	Active *Element `json:"_active,omitempty"`

	// An address for the organization.
	Address []*Address `json:"address,omitempty"`

	// A list of alternate names that the organization is known as, or was known as in the past.
	Alias []string `json:"alias,omitempty"`

	// Contact for the organization for a certain purpose.
	Contact []*OrganizationContact `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Technical endpoints providing access to services operated for the organization.
	Endpoint []*Reference `json:"endpoint,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier for the organization that is used to identify the organization across multiple disparate systems.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// The organization of which this organization forms a part.
	PartOf *Reference `json:"partOf,omitempty"`

	// This is a Organization resource
	ResourceType interface{} `json:"resourceType"`

	// A contact detail for the organization.
	Telecom []*ContactPoint `json:"telecom,omitempty"`

	// 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 `json:"text,omitempty"`

	// The kind(s) of organization that this is.
	Type []*CodeableConcept `json:"type,omitempty"`
}

Organization A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.

func (*Organization) MarshalJSON

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

func (*Organization) UnmarshalJSON

func (strct *Organization) UnmarshalJSON(b []byte) error

type OrganizationAffiliation

type OrganizationAffiliation struct {

	// Whether this organization affiliation record is in active use.
	Active bool `json:"active,omitempty"`

	// Definition of the role the participatingOrganization plays in the association.
	Code []*CodeableConcept `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Technical endpoints providing access to services operated for this role.
	Endpoint []*Reference `json:"endpoint,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Healthcare services provided through the role.
	HealthcareService []*Reference `json:"healthcareService,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Business identifiers that are specific to this role.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The location(s) at which the role occurs.
	Location []*Reference `json:"location,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined).
	Network []*Reference `json:"network,omitempty"`

	// Organization where the role is available (primary organization/has members).
	Organization *Reference `json:"organization,omitempty"`

	// 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 `json:"participatingOrganization,omitempty"`

	// The period during which the participatingOrganization is affiliated with the primary organization.
	Period *Period `json:"period,omitempty"`

	// This is a OrganizationAffiliation resource
	ResourceType interface{} `json:"resourceType"`

	// Specific specialty of the participatingOrganization in the context of the role.
	Specialty []*CodeableConcept `json:"specialty,omitempty"`

	// Contact details at the participatingOrganization relevant to this Affiliation.
	Telecom []*ContactPoint `json:"telecom,omitempty"`

	// 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 `json:"text,omitempty"`
}

OrganizationAffiliation Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.

func (*OrganizationAffiliation) MarshalJSON

func (strct *OrganizationAffiliation) MarshalJSON() ([]byte, error)

func (*OrganizationAffiliation) UnmarshalJSON

func (strct *OrganizationAffiliation) UnmarshalJSON(b []byte) error

type OrganizationContact

type OrganizationContact struct {

	// Visiting or postal addresses for the contact.
	Address *Address `json:"address,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A name associated with the contact.
	Name *HumanName `json:"name,omitempty"`

	// Indicates a purpose for which the contact can be reached.
	Purpose *CodeableConcept `json:"purpose,omitempty"`

	// A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
	Telecom []*ContactPoint `json:"telecom,omitempty"`
}

OrganizationContact 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 (*OrganizationContact) MarshalJSON

func (strct *OrganizationContact) MarshalJSON() ([]byte, error)

func (*OrganizationContact) UnmarshalJSON

func (strct *OrganizationContact) UnmarshalJSON(b []byte) error

type PackagedProductDefinition

type PackagedProductDefinition struct {

	// Allows the key features to be recorded, such as "hospital pack", "nurse prescribable", "calendar pack".
	Characteristic []*CodeableConcept `json:"characteristic,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"containedItemQuantity,omitempty"`

	// Extensions for copackagedIndicator
	CopackagedIndicator *Element `json:"_copackagedIndicator,omitempty"`

	// Textual description. Note that this is not the name of the package or product.
	Description string `json:"description,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The legal status of supply of the packaged item as classified by the regulator.
	LegalStatusOfSupply []*PackagedProductDefinitionLegalStatusOfSupply `json:"legalStatusOfSupply,omitempty"`

	// Manufacturer of this package type. When there are multiple it means these are all possible manufacturers.
	Manufacturer []*Reference `json:"manufacturer,omitempty"`

	// 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 `json:"marketingStatus,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// 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 `json:"package,omitempty"`

	// The product that this is a pack for.
	PackageFor []*Reference `json:"packageFor,omitempty"`

	// This is a PackagedProductDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"status,omitempty"`

	// Extensions for statusDate
	StatusDate *Element `json:"_statusDate,omitempty"`

	// 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 `json:"text,omitempty"`

	// A high level category e.g. medicinal product, raw material, shipping/transport container, etc.
	Type *CodeableConcept `json:"type,omitempty"`
}

PackagedProductDefinition A medically related item or items, in a container or package.

func (*PackagedProductDefinition) MarshalJSON

func (strct *PackagedProductDefinition) MarshalJSON() ([]byte, error)

func (*PackagedProductDefinition) UnmarshalJSON

func (strct *PackagedProductDefinition) UnmarshalJSON(b []byte) error

type PackagedProductDefinitionContainedItem

type PackagedProductDefinitionContainedItem struct {

	// The number of this type of item within this packaging.
	Amount *Quantity `json:"amount,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"item"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

PackagedProductDefinitionContainedItem A medically related item or items, in a container or package.

func (*PackagedProductDefinitionContainedItem) MarshalJSON

func (strct *PackagedProductDefinitionContainedItem) MarshalJSON() ([]byte, error)

func (*PackagedProductDefinitionContainedItem) UnmarshalJSON

func (strct *PackagedProductDefinitionContainedItem) UnmarshalJSON(b []byte) error

type PackagedProductDefinitionLegalStatusOfSupply

type PackagedProductDefinitionLegalStatusOfSupply struct {

	// The actual status of supply. Conveys in what situation this package type may be supplied for use.
	Code *CodeableConcept `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The place where the legal status of supply applies. When not specified, this indicates it is unknown in this context.
	Jurisdiction *CodeableConcept `json:"jurisdiction,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

PackagedProductDefinitionLegalStatusOfSupply A medically related item or items, in a container or package.

func (*PackagedProductDefinitionLegalStatusOfSupply) MarshalJSON

func (strct *PackagedProductDefinitionLegalStatusOfSupply) MarshalJSON() ([]byte, error)

func (*PackagedProductDefinitionLegalStatusOfSupply) UnmarshalJSON

func (strct *PackagedProductDefinitionLegalStatusOfSupply) UnmarshalJSON(b []byte) error

type PackagedProductDefinitionPackage

type PackagedProductDefinitionPackage struct {

	// 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 `json:"alternateMaterial,omitempty"`

	// The item(s) within the packaging.
	ContainedItem []*PackagedProductDefinitionContainedItem `json:"containedItem,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// An identifier that is specific to this particular part of the packaging. Including possibly Data Carrier Identifier (a GS1 barcode).
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Manufacturer of this package Item. When there are multiple it means these are all possible manufacturers.
	Manufacturer []*Reference `json:"manufacturer,omitempty"`

	// Material type of the package item.
	Material []*CodeableConcept `json:"material,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Allows containers (and parts of containers) parwithin containers, still a single packaged product.  See also PackagedProductDefinition.package.containedItem.item(PackagedProductDefinition).
	Package []*PackagedProductDefinitionPackage `json:"package,omitempty"`

	// General characteristics of this item.
	Property []*PackagedProductDefinitionProperty `json:"property,omitempty"`

	// The quantity of this level of packaging in the package that contains it. If specified, the outermost level is always 1.
	Quantity float64 `json:"quantity,omitempty"`

	// Shelf Life and storage information.
	ShelfLifeStorage []*PackagedProductDefinitionShelfLifeStorage `json:"shelfLifeStorage,omitempty"`

	// The physical type of the container of the items.
	Type *CodeableConcept `json:"type,omitempty"`
}

PackagedProductDefinitionPackage A medically related item or items, in a container or package.

func (*PackagedProductDefinitionPackage) MarshalJSON

func (strct *PackagedProductDefinitionPackage) MarshalJSON() ([]byte, error)

func (*PackagedProductDefinitionPackage) UnmarshalJSON

func (strct *PackagedProductDefinitionPackage) UnmarshalJSON(b []byte) error

type PackagedProductDefinitionProperty

type PackagedProductDefinitionProperty struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A code expressing the type of characteristic.
	Type *CodeableConcept `json:"type"`

	// A value for the characteristic.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// A value for the characteristic.
	ValueBoolean bool `json:"valueBoolean,omitempty"`

	// A value for the characteristic.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// A value for the characteristic.
	ValueDate string `json:"valueDate,omitempty"`

	// A value for the characteristic.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`
}

PackagedProductDefinitionProperty A medically related item or items, in a container or package.

func (*PackagedProductDefinitionProperty) MarshalJSON

func (strct *PackagedProductDefinitionProperty) MarshalJSON() ([]byte, error)

func (*PackagedProductDefinitionProperty) UnmarshalJSON

func (strct *PackagedProductDefinitionProperty) UnmarshalJSON(b []byte) error

type PackagedProductDefinitionShelfLifeStorage

type PackagedProductDefinitionShelfLifeStorage struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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.
	PeriodDuration *Duration `json:"periodDuration,omitempty"`

	// Extensions for periodString
	PeriodString *Element `json:"_periodString,omitempty"`

	// 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 `json:"specialPrecautionsForStorage,omitempty"`

	// 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 `json:"type,omitempty"`
}

PackagedProductDefinitionShelfLifeStorage A medically related item or items, in a container or package.

func (*PackagedProductDefinitionShelfLifeStorage) MarshalJSON

func (strct *PackagedProductDefinitionShelfLifeStorage) MarshalJSON() ([]byte, error)

func (*PackagedProductDefinitionShelfLifeStorage) UnmarshalJSON

func (strct *PackagedProductDefinitionShelfLifeStorage) UnmarshalJSON(b []byte) error

type ParameterDefinition

type ParameterDefinition struct {

	// Extensions for documentation
	Documentation *Element `json:"_documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The maximum number of times this element is permitted to appear in the request or response.
	Max string `json:"max,omitempty"`

	// Extensions for min
	Min *Element `json:"_min,omitempty"`

	// The name of the parameter used to allow access to the value of the parameter in evaluation contexts.
	Name string `json:"name,omitempty"`

	// If specified, this indicates a profile that the input data must conform to, or that the output data will conform to.
	Profile string `json:"profile,omitempty"`

	// The type of the parameter.
	Type string `json:"type,omitempty"`

	// Whether the parameter is input or output for the module.
	Use string `json:"use,omitempty"`
}

ParameterDefinition 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 (strct *ParameterDefinition) MarshalJSON() ([]byte, error)

func (*ParameterDefinition) UnmarshalJSON

func (strct *ParameterDefinition) UnmarshalJSON(b []byte) 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 string `json:"id,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// A parameter passed to or received from the operation.
	Parameter []*ParametersParameter `json:"parameter,omitempty"`

	// This is a Parameters resource
	ResourceType interface{} `json:"resourceType"`
}

Parameters This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.

func (*Parameters) MarshalJSON

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

func (*Parameters) UnmarshalJSON

func (strct *Parameters) UnmarshalJSON(b []byte) error

type ParametersParameter

type ParametersParameter struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// A named part of a multi-part parameter.
	Part []*ParametersParameter `json:"part,omitempty"`

	// If the parameter is a whole resource.
	Resource interface{} `json:"resource,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueAddress *Address `json:"valueAddress,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueAge *Age `json:"valueAge,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueAnnotation *Annotation `json:"valueAnnotation,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueBase64Binary string `json:"valueBase64Binary,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueCanonical string `json:"valueCanonical,omitempty"`

	// Extensions for valueCode
	ValueCode *Element `json:"_valueCode,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueCoding *Coding `json:"valueCoding,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueContactDetail *ContactDetail `json:"valueContactDetail,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueContactPoint *ContactPoint `json:"valueContactPoint,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueContributor *Contributor `json:"valueContributor,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueCount *Count `json:"valueCount,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueDataRequirement *DataRequirement `json:"valueDataRequirement,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueDate string `json:"valueDate,omitempty"`

	// Extensions for valueDateTime
	ValueDateTime *Element `json:"_valueDateTime,omitempty"`

	// Extensions for valueDecimal
	ValueDecimal *Element `json:"_valueDecimal,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueDistance *Distance `json:"valueDistance,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueDosage *Dosage `json:"valueDosage,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueDuration *Duration `json:"valueDuration,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueExpression *Expression `json:"valueExpression,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueHumanName *HumanName `json:"valueHumanName,omitempty"`

	// Extensions for valueId
	ValueId *Element `json:"_valueId,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueIdentifier *Identifier `json:"valueIdentifier,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueInstant string `json:"valueInstant,omitempty"`

	// Extensions for valueInteger
	ValueInteger *Element `json:"_valueInteger,omitempty"`

	// Extensions for valueMarkdown
	ValueMarkdown *Element `json:"_valueMarkdown,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueMeta *Meta `json:"valueMeta,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueMoney *Money `json:"valueMoney,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueOid string `json:"valueOid,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueParameterDefinition *ParameterDefinition `json:"valueParameterDefinition,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValuePeriod *Period `json:"valuePeriod,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValuePositiveInt float64 `json:"valuePositiveInt,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueRange *Range `json:"valueRange,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueRatio *Ratio `json:"valueRatio,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueReference *Reference `json:"valueReference,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueRelatedArtifact *RelatedArtifact `json:"valueRelatedArtifact,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueSampledData *SampledData `json:"valueSampledData,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueSignature *Signature `json:"valueSignature,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueString string `json:"valueString,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueTime string `json:"valueTime,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueTiming *Timing `json:"valueTiming,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueTriggerDefinition *TriggerDefinition `json:"valueTriggerDefinition,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueUnsignedInt float64 `json:"valueUnsignedInt,omitempty"`

	// Extensions for valueUri
	ValueUri *Element `json:"_valueUri,omitempty"`

	// Extensions for valueUrl
	ValueUrl *Element `json:"_valueUrl,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueUsageContext *UsageContext `json:"valueUsageContext,omitempty"`

	// Conveys the content if the parameter is a data type.
	ValueUuid string `json:"valueUuid,omitempty"`
}

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 (*ParametersParameter) MarshalJSON

func (strct *ParametersParameter) MarshalJSON() ([]byte, error)

func (*ParametersParameter) UnmarshalJSON

func (strct *ParametersParameter) UnmarshalJSON(b []byte) error

type Patient

type Patient struct {

	// Extensions for active
	Active *Element `json:"_active,omitempty"`

	// An address for the individual.
	Address []*Address `json:"address,omitempty"`

	// The date of birth for the individual.
	BirthDate string `json:"birthDate,omitempty"`

	// A language which may be used to communicate with the patient about his or her health.
	Communication []*PatientCommunication `json:"communication,omitempty"`

	// A contact party (e.g. guardian, partner, friend) for the patient.
	Contact []*PatientContact `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Indicates if the individual is deceased or not.
	DeceasedBoolean bool `json:"deceasedBoolean,omitempty"`

	// Indicates if the individual is deceased or not.
	DeceasedDateTime string `json:"deceasedDateTime,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.
	Gender string `json:"gender,omitempty"`

	// Patient's nominated care provider.
	GeneralPractitioner []*Reference `json:"generalPractitioner,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// An identifier for this patient.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// Link to another patient resource that concerns the same actual patient.
	Link []*PatientLink `json:"link,omitempty"`

	// Organization that is the custodian of the patient record.
	ManagingOrganization *Reference `json:"managingOrganization,omitempty"`

	// This field contains a patient's most recent marital (civil) status.
	MaritalStatus *CodeableConcept `json:"maritalStatus,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Indicates whether the patient is part of a multiple (boolean) or indicates the actual birth order (integer).
	MultipleBirthBoolean bool `json:"multipleBirthBoolean,omitempty"`

	// Extensions for multipleBirthInteger
	MultipleBirthInteger *Element `json:"_multipleBirthInteger,omitempty"`

	// A name associated with the individual.
	Name []*HumanName `json:"name,omitempty"`

	// Image of the patient.
	Photo []*Attachment `json:"photo,omitempty"`

	// This is a Patient resource
	ResourceType interface{} `json:"resourceType"`

	// A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted.
	Telecom []*ContactPoint `json:"telecom,omitempty"`

	// 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 `json:"text,omitempty"`
}

Patient Demographics and other administrative information about an individual or animal receiving care or other health-related services.

func (*Patient) MarshalJSON

func (strct *Patient) MarshalJSON() ([]byte, error)

func (*Patient) UnmarshalJSON

func (strct *Patient) UnmarshalJSON(b []byte) error

type PatientCommunication

type PatientCommunication struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"language"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for preferred
	Preferred *Element `json:"_preferred,omitempty"`
}

PatientCommunication Demographics and other administrative information about an individual or animal receiving care or other health-related services.

func (*PatientCommunication) MarshalJSON

func (strct *PatientCommunication) MarshalJSON() ([]byte, error)

func (*PatientCommunication) UnmarshalJSON

func (strct *PatientCommunication) UnmarshalJSON(b []byte) error

type PatientContact

type PatientContact struct {

	// Address for the contact person.
	Address *Address `json:"address,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes.
	Gender string `json:"gender,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A name associated with the contact person.
	Name *HumanName `json:"name,omitempty"`

	// Organization on behalf of which the contact is acting or for which the contact is working.
	Organization *Reference `json:"organization,omitempty"`

	// The period during which this contact person or organization is valid to be contacted relating to this patient.
	Period *Period `json:"period,omitempty"`

	// The nature of the relationship between the patient and the contact person.
	Relationship []*CodeableConcept `json:"relationship,omitempty"`

	// A contact detail for the person, e.g. a telephone number or an email address.
	Telecom []*ContactPoint `json:"telecom,omitempty"`
}

PatientContact Demographics and other administrative information about an individual or animal receiving care or other health-related services.

func (*PatientContact) MarshalJSON

func (strct *PatientContact) MarshalJSON() ([]byte, error)

func (*PatientContact) UnmarshalJSON

func (strct *PatientContact) UnmarshalJSON(b []byte) error
type PatientLink struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The other patient resource that the link refers to.
	Other *Reference `json:"other"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

PatientLink Demographics and other administrative information about an individual or animal receiving care or other health-related services.

func (*PatientLink) MarshalJSON

func (strct *PatientLink) MarshalJSON() ([]byte, error)

func (*PatientLink) UnmarshalJSON

func (strct *PatientLink) UnmarshalJSON(b []byte) error

type PaymentNotice

type PaymentNotice struct {

	// The amount sent to the payee.
	Amount *Money `json:"amount"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for created
	Created *Element `json:"_created,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this payment notice.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The party who will receive or has received payment that is the subject of this notification.
	Payee *Reference `json:"payee,omitempty"`

	// A reference to the payment which is the subject of this notice.
	Payment *Reference `json:"payment"`

	// Extensions for paymentDate
	PaymentDate *Element `json:"_paymentDate,omitempty"`

	// A code indicating whether payment has been sent or cleared.
	PaymentStatus *CodeableConcept `json:"paymentStatus,omitempty"`

	// The practitioner who is responsible for the services rendered to the patient.
	Provider *Reference `json:"provider,omitempty"`

	// The party who is notified of the payment status.
	Recipient *Reference `json:"recipient"`

	// Reference of resource for which payment is being made.
	Request *Reference `json:"request,omitempty"`

	// This is a PaymentNotice resource
	ResourceType interface{} `json:"resourceType"`

	// Reference of response to resource for which payment is being made.
	Response *Reference `json:"response,omitempty"`

	// The status of the resource instance.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`
}

PaymentNotice This resource provides the status of the payment for goods and services rendered, and the request and response resource references.

func (*PaymentNotice) MarshalJSON

func (strct *PaymentNotice) MarshalJSON() ([]byte, error)

func (*PaymentNotice) UnmarshalJSON

func (strct *PaymentNotice) UnmarshalJSON(b []byte) error

type PaymentReconciliation

type PaymentReconciliation struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// The date when the resource was created.
	Created string `json:"created,omitempty"`

	// Distribution of the payment amount for a previously acknowledged payable.
	Detail []*PaymentReconciliationDetail `json:"detail,omitempty"`

	// A human readable description of the status of the request for the reconciliation.
	Disposition string `json:"disposition,omitempty"`

	// 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 `json:"extension,omitempty"`

	// A code for the form to be used for printing the content.
	FormCode *CodeableConcept `json:"formCode,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this payment reconciliation.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The outcome of a request for a reconciliation.
	Outcome string `json:"outcome,omitempty"`

	// Total payment amount as indicated on the financial instrument.
	PaymentAmount *Money `json:"paymentAmount"`

	// Extensions for paymentDate
	PaymentDate *Element `json:"_paymentDate,omitempty"`

	// Issuer's unique identifier for the payment instrument.
	PaymentIdentifier *Identifier `json:"paymentIdentifier,omitempty"`

	// The party who generated the payment.
	PaymentIssuer *Reference `json:"paymentIssuer,omitempty"`

	// The period of time for which payments have been gathered into this bulk payment for settlement.
	Period *Period `json:"period,omitempty"`

	// A note that describes or explains the processing in a human readable form.
	ProcessNote []*PaymentReconciliationProcessNote `json:"processNote,omitempty"`

	// Original request resource reference.
	Request *Reference `json:"request,omitempty"`

	// The practitioner who is responsible for the services rendered to the patient.
	Requestor *Reference `json:"requestor,omitempty"`

	// This is a PaymentReconciliation resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`
}

PaymentReconciliation This resource provides the details including amount of a payment and allocates the payment items being paid.

func (*PaymentReconciliation) MarshalJSON

func (strct *PaymentReconciliation) MarshalJSON() ([]byte, error)

func (*PaymentReconciliation) UnmarshalJSON

func (strct *PaymentReconciliation) UnmarshalJSON(b []byte) error

type PaymentReconciliationDetail

type PaymentReconciliationDetail struct {

	// The monetary amount allocated from the total payment to the payable.
	Amount *Money `json:"amount,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Unique identifier for the current payment item for the referenced payable.
	Identifier *Identifier `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The party which is receiving the payment.
	Payee *Reference `json:"payee,omitempty"`

	// Unique identifier for the prior payment item for the referenced payable.
	Predecessor *Identifier `json:"predecessor,omitempty"`

	// A resource, such as a Claim, the evaluation of which could lead to payment.
	Request *Reference `json:"request,omitempty"`

	// A resource, such as a ClaimResponse, which contains a commitment to payment.
	Response *Reference `json:"response,omitempty"`

	// A reference to the individual who is responsible for inquiries regarding the response and its payment.
	Responsible *Reference `json:"responsible,omitempty"`

	// The party which submitted the claim or financial transaction.
	Submitter *Reference `json:"submitter,omitempty"`

	// Code to indicate the nature of the payment.
	Type *CodeableConcept `json:"type"`
}

PaymentReconciliationDetail This resource provides the details including amount of a payment and allocates the payment items being paid.

func (*PaymentReconciliationDetail) MarshalJSON

func (strct *PaymentReconciliationDetail) MarshalJSON() ([]byte, error)

func (*PaymentReconciliationDetail) UnmarshalJSON

func (strct *PaymentReconciliationDetail) UnmarshalJSON(b []byte) error

type PaymentReconciliationProcessNote

type PaymentReconciliationProcessNote struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

PaymentReconciliationProcessNote This resource provides the details including amount of a payment and allocates the payment items being paid.

func (*PaymentReconciliationProcessNote) MarshalJSON

func (strct *PaymentReconciliationProcessNote) MarshalJSON() ([]byte, error)

func (*PaymentReconciliationProcessNote) UnmarshalJSON

func (strct *PaymentReconciliationProcessNote) UnmarshalJSON(b []byte) error

type Period

type Period struct {

	// Extensions for end
	End *Element `json:"_end,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for start
	Start *Element `json:"_start,omitempty"`
}

Period A time period defined by a start and end date and optionally time.

func (*Period) MarshalJSON

func (strct *Period) MarshalJSON() ([]byte, error)

func (*Period) UnmarshalJSON

func (strct *Period) UnmarshalJSON(b []byte) error

type Person

type Person struct {

	// Whether this person's record is in active use.
	Active bool `json:"active,omitempty"`

	// One or more addresses for the person.
	Address []*Address `json:"address,omitempty"`

	// Extensions for birthDate
	BirthDate *Element `json:"_birthDate,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Extensions for gender
	Gender *Element `json:"_gender,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier for a person within a particular scope.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// Link to a resource that concerns the same actual person.
	Link []*PersonLink `json:"link,omitempty"`

	// The organization that is the custodian of the person record.
	ManagingOrganization *Reference `json:"managingOrganization,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// A name associated with the person.
	Name []*HumanName `json:"name,omitempty"`

	// An image that can be displayed as a thumbnail of the person to enhance the identification of the individual.
	Photo *Attachment `json:"photo,omitempty"`

	// This is a Person resource
	ResourceType interface{} `json:"resourceType"`

	// A contact detail for the person, e.g. a telephone number or an email address.
	Telecom []*ContactPoint `json:"telecom,omitempty"`

	// 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 `json:"text,omitempty"`
}

Person Demographics and administrative information about a person independent of a specific health-related context.

func (*Person) MarshalJSON

func (strct *Person) MarshalJSON() ([]byte, error)

func (*Person) UnmarshalJSON

func (strct *Person) UnmarshalJSON(b []byte) error
type PersonLink struct {

	// Extensions for assurance
	Assurance *Element `json:"_assurance,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The resource to which this actual person is associated.
	Target *Reference `json:"target"`
}

PersonLink Demographics and administrative information about a person independent of a specific health-related context.

func (*PersonLink) MarshalJSON

func (strct *PersonLink) MarshalJSON() ([]byte, error)

func (*PersonLink) UnmarshalJSON

func (strct *PersonLink) UnmarshalJSON(b []byte) error

type PlanDefinition

type PlanDefinition struct {

	// 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 `json:"action,omitempty"`

	// Extensions for approvalDate
	ApprovalDate *Element `json:"_approvalDate,omitempty"`

	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []*ContactDetail `json:"author,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []*ContactDetail `json:"editor,omitempty"`

	// The period during which the plan definition content was or is planned to be in active use.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []*ContactDetail `json:"endorser,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 `json:"goal,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// A legal or geographic region in which the plan definition is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate string `json:"lastReviewDate,omitempty"`

	// A reference to a Library resource containing any formal logic used by the plan definition.
	Library []string `json:"library,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Explanation of why this plan definition is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []*RelatedArtifact `json:"relatedArtifact,omitempty"`

	// This is a PlanDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []*ContactDetail `json:"reviewer,omitempty"`

	// The status of this plan definition. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// 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.
	SubjectCanonical string `json:"subjectCanonical,omitempty"`

	// 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.
	SubjectCodeableConcept *CodeableConcept `json:"subjectCodeableConcept,omitempty"`

	// 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.
	SubjectReference *Reference `json:"subjectReference,omitempty"`

	// An explanatory or alternate title for the plan definition giving additional information about its content.
	Subtitle string `json:"subtitle,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`

	// 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 `json:"topic,omitempty"`

	// A high-level category for the plan definition that distinguishes the kinds of systems that would be interested in the plan definition.
	Type *CodeableConcept `json:"type,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// A detailed description of how the plan definition is used from a clinical perspective.
	Usage string `json:"usage,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

PlanDefinition This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications.

func (*PlanDefinition) MarshalJSON

func (strct *PlanDefinition) MarshalJSON() ([]byte, error)

func (*PlanDefinition) UnmarshalJSON

func (strct *PlanDefinition) UnmarshalJSON(b []byte) error

type PlanDefinitionAction

type PlanDefinitionAction struct {

	// 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 `json:"action,omitempty"`

	// Defines whether the action can be selected multiple times.
	CardinalityBehavior string `json:"cardinalityBehavior,omitempty"`

	// 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 `json:"code,omitempty"`

	// An expression that describes applicability criteria or start/stop conditions for the action.
	Condition []*PlanDefinitionCondition `json:"condition,omitempty"`

	// 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.
	DefinitionCanonical string `json:"definitionCanonical,omitempty"`

	// Extensions for definitionUri
	DefinitionUri *Element `json:"_definitionUri,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// 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 `json:"documentation,omitempty"`

	// Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result.
	DynamicValue []*PlanDefinitionDynamicValue `json:"dynamicValue,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 []string `json:"goalId,omitempty"`

	// Extensions for groupingBehavior
	GroupingBehavior *Element `json:"_groupingBehavior,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Defines input data requirements for the action.
	Input []*DataRequirement `json:"input,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Defines the outputs of the action, if any.
	Output []*DataRequirement `json:"output,omitempty"`

	// Indicates who should participate in performing the action described.
	Participant []*PlanDefinitionParticipant `json:"participant,omitempty"`

	// Extensions for precheckBehavior
	PrecheckBehavior *Element `json:"_precheckBehavior,omitempty"`

	// A user-visible prefix for the action.
	Prefix string `json:"prefix,omitempty"`

	// Indicates how quickly the action should be addressed with respect to other actions.
	Priority string `json:"priority,omitempty"`

	// A description of why this action is necessary or appropriate.
	Reason []*CodeableConcept `json:"reason,omitempty"`

	// A relationship to another action such as "before" or "30-60 minutes after start of".
	RelatedAction []*PlanDefinitionRelatedAction `json:"relatedAction,omitempty"`

	// Extensions for requiredBehavior
	RequiredBehavior *Element `json:"_requiredBehavior,omitempty"`

	// Defines the selection behavior for the action and its children.
	SelectionBehavior string `json:"selectionBehavior,omitempty"`

	// 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.
	SubjectCanonical string `json:"subjectCanonical,omitempty"`

	// 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.
	SubjectCodeableConcept *CodeableConcept `json:"subjectCodeableConcept,omitempty"`

	// 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.
	SubjectReference *Reference `json:"subjectReference,omitempty"`

	// Extensions for textEquivalent
	TextEquivalent *Element `json:"_textEquivalent,omitempty"`

	// An optional value describing when the action should be performed.
	TimingAge *Age `json:"timingAge,omitempty"`

	// Extensions for timingDateTime
	TimingDateTime *Element `json:"_timingDateTime,omitempty"`

	// An optional value describing when the action should be performed.
	TimingDuration *Duration `json:"timingDuration,omitempty"`

	// An optional value describing when the action should be performed.
	TimingPeriod *Period `json:"timingPeriod,omitempty"`

	// An optional value describing when the action should be performed.
	TimingRange *Range `json:"timingRange,omitempty"`

	// An optional value describing when the action should be performed.
	TimingTiming *Timing `json:"timingTiming,omitempty"`

	// 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 `json:"title,omitempty"`

	// 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 string `json:"transform,omitempty"`

	// A description of when the action should be triggered.
	Trigger []*TriggerDefinition `json:"trigger,omitempty"`

	// The type of action to perform (create, update, remove).
	Type *CodeableConcept `json:"type,omitempty"`
}

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 (*PlanDefinitionAction) MarshalJSON

func (strct *PlanDefinitionAction) MarshalJSON() ([]byte, error)

func (*PlanDefinitionAction) UnmarshalJSON

func (strct *PlanDefinitionAction) UnmarshalJSON(b []byte) error

type PlanDefinitionCondition

type PlanDefinitionCondition struct {

	// An expression that returns true or false, indicating whether the condition is satisfied.
	Expression *Expression `json:"expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The kind of condition.
	Kind string `json:"kind,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

PlanDefinitionCondition 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 (*PlanDefinitionCondition) MarshalJSON

func (strct *PlanDefinitionCondition) MarshalJSON() ([]byte, error)

func (*PlanDefinitionCondition) UnmarshalJSON

func (strct *PlanDefinitionCondition) UnmarshalJSON(b []byte) error

type PlanDefinitionDynamicValue

type PlanDefinitionDynamicValue struct {

	// An expression specifying the value of the customized element.
	Expression *Expression `json:"expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for path
	Path *Element `json:"_path,omitempty"`
}

PlanDefinitionDynamicValue 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 (*PlanDefinitionDynamicValue) MarshalJSON

func (strct *PlanDefinitionDynamicValue) MarshalJSON() ([]byte, error)

func (*PlanDefinitionDynamicValue) UnmarshalJSON

func (strct *PlanDefinitionDynamicValue) UnmarshalJSON(b []byte) error

type PlanDefinitionGoal

type PlanDefinitionGoal struct {

	// Identifies problems, conditions, issues, or concerns the goal is intended to address.
	Addresses []*CodeableConcept `json:"addresses,omitempty"`

	// Indicates a category the goal falls within.
	Category *CodeableConcept `json:"category,omitempty"`

	// 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 `json:"description"`

	// 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 `json:"documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Identifies the expected level of importance associated with reaching/sustaining the defined goal.
	Priority *CodeableConcept `json:"priority,omitempty"`

	// The event after which the goal should begin being pursued.
	Start *CodeableConcept `json:"start,omitempty"`

	// Indicates what should be done and within what timeframe.
	Target []*PlanDefinitionTarget `json:"target,omitempty"`
}

PlanDefinitionGoal 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 (*PlanDefinitionGoal) MarshalJSON

func (strct *PlanDefinitionGoal) MarshalJSON() ([]byte, error)

func (*PlanDefinitionGoal) UnmarshalJSON

func (strct *PlanDefinitionGoal) UnmarshalJSON(b []byte) error

type PlanDefinitionParticipant

type PlanDefinitionParticipant struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The role the participant should play in performing the described action.
	Role *CodeableConcept `json:"role,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

PlanDefinitionParticipant 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 (*PlanDefinitionParticipant) MarshalJSON

func (strct *PlanDefinitionParticipant) MarshalJSON() ([]byte, error)

func (*PlanDefinitionParticipant) UnmarshalJSON

func (strct *PlanDefinitionParticipant) UnmarshalJSON(b []byte) error

type PlanDefinitionRelatedAction

type PlanDefinitionRelatedAction struct {

	// Extensions for actionId
	ActionId *Element `json:"_actionId,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.
	OffsetDuration *Duration `json:"offsetDuration,omitempty"`

	// A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.
	OffsetRange *Range `json:"offsetRange,omitempty"`

	// The relationship of this action to the related action.
	Relationship string `json:"relationship,omitempty"`
}

PlanDefinitionRelatedAction 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 (*PlanDefinitionRelatedAction) MarshalJSON

func (strct *PlanDefinitionRelatedAction) MarshalJSON() ([]byte, error)

func (*PlanDefinitionRelatedAction) UnmarshalJSON

func (strct *PlanDefinitionRelatedAction) UnmarshalJSON(b []byte) error

type PlanDefinitionTarget

type PlanDefinitionTarget struct {

	// 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.
	DetailCodeableConcept *CodeableConcept `json:"detailCodeableConcept,omitempty"`

	// 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.
	DetailQuantity *Quantity `json:"detailQuantity,omitempty"`

	// 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.
	DetailRange *Range `json:"detailRange,omitempty"`

	// Indicates the timeframe after the start of the goal in which the goal should be met.
	Due *Duration `json:"due,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The parameter whose value is to be tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
	Measure *CodeableConcept `json:"measure,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

PlanDefinitionTarget 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 (*PlanDefinitionTarget) MarshalJSON

func (strct *PlanDefinitionTarget) MarshalJSON() ([]byte, error)

func (*PlanDefinitionTarget) UnmarshalJSON

func (strct *PlanDefinitionTarget) UnmarshalJSON(b []byte) error

type Population

type Population struct {

	// The age of the specific population.
	AgeCodeableConcept *CodeableConcept `json:"ageCodeableConcept,omitempty"`

	// The age of the specific population.
	AgeRange *Range `json:"ageRange,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The gender of the specific population.
	Gender *CodeableConcept `json:"gender,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The existing physiological conditions of the specific population to which this applies.
	PhysiologicalCondition *CodeableConcept `json:"physiologicalCondition,omitempty"`

	// Race of the specific population.
	Race *CodeableConcept `json:"race,omitempty"`
}

Population A populatioof people with some set of grouping criteria.

func (*Population) MarshalJSON

func (strct *Population) MarshalJSON() ([]byte, error)

func (*Population) UnmarshalJSON

func (strct *Population) UnmarshalJSON(b []byte) error

type Practitioner

type Practitioner struct {

	// Extensions for active
	Active *Element `json:"_active,omitempty"`

	// 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 `json:"address,omitempty"`

	// The date of birth for the practitioner.
	BirthDate string `json:"birthDate,omitempty"`

	// A language the practitioner can use in patient communication.
	Communication []*CodeableConcept `json:"communication,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Extensions for gender
	Gender *Element `json:"_gender,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// An identifier that applies to this person in this role.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The name(s) associated with the practitioner.
	Name []*HumanName `json:"name,omitempty"`

	// Image of the person.
	Photo []*Attachment `json:"photo,omitempty"`

	// The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner.  For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality.
	Qualification []*PractitionerQualification `json:"qualification,omitempty"`

	// This is a Practitioner resource
	ResourceType interface{} `json:"resourceType"`

	// A contact detail for the practitioner, e.g. a telephone number or an email address.
	Telecom []*ContactPoint `json:"telecom,omitempty"`

	// 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 `json:"text,omitempty"`
}

Practitioner A person who is directly or indirectly involved in the provisioning of healthcare.

func (*Practitioner) MarshalJSON

func (strct *Practitioner) MarshalJSON() ([]byte, error)

func (*Practitioner) UnmarshalJSON

func (strct *Practitioner) UnmarshalJSON(b []byte) error

type PractitionerQualification

type PractitionerQualification struct {

	// Coded representation of the qualification.
	Code *CodeableConcept `json:"code"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// An identifier that applies to this person's qualification in this role.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Organization that regulates and issues the qualification.
	Issuer *Reference `json:"issuer,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Period during which the qualification is valid.
	Period *Period `json:"period,omitempty"`
}

PractitionerQualification A person who is directly or indirectly involved in the provisioning of healthcare.

func (*PractitionerQualification) MarshalJSON

func (strct *PractitionerQualification) MarshalJSON() ([]byte, error)

func (*PractitionerQualification) UnmarshalJSON

func (strct *PractitionerQualification) UnmarshalJSON(b []byte) error

type PractitionerRole

type PractitionerRole struct {

	// Extensions for active
	Active *Element `json:"_active,omitempty"`

	// Extensions for availabilityExceptions
	AvailabilityExceptions *Element `json:"_availabilityExceptions,omitempty"`

	// A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.
	AvailableTime []*PractitionerRoleAvailableTime `json:"availableTime,omitempty"`

	// Roles which this practitioner is authorized to perform for the organization.
	Code []*CodeableConcept `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Technical endpoints providing access to services operated for the practitioner with this role.
	Endpoint []*Reference `json:"endpoint,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The list of healthcare services that this worker provides for this role's Organization/Location(s).
	HealthcareService []*Reference `json:"healthcareService,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Business Identifiers that are specific to a role/location.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The location(s) at which this practitioner provides care.
	Location []*Reference `json:"location,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The practitioner is not available or performing this role during this period of time due to the provided reason.
	NotAvailable []*PractitionerRoleNotAvailable `json:"notAvailable,omitempty"`

	// The organization where the Practitioner performs the roles associated.
	Organization *Reference `json:"organization,omitempty"`

	// The period during which the person is authorized to act as a practitioner in these role(s) for the organization.
	Period *Period `json:"period,omitempty"`

	// Practitioner that is able to provide the defined services for the organization.
	Practitioner *Reference `json:"practitioner,omitempty"`

	// This is a PractitionerRole resource
	ResourceType interface{} `json:"resourceType"`

	// Specific specialty of the practitioner.
	Specialty []*CodeableConcept `json:"specialty,omitempty"`

	// Contact details that are specific to the role/location/service.
	Telecom []*ContactPoint `json:"telecom,omitempty"`

	// 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 `json:"text,omitempty"`
}

PractitionerRole A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.

func (*PractitionerRole) MarshalJSON

func (strct *PractitionerRole) MarshalJSON() ([]byte, error)

func (*PractitionerRole) UnmarshalJSON

func (strct *PractitionerRole) UnmarshalJSON(b []byte) error

type PractitionerRoleAvailableTime

type PractitionerRoleAvailableTime struct {

	// Extensions for allDay
	AllDay *Element `json:"_allDay,omitempty"`

	// Extensions for availableEndTime
	AvailableEndTime *Element `json:"_availableEndTime,omitempty"`

	// Extensions for availableStartTime
	AvailableStartTime *Element `json:"_availableStartTime,omitempty"`

	// Extensions for daysOfWeek
	DaysOfWeek []*Element `json:"_daysOfWeek,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

PractitionerRoleAvailableTime A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.

func (*PractitionerRoleAvailableTime) MarshalJSON

func (strct *PractitionerRoleAvailableTime) MarshalJSON() ([]byte, error)

func (*PractitionerRoleAvailableTime) UnmarshalJSON

func (strct *PractitionerRoleAvailableTime) UnmarshalJSON(b []byte) error

type PractitionerRoleNotAvailable

type PractitionerRoleNotAvailable struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Service is not available (seasonally or for a public holiday) from this date.
	During *Period `json:"during,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

PractitionerRoleNotAvailable A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.

func (*PractitionerRoleNotAvailable) MarshalJSON

func (strct *PractitionerRoleNotAvailable) MarshalJSON() ([]byte, error)

func (*PractitionerRoleNotAvailable) UnmarshalJSON

func (strct *PractitionerRoleNotAvailable) UnmarshalJSON(b []byte) error

type Procedure

type Procedure struct {

	// Individual who is making the procedure statement.
	Asserter *Reference `json:"asserter,omitempty"`

	// A reference to a resource that contains details of the request for this procedure.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.
	BodySite []*CodeableConcept `json:"bodySite,omitempty"`

	// A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure").
	Category *CodeableConcept `json:"category,omitempty"`

	// The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy").
	Code *CodeableConcept `json:"code,omitempty"`

	// 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 `json:"complication,omitempty"`

	// Any complications that occurred during the procedure, or in the immediate post-performance period.
	ComplicationDetail []*Reference `json:"complicationDetail,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 `json:"focalDevice,omitempty"`

	// 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 `json:"followUp,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// 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 []string `json:"instantiatesCanonical,omitempty"`

	// 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 []string `json:"instantiatesUri,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The location where the procedure actually happened.  E.g. a newborn at home, a tracheostomy at a restaurant.
	Location *Reference `json:"location,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Any other notes and comments about the procedure.
	Note []*Annotation `json:"note,omitempty"`

	// The outcome of the procedure - did it resolve the reasons for the procedure being performed?
	Outcome *CodeableConcept `json:"outcome,omitempty"`

	// A larger event of which this particular procedure is a component or step.
	PartOf []*Reference `json:"partOf,omitempty"`

	// 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.
	PerformedAge *Age `json:"performedAge,omitempty"`

	// Extensions for performedDateTime
	PerformedDateTime *Element `json:"_performedDateTime,omitempty"`

	// 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.
	PerformedPeriod *Period `json:"performedPeriod,omitempty"`

	// 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.
	PerformedRange *Range `json:"performedRange,omitempty"`

	// Extensions for performedString
	PerformedString *Element `json:"_performedString,omitempty"`

	// Limited to "real" people rather than equipment.
	Performer []*ProcedurePerformer `json:"performer,omitempty"`

	// 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 `json:"reasonCode,omitempty"`

	// The justification of why the procedure was performed.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// Individual who recorded the record and takes responsibility for its content.
	Recorder *Reference `json:"recorder,omitempty"`

	// This could be a histology result, pathology report, surgical report, etc.
	Report []*Reference `json:"report,omitempty"`

	// This is a Procedure resource
	ResourceType interface{} `json:"resourceType"`

	// A code specifying the state of the procedure. Generally, this will be the in-progress or completed state.
	Status string `json:"status,omitempty"`

	// Captures the reason for the current state of the procedure.
	StatusReason *CodeableConcept `json:"statusReason,omitempty"`

	// The person, animal or group on which the procedure was performed.
	Subject *Reference `json:"subject"`

	// 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 `json:"text,omitempty"`

	// Identifies coded items that were used as part of the procedure.
	UsedCode []*CodeableConcept `json:"usedCode,omitempty"`

	// Identifies medications, devices and any other substance used as part of the procedure.
	UsedReference []*Reference `json:"usedReference,omitempty"`
}

Procedure An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.

func (*Procedure) MarshalJSON

func (strct *Procedure) MarshalJSON() ([]byte, error)

func (*Procedure) UnmarshalJSON

func (strct *Procedure) UnmarshalJSON(b []byte) error

type ProcedureFocalDevice

type ProcedureFocalDevice struct {

	// The kind of change that happened to the device during the procedure.
	Action *CodeableConcept `json:"action,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The device that was manipulated (changed) during the procedure.
	Manipulated *Reference `json:"manipulated"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ProcedureFocalDevice 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 (*ProcedureFocalDevice) MarshalJSON

func (strct *ProcedureFocalDevice) MarshalJSON() ([]byte, error)

func (*ProcedureFocalDevice) UnmarshalJSON

func (strct *ProcedureFocalDevice) UnmarshalJSON(b []byte) error

type ProcedurePerformer

type ProcedurePerformer struct {

	// The practitioner who was involved in the procedure.
	Actor *Reference `json:"actor"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist.
	Function *CodeableConcept `json:"function,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The organization the device or practitioner was acting on behalf of.
	OnBehalfOf *Reference `json:"onBehalfOf,omitempty"`
}

ProcedurePerformer 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 (*ProcedurePerformer) MarshalJSON

func (strct *ProcedurePerformer) MarshalJSON() ([]byte, error)

func (*ProcedurePerformer) UnmarshalJSON

func (strct *ProcedurePerformer) UnmarshalJSON(b []byte) error

type ProdCharacteristic

type ProdCharacteristic struct {

	// Extensions for color
	Color []*Element `json:"_color,omitempty"`

	// 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 `json:"depth,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 `json:"externalDiameter,omitempty"`

	// 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 `json:"height,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Where applicable, the image can be provided The format of the image attachment shall be specified by regional implementations.
	Image []*Attachment `json:"image,omitempty"`

	// Where applicable, the imprint can be specified as text.
	Imprint []string `json:"imprint,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"nominalVolume,omitempty"`

	// 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 `json:"scoring,omitempty"`

	// 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 `json:"shape,omitempty"`

	// 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 `json:"weight,omitempty"`

	// 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 `json:"width,omitempty"`
}

ProdCharacteristic 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 (strct *ProdCharacteristic) MarshalJSON() ([]byte, error)

func (*ProdCharacteristic) UnmarshalJSON

func (strct *ProdCharacteristic) UnmarshalJSON(b []byte) error

type ProductShelfLife

type ProductShelfLife struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Unique identifier for the packaged Medicinal Product.
	Identifier *Identifier `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"period"`

	// 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 `json:"specialPrecautionsForStorage,omitempty"`

	// 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 `json:"type"`
}

ProductShelfLife The shelf-life and storage information for a medicinal product item or container can be described using this class.

func (*ProductShelfLife) MarshalJSON

func (strct *ProductShelfLife) MarshalJSON() ([]byte, error)

func (*ProductShelfLife) UnmarshalJSON

func (strct *ProductShelfLife) UnmarshalJSON(b []byte) error

type Provenance

type Provenance struct {

	// 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 `json:"activity,omitempty"`

	// 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 `json:"agent"`

	// 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 []interface{} `json:"contained,omitempty"`

	// An entity used in this activity.
	Entity []*ProvenanceEntity `json:"entity,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Where the activity occurred, if relevant.
	Location *Reference `json:"location,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The period during which the activity occurred.
	OccurredDateTime string `json:"occurredDateTime,omitempty"`

	// The period during which the activity occurred.
	OccurredPeriod *Period `json:"occurredPeriod,omitempty"`

	// Extensions for policy
	Policy []*Element `json:"_policy,omitempty"`

	// The reason that the activity was taking place.
	Reason []*CodeableConcept `json:"reason,omitempty"`

	// Extensions for recorded
	Recorded *Element `json:"_recorded,omitempty"`

	// This is a Provenance resource
	ResourceType interface{} `json:"resourceType"`

	// A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.
	Signature []*Signature `json:"signature,omitempty"`

	// 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 `json:"target"`

	// 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 `json:"text,omitempty"`
}

Provenance Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.

func (*Provenance) MarshalJSON

func (strct *Provenance) MarshalJSON() ([]byte, error)

func (*Provenance) UnmarshalJSON

func (strct *Provenance) UnmarshalJSON(b []byte) error

type ProvenanceAgent

type ProvenanceAgent struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The individual, device, or organization for whom the change was made.
	OnBehalfOf *Reference `json:"onBehalfOf,omitempty"`

	// The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.
	Role []*CodeableConcept `json:"role,omitempty"`

	// The participation the agent had with respect to the activity.
	Type *CodeableConcept `json:"type,omitempty"`

	// The individual, device or organization that participated in the event.
	Who *Reference `json:"who"`
}

ProvenanceAgent 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 (*ProvenanceAgent) MarshalJSON

func (strct *ProvenanceAgent) MarshalJSON() ([]byte, error)

func (*ProvenanceAgent) UnmarshalJSON

func (strct *ProvenanceAgent) UnmarshalJSON(b []byte) error

type ProvenanceEntity

type ProvenanceEntity struct {

	// 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 `json:"agent,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for role
	Role *Element `json:"_role,omitempty"`

	// Identity of the  Entity used. May be a logical or physical uri and maybe absolute or relative.
	What *Reference `json:"what"`
}

ProvenanceEntity 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 (*ProvenanceEntity) MarshalJSON

func (strct *ProvenanceEntity) MarshalJSON() ([]byte, error)

func (*ProvenanceEntity) UnmarshalJSON

func (strct *ProvenanceEntity) UnmarshalJSON(b []byte) error

type Quantity

type Quantity struct {

	// A computer processable form of the unit in some unit representation system.
	Code string `json:"code,omitempty"`

	// Extensions for comparator
	Comparator *Element `json:"_comparator,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for system
	System *Element `json:"_system,omitempty"`

	// Extensions for unit
	Unit *Element `json:"_unit,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

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

func (*Quantity) MarshalJSON

func (strct *Quantity) MarshalJSON() ([]byte, error)

func (*Quantity) UnmarshalJSON

func (strct *Quantity) UnmarshalJSON(b []byte) error

type Questionnaire

type Questionnaire struct {

	// Extensions for approvalDate
	ApprovalDate *Element `json:"_approvalDate,omitempty"`

	// An identifier for this question or group of questions in a particular terminology such as LOINC.
	Code []*Coding `json:"code,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// The URL of a Questionnaire that this Questionnaire is based on.
	DerivedFrom []string `json:"derivedFrom,omitempty"`

	// A free text natural language description of the questionnaire from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// The period during which the questionnaire content was or is planned to be in active use.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// A particular question, question grouping or display text that is part of the questionnaire.
	Item []*QuestionnaireItem `json:"item,omitempty"`

	// A legal or geographic region in which the questionnaire is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
	LastReviewDate string `json:"lastReviewDate,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Explanation of why this questionnaire is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// This is a Questionnaire resource
	ResourceType interface{} `json:"resourceType"`

	// The status of this questionnaire. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// Extensions for subjectType
	SubjectType []*Element `json:"_subjectType,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the questionnaire.
	Title string `json:"title,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`
}

Questionnaire A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.

func (*Questionnaire) MarshalJSON

func (strct *Questionnaire) MarshalJSON() ([]byte, error)

func (*Questionnaire) UnmarshalJSON

func (strct *Questionnaire) UnmarshalJSON(b []byte) error

type QuestionnaireAnswerOption

type QuestionnaireAnswerOption struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Indicates whether the answer value is selected when the list of possible answers is initially shown.
	InitialSelected bool `json:"initialSelected,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A potential answer that's allowed as the answer to this question.
	ValueCoding *Coding `json:"valueCoding,omitempty"`

	// Extensions for valueDate
	ValueDate *Element `json:"_valueDate,omitempty"`

	// Extensions for valueInteger
	ValueInteger *Element `json:"_valueInteger,omitempty"`

	// A potential answer that's allowed as the answer to this question.
	ValueReference *Reference `json:"valueReference,omitempty"`

	// A potential answer that's allowed as the answer to this question.
	ValueString string `json:"valueString,omitempty"`

	// Extensions for valueTime
	ValueTime *Element `json:"_valueTime,omitempty"`
}

QuestionnaireAnswerOption A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.

func (*QuestionnaireAnswerOption) MarshalJSON

func (strct *QuestionnaireAnswerOption) MarshalJSON() ([]byte, error)

func (*QuestionnaireAnswerOption) UnmarshalJSON

func (strct *QuestionnaireAnswerOption) UnmarshalJSON(b []byte) error

type QuestionnaireEnableWhen

type QuestionnaireEnableWhen struct {

	// A value that the referenced question is tested using the specified operator in order for the item to be enabled.
	AnswerBoolean bool `json:"answerBoolean,omitempty"`

	// A value that the referenced question is tested using the specified operator in order for the item to be enabled.
	AnswerCoding *Coding `json:"answerCoding,omitempty"`

	// Extensions for answerDate
	AnswerDate *Element `json:"_answerDate,omitempty"`

	// Extensions for answerDateTime
	AnswerDateTime *Element `json:"_answerDateTime,omitempty"`

	// A value that the referenced question is tested using the specified operator in order for the item to be enabled.
	AnswerDecimal float64 `json:"answerDecimal,omitempty"`

	// A value that the referenced question is tested using the specified operator in order for the item to be enabled.
	AnswerInteger float64 `json:"answerInteger,omitempty"`

	// A value that the referenced question is tested using the specified operator in order for the item to be enabled.
	AnswerQuantity *Quantity `json:"answerQuantity,omitempty"`

	// A value that the referenced question is tested using the specified operator in order for the item to be enabled.
	AnswerReference *Reference `json:"answerReference,omitempty"`

	// Extensions for answerString
	AnswerString *Element `json:"_answerString,omitempty"`

	// Extensions for answerTime
	AnswerTime *Element `json:"_answerTime,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for operator
	Operator *Element `json:"_operator,omitempty"`

	// The linkId for the question whose answer (or lack of answer) governs whether this item is enabled.
	Question string `json:"question,omitempty"`
}

QuestionnaireEnableWhen A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.

func (*QuestionnaireEnableWhen) MarshalJSON

func (strct *QuestionnaireEnableWhen) MarshalJSON() ([]byte, error)

func (*QuestionnaireEnableWhen) UnmarshalJSON

func (strct *QuestionnaireEnableWhen) UnmarshalJSON(b []byte) error

type QuestionnaireInitial

type QuestionnaireInitial struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The actual value to for an initial answer.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// The actual value to for an initial answer.
	ValueCoding *Coding `json:"valueCoding,omitempty"`

	// The actual value to for an initial answer.
	ValueDate string `json:"valueDate,omitempty"`

	// The actual value to for an initial answer.
	ValueDateTime string `json:"valueDateTime,omitempty"`

	// Extensions for valueDecimal
	ValueDecimal *Element `json:"_valueDecimal,omitempty"`

	// Extensions for valueInteger
	ValueInteger *Element `json:"_valueInteger,omitempty"`

	// The actual value to for an initial answer.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// The actual value to for an initial answer.
	ValueReference *Reference `json:"valueReference,omitempty"`

	// The actual value to for an initial answer.
	ValueString string `json:"valueString,omitempty"`

	// Extensions for valueTime
	ValueTime *Element `json:"_valueTime,omitempty"`

	// Extensions for valueUri
	ValueUri *Element `json:"_valueUri,omitempty"`
}

QuestionnaireInitial A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.

func (*QuestionnaireInitial) MarshalJSON

func (strct *QuestionnaireInitial) MarshalJSON() ([]byte, error)

func (*QuestionnaireInitial) UnmarshalJSON

func (strct *QuestionnaireInitial) UnmarshalJSON(b []byte) error

type QuestionnaireItem

type QuestionnaireItem struct {

	// One of the permitted answers for a "choice" or "open-choice" question.
	AnswerOption []*QuestionnaireAnswerOption `json:"answerOption,omitempty"`

	// A reference to a value set containing a list of codes representing permitted answers for a "choice" or "open-choice" question.
	AnswerValueSet string `json:"answerValueSet,omitempty"`

	// A terminology code that corresponds to this group or question (e.g. a code from LOINC, which defines many questions and answers).
	Code []*Coding `json:"code,omitempty"`

	// Extensions for definition
	Definition *Element `json:"_definition,omitempty"`

	// Extensions for enableBehavior
	EnableBehavior *Element `json:"_enableBehavior,omitempty"`

	// A constraint indicating that this item should only be enabled (displayed/allow answers to be captured) when the specified condition is true.
	EnableWhen []*QuestionnaireEnableWhen `json:"enableWhen,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// One or more values that should be pre-populated in the answer when initially rendering the questionnaire for user input.
	Initial []*QuestionnaireInitial `json:"initial,omitempty"`

	// Text, questions and other groups to be nested beneath a question or group.
	Item []*QuestionnaireItem `json:"item,omitempty"`

	// Extensions for linkId
	LinkId *Element `json:"_linkId,omitempty"`

	// The maximum number of characters that are permitted in the answer to be considered a "valid" QuestionnaireResponse.
	MaxLength float64 `json:"maxLength,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"prefix,omitempty"`

	// An indication, when true, that the value cannot be changed by a human respondent to the Questionnaire.
	ReadOnly bool `json:"readOnly,omitempty"`

	// Extensions for repeats
	Repeats *Element `json:"_repeats,omitempty"`

	// 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 bool `json:"required,omitempty"`

	// The name of a section, the text of a question or text content for a display item.
	Text string `json:"text,omitempty"`

	// 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 string `json:"type,omitempty"`
}

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.

func (*QuestionnaireItem) MarshalJSON

func (strct *QuestionnaireItem) MarshalJSON() ([]byte, error)

func (*QuestionnaireItem) UnmarshalJSON

func (strct *QuestionnaireItem) UnmarshalJSON(b []byte) error

type QuestionnaireResponse

type QuestionnaireResponse struct {

	// Person who received the answers to the questions in the QuestionnaireResponse and recorded them in the system.
	Author *Reference `json:"author,omitempty"`

	// Extensions for authored
	Authored *Element `json:"_authored,omitempty"`

	// 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 `json:"basedOn,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The Encounter during which this questionnaire response was created or to which the creation of this record is tightly associated.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A business identifier assigned to a particular completed (or partially completed) questionnaire.
	Identifier *Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// A group or question item from the original questionnaire for which answers are provided.
	Item []*QuestionnaireResponseItem `json:"item,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"partOf,omitempty"`

	// The Questionnaire that defines and organizes the questions for which answers are being provided.
	Questionnaire string `json:"questionnaire,omitempty"`

	// This is a QuestionnaireResponse resource
	ResourceType interface{} `json:"resourceType"`

	// The person who answered the questions about the subject.
	Source *Reference `json:"source,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`
}

QuestionnaireResponse A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to.

func (*QuestionnaireResponse) MarshalJSON

func (strct *QuestionnaireResponse) MarshalJSON() ([]byte, error)

func (*QuestionnaireResponse) UnmarshalJSON

func (strct *QuestionnaireResponse) UnmarshalJSON(b []byte) error

type QuestionnaireResponseAnswer

type QuestionnaireResponseAnswer struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Nested groups and/or questions found within this particular answer.
	Item []*QuestionnaireResponseItem `json:"item,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The answer (or one of the answers) provided by the respondent to the question.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// The answer (or one of the answers) provided by the respondent to the question.
	ValueCoding *Coding `json:"valueCoding,omitempty"`

	// Extensions for valueDate
	ValueDate *Element `json:"_valueDate,omitempty"`

	// The answer (or one of the answers) provided by the respondent to the question.
	ValueDateTime string `json:"valueDateTime,omitempty"`

	// Extensions for valueDecimal
	ValueDecimal *Element `json:"_valueDecimal,omitempty"`

	// Extensions for valueInteger
	ValueInteger *Element `json:"_valueInteger,omitempty"`

	// The answer (or one of the answers) provided by the respondent to the question.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// The answer (or one of the answers) provided by the respondent to the question.
	ValueReference *Reference `json:"valueReference,omitempty"`

	// Extensions for valueString
	ValueString *Element `json:"_valueString,omitempty"`

	// Extensions for valueTime
	ValueTime *Element `json:"_valueTime,omitempty"`

	// Extensions for valueUri
	ValueUri *Element `json:"_valueUri,omitempty"`
}

QuestionnaireResponseAnswer A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to.

func (*QuestionnaireResponseAnswer) MarshalJSON

func (strct *QuestionnaireResponseAnswer) MarshalJSON() ([]byte, error)

func (*QuestionnaireResponseAnswer) UnmarshalJSON

func (strct *QuestionnaireResponseAnswer) UnmarshalJSON(b []byte) error

type QuestionnaireResponseItem

type QuestionnaireResponseItem struct {

	// The respondent's answer(s) to the question.
	Answer []*QuestionnaireResponseAnswer `json:"answer,omitempty"`

	// A reference to an [ElementDefinition](elementdefinition.html) that provides the details for the item.
	Definition string `json:"definition,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Questions or sub-groups nested beneath a question or group.
	Item []*QuestionnaireResponseItem `json:"item,omitempty"`

	// Extensions for linkId
	LinkId *Element `json:"_linkId,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for text
	Text *Element `json:"_text,omitempty"`
}

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.

func (*QuestionnaireResponseItem) MarshalJSON

func (strct *QuestionnaireResponseItem) MarshalJSON() ([]byte, error)

func (*QuestionnaireResponseItem) UnmarshalJSON

func (strct *QuestionnaireResponseItem) UnmarshalJSON(b []byte) error

type Range

type Range struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The high limit. The boundary is inclusive.
	High *Quantity `json:"high,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The low limit. The boundary is inclusive.
	Low *Quantity `json:"low,omitempty"`
}

Range A set of ordered Quantities defined by a low and high limit.

func (*Range) MarshalJSON

func (strct *Range) MarshalJSON() ([]byte, error)

func (*Range) UnmarshalJSON

func (strct *Range) UnmarshalJSON(b []byte) error

type Ratio

type Ratio struct {

	// The value of the denominator.
	Denominator *Quantity `json:"denominator,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The value of the numerator.
	Numerator *Quantity `json:"numerator,omitempty"`
}

Ratio A relationship of two Quantity values - expressed as a numerator and a denominator.

func (*Ratio) MarshalJSON

func (strct *Ratio) MarshalJSON() ([]byte, error)

func (*Ratio) UnmarshalJSON

func (strct *Ratio) UnmarshalJSON(b []byte) error

type RatioRange

type RatioRange struct {

	// The value of the denominator.
	Denominator *Quantity `json:"denominator,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The value of the high limit numerator.
	HighNumerator *Quantity `json:"highNumerator,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The value of the low limit numerator.
	LowNumerator *Quantity `json:"lowNumerator,omitempty"`
}

RatioRange A range of ratios expressed as a low and high numerator and a denominator.

func (*RatioRange) MarshalJSON

func (strct *RatioRange) MarshalJSON() ([]byte, error)

func (*RatioRange) UnmarshalJSON

func (strct *RatioRange) UnmarshalJSON(b []byte) error

type Reference

type Reference struct {

	// Extensions for display
	Display *Element `json:"_display,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for reference
	Reference *Element `json:"_reference,omitempty"`

	// 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 string `json:"type,omitempty"`
}

Reference A reference from one resource to another.

func (*Reference) MarshalJSON

func (strct *Reference) MarshalJSON() ([]byte, error)

func (*Reference) UnmarshalJSON

func (strct *Reference) UnmarshalJSON(b []byte) error

type RegulatedAuthorization

type RegulatedAuthorization struct {

	// The legal or regulatory framework against which this authorization is granted, or other reasons for it.
	Basis []*CodeableConcept `json:"basis,omitempty"`

	// 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 `json:"case,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// General textual supporting information.
	Description string `json:"description,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The organization that has been granted this authorization, by some authoritative body (the 'regulator').
	Holder *Reference `json:"holder,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Business identifier for the authorization, typically assigned by the authorizing body.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Condition for which the use of the regulated product applies.
	Indication *CodeableReference `json:"indication,omitempty"`

	// The intended use of the product, e.g. prevention, treatment, diagnosis.
	IntendedUse *CodeableConcept `json:"intendedUse,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted.
	Region []*CodeableConcept `json:"region,omitempty"`

	// 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 `json:"regulator,omitempty"`

	// This is a RegulatedAuthorization resource
	ResourceType interface{} `json:"resourceType"`

	// The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications.
	Status *CodeableConcept `json:"status,omitempty"`

	// The date at which the current status was assigned.
	StatusDate string `json:"statusDate,omitempty"`

	// The product type, treatment, facility or activity that is being authorized.
	Subject []*Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// Overall type of this authorization, for example drug marketing approval, orphan drug designation.
	Type *CodeableConcept `json:"type,omitempty"`

	// 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 `json:"validityPeriod,omitempty"`
}

RegulatedAuthorization 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 (strct *RegulatedAuthorization) MarshalJSON() ([]byte, error)

func (*RegulatedAuthorization) UnmarshalJSON

func (strct *RegulatedAuthorization) UnmarshalJSON(b []byte) error

type RegulatedAuthorizationCase

type RegulatedAuthorizationCase struct {

	// 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 `json:"application,omitempty"`

	// Relevant date for this case.
	DateDateTime string `json:"dateDateTime,omitempty"`

	// Relevant date for this case.
	DatePeriod *Period `json:"datePeriod,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Identifier by which this case can be referenced.
	Identifier *Identifier `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The status associated with the case.
	Status *CodeableConcept `json:"status,omitempty"`

	// The defining type of case.
	Type *CodeableConcept `json:"type,omitempty"`
}

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 (*RegulatedAuthorizationCase) MarshalJSON

func (strct *RegulatedAuthorizationCase) MarshalJSON() ([]byte, error)

func (*RegulatedAuthorizationCase) UnmarshalJSON

func (strct *RegulatedAuthorizationCase) UnmarshalJSON(b []byte) error

type RelatedArtifact

type RelatedArtifact struct {

	// Extensions for citation
	Citation *Element `json:"_citation,omitempty"`

	// A brief description of the document or knowledge resource being referenced, suitable for display to a consumer.
	Display string `json:"display,omitempty"`

	// The document being referenced, represented as an attachment. This is exclusive with the resource element.
	Document *Attachment `json:"document,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for label
	Label *Element `json:"_label,omitempty"`

	// The related resource, such as a library, value set, profile, or other knowledge resource.
	Resource string `json:"resource,omitempty"`

	// The type of relationship to the related artifact.
	Type interface{} `json:"type,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`
}

RelatedArtifact Related artifacts such as additional documentation, justification, or bibliographic references.

func (*RelatedArtifact) MarshalJSON

func (strct *RelatedArtifact) MarshalJSON() ([]byte, error)

func (*RelatedArtifact) UnmarshalJSON

func (strct *RelatedArtifact) UnmarshalJSON(b []byte) error

type RelatedPerson

type RelatedPerson struct {

	// Extensions for active
	Active *Element `json:"_active,omitempty"`

	// Address where the related person can be contacted or visited.
	Address []*Address `json:"address,omitempty"`

	// The date on which the related person was born.
	BirthDate string `json:"birthDate,omitempty"`

	// A language which may be used to communicate with about the patient's health.
	Communication []*RelatedPersonCommunication `json:"communication,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.
	Gender string `json:"gender,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier for a person within a particular scope.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// A name associated with the person.
	Name []*HumanName `json:"name,omitempty"`

	// The patient this person is related to.
	Patient *Reference `json:"patient"`

	// 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 `json:"period,omitempty"`

	// Image of the person.
	Photo []*Attachment `json:"photo,omitempty"`

	// The nature of the relationship between a patient and the related person.
	Relationship []*CodeableConcept `json:"relationship,omitempty"`

	// This is a RelatedPerson resource
	ResourceType interface{} `json:"resourceType"`

	// A contact detail for the person, e.g. a telephone number or an email address.
	Telecom []*ContactPoint `json:"telecom,omitempty"`

	// 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 `json:"text,omitempty"`
}

RelatedPerson Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.

func (*RelatedPerson) MarshalJSON

func (strct *RelatedPerson) MarshalJSON() ([]byte, error)

func (*RelatedPerson) UnmarshalJSON

func (strct *RelatedPerson) UnmarshalJSON(b []byte) error

type RelatedPersonCommunication

type RelatedPersonCommunication struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"language"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for preferred
	Preferred *Element `json:"_preferred,omitempty"`
}

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.

func (*RelatedPersonCommunication) MarshalJSON

func (strct *RelatedPersonCommunication) MarshalJSON() ([]byte, error)

func (*RelatedPersonCommunication) UnmarshalJSON

func (strct *RelatedPersonCommunication) UnmarshalJSON(b []byte) error

type RequestGroup

type RequestGroup struct {

	// The actions, if any, produced by the evaluation of the artifact.
	Action []*RequestGroupAction `json:"action,omitempty"`

	// Provides a reference to the author of the request group.
	Author *Reference `json:"author,omitempty"`

	// Extensions for authoredOn
	AuthoredOn *Element `json:"_authoredOn,omitempty"`

	// A plan, proposal or order that is fulfilled in whole or in part by this request.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// A code that identifies what the overall request group is.
	Code *CodeableConcept `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Describes the context of the request group, if any.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 `json:"groupIdentifier,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Allows a service to provide a unique, business identifier for the request.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for instantiatesCanonical
	InstantiatesCanonical []*Element `json:"_instantiatesCanonical,omitempty"`

	// Extensions for instantiatesUri
	InstantiatesUri []*Element `json:"_instantiatesUri,omitempty"`

	// Extensions for intent
	Intent *Element `json:"_intent,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Provides a mechanism to communicate additional information about the response.
	Note []*Annotation `json:"note,omitempty"`

	// Indicates how quickly the request should be addressed with respect to other requests.
	Priority string `json:"priority,omitempty"`

	// Describes the reason for the request group in coded or textual form.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Indicates another resource whose existence justifies this request group.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// Completed or terminated request(s) whose function is taken by this new request.
	Replaces []*Reference `json:"replaces,omitempty"`

	// This is a RequestGroup resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// The subject for which the request group was created.
	Subject *Reference `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`
}

RequestGroup A group of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one".

func (*RequestGroup) MarshalJSON

func (strct *RequestGroup) MarshalJSON() ([]byte, error)

func (*RequestGroup) UnmarshalJSON

func (strct *RequestGroup) UnmarshalJSON(b []byte) error

type RequestGroupAction

type RequestGroupAction struct {

	// Sub actions.
	Action []*RequestGroupAction `json:"action,omitempty"`

	// Extensions for cardinalityBehavior
	CardinalityBehavior *Element `json:"_cardinalityBehavior,omitempty"`

	// 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 `json:"code,omitempty"`

	// An expression that describes applicability criteria, or start/stop conditions for the action.
	Condition []*RequestGroupCondition `json:"condition,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// 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 `json:"documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for groupingBehavior
	GroupingBehavior *Element `json:"_groupingBehavior,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The participant that should perform or be responsible for this action.
	Participant []*Reference `json:"participant,omitempty"`

	// Defines whether the action should usually be preselected.
	PrecheckBehavior string `json:"precheckBehavior,omitempty"`

	// A user-visible prefix for the action.
	Prefix string `json:"prefix,omitempty"`

	// Indicates how quickly the action should be addressed with respect to other actions.
	Priority string `json:"priority,omitempty"`

	// A relationship to another action such as "before" or "30-60 minutes after start of".
	RelatedAction []*RequestGroupRelatedAction `json:"relatedAction,omitempty"`

	// Defines expectations around whether an action is required.
	RequiredBehavior string `json:"requiredBehavior,omitempty"`

	// The resource that is the target of the action (e.g. CommunicationRequest).
	Resource *Reference `json:"resource,omitempty"`

	// Extensions for selectionBehavior
	SelectionBehavior *Element `json:"_selectionBehavior,omitempty"`

	// Extensions for textEquivalent
	TextEquivalent *Element `json:"_textEquivalent,omitempty"`

	// An optional value describing when the action should be performed.
	TimingAge *Age `json:"timingAge,omitempty"`

	// An optional value describing when the action should be performed.
	TimingDateTime string `json:"timingDateTime,omitempty"`

	// An optional value describing when the action should be performed.
	TimingDuration *Duration `json:"timingDuration,omitempty"`

	// An optional value describing when the action should be performed.
	TimingPeriod *Period `json:"timingPeriod,omitempty"`

	// An optional value describing when the action should be performed.
	TimingRange *Range `json:"timingRange,omitempty"`

	// An optional value describing when the action should be performed.
	TimingTiming *Timing `json:"timingTiming,omitempty"`

	// The title of the action displayed to a user.
	Title string `json:"title,omitempty"`

	// The type of action to perform (create, update, remove).
	Type *CodeableConcept `json:"type,omitempty"`
}

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 (*RequestGroupAction) MarshalJSON

func (strct *RequestGroupAction) MarshalJSON() ([]byte, error)

func (*RequestGroupAction) UnmarshalJSON

func (strct *RequestGroupAction) UnmarshalJSON(b []byte) error

type RequestGroupCondition

type RequestGroupCondition struct {

	// An expression that returns true or false, indicating whether or not the condition is satisfied.
	Expression *Expression `json:"expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The kind of condition.
	Kind string `json:"kind,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

RequestGroupCondition 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 (*RequestGroupCondition) MarshalJSON

func (strct *RequestGroupCondition) MarshalJSON() ([]byte, error)

func (*RequestGroupCondition) UnmarshalJSON

func (strct *RequestGroupCondition) UnmarshalJSON(b []byte) error

type RequestGroupRelatedAction

type RequestGroupRelatedAction struct {

	// Extensions for actionId
	ActionId *Element `json:"_actionId,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.
	OffsetDuration *Duration `json:"offsetDuration,omitempty"`

	// A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.
	OffsetRange *Range `json:"offsetRange,omitempty"`

	// Extensions for relationship
	Relationship *Element `json:"_relationship,omitempty"`
}

RequestGroupRelatedAction 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 (*RequestGroupRelatedAction) MarshalJSON

func (strct *RequestGroupRelatedAction) MarshalJSON() ([]byte, error)

func (*RequestGroupRelatedAction) UnmarshalJSON

func (strct *RequestGroupRelatedAction) UnmarshalJSON(b []byte) error

type ResearchDefinition

type ResearchDefinition struct {

	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate string `json:"approvalDate,omitempty"`

	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []*ContactDetail `json:"author,omitempty"`

	// Extensions for comment
	Comment []*Element `json:"_comment,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// 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 string `json:"date,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []*ContactDetail `json:"editor,omitempty"`

	// The period during which the research definition content was or is planned to be in active use.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []*ContactDetail `json:"endorser,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// A reference to a ResearchElementDefinition resource that defines the exposure for the research.
	Exposure *Reference `json:"exposure,omitempty"`

	// A reference to a ResearchElementDefinition resource that defines the exposureAlternative for the research.
	ExposureAlternative *Reference `json:"exposureAlternative,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// A legal or geographic region in which the research definition is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Extensions for lastReviewDate
	LastReviewDate *Element `json:"_lastReviewDate,omitempty"`

	// A reference to a Library resource containing the formal logic used by the ResearchDefinition.
	Library []string `json:"library,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// A reference to a ResearchElementDefinition resomece that defines the outcome for the research.
	Outcome *Reference `json:"outcome,omitempty"`

	// A reference to a ResearchElementDefinition resource that defines the population for the research.
	Population *Reference `json:"population"`

	// The name of the organization or individual that published the research definition.
	Publisher string `json:"publisher,omitempty"`

	// Explanation of why this research definition is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []*RelatedArtifact `json:"relatedArtifact,omitempty"`

	// This is a ResearchDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []*ContactDetail `json:"reviewer,omitempty"`

	// The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.
	ShortTitle string `json:"shortTitle,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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.
	SubjectCodeableConcept *CodeableConcept `json:"subjectCodeableConcept,omitempty"`

	// 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.
	SubjectReference *Reference `json:"subjectReference,omitempty"`

	// Extensions for subtitle
	Subtitle *Element `json:"_subtitle,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`

	// 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 `json:"topic,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// A detailed description, from a clinical perspective, of how the ResearchDefinition is used.
	Usage string `json:"usage,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`
}

ResearchDefinition The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.

func (*ResearchDefinition) MarshalJSON

func (strct *ResearchDefinition) MarshalJSON() ([]byte, error)

func (*ResearchDefinition) UnmarshalJSON

func (strct *ResearchDefinition) UnmarshalJSON(b []byte) error

type ResearchElementDefinition

type ResearchElementDefinition struct {

	// The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate string `json:"approvalDate,omitempty"`

	// An individiual or organization primarily involved in the creation and maintenance of the content.
	Author []*ContactDetail `json:"author,omitempty"`

	// A characteristic that defines the members of the research element. Multiple characteristics are applied with "and" semantics.
	Characteristic []*ResearchElementDefinitionCharacteristic `json:"characteristic"`

	// Extensions for comment
	Comment []*Element `json:"_comment,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"copyright,omitempty"`

	// 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 string `json:"date,omitempty"`

	// A free text natural language description of the research element definition from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// An individual or organization primarily responsible for internal coherence of the content.
	Editor []*ContactDetail `json:"editor,omitempty"`

	// The period during which the research element definition content was or is planned to be in active use.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// An individual or organization responsible for officially endorsing the content for use in some setting.
	Endorser []*ContactDetail `json:"endorser,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// A legal or geographic region in which the research element definition is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// Extensions for lastReviewDate
	LastReviewDate *Element `json:"_lastReviewDate,omitempty"`

	// A reference to a Library resource containing the formal logic used by the ResearchElementDefinition.
	Library []string `json:"library,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// The name of the organization or individual that published the research element definition.
	Publisher string `json:"publisher,omitempty"`

	// Extensions for purpose
	Purpose *Element `json:"_purpose,omitempty"`

	// Related artifacts such as additional documentation, justification, or bibliographic references.
	RelatedArtifact []*RelatedArtifact `json:"relatedArtifact,omitempty"`

	// This is a ResearchElementDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// An individual or organization primarily responsible for review of some aspect of the content.
	Reviewer []*ContactDetail `json:"reviewer,omitempty"`

	// The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.
	ShortTitle string `json:"shortTitle,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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.
	SubjectCodeableConcept *CodeableConcept `json:"subjectCodeableConcept,omitempty"`

	// 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.
	SubjectReference *Reference `json:"subjectReference,omitempty"`

	// Extensions for subtitle
	Subtitle *Element `json:"_subtitle,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the research element definition.
	Title string `json:"title,omitempty"`

	// 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 `json:"topic,omitempty"`

	// The type of research element, a population, an exposure, or an outcome.
	Type string `json:"type,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// Extensions for usage
	Usage *Element `json:"_usage,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Extensions for variableType
	VariableType *Element `json:"_variableType,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

ResearchElementDefinition The ResearchElementDefinition resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.

func (*ResearchElementDefinition) MarshalJSON

func (strct *ResearchElementDefinition) MarshalJSON() ([]byte, error)

func (*ResearchElementDefinition) UnmarshalJSON

func (strct *ResearchElementDefinition) UnmarshalJSON(b []byte) error

type ResearchElementDefinitionCharacteristic

type ResearchElementDefinitionCharacteristic struct {

	// Extensions for definitionCanonical
	DefinitionCanonical *Element `json:"_definitionCanonical,omitempty"`

	// 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).
	DefinitionCodeableConcept *CodeableConcept `json:"definitionCodeableConcept,omitempty"`

	// 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).
	DefinitionDataRequirement *DataRequirement `json:"definitionDataRequirement,omitempty"`

	// 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).
	DefinitionExpression *Expression `json:"definitionExpression,omitempty"`

	// Extensions for exclude
	Exclude *Element `json:"_exclude,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for participantEffectiveDateTime
	ParticipantEffectiveDateTime *Element `json:"_participantEffectiveDateTime,omitempty"`

	// A narrative description of the time period the study covers.
	ParticipantEffectiveDescription string `json:"participantEffectiveDescription,omitempty"`

	// Indicates what effective period the study covers.
	ParticipantEffectiveDuration *Duration `json:"participantEffectiveDuration,omitempty"`

	// Extensions for participantEffectiveGroupMeasure
	ParticipantEffectiveGroupMeasure *Element `json:"_participantEffectiveGroupMeasure,omitempty"`

	// Indicates what effective period the study covers.
	ParticipantEffectivePeriod *Period `json:"participantEffectivePeriod,omitempty"`

	// Indicates duration from the participant's study entry.
	ParticipantEffectiveTimeFromStart *Duration `json:"participantEffectiveTimeFromStart,omitempty"`

	// Indicates what effective period the study covers.
	ParticipantEffectiveTiming *Timing `json:"participantEffectiveTiming,omitempty"`

	// Indicates what effective period the study covers.
	StudyEffectiveDateTime string `json:"studyEffectiveDateTime,omitempty"`

	// Extensions for studyEffectiveDescription
	StudyEffectiveDescription *Element `json:"_studyEffectiveDescription,omitempty"`

	// Indicates what effective period the study covers.
	StudyEffectiveDuration *Duration `json:"studyEffectiveDuration,omitempty"`

	// Extensions for studyEffectiveGroupMeasure
	StudyEffectiveGroupMeasure *Element `json:"_studyEffectiveGroupMeasure,omitempty"`

	// Indicates what effective period the study covers.
	StudyEffectivePeriod *Period `json:"studyEffectivePeriod,omitempty"`

	// Indicates duration from the study initiation.
	StudyEffectiveTimeFromStart *Duration `json:"studyEffectiveTimeFromStart,omitempty"`

	// Indicates what effective period the study covers.
	StudyEffectiveTiming *Timing `json:"studyEffectiveTiming,omitempty"`

	// Specifies the UCUM unit for the outcome.
	UnitOfMeasure *CodeableConcept `json:"unitOfMeasure,omitempty"`

	// Use UsageContext to define the members of the population, such as Age Ranges, Genders, Settings.
	UsageContext []*UsageContext `json:"usageContext,omitempty"`
}

ResearchElementDefinitionCharacteristic The ResearchElementDefinition resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.

func (*ResearchElementDefinitionCharacteristic) MarshalJSON

func (strct *ResearchElementDefinitionCharacteristic) MarshalJSON() ([]byte, error)

func (*ResearchElementDefinitionCharacteristic) UnmarshalJSON

func (strct *ResearchElementDefinitionCharacteristic) UnmarshalJSON(b []byte) error

type ResearchStudy

type ResearchStudy struct {

	// 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 `json:"arm,omitempty"`

	// Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc.
	Category []*CodeableConcept `json:"category,omitempty"`

	// 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 `json:"condition,omitempty"`

	// Contact details to assist a user in learning more about or engaging with the study.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// A full description of how the study is being conducted.
	Description string `json:"description,omitempty"`

	// 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 `json:"enrollment,omitempty"`

	// 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 `json:"extension,omitempty"`

	// 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 `json:"focus,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifiers assigned to this research study by the sponsor or other systems.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Key terms to aid in searching for or filtering the study.
	Keyword []*CodeableConcept `json:"keyword,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Indicates a country, state or other region where the study is taking place.
	Location []*CodeableConcept `json:"location,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Comments made about the study by the performer, subject or other participants.
	Note []*Annotation `json:"note,omitempty"`

	// A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study.
	Objective []*ResearchStudyObjective `json:"objective,omitempty"`

	// A larger research study of which this particular study is a component or step.
	PartOf []*Reference `json:"partOf,omitempty"`

	// Identifies the start date and the expected (or actual, depending on status) end date for the study.
	Period *Period `json:"period,omitempty"`

	// The stage in the progression of a therapy from initial experimental use in humans in clinical trials to post-market evaluation.
	Phase *CodeableConcept `json:"phase,omitempty"`

	// The type of study based upon the intent of the study's activities. A classification of the intent of the study.
	PrimaryPurposeType *CodeableConcept `json:"primaryPurposeType,omitempty"`

	// 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 `json:"principalInvestigator,omitempty"`

	// The set of steps expected to be performed as part of the execution of the study.
	Protocol []*Reference `json:"protocol,omitempty"`

	// A description and/or code explaining the premature termination of the study.
	ReasonStopped *CodeableConcept `json:"reasonStopped,omitempty"`

	// Citations, references and other related documents.
	RelatedArtifact []*RelatedArtifact `json:"relatedArtifact,omitempty"`

	// This is a ResearchStudy resource
	ResourceType interface{} `json:"resourceType"`

	// A facility in which study activities are conducted.
	Site []*Reference `json:"site,omitempty"`

	// An organization that initiates the investigation and is legally responsible for the study.
	Sponsor *Reference `json:"sponsor,omitempty"`

	// The current state of the study.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`
}

ResearchStudy A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects.

func (*ResearchStudy) MarshalJSON

func (strct *ResearchStudy) MarshalJSON() ([]byte, error)

func (*ResearchStudy) UnmarshalJSON

func (strct *ResearchStudy) UnmarshalJSON(b []byte) error

type ResearchStudyArm

type ResearchStudyArm struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Unique, human-readable label for this arm of the study.
	Name string `json:"name,omitempty"`

	// Categorization of study arm, e.g. experimental, active comparator, placebo comparater.
	Type *CodeableConcept `json:"type,omitempty"`
}

ResearchStudyArm 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 (*ResearchStudyArm) MarshalJSON

func (strct *ResearchStudyArm) MarshalJSON() ([]byte, error)

func (*ResearchStudyArm) UnmarshalJSON

func (strct *ResearchStudyArm) UnmarshalJSON(b []byte) error

type ResearchStudyObjective

type ResearchStudyObjective struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Unique, human-readable label for this objective of the study.
	Name string `json:"name,omitempty"`

	// The kind of study objective.
	Type *CodeableConcept `json:"type,omitempty"`
}

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 (*ResearchStudyObjective) MarshalJSON

func (strct *ResearchStudyObjective) MarshalJSON() ([]byte, error)

func (*ResearchStudyObjective) UnmarshalJSON

func (strct *ResearchStudyObjective) UnmarshalJSON(b []byte) error

type ResearchSubject

type ResearchSubject struct {

	// Extensions for actualArm
	ActualArm *Element `json:"_actualArm,omitempty"`

	// The name of the arm in the study the subject is expected to follow as part of this study.
	AssignedArm string `json:"assignedArm,omitempty"`

	// A record of the patient's informed agreement to participate in the study.
	Consent *Reference `json:"consent,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifiers assigned to this research subject for a study.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The record of the person or animal who is involved in the study.
	Individual *Reference `json:"individual"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The dates the subject began and ended their participation in the study.
	Period *Period `json:"period,omitempty"`

	// This is a ResearchSubject resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Reference to the study the subject is participating in.
	Study *Reference `json:"study"`

	// 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 `json:"text,omitempty"`
}

ResearchSubject A physical entity which is the primary unit of operational and/or administrative interest in a study.

func (*ResearchSubject) MarshalJSON

func (strct *ResearchSubject) MarshalJSON() ([]byte, error)

func (*ResearchSubject) UnmarshalJSON

func (strct *ResearchSubject) UnmarshalJSON(b []byte) error

type RiskAssessment

type RiskAssessment struct {

	// A reference to the request that is fulfilled by this risk assessment.
	BasedOn *Reference `json:"basedOn,omitempty"`

	// Indicates the source data considered as part of the assessment (for example, FamilyHistory, Observations, Procedures, Conditions, etc.).
	Basis []*Reference `json:"basis,omitempty"`

	// The type of the risk assessment performed.
	Code *CodeableConcept `json:"code,omitempty"`

	// For assessments or prognosis specific to a particular condition, indicates the condition being assessed.
	Condition *Reference `json:"condition,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// The encounter where the assessment was performed.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Business identifier assigned to the risk assessment.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// The algorithm, process or mechanism used to evaluate the risk.
	Method *CodeableConcept `json:"method,omitempty"`

	// A description of the steps that might be taken to reduce the identified risk(s).
	Mitigation string `json:"mitigation,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Additional comments about the risk assessment.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for occurrenceDateTime
	OccurrenceDateTime *Element `json:"_occurrenceDateTime,omitempty"`

	// The date (and possibly time) the risk assessment was performed.
	OccurrencePeriod *Period `json:"occurrencePeriod,omitempty"`

	// A reference to a resource that this risk assessment is part of, such as a Procedure.
	Parent *Reference `json:"parent,omitempty"`

	// The provider or software application that performed the assessment.
	Performer *Reference `json:"performer,omitempty"`

	// Describes the expected outcome for the subject.
	Prediction []*RiskAssessmentPrediction `json:"prediction,omitempty"`

	// The reason the risk assessment was performed.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// Resources supporting the reason the risk assessment was performed.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// This is a RiskAssessment resource
	ResourceType interface{} `json:"resourceType"`

	// The status of the RiskAssessment, using the same statuses as an Observation.
	Status string `json:"status,omitempty"`

	// The patient or group the risk assessment applies to.
	Subject *Reference `json:"subject"`

	// 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 `json:"text,omitempty"`
}

RiskAssessment 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 (strct *RiskAssessment) MarshalJSON() ([]byte, error)

func (*RiskAssessment) UnmarshalJSON

func (strct *RiskAssessment) UnmarshalJSON(b []byte) error

type RiskAssessmentPrediction

type RiskAssessmentPrediction struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// One of the potential outcomes for the patient (e.g. remission, death,  a particular condition).
	Outcome *CodeableConcept `json:"outcome,omitempty"`

	// Extensions for probabilityDecimal
	ProbabilityDecimal *Element `json:"_probabilityDecimal,omitempty"`

	// Indicates how likely the outcome is (in the specified timeframe).
	ProbabilityRange *Range `json:"probabilityRange,omitempty"`

	// Indicates how likely the outcome is (in the specified timeframe), expressed as a qualitative value (e.g. low, medium, or high).
	QualitativeRisk *CodeableConcept `json:"qualitativeRisk,omitempty"`

	// Extensions for rationale
	Rationale *Element `json:"_rationale,omitempty"`

	// 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 float64 `json:"relativeRisk,omitempty"`

	// Indicates the period of time or age range of the subject to which the specified probability applies.
	WhenPeriod *Period `json:"whenPeriod,omitempty"`

	// Indicates the period of time or age range of the subject to which the specified probability applies.
	WhenRange *Range `json:"whenRange,omitempty"`
}

RiskAssessmentPrediction An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.

func (*RiskAssessmentPrediction) MarshalJSON

func (strct *RiskAssessmentPrediction) MarshalJSON() ([]byte, error)

func (*RiskAssessmentPrediction) UnmarshalJSON

func (strct *RiskAssessmentPrediction) UnmarshalJSON(b []byte) error

type Root

type Root interface{}

Root

type SampledData

type SampledData struct {

	// Extensions for data
	Data *Element `json:"_data,omitempty"`

	// Extensions for dimensions
	Dimensions *Element `json:"_dimensions,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for factor
	Factor *Element `json:"_factor,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for lowerLimit
	LowerLimit *Element `json:"_lowerLimit,omitempty"`

	// The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series.
	Origin *Quantity `json:"origin"`

	// Extensions for period
	Period *Element `json:"_period,omitempty"`

	// Extensions for upperLimit
	UpperLimit *Element `json:"_upperLimit,omitempty"`
}

SampledData A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.

func (*SampledData) MarshalJSON

func (strct *SampledData) MarshalJSON() ([]byte, error)

func (*SampledData) UnmarshalJSON

func (strct *SampledData) UnmarshalJSON(b []byte) error

type Schedule

type Schedule struct {

	// Extensions for active
	Active *Element `json:"_active,omitempty"`

	// Slots that reference this schedule resource provide the availability details to these referenced resource(s).
	Actor []*Reference `json:"actor"`

	// Extensions for comment
	Comment *Element `json:"_comment,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// External Ids for this item.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"planningHorizon,omitempty"`

	// This is a Schedule resource
	ResourceType interface{} `json:"resourceType"`

	// A broad categorization of the service that is to be performed during this appointment.
	ServiceCategory []*CodeableConcept `json:"serviceCategory,omitempty"`

	// The specific service that is to be performed during this appointment.
	ServiceType []*CodeableConcept `json:"serviceType,omitempty"`

	// The specialty of a practitioner that would be required to perform the service requested in this appointment.
	Specialty []*CodeableConcept `json:"specialty,omitempty"`

	// 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 `json:"text,omitempty"`
}

Schedule A container for slots of time that may be available for booking appointments.

func (*Schedule) MarshalJSON

func (strct *Schedule) MarshalJSON() ([]byte, error)

func (*Schedule) UnmarshalJSON

func (strct *Schedule) UnmarshalJSON(b []byte) error

type SearchParameter

type SearchParameter struct {

	// The base resource type(s) that this search parameter can be used against.
	Base []string `json:"base,omitempty"`

	// 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 `json:"chain,omitempty"`

	// The code used in the URL or the parameter name in a parameters resource for this search parameter.
	Code string `json:"code,omitempty"`

	// Comparators supported for the search parameter.
	Comparator []string `json:"comparator,omitempty"`

	// Used to define the parts of a composite search parameter.
	Component []*SearchParameterComponent `json:"component,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"date,omitempty"`

	// 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 string `json:"derivedFrom,omitempty"`

	// And how it used.
	Description string `json:"description,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// Extensions for expression
	Expression *Element `json:"_expression,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// A legal or geographic region in which the search parameter is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// A modifier supported for the search parameter.
	Modifier []string `json:"modifier,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for multipleAnd
	MultipleAnd *Element `json:"_multipleAnd,omitempty"`

	// 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 bool `json:"multipleOr,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// The name of the organization or individual that published the search parameter.
	Publisher string `json:"publisher,omitempty"`

	// Extensions for purpose
	Purpose *Element `json:"_purpose,omitempty"`

	// This is a SearchParameter resource
	ResourceType interface{} `json:"resourceType"`

	// The status of this search parameter. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// Extensions for target
	Target []*Element `json:"_target,omitempty"`

	// 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 `json:"text,omitempty"`

	// The type of value that a search parameter may contain, and how the content is interpreted.
	Type string `json:"type,omitempty"`

	// 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 string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`

	// Extensions for xpath
	Xpath *Element `json:"_xpath,omitempty"`

	// How the search parameter relates to the set of elements returned by evaluating the xpath query.
	XpathUsage string `json:"xpathUsage,omitempty"`
}

SearchParameter A search parameter that defines a named search item that can be used to search/filter on a resource.

func (*SearchParameter) MarshalJSON

func (strct *SearchParameter) MarshalJSON() ([]byte, error)

func (*SearchParameter) UnmarshalJSON

func (strct *SearchParameter) UnmarshalJSON(b []byte) error

type SearchParameterComponent

type SearchParameterComponent struct {

	// The definition of the search parameter that describes this part.
	Definition string `json:"definition"`

	// Extensions for expression
	Expression *Element `json:"_expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

SearchParameterComponent A search parameter that defines a named search item that can be used to search/filter on a resource.

func (*SearchParameterComponent) MarshalJSON

func (strct *SearchParameterComponent) MarshalJSON() ([]byte, error)

func (*SearchParameterComponent) UnmarshalJSON

func (strct *SearchParameterComponent) UnmarshalJSON(b []byte) error

type ServiceRequest

type ServiceRequest struct {

	// If a CodeableConcept is present, it indicates the pre-condition for performing the service.  For example "pain", "on flare-up", etc.
	AsNeededBoolean bool `json:"asNeededBoolean,omitempty"`

	// If a CodeableConcept is present, it indicates the pre-condition for performing the service.  For example "pain", "on flare-up", etc.
	AsNeededCodeableConcept *CodeableConcept `json:"asNeededCodeableConcept,omitempty"`

	// Extensions for authoredOn
	AuthoredOn *Element `json:"_authoredOn,omitempty"`

	// Plan/proposal/order fulfilled by this request.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// Anatomic location where the procedure should be performed. This is the target site.
	BodySite []*CodeableConcept `json:"bodySite,omitempty"`

	// A code that classifies the service for searching, sorting and display purposes (e.g. "Surgical Procedure").
	Category []*CodeableConcept `json:"category,omitempty"`

	// A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.
	Code *CodeableConcept `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Set this to true if the record is saying that the service/procedure should NOT be performed.
	DoNotPerform bool `json:"doNotPerform,omitempty"`

	// An encounter that provides additional information about the healthcare context in which this request is made.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// 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 []string `json:"instantiatesCanonical,omitempty"`

	// Extensions for instantiatesUri
	InstantiatesUri []*Element `json:"_instantiatesUri,omitempty"`

	// Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested service.
	Insurance []*Reference `json:"insurance,omitempty"`

	// Whether the request is a proposal, plan, an original order or a reflex order.
	Intent string `json:"intent,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"locationCode,omitempty"`

	// 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 `json:"locationReference,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Any other notes and comments made about the service request. For example, internal billing notes.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for occurrenceDateTime
	OccurrenceDateTime *Element `json:"_occurrenceDateTime,omitempty"`

	// The date/time at which the requested service should occur.
	OccurrencePeriod *Period `json:"occurrencePeriod,omitempty"`

	// The date/time at which the requested service should occur.
	OccurrenceTiming *Timing `json:"occurrenceTiming,omitempty"`

	// 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 `json:"orderDetail,omitempty"`

	// Instructions in terms that are understood by the patient or consumer.
	PatientInstruction string `json:"patientInstruction,omitempty"`

	// The desired performer for doing the requested service.  For example, the surgeon, dermatopathologist, endoscopist, etc.
	Performer []*Reference `json:"performer,omitempty"`

	// Desired type of performer for doing the requested service.
	PerformerType *CodeableConcept `json:"performerType,omitempty"`

	// Indicates how quickly the ServiceRequest should be addressed with respect to other requests.
	Priority string `json:"priority,omitempty"`

	// 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).
	QuantityQuantity *Quantity `json:"quantityQuantity,omitempty"`

	// 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).
	QuantityRange *Range `json:"quantityRange,omitempty"`

	// 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).
	QuantityRatio *Ratio `json:"quantityRatio,omitempty"`

	// 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 `json:"reasonCode,omitempty"`

	// 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 `json:"reasonReference,omitempty"`

	// Key events in the history of the request.
	RelevantHistory []*Reference `json:"relevantHistory,omitempty"`

	// The request takes the place of the referenced completed or terminated request(s).
	Replaces []*Reference `json:"replaces,omitempty"`

	// The individual who initiated the request and has responsibility for its activation.
	Requester *Reference `json:"requester,omitempty"`

	// 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 `json:"requisition,omitempty"`

	// This is a ServiceRequest resource
	ResourceType interface{} `json:"resourceType"`

	// One or more specimens that the laboratory procedure will use.
	Specimen []*Reference `json:"specimen,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"subject"`

	// 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 `json:"supportingInfo,omitempty"`

	// 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 `json:"text,omitempty"`
}

ServiceRequest A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.

func (*ServiceRequest) MarshalJSON

func (strct *ServiceRequest) MarshalJSON() ([]byte, error)

func (*ServiceRequest) UnmarshalJSON

func (strct *ServiceRequest) UnmarshalJSON(b []byte) error

type Signature

type Signature struct {

	// Extensions for data
	Data *Element `json:"_data,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A reference to an application-usable description of the identity that is represented by the signature.
	OnBehalfOf *Reference `json:"onBehalfOf,omitempty"`

	// Extensions for sigFormat
	SigFormat *Element `json:"_sigFormat,omitempty"`

	// Extensions for targetFormat
	TargetFormat *Element `json:"_targetFormat,omitempty"`

	// 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 `json:"type"`

	// When the digital signature was signed.
	When string `json:"when,omitempty"`

	// A reference to an application-usable description of the identity that signed  (e.g. the signature used their private key).
	Who *Reference `json:"who"`
}

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

func (*Signature) MarshalJSON

func (strct *Signature) MarshalJSON() ([]byte, error)

func (*Signature) UnmarshalJSON

func (strct *Signature) UnmarshalJSON(b []byte) error

type Slot

type Slot struct {

	// The style of appointment or patient that may be booked in the slot (not service type).
	AppointmentType *CodeableConcept `json:"appointmentType,omitempty"`

	// Comments on the slot to describe any extended information. Such as custom constraints on the slot.
	Comment string `json:"comment,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for end
	End *Element `json:"_end,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// External Ids for this item.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for overbooked
	Overbooked *Element `json:"_overbooked,omitempty"`

	// This is a Slot resource
	ResourceType interface{} `json:"resourceType"`

	// The schedule resource that this slot defines an interval of status information.
	Schedule *Reference `json:"schedule"`

	// A broad categorization of the service that is to be performed during this appointment.
	ServiceCategory []*CodeableConcept `json:"serviceCategory,omitempty"`

	// 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 `json:"serviceType,omitempty"`

	// The specialty of a practitioner that would be required to perform the service requested in this appointment.
	Specialty []*CodeableConcept `json:"specialty,omitempty"`

	// Date/Time that the slot is to begin.
	Start string `json:"start,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`
}

Slot A slot of time on a schedule that may be available for booking appointments.

func (*Slot) MarshalJSON

func (strct *Slot) MarshalJSON() ([]byte, error)

func (*Slot) UnmarshalJSON

func (strct *Slot) UnmarshalJSON(b []byte) error

type Specimen

type Specimen struct {

	// 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 `json:"accessionIdentifier,omitempty"`

	// Details concerning the specimen collection.
	Collection *SpecimenCollection `json:"collection,omitempty"`

	// A mode or state of being that describes the nature of the specimen.
	Condition []*CodeableConcept `json:"condition,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"container,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Id for specimen.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen).
	Note []*Annotation `json:"note,omitempty"`

	// Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimen.
	Parent []*Reference `json:"parent,omitempty"`

	// Details concerning processing and processing steps for the specimen.
	Processing []*SpecimenProcessing `json:"processing,omitempty"`

	// Extensions for receivedTime
	ReceivedTime *Element `json:"_receivedTime,omitempty"`

	// Details concerning a service request that required a specimen to be collected.
	Request []*Reference `json:"request,omitempty"`

	// This is a Specimen resource
	ResourceType interface{} `json:"resourceType"`

	// The availability of the specimen.
	Status string `json:"status,omitempty"`

	// 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 `json:"subject,omitempty"`

	// 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 `json:"text,omitempty"`

	// The kind of material that forms the specimen.
	Type *CodeableConcept `json:"type,omitempty"`
}

Specimen A sample to be used for analysis.

func (*Specimen) MarshalJSON

func (strct *Specimen) MarshalJSON() ([]byte, error)

func (*Specimen) UnmarshalJSON

func (strct *Specimen) UnmarshalJSON(b []byte) error

type SpecimenCollection

type SpecimenCollection struct {

	// 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 `json:"bodySite,omitempty"`

	// Time when specimen was collected from subject - the physiologically relevant time.
	CollectedDateTime string `json:"collectedDateTime,omitempty"`

	// Time when specimen was collected from subject - the physiologically relevant time.
	CollectedPeriod *Period `json:"collectedPeriod,omitempty"`

	// Person who collected the specimen.
	Collector *Reference `json:"collector,omitempty"`

	// The span of time over which the collection of a specimen occurred.
	Duration *Duration `json:"duration,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Abstinence or reduction from some or all food, drink, or both, for a period of time prior to sample collection.
	FastingStatusCodeableConcept *CodeableConcept `json:"fastingStatusCodeableConcept,omitempty"`

	// Abstinence or reduction from some or all food, drink, or both, for a period of time prior to sample collection.
	FastingStatusDuration *Duration `json:"fastingStatusDuration,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A coded value specifying the technique that is used to perform the procedure.
	Method *CodeableConcept `json:"method,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample.
	Quantity *Quantity `json:"quantity,omitempty"`
}

SpecimenCollection A sample to be used for analysis.

func (*SpecimenCollection) MarshalJSON

func (strct *SpecimenCollection) MarshalJSON() ([]byte, error)

func (*SpecimenCollection) UnmarshalJSON

func (strct *SpecimenCollection) UnmarshalJSON(b []byte) error

type SpecimenContainer

type SpecimenContainer struct {

	// Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.
	AdditiveCodeableConcept *CodeableConcept `json:"additiveCodeableConcept,omitempty"`

	// Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.
	AdditiveReference *Reference `json:"additiveReference,omitempty"`

	// The capacity (volume or other measure) the container may contain.
	Capacity *Quantity `json:"capacity,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type.
	SpecimenQuantity *Quantity `json:"specimenQuantity,omitempty"`

	// The type of container associated with the specimen (e.g. slide, aliquot, etc.).
	Type *CodeableConcept `json:"type,omitempty"`
}

SpecimenContainer A sample to be used for analysis.

func (*SpecimenContainer) MarshalJSON

func (strct *SpecimenContainer) MarshalJSON() ([]byte, error)

func (*SpecimenContainer) UnmarshalJSON

func (strct *SpecimenContainer) UnmarshalJSON(b []byte) error

type SpecimenDefinition

type SpecimenDefinition struct {

	// The action to be performed for collecting the specimen.
	Collection []*CodeableConcept `json:"collection,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A business identifier associated with the kind of specimen.
	Identifier *Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Preparation of the patient for specimen collection.
	PatientPreparation []*CodeableConcept `json:"patientPreparation,omitempty"`

	// This is a SpecimenDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"text,omitempty"`

	// Extensions for timeAspect
	TimeAspect *Element `json:"_timeAspect,omitempty"`

	// The kind of material to be collected.
	TypeCollected *CodeableConcept `json:"typeCollected,omitempty"`

	// Specimen conditioned in a container as expected by the testing laboratory.
	TypeTested []*SpecimenDefinitionTypeTested `json:"typeTested,omitempty"`
}

SpecimenDefinition A kind of specimen with associated set of requirements.

func (*SpecimenDefinition) MarshalJSON

func (strct *SpecimenDefinition) MarshalJSON() ([]byte, error)

func (*SpecimenDefinition) UnmarshalJSON

func (strct *SpecimenDefinition) UnmarshalJSON(b []byte) error

type SpecimenDefinitionAdditive

type SpecimenDefinitionAdditive struct {

	// Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.
	AdditiveCodeableConcept *CodeableConcept `json:"additiveCodeableConcept,omitempty"`

	// Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.
	AdditiveReference *Reference `json:"additiveReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

SpecimenDefinitionAdditive A kind of specimen with associated set of requirements.

func (*SpecimenDefinitionAdditive) MarshalJSON

func (strct *SpecimenDefinitionAdditive) MarshalJSON() ([]byte, error)

func (*SpecimenDefinitionAdditive) UnmarshalJSON

func (strct *SpecimenDefinitionAdditive) UnmarshalJSON(b []byte) error

type SpecimenDefinitionContainer

type SpecimenDefinitionContainer struct {

	// Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.
	Additive []*SpecimenDefinitionAdditive `json:"additive,omitempty"`

	// Color of container cap.
	Cap *CodeableConcept `json:"cap,omitempty"`

	// The capacity (volume or other measure) of this kind of container.
	Capacity *Quantity `json:"capacity,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The type of material of the container.
	Material *CodeableConcept `json:"material,omitempty"`

	// The minimum volume to be conditioned in the container.
	MinimumVolumeQuantity *Quantity `json:"minimumVolumeQuantity,omitempty"`

	// The minimum volume to be conditioned in the container.
	MinimumVolumeString string `json:"minimumVolumeString,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for preparation
	Preparation *Element `json:"_preparation,omitempty"`

	// The type of container used to contain this kind of specimen.
	Type *CodeableConcept `json:"type,omitempty"`
}

SpecimenDefinitionContainer A kind of specimen with associated set of requirements.

func (*SpecimenDefinitionContainer) MarshalJSON

func (strct *SpecimenDefinitionContainer) MarshalJSON() ([]byte, error)

func (*SpecimenDefinitionContainer) UnmarshalJSON

func (strct *SpecimenDefinitionContainer) UnmarshalJSON(b []byte) error

type SpecimenDefinitionHandling

type SpecimenDefinitionHandling struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for instruction
	Instruction *Element `json:"_instruction,omitempty"`

	// The maximum time interval of preservation of the specimen with these conditions.
	MaxDuration *Duration `json:"maxDuration,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 `json:"temperatureQualifier,omitempty"`

	// The temperature interval for this set of handling instructions.
	TemperatureRange *Range `json:"temperatureRange,omitempty"`
}

SpecimenDefinitionHandling A kind of specimen with associated set of requirements.

func (*SpecimenDefinitionHandling) MarshalJSON

func (strct *SpecimenDefinitionHandling) MarshalJSON() ([]byte, error)

func (*SpecimenDefinitionHandling) UnmarshalJSON

func (strct *SpecimenDefinitionHandling) UnmarshalJSON(b []byte) error

type SpecimenDefinitionTypeTested

type SpecimenDefinitionTypeTested struct {

	// The specimen's container.
	Container *SpecimenDefinitionContainer `json:"container,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing process.
	Handling []*SpecimenDefinitionHandling `json:"handling,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for isDerived
	IsDerived *Element `json:"_isDerived,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for preference
	Preference *Element `json:"_preference,omitempty"`

	// Criterion for rejection of the specimen in its container by the laboratory.
	RejectionCriterion []*CodeableConcept `json:"rejectionCriterion,omitempty"`

	// Requirements for delivery and special handling of this kind of conditioned specimen.
	Requirement string `json:"requirement,omitempty"`

	// 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 `json:"retentionTime,omitempty"`

	// The kind of specimen conditioned for testing expected by lab.
	Type *CodeableConcept `json:"type,omitempty"`
}

SpecimenDefinitionTypeTested A kind of specimen with associated set of requirements.

func (*SpecimenDefinitionTypeTested) MarshalJSON

func (strct *SpecimenDefinitionTypeTested) MarshalJSON() ([]byte, error)

func (*SpecimenDefinitionTypeTested) UnmarshalJSON

func (strct *SpecimenDefinitionTypeTested) UnmarshalJSON(b []byte) error

type SpecimenProcessing

type SpecimenProcessing struct {

	// Material used in the processing step.
	Additive []*Reference `json:"additive,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A coded value specifying the procedure used to process the specimen.
	Procedure *CodeableConcept `json:"procedure,omitempty"`

	// 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.
	TimeDateTime string `json:"timeDateTime,omitempty"`

	// 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.
	TimePeriod *Period `json:"timePeriod,omitempty"`
}

SpecimenProcessing A sample to be used for analysis.

func (*SpecimenProcessing) MarshalJSON

func (strct *SpecimenProcessing) MarshalJSON() ([]byte, error)

func (*SpecimenProcessing) UnmarshalJSON

func (strct *SpecimenProcessing) UnmarshalJSON(b []byte) error

type StructureDefinition

type StructureDefinition struct {

	// 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 bool `json:"abstract,omitempty"`

	// An absolute URI that is the base structure from which this type is derived, either by specialization or constraint.
	BaseDefinition string `json:"baseDefinition,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Identifies the types of resource or data type elements to which the extension can be applied.
	Context []*StructureDefinitionContext `json:"context,omitempty"`

	// 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 `json:"contextInvariant,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Extensions for derivation
	Derivation *Element `json:"_derivation,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies.
	Differential *StructureDefinitionDifferential `json:"differential,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Extensions for fhirVersion
	FhirVersion *Element `json:"_fhirVersion,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// A legal or geographic region in which the structure definition is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// 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 `json:"keyword,omitempty"`

	// Extensions for kind
	Kind *Element `json:"_kind,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// An external specification that the content is mapped to.
	Mapping []*StructureDefinitionMapping `json:"mapping,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Explanation of why this structure definition is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// This is a StructureDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// A snapshot view is expressed in a standalone form that can be used and interpreted without considering the base StructureDefinition.
	Snapshot *StructureDefinitionSnapshot `json:"snapshot,omitempty"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for title
	Title *Element `json:"_title,omitempty"`

	// 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 string `json:"type,omitempty"`

	// 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 string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`
}

StructureDefinition A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types.

func (*StructureDefinition) MarshalJSON

func (strct *StructureDefinition) MarshalJSON() ([]byte, error)

func (*StructureDefinition) UnmarshalJSON

func (strct *StructureDefinition) UnmarshalJSON(b []byte) error

type StructureDefinitionContext

type StructureDefinitionContext struct {

	// Extensions for expression
	Expression *Element `json:"_expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

StructureDefinitionContext 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 (*StructureDefinitionContext) MarshalJSON

func (strct *StructureDefinitionContext) MarshalJSON() ([]byte, error)

func (*StructureDefinitionContext) UnmarshalJSON

func (strct *StructureDefinitionContext) UnmarshalJSON(b []byte) error

type StructureDefinitionDifferential

type StructureDefinitionDifferential struct {

	// Captures constraints on each element within the resource.
	Element []*ElementDefinition `json:"element"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

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 (*StructureDefinitionDifferential) MarshalJSON

func (strct *StructureDefinitionDifferential) MarshalJSON() ([]byte, error)

func (*StructureDefinitionDifferential) UnmarshalJSON

func (strct *StructureDefinitionDifferential) UnmarshalJSON(b []byte) error

type StructureDefinitionMapping

type StructureDefinitionMapping struct {

	// Extensions for comment
	Comment *Element `json:"_comment,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for identity
	Identity *Element `json:"_identity,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for uri
	Uri *Element `json:"_uri,omitempty"`
}

StructureDefinitionMapping 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 (*StructureDefinitionMapping) MarshalJSON

func (strct *StructureDefinitionMapping) MarshalJSON() ([]byte, error)

func (*StructureDefinitionMapping) UnmarshalJSON

func (strct *StructureDefinitionMapping) UnmarshalJSON(b []byte) error

type StructureDefinitionSnapshot

type StructureDefinitionSnapshot struct {

	// Captures constraints on each element within the resource.
	Element []*ElementDefinition `json:"element"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

StructureDefinitionSnapshot 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 (*StructureDefinitionSnapshot) MarshalJSON

func (strct *StructureDefinitionSnapshot) MarshalJSON() ([]byte, error)

func (*StructureDefinitionSnapshot) UnmarshalJSON

func (strct *StructureDefinitionSnapshot) UnmarshalJSON(b []byte) error

type StructureMap

type StructureMap struct {

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// A free text natural language description of the structure map from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Organizes the mapping into manageable chunks for human review/ease of maintenance.
	Group []*StructureMapGroup `json:"group"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Other maps used by this map (canonical URLs).
	Import []string `json:"import,omitempty"`

	// A legal or geographic region in which the structure map is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Extensions for purpose
	Purpose *Element `json:"_purpose,omitempty"`

	// This is a StructureMap resource
	ResourceType interface{} `json:"resourceType"`

	// The status of this structure map. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced.
	Structure []*StructureMapStructure `json:"structure,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the structure map.
	Title string `json:"title,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

StructureMap A Map of relationships between 2 structures that can be used to transform data.

func (*StructureMap) MarshalJSON

func (strct *StructureMap) MarshalJSON() ([]byte, error)

func (*StructureMap) UnmarshalJSON

func (strct *StructureMap) UnmarshalJSON(b []byte) error

type StructureMapDependent

type StructureMapDependent struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for variable
	Variable []*Element `json:"_variable,omitempty"`
}

StructureMapDependent A Map of relationships between 2 structures that can be used to transform data.

func (*StructureMapDependent) MarshalJSON

func (strct *StructureMapDependent) MarshalJSON() ([]byte, error)

func (*StructureMapDependent) UnmarshalJSON

func (strct *StructureMapDependent) UnmarshalJSON(b []byte) error

type StructureMapGroup

type StructureMapGroup struct {

	// Extensions for documentation
	Documentation *Element `json:"_documentation,omitempty"`

	// Extensions for extends
	Extends *Element `json:"_extends,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A name assigned to an instance of data. The instance must be provided when the mapping is invoked.
	Input []*StructureMapInput `json:"input"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Transform Rule from source to target.
	Rule []*StructureMapRule `json:"rule"`

	// Extensions for typeMode
	TypeMode *Element `json:"_typeMode,omitempty"`
}

StructureMapGroup A Map of relationships between 2 structures that can be used to transform data.

func (*StructureMapGroup) MarshalJSON

func (strct *StructureMapGroup) MarshalJSON() ([]byte, error)

func (*StructureMapGroup) UnmarshalJSON

func (strct *StructureMapGroup) UnmarshalJSON(b []byte) error

type StructureMapInput

type StructureMapInput struct {

	// Documentation for this instance of data.
	Documentation string `json:"documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Mode for this instance of data.
	Mode string `json:"mode,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Name for this instance of data.
	Name string `json:"name,omitempty"`

	// Type for this instance of data.
	Type string `json:"type,omitempty"`
}

StructureMapInput A Map of relationships between 2 structures that can be used to transform data.

func (*StructureMapInput) MarshalJSON

func (strct *StructureMapInput) MarshalJSON() ([]byte, error)

func (*StructureMapInput) UnmarshalJSON

func (strct *StructureMapInput) UnmarshalJSON(b []byte) error

type StructureMapParameter

type StructureMapParameter struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// Extensions for valueDecimal
	ValueDecimal *Element `json:"_valueDecimal,omitempty"`

	// Extensions for valueId
	ValueId *Element `json:"_valueId,omitempty"`

	// Extensions for valueInteger
	ValueInteger *Element `json:"_valueInteger,omitempty"`

	// Extensions for valueString
	ValueString *Element `json:"_valueString,omitempty"`
}

StructureMapParameter A Map of relationships between 2 structures that can be used to transform data.

func (*StructureMapParameter) MarshalJSON

func (strct *StructureMapParameter) MarshalJSON() ([]byte, error)

func (*StructureMapParameter) UnmarshalJSON

func (strct *StructureMapParameter) UnmarshalJSON(b []byte) error

type StructureMapRule

type StructureMapRule struct {

	// Which other rules to apply in the context of this rule.
	Dependent []*StructureMapDependent `json:"dependent,omitempty"`

	// Documentation for this instance of data.
	Documentation string `json:"documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Name of the rule for internal references.
	Name string `json:"name,omitempty"`

	// Rules contained in this rule.
	Rule []*StructureMapRule `json:"rule,omitempty"`

	// Source inputs to the mapping.
	Source []*StructureMapSource `json:"source"`

	// Content to create because of this mapping rule.
	Target []*StructureMapTarget `json:"target,omitempty"`
}

StructureMapRule A Map of relationships between 2 structures that can be used to transform data.

func (*StructureMapRule) MarshalJSON

func (strct *StructureMapRule) MarshalJSON() ([]byte, error)

func (*StructureMapRule) UnmarshalJSON

func (strct *StructureMapRule) UnmarshalJSON(b []byte) error

type StructureMapSource

type StructureMapSource struct {

	// Extensions for check
	Check *Element `json:"_check,omitempty"`

	// FHIRPath expression  - must be true or the rule does not apply.
	Condition string `json:"condition,omitempty"`

	// Type or variable this rule applies to.
	Context string `json:"context,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueAddress *Address `json:"defaultValueAddress,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueAge *Age `json:"defaultValueAge,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueAnnotation *Annotation `json:"defaultValueAnnotation,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueAttachment *Attachment `json:"defaultValueAttachment,omitempty"`

	// Extensions for defaultValueBase64Binary
	DefaultValueBase64Binary *Element `json:"_defaultValueBase64Binary,omitempty"`

	// Extensions for defaultValueBoolean
	DefaultValueBoolean *Element `json:"_defaultValueBoolean,omitempty"`

	// Extensions for defaultValueCanonical
	DefaultValueCanonical *Element `json:"_defaultValueCanonical,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueCode string `json:"defaultValueCode,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueCodeableConcept *CodeableConcept `json:"defaultValueCodeableConcept,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueCoding *Coding `json:"defaultValueCoding,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueContactDetail *ContactDetail `json:"defaultValueContactDetail,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueContactPoint *ContactPoint `json:"defaultValueContactPoint,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueContributor *Contributor `json:"defaultValueContributor,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueCount *Count `json:"defaultValueCount,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueDataRequirement *DataRequirement `json:"defaultValueDataRequirement,omitempty"`

	// Extensions for defaultValueDate
	DefaultValueDate *Element `json:"_defaultValueDate,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueDateTime string `json:"defaultValueDateTime,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueDecimal float64 `json:"defaultValueDecimal,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueDistance *Distance `json:"defaultValueDistance,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueDosage *Dosage `json:"defaultValueDosage,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueDuration *Duration `json:"defaultValueDuration,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueExpression *Expression `json:"defaultValueExpression,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueHumanName *HumanName `json:"defaultValueHumanName,omitempty"`

	// Extensions for defaultValueId
	DefaultValueId *Element `json:"_defaultValueId,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueIdentifier *Identifier `json:"defaultValueIdentifier,omitempty"`

	// Extensions for defaultValueInstant
	DefaultValueInstant *Element `json:"_defaultValueInstant,omitempty"`

	// Extensions for defaultValueInteger
	DefaultValueInteger *Element `json:"_defaultValueInteger,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueMarkdown string `json:"defaultValueMarkdown,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueMeta *Meta `json:"defaultValueMeta,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueMoney *Money `json:"defaultValueMoney,omitempty"`

	// Extensions for defaultValueOid
	DefaultValueOid *Element `json:"_defaultValueOid,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueParameterDefinition *ParameterDefinition `json:"defaultValueParameterDefinition,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValuePeriod *Period `json:"defaultValuePeriod,omitempty"`

	// Extensions for defaultValuePositiveInt
	DefaultValuePositiveInt *Element `json:"_defaultValuePositiveInt,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueQuantity *Quantity `json:"defaultValueQuantity,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueRange *Range `json:"defaultValueRange,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueRatio *Ratio `json:"defaultValueRatio,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueReference *Reference `json:"defaultValueReference,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueRelatedArtifact *RelatedArtifact `json:"defaultValueRelatedArtifact,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueSampledData *SampledData `json:"defaultValueSampledData,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueSignature *Signature `json:"defaultValueSignature,omitempty"`

	// Extensions for defaultValueString
	DefaultValueString *Element `json:"_defaultValueString,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueTime string `json:"defaultValueTime,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueTiming *Timing `json:"defaultValueTiming,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueTriggerDefinition *TriggerDefinition `json:"defaultValueTriggerDefinition,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueUnsignedInt float64 `json:"defaultValueUnsignedInt,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueUri string `json:"defaultValueUri,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueUrl string `json:"defaultValueUrl,omitempty"`

	// A value to use if there is no existing value in the source object.
	DefaultValueUsageContext *UsageContext `json:"defaultValueUsageContext,omitempty"`

	// Extensions for defaultValueUuid
	DefaultValueUuid *Element `json:"_defaultValueUuid,omitempty"`

	// Extensions for element
	Element *Element `json:"_element,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// How to handle the list mode for this element.
	ListMode string `json:"listMode,omitempty"`

	// A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found.
	LogMessage string `json:"logMessage,omitempty"`

	// Extensions for max
	Max *Element `json:"_max,omitempty"`

	// Extensions for min
	Min *Element `json:"_min,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`

	// Named context for field, if a field is specified.
	Variable string `json:"variable,omitempty"`
}

StructureMapSource A Map of relationships between 2 structures that can be used to transform data.

func (*StructureMapSource) MarshalJSON

func (strct *StructureMapSource) MarshalJSON() ([]byte, error)

func (*StructureMapSource) UnmarshalJSON

func (strct *StructureMapSource) UnmarshalJSON(b []byte) error

type StructureMapStructure

type StructureMapStructure struct {

	// Extensions for alias
	Alias *Element `json:"_alias,omitempty"`

	// Extensions for documentation
	Documentation *Element `json:"_documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for mode
	Mode *Element `json:"_mode,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The canonical reference to the structure.
	Url string `json:"url"`
}

StructureMapStructure A Map of relationships between 2 structures that can be used to transform data.

func (*StructureMapStructure) MarshalJSON

func (strct *StructureMapStructure) MarshalJSON() ([]byte, error)

func (*StructureMapStructure) UnmarshalJSON

func (strct *StructureMapStructure) UnmarshalJSON(b []byte) error

type StructureMapTarget

type StructureMapTarget struct {

	// Extensions for context
	Context *Element `json:"_context,omitempty"`

	// How to interpret the context.
	ContextType string `json:"contextType,omitempty"`

	// Field to create in the context.
	Element string `json:"element,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// If field is a list, how to manage the list.
	ListMode []string `json:"listMode,omitempty"`

	// Internal rule reference for shared list items.
	ListRuleId string `json:"listRuleId,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Parameters to the transform.
	Parameter []*StructureMapParameter `json:"parameter,omitempty"`

	// Extensions for transform
	Transform *Element `json:"_transform,omitempty"`

	// Named context for field, if desired, and a field is specified.
	Variable string `json:"variable,omitempty"`
}

StructureMapTarget A Map of relationships between 2 structures that can be used to transform data.

func (*StructureMapTarget) MarshalJSON

func (strct *StructureMapTarget) MarshalJSON() ([]byte, error)

func (*StructureMapTarget) UnmarshalJSON

func (strct *StructureMapTarget) UnmarshalJSON(b []byte) error

type Subscription

type Subscription struct {

	// Details where to send notifications when resources are received that meet the criteria.
	Channel *SubscriptionChannel `json:"channel"`

	// Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.
	Contact []*ContactPoint `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for criteria
	Criteria *Element `json:"_criteria,omitempty"`

	// The time for the server to turn the subscription off.
	End string `json:"end,omitempty"`

	// Extensions for error
	Error *Element `json:"_error,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for reason
	Reason *Element `json:"_reason,omitempty"`

	// This is a Subscription resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`
}

Subscription The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined "channel" so that another system can take an appropriate action.

func (*Subscription) MarshalJSON

func (strct *Subscription) MarshalJSON() ([]byte, error)

func (*Subscription) UnmarshalJSON

func (strct *Subscription) UnmarshalJSON(b []byte) error

type SubscriptionChannel

type SubscriptionChannel struct {

	// Extensions for endpoint
	Endpoint *Element `json:"_endpoint,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for header
	Header []*Element `json:"_header,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 string `json:"payload,omitempty"`

	// The type of channel to send notifications on.
	Type string `json:"type,omitempty"`
}

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 (*SubscriptionChannel) MarshalJSON

func (strct *SubscriptionChannel) MarshalJSON() ([]byte, error)

func (*SubscriptionChannel) UnmarshalJSON

func (strct *SubscriptionChannel) UnmarshalJSON(b []byte) error

type SubscriptionStatus

type SubscriptionStatus struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// A record of errors that occurred when the server processed a notification.
	Error []*CodeableConcept `json:"error,omitempty"`

	// 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 `json:"eventsSinceSubscriptionStart,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Detailed information about events relevant to this subscription notification.
	NotificationEvent []*SubscriptionStatusNotificationEvent `json:"notificationEvent,omitempty"`

	// This is a SubscriptionStatus resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// The reference to the Subscription which generated this notification.
	Subscription *Reference `json:"subscription"`

	// 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 `json:"text,omitempty"`

	// The reference to the SubscriptionTopic for the Subscription which generated this notification.
	Topic string `json:"topic,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`
}

SubscriptionStatus The SubscriptionStatus resource describes the state of a Subscription during notifications.

func (*SubscriptionStatus) MarshalJSON

func (strct *SubscriptionStatus) MarshalJSON() ([]byte, error)

func (*SubscriptionStatus) UnmarshalJSON

func (strct *SubscriptionStatus) UnmarshalJSON(b []byte) error

type SubscriptionStatusNotificationEvent

type SubscriptionStatusNotificationEvent struct {

	// 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 `json:"additionalContext,omitempty"`

	// Extensions for eventNumber
	EventNumber *Element `json:"_eventNumber,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 `json:"focus,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The actual time this event occured on the server.
	Timestamp string `json:"timestamp,omitempty"`
}

SubscriptionStatusNotificationEvent The SubscriptionStatus resource describes the state of a Subscription during notifications.

func (*SubscriptionStatusNotificationEvent) MarshalJSON

func (strct *SubscriptionStatusNotificationEvent) MarshalJSON() ([]byte, error)

func (*SubscriptionStatusNotificationEvent) UnmarshalJSON

func (strct *SubscriptionStatusNotificationEvent) UnmarshalJSON(b []byte) error

type SubscriptionTopic

type SubscriptionTopic struct {

	// The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage.
	ApprovalDate string `json:"approvalDate,omitempty"`

	// 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 `json:"canFilterBy,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// The canonical URL pointing to another FHIR-defined SubscriptionTopic that is adhered to in whole or in part by this SubscriptionTopic.
	DerivedFrom []string `json:"derivedFrom,omitempty"`

	// A free text natural language description of the Topic from the consumer's perspective.
	Description string `json:"description,omitempty"`

	// The period during which the SubscriptionTopic content was or is planned to be effective.
	EffectivePeriod *Period `json:"effectivePeriod,omitempty"`

	// Event definition which can be used to trigger the SubscriptionTopic.
	EventTrigger []*SubscriptionTopicEventTrigger `json:"eventTrigger,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// A jurisdiction in which the Topic is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date.
	LastReviewDate string `json:"lastReviewDate,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// List of properties to describe the shape (e.g., resources) included in notifications from this Subscription Topic.
	NotificationShape []*SubscriptionTopicNotificationShape `json:"notificationShape,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Extensions for purpose
	Purpose *Element `json:"_purpose,omitempty"`

	// 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 `json:"resourceTrigger,omitempty"`

	// This is a SubscriptionTopic resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the SubscriptionTopic, for example, "admission".
	Title string `json:"title,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

SubscriptionTopic Describes a stream of resource state changes or events and annotated with labels useful to filter projections from this topic.

func (*SubscriptionTopic) MarshalJSON

func (strct *SubscriptionTopic) MarshalJSON() ([]byte, error)

func (*SubscriptionTopic) UnmarshalJSON

func (strct *SubscriptionTopic) UnmarshalJSON(b []byte) error

type SubscriptionTopicCanFilterBy

type SubscriptionTopicCanFilterBy struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 string `json:"filterDefinition,omitempty"`

	// Extensions for filterParameter
	FilterParameter *Element `json:"_filterParameter,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for modifier
	Modifier []*Element `json:"_modifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for resource
	Resource *Element `json:"_resource,omitempty"`
}

SubscriptionTopicCanFilterBy Describes a stream of resource state changes or events and annotated with labels useful to filter projections from this topic.

func (*SubscriptionTopicCanFilterBy) MarshalJSON

func (strct *SubscriptionTopicCanFilterBy) MarshalJSON() ([]byte, error)

func (*SubscriptionTopicCanFilterBy) UnmarshalJSON

func (strct *SubscriptionTopicCanFilterBy) UnmarshalJSON(b []byte) error

type SubscriptionTopicEventTrigger

type SubscriptionTopicEventTrigger struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// A well-defined event which can be used to trigger notifications from the SubscriptionTopic.
	Event *CodeableConcept `json:"event"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for resource
	Resource *Element `json:"_resource,omitempty"`
}

SubscriptionTopicEventTrigger Describes a stream of resource state changes or events and annotated with labels useful to filter projections from this topic.

func (*SubscriptionTopicEventTrigger) MarshalJSON

func (strct *SubscriptionTopicEventTrigger) MarshalJSON() ([]byte, error)

func (*SubscriptionTopicEventTrigger) UnmarshalJSON

func (strct *SubscriptionTopicEventTrigger) UnmarshalJSON(b []byte) error

type SubscriptionTopicNotificationShape

type SubscriptionTopicNotificationShape struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for include
	Include []*Element `json:"_include,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for resource
	Resource *Element `json:"_resource,omitempty"`

	// Extensions for revInclude
	RevInclude []*Element `json:"_revInclude,omitempty"`
}

SubscriptionTopicNotificationShape Describes a stream of resource state changes or events and annotated with labels useful to filter projections from this topic.

func (*SubscriptionTopicNotificationShape) MarshalJSON

func (strct *SubscriptionTopicNotificationShape) MarshalJSON() ([]byte, error)

func (*SubscriptionTopicNotificationShape) UnmarshalJSON

func (strct *SubscriptionTopicNotificationShape) UnmarshalJSON(b []byte) error

type SubscriptionTopicQueryCriteria

type SubscriptionTopicQueryCriteria struct {

	// Extensions for current
	Current *Element `json:"_current,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for previous
	Previous *Element `json:"_previous,omitempty"`

	// Extensions for requireBoth
	RequireBoth *Element `json:"_requireBoth,omitempty"`

	// For "create" interactions, should the "previous" criteria count as an automatic pass or an automatic fail.
	ResultForCreate string `json:"resultForCreate,omitempty"`

	// For "delete" interactions, should the "current" criteria count as an automatic pass or an automatic fail.
	ResultForDelete string `json:"resultForDelete,omitempty"`
}

SubscriptionTopicQueryCriteria Describes a stream of resource state changes or events and annotated with labels useful to filter projections from this topic.

func (*SubscriptionTopicQueryCriteria) MarshalJSON

func (strct *SubscriptionTopicQueryCriteria) MarshalJSON() ([]byte, error)

func (*SubscriptionTopicQueryCriteria) UnmarshalJSON

func (strct *SubscriptionTopicQueryCriteria) UnmarshalJSON(b []byte) error

type SubscriptionTopicResourceTrigger

type SubscriptionTopicResourceTrigger struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for fhirPathCriteria
	FhirPathCriteria *Element `json:"_fhirPathCriteria,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The FHIR query based rules that the server should use to determine when to trigger a notification for this subscription topic.
	QueryCriteria *SubscriptionTopicQueryCriteria `json:"queryCriteria,omitempty"`

	// 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 string `json:"resource,omitempty"`

	// Extensions for supportedInteraction
	SupportedInteraction []*Element `json:"_supportedInteraction,omitempty"`
}

SubscriptionTopicResourceTrigger Describes a stream of resource state changes or events and annotated with labels useful to filter projections from this topic.

func (*SubscriptionTopicResourceTrigger) MarshalJSON

func (strct *SubscriptionTopicResourceTrigger) MarshalJSON() ([]byte, error)

func (*SubscriptionTopicResourceTrigger) UnmarshalJSON

func (strct *SubscriptionTopicResourceTrigger) UnmarshalJSON(b []byte) error

type Substance

type Substance struct {

	// A code that classifies the general type of substance.  This is used  for searching, sorting and display purposes.
	Category []*CodeableConcept `json:"category,omitempty"`

	// A code (or set of codes) that identify this substance.
	Code *CodeableConcept `json:"code"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Unique identifier for the substance.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// A substance can be composed of other substances.
	Ingredient []*SubstanceIngredient `json:"ingredient,omitempty"`

	// Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instance.
	Instance []*SubstanceInstance `json:"instance,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// This is a Substance resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`
}

Substance A homogeneous material with a definite composition.

func (*Substance) MarshalJSON

func (strct *Substance) MarshalJSON() ([]byte, error)

func (*Substance) UnmarshalJSON

func (strct *Substance) UnmarshalJSON(b []byte) error

type SubstanceDefinition

type SubstanceDefinition struct {

	// 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 `json:"classification,omitempty"`

	// Codes associated with the substance.
	Code []*SubstanceDefinitionCode `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// If the substance applies to human or veterinary use.
	Domain *CodeableConcept `json:"domain,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The quality standard, established benchmark, to which substance complies (e.g. USP/NF, Ph. Eur, JP, BP, Company Standard).
	Grade []*CodeableConcept `json:"grade,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier by which this substance is known.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Supporting literature.
	InformationSource []*Reference `json:"informationSource,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The entity that creates, makes, produces or fabricates the substance. This is a set of potential manufacturers but is not necessarily comprehensive.
	Manufacturer []*Reference `json:"manufacturer,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Moiety, for structural modifications.
	Moiety []*SubstanceDefinitionMoiety `json:"moiety,omitempty"`

	// The molecular weight or weight range (for proteins, polymers or nucleic acids).
	MolecularWeight []*SubstanceDefinitionMolecularWeight `json:"molecularWeight,omitempty"`

	// Names applicable to this substance.
	Name []*SubstanceDefinitionName `json:"name,omitempty"`

	// Textual comment about the substance's catalogue or registry record.
	Note []*Annotation `json:"note,omitempty"`

	// General specifications for this substance.
	Property []*SubstanceDefinitionProperty `json:"property,omitempty"`

	// A link between this substance and another, with details of the relationship.
	Relationship []*SubstanceDefinitionRelationship `json:"relationship,omitempty"`

	// This is a SubstanceDefinition resource
	ResourceType interface{} `json:"resourceType"`

	// Material or taxonomic/anatomical source for the substance.
	SourceMaterial *SubstanceDefinitionSourceMaterial `json:"sourceMaterial,omitempty"`

	// Status of substance within the catalogue e.g. active, retired.
	Status *CodeableConcept `json:"status,omitempty"`

	// Structural information.
	Structure *SubstanceDefinitionStructure `json:"structure,omitempty"`

	// An entity that is the source for the substance. It may be different from the manufacturer. Supplier is synonymous to a distributor.
	Supplier []*Reference `json:"supplier,omitempty"`

	// 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 `json:"text,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

SubstanceDefinition The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (*SubstanceDefinition) MarshalJSON

func (strct *SubstanceDefinition) MarshalJSON() ([]byte, error)

func (*SubstanceDefinition) UnmarshalJSON

func (strct *SubstanceDefinition) UnmarshalJSON(b []byte) error

type SubstanceDefinitionCode

type SubstanceDefinitionCode struct {

	// The specific code.
	Code *CodeableConcept `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Any comment can be provided in this field, if necessary.
	Note []*Annotation `json:"note,omitempty"`

	// Supporting literature.
	Source []*Reference `json:"source,omitempty"`

	// Status of the code assignment, for example 'provisional', 'approved'.
	Status *CodeableConcept `json:"status,omitempty"`

	// The date at which the code status was changed as part of the terminology maintenance.
	StatusDate string `json:"statusDate,omitempty"`
}

SubstanceDefinitionCode The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (*SubstanceDefinitionCode) MarshalJSON

func (strct *SubstanceDefinitionCode) MarshalJSON() ([]byte, error)

func (*SubstanceDefinitionCode) UnmarshalJSON

func (strct *SubstanceDefinitionCode) UnmarshalJSON(b []byte) error

type SubstanceDefinitionMoiety

type SubstanceDefinitionMoiety struct {

	// Quantitative value for this moiety.
	AmountQuantity *Quantity `json:"amountQuantity,omitempty"`

	// Extensions for amountString
	AmountString *Element `json:"_amountString,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Identifier by which this moiety substance is known.
	Identifier *Identifier `json:"identifier,omitempty"`

	// 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 `json:"measurementType,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Molecular formula for this moiety of this substance, typically using the Hill system.
	MolecularFormula string `json:"molecularFormula,omitempty"`

	// Textual name for this moiety substance.
	Name string `json:"name,omitempty"`

	// Optical activity type.
	OpticalActivity *CodeableConcept `json:"opticalActivity,omitempty"`

	// Role that the moiety is playing.
	Role *CodeableConcept `json:"role,omitempty"`

	// Stereochemistry type.
	Stereochemistry *CodeableConcept `json:"stereochemistry,omitempty"`
}

SubstanceDefinitionMoiety The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (*SubstanceDefinitionMoiety) MarshalJSON

func (strct *SubstanceDefinitionMoiety) MarshalJSON() ([]byte, error)

func (*SubstanceDefinitionMoiety) UnmarshalJSON

func (strct *SubstanceDefinitionMoiety) UnmarshalJSON(b []byte) error

type SubstanceDefinitionMolecularWeight

type SubstanceDefinitionMolecularWeight struct {

	// 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 `json:"amount"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The method by which the molecular weight was determined.
	Method *CodeableConcept `json:"method,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Type of molecular weight such as exact, average (also known as. number average), weight average.
	Type *CodeableConcept `json:"type,omitempty"`
}

SubstanceDefinitionMolecularWeight The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (*SubstanceDefinitionMolecularWeight) MarshalJSON

func (strct *SubstanceDefinitionMolecularWeight) MarshalJSON() ([]byte, error)

func (*SubstanceDefinitionMolecularWeight) UnmarshalJSON

func (strct *SubstanceDefinitionMolecularWeight) UnmarshalJSON(b []byte) error

type SubstanceDefinitionName

type SubstanceDefinitionName struct {

	// 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 `json:"domain,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// The jurisdiction where this name applies.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Human language that the name is written in.
	Language []*CodeableConcept `json:"language,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The actual name.
	Name string `json:"name,omitempty"`

	// Details of the official nature of this name.
	Official []*SubstanceDefinitionOfficial `json:"official,omitempty"`

	// If this is the preferred name for this substance.
	Preferred bool `json:"preferred,omitempty"`

	// Supporting literature.
	Source []*Reference `json:"source,omitempty"`

	// The status of the name, for example 'current', 'proposed'.
	Status *CodeableConcept `json:"status,omitempty"`

	// A synonym of this particular name, by which the substance is also known.
	Synonym []*SubstanceDefinitionName `json:"synonym,omitempty"`

	// A translation for this name into another human language.
	Translation []*SubstanceDefinitionName `json:"translation,omitempty"`

	// Name type, for example 'systematic',  'scientific, 'brand'.
	Type *CodeableConcept `json:"type,omitempty"`
}

SubstanceDefinitionName The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (*SubstanceDefinitionName) MarshalJSON

func (strct *SubstanceDefinitionName) MarshalJSON() ([]byte, error)

func (*SubstanceDefinitionName) UnmarshalJSON

func (strct *SubstanceDefinitionName) UnmarshalJSON(b []byte) error

type SubstanceDefinitionOfficial

type SubstanceDefinitionOfficial struct {

	// Which authority uses this official name.
	Authority *CodeableConcept `json:"authority,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The status of the official name, for example 'draft', 'active', 'retired'.
	Status *CodeableConcept `json:"status,omitempty"`
}

SubstanceDefinitionOfficial The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (*SubstanceDefinitionOfficial) MarshalJSON

func (strct *SubstanceDefinitionOfficial) MarshalJSON() ([]byte, error)

func (*SubstanceDefinitionOfficial) UnmarshalJSON

func (strct *SubstanceDefinitionOfficial) UnmarshalJSON(b []byte) error

type SubstanceDefinitionProperty

type SubstanceDefinitionProperty struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A code expressing the type of property.
	Type *CodeableConcept `json:"type"`

	// A value for the property.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// A value for the property.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// Extensions for valueDate
	ValueDate *Element `json:"_valueDate,omitempty"`

	// A value for the property.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`
}

SubstanceDefinitionProperty The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (*SubstanceDefinitionProperty) MarshalJSON

func (strct *SubstanceDefinitionProperty) MarshalJSON() ([]byte, error)

func (*SubstanceDefinitionProperty) UnmarshalJSON

func (strct *SubstanceDefinitionProperty) UnmarshalJSON(b []byte) error

type SubstanceDefinitionRelationship

type SubstanceDefinitionRelationship struct {

	// 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.
	AmountQuantity *Quantity `json:"amountQuantity,omitempty"`

	// 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.
	AmountRatio *Ratio `json:"amountRatio,omitempty"`

	// Extensions for amountString
	AmountString *Element `json:"_amountString,omitempty"`

	// An operator for the amount, for example "average", "approximately", "less than".
	Comparator *CodeableConcept `json:"comparator,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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 bool `json:"isDefining,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// For use when the numeric has an uncertain range.
	RatioHighLimitAmount *Ratio `json:"ratioHighLimitAmount,omitempty"`

	// Supporting literature.
	Source []*Reference `json:"source,omitempty"`

	// A pointer to another substance, as a resource or just a representational code.
	SubstanceDefinitionCodeableConcept *CodeableConcept `json:"substanceDefinitionCodeableConcept,omitempty"`

	// A pointer to another substance, as a resource or just a representational code.
	SubstanceDefinitionReference *Reference `json:"substanceDefinitionReference,omitempty"`

	// For example "salt to parent", "active moiety", "starting material", "polymorph", "impurity of".
	Type *CodeableConcept `json:"type"`
}

SubstanceDefinitionRelationship The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (*SubstanceDefinitionRelationship) MarshalJSON

func (strct *SubstanceDefinitionRelationship) MarshalJSON() ([]byte, error)

func (*SubstanceDefinitionRelationship) UnmarshalJSON

func (strct *SubstanceDefinitionRelationship) UnmarshalJSON(b []byte) error

type SubstanceDefinitionRepresentation

type SubstanceDefinitionRepresentation struct {

	// 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 `json:"document,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 `json:"format,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for representation
	Representation *Element `json:"_representation,omitempty"`

	// The kind of structural representation (e.g. full, partial).
	Type *CodeableConcept `json:"type,omitempty"`
}

SubstanceDefinitionRepresentation The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (*SubstanceDefinitionRepresentation) MarshalJSON

func (strct *SubstanceDefinitionRepresentation) MarshalJSON() ([]byte, error)

func (*SubstanceDefinitionRepresentation) UnmarshalJSON

func (strct *SubstanceDefinitionRepresentation) UnmarshalJSON(b []byte) error

type SubstanceDefinitionSourceMaterial

type SubstanceDefinitionSourceMaterial struct {

	// The country or countries where the material is harvested.
	CountryOfOrigin []*CodeableConcept `json:"countryOfOrigin,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The genus of an organism, typically referring to the Latin epithet of the genus element of the plant/animal scientific name.
	Genus *CodeableConcept `json:"genus,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// An anatomical origin of the source material within an organism.
	Part *CodeableConcept `json:"part,omitempty"`

	// The species of an organism, typically referring to the Latin epithet of the species of the plant/animal.
	Species *CodeableConcept `json:"species,omitempty"`

	// A classification that provides the origin of the raw material. Example: cat hair would be an Animal source type.
	Type *CodeableConcept `json:"type,omitempty"`
}

SubstanceDefinitionSourceMaterial The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (*SubstanceDefinitionSourceMaterial) MarshalJSON

func (strct *SubstanceDefinitionSourceMaterial) MarshalJSON() ([]byte, error)

func (*SubstanceDefinitionSourceMaterial) UnmarshalJSON

func (strct *SubstanceDefinitionSourceMaterial) UnmarshalJSON(b []byte) error

type SubstanceDefinitionStructure

type SubstanceDefinitionStructure struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Molecular formula of this substance, typically using the Hill system.
	MolecularFormula string `json:"molecularFormula,omitempty"`

	// Extensions for molecularFormulaByMoiety
	MolecularFormulaByMoiety *Element `json:"_molecularFormulaByMoiety,omitempty"`

	// The molecular weight or weight range (for proteins, polymers or nucleic acids).
	MolecularWeight *SubstanceDefinitionMolecularWeight `json:"molecularWeight,omitempty"`

	// Optical activity type.
	OpticalActivity *CodeableConcept `json:"opticalActivity,omitempty"`

	// A depiction of the structure or characterization of the substance.
	Representation []*SubstanceDefinitionRepresentation `json:"representation,omitempty"`

	// The source of information about the structure.
	SourceDocument []*Reference `json:"sourceDocument,omitempty"`

	// Stereochemistry type.
	Stereochemistry *CodeableConcept `json:"stereochemistry,omitempty"`

	// 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 `json:"technique,omitempty"`
}

SubstanceDefinitionStructure The detailed description of a substance, typically at a level beyond what is used for prescribing.

func (*SubstanceDefinitionStructure) MarshalJSON

func (strct *SubstanceDefinitionStructure) MarshalJSON() ([]byte, error)

func (*SubstanceDefinitionStructure) UnmarshalJSON

func (strct *SubstanceDefinitionStructure) UnmarshalJSON(b []byte) error

type SubstanceIngredient

type SubstanceIngredient struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The amount of the ingredient in the substance - a concentration ratio.
	Quantity *Ratio `json:"quantity,omitempty"`

	// Another substance that is a component of this substance.
	SubstanceCodeableConcept *CodeableConcept `json:"substanceCodeableConcept,omitempty"`

	// Another substance that is a component of this substance.
	SubstanceReference *Reference `json:"substanceReference,omitempty"`
}

SubstanceIngredient A homogeneous material with a definite composition.

func (*SubstanceIngredient) MarshalJSON

func (strct *SubstanceIngredient) MarshalJSON() ([]byte, error)

func (*SubstanceIngredient) UnmarshalJSON

func (strct *SubstanceIngredient) UnmarshalJSON(b []byte) error

type SubstanceInstance

type SubstanceInstance struct {

	// Extensions for expiry
	Expiry *Element `json:"_expiry,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Identifier associated with the package/container (usually a label affixed directly).
	Identifier *Identifier `json:"identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The amount of the substance.
	Quantity *Quantity `json:"quantity,omitempty"`
}

SubstanceInstance A homogeneous material with a definite composition.

func (*SubstanceInstance) MarshalJSON

func (strct *SubstanceInstance) MarshalJSON() ([]byte, error)

func (*SubstanceInstance) UnmarshalJSON

func (strct *SubstanceInstance) UnmarshalJSON(b []byte) error

type SupplyDelivery

type SupplyDelivery struct {

	// A plan, proposal or order that is fulfilled in whole or in part by this event.
	BasedOn []*Reference `json:"basedOn,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Identification of the facility/location where the Supply was shipped to, as part of the dispense event.
	Destination *Reference `json:"destination,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier for the supply delivery event that is used to identify it across multiple disparate systems.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for occurrenceDateTime
	OccurrenceDateTime *Element `json:"_occurrenceDateTime,omitempty"`

	// The date or time(s) the activity occurred.
	OccurrencePeriod *Period `json:"occurrencePeriod,omitempty"`

	// The date or time(s) the activity occurred.
	OccurrenceTiming *Timing `json:"occurrenceTiming,omitempty"`

	// A larger event of which this particular event is a component or step.
	PartOf []*Reference `json:"partOf,omitempty"`

	// A link to a resource representing the person whom the delivered item is for.
	Patient *Reference `json:"patient,omitempty"`

	// Identifies the person who picked up the Supply.
	Receiver []*Reference `json:"receiver,omitempty"`

	// This is a SupplyDelivery resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// The item that is being delivered or has been supplied.
	SuppliedItem *SupplyDeliverySuppliedItem `json:"suppliedItem,omitempty"`

	// The individual responsible for dispensing the medication, supplier or device.
	Supplier *Reference `json:"supplier,omitempty"`

	// 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 `json:"text,omitempty"`

	// Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.
	Type *CodeableConcept `json:"type,omitempty"`
}

SupplyDelivery Record of delivery of what is supplied.

func (*SupplyDelivery) MarshalJSON

func (strct *SupplyDelivery) MarshalJSON() ([]byte, error)

func (*SupplyDelivery) UnmarshalJSON

func (strct *SupplyDelivery) UnmarshalJSON(b []byte) error

type SupplyDeliverySuppliedItem

type SupplyDeliverySuppliedItem struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// 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.
	ItemCodeableConcept *CodeableConcept `json:"itemCodeableConcept,omitempty"`

	// 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.
	ItemReference *Reference `json:"itemReference,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The amount of supply that has been dispensed. Includes unit of measure.
	Quantity *Quantity `json:"quantity,omitempty"`
}

SupplyDeliverySuppliedItem Record of delivery of what is supplied.

func (*SupplyDeliverySuppliedItem) MarshalJSON

func (strct *SupplyDeliverySuppliedItem) MarshalJSON() ([]byte, error)

func (*SupplyDeliverySuppliedItem) UnmarshalJSON

func (strct *SupplyDeliverySuppliedItem) UnmarshalJSON(b []byte) error

type SupplyRequest

type SupplyRequest struct {

	// When the request was made.
	AuthoredOn string `json:"authoredOn,omitempty"`

	// Category of supply, e.g.  central, non-stock, etc. This is used to support work flows associated with the supply process.
	Category *CodeableConcept `json:"category,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Where the supply is expected to come from.
	DeliverFrom *Reference `json:"deliverFrom,omitempty"`

	// Where the supply is destined to go.
	DeliverTo *Reference `json:"deliverTo,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// 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.
	ItemCodeableConcept *CodeableConcept `json:"itemCodeableConcept,omitempty"`

	// 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.
	ItemReference *Reference `json:"itemReference,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// When the request should be fulfilled.
	OccurrenceDateTime string `json:"occurrenceDateTime,omitempty"`

	// When the request should be fulfilled.
	OccurrencePeriod *Period `json:"occurrencePeriod,omitempty"`

	// When the request should be fulfilled.
	OccurrenceTiming *Timing `json:"occurrenceTiming,omitempty"`

	// Specific parameters for the ordered item.  For example, the size of the indicated item.
	Parameter []*SupplyRequestParameter `json:"parameter,omitempty"`

	// Indicates how quickly this SupplyRequest should be addressed with respect to other requests.
	Priority string `json:"priority,omitempty"`

	// The amount that is being ordered of the indicated item.
	Quantity *Quantity `json:"quantity"`

	// The reason why the supply item was requested.
	ReasonCode []*CodeableConcept `json:"reasonCode,omitempty"`

	// The reason why the supply item was requested.
	ReasonReference []*Reference `json:"reasonReference,omitempty"`

	// The device, practitioner, etc. who initiated the request.
	Requester *Reference `json:"requester,omitempty"`

	// This is a SupplyRequest resource
	ResourceType interface{} `json:"resourceType"`

	// Status of the supply request.
	Status string `json:"status,omitempty"`

	// Who is intended to fulfill the request.
	Supplier []*Reference `json:"supplier,omitempty"`

	// 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 `json:"text,omitempty"`
}

SupplyRequest A record of a request for a medication, substance or device used in the healthcare setting.

func (*SupplyRequest) MarshalJSON

func (strct *SupplyRequest) MarshalJSON() ([]byte, error)

func (*SupplyRequest) UnmarshalJSON

func (strct *SupplyRequest) UnmarshalJSON(b []byte) error

type SupplyRequestParameter

type SupplyRequestParameter struct {

	// A code or string that identifies the device detail being asserted.
	Code *CodeableConcept `json:"code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// The value of the device detail.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// The value of the device detail.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// The value of the device detail.
	ValueRange *Range `json:"valueRange,omitempty"`
}

SupplyRequestParameter A record of a request for a medication, substance or device used in the healthcare setting.

func (*SupplyRequestParameter) MarshalJSON

func (strct *SupplyRequestParameter) MarshalJSON() ([]byte, error)

func (*SupplyRequestParameter) UnmarshalJSON

func (strct *SupplyRequestParameter) UnmarshalJSON(b []byte) error

type Task

type Task struct {

	// Extensions for authoredOn
	AuthoredOn *Element `json:"_authoredOn,omitempty"`

	// 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 `json:"basedOn,omitempty"`

	// Contains business-specific nuances of the business state.
	BusinessStatus *CodeableConcept `json:"businessStatus,omitempty"`

	// A name or code (or both) briefly describing what the task involves.
	Code *CodeableConcept `json:"code,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// The healthcare event  (e.g. a patient and healthcare provider interaction) during which this task was created.
	Encounter *Reference `json:"encounter,omitempty"`

	// 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 `json:"executionPeriod,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The request being actioned or the resource being manipulated by this task.
	Focus *Reference `json:"focus,omitempty"`

	// The entity who benefits from the performance of the service specified in the task (e.g., the patient).
	For *Reference `json:"for,omitempty"`

	// An identifier that links together multiple tasks and other requests that were created in the same context.
	GroupIdentifier *Identifier `json:"groupIdentifier,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// The business identifier for this task.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Additional information that may be needed in the execution of the task.
	Input []*TaskInput `json:"input,omitempty"`

	// 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 string `json:"instantiatesCanonical,omitempty"`

	// 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 string `json:"instantiatesUri,omitempty"`

	// Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Task.
	Insurance []*Reference `json:"insurance,omitempty"`

	// Extensions for intent
	Intent *Element `json:"_intent,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Extensions for lastModified
	LastModified *Element `json:"_lastModified,omitempty"`

	// Principal physical location where the this task is performed.
	Location *Reference `json:"location,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Free-text information captured about the task as it progresses.
	Note []*Annotation `json:"note,omitempty"`

	// Outputs produced by the Task.
	Output []*TaskOutput `json:"output,omitempty"`

	// Individual organization or Device currently responsible for task execution.
	Owner *Reference `json:"owner,omitempty"`

	// Task that this particular task is part of.
	PartOf []*Reference `json:"partOf,omitempty"`

	// The kind of participant that should perform the task.
	PerformerType []*CodeableConcept `json:"performerType,omitempty"`

	// Indicates how quickly the Task should be addressed with respect to other requests.
	Priority string `json:"priority,omitempty"`

	// A description or code indicating why this task needs to be performed.
	ReasonCode *CodeableConcept `json:"reasonCode,omitempty"`

	// A resource reference indicating why this task needs to be performed.
	ReasonReference *Reference `json:"reasonReference,omitempty"`

	// 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 `json:"relevantHistory,omitempty"`

	// The creator of the task.
	Requester *Reference `json:"requester,omitempty"`

	// This is a Task resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"restriction,omitempty"`

	// The current status of the task.
	Status string `json:"status,omitempty"`

	// An explanation as to why this task is held, failed, was refused, etc.
	StatusReason *CodeableConcept `json:"statusReason,omitempty"`

	// 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 `json:"text,omitempty"`
}

Task A task to be performed.

func (*Task) MarshalJSON

func (strct *Task) MarshalJSON() ([]byte, error)

func (*Task) UnmarshalJSON

func (strct *Task) UnmarshalJSON(b []byte) error

type TaskInput

type TaskInput struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A code or description indicating how the input is intended to be used as part of the task execution.
	Type *CodeableConcept `json:"type"`

	// The value of the input parameter as a basic type.
	ValueAddress *Address `json:"valueAddress,omitempty"`

	// The value of the input parameter as a basic type.
	ValueAge *Age `json:"valueAge,omitempty"`

	// The value of the input parameter as a basic type.
	ValueAnnotation *Annotation `json:"valueAnnotation,omitempty"`

	// The value of the input parameter as a basic type.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// Extensions for valueBase64Binary
	ValueBase64Binary *Element `json:"_valueBase64Binary,omitempty"`

	// The value of the input parameter as a basic type.
	ValueBoolean bool `json:"valueBoolean,omitempty"`

	// Extensions for valueCanonical
	ValueCanonical *Element `json:"_valueCanonical,omitempty"`

	// The value of the input parameter as a basic type.
	ValueCode string `json:"valueCode,omitempty"`

	// The value of the input parameter as a basic type.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// The value of the input parameter as a basic type.
	ValueCoding *Coding `json:"valueCoding,omitempty"`

	// The value of the input parameter as a basic type.
	ValueContactDetail *ContactDetail `json:"valueContactDetail,omitempty"`

	// The value of the input parameter as a basic type.
	ValueContactPoint *ContactPoint `json:"valueContactPoint,omitempty"`

	// The value of the input parameter as a basic type.
	ValueContributor *Contributor `json:"valueContributor,omitempty"`

	// The value of the input parameter as a basic type.
	ValueCount *Count `json:"valueCount,omitempty"`

	// The value of the input parameter as a basic type.
	ValueDataRequirement *DataRequirement `json:"valueDataRequirement,omitempty"`

	// The value of the input parameter as a basic type.
	ValueDate string `json:"valueDate,omitempty"`

	// Extensions for valueDateTime
	ValueDateTime *Element `json:"_valueDateTime,omitempty"`

	// Extensions for valueDecimal
	ValueDecimal *Element `json:"_valueDecimal,omitempty"`

	// The value of the input parameter as a basic type.
	ValueDistance *Distance `json:"valueDistance,omitempty"`

	// The value of the input parameter as a basic type.
	ValueDosage *Dosage `json:"valueDosage,omitempty"`

	// The value of the input parameter as a basic type.
	ValueDuration *Duration `json:"valueDuration,omitempty"`

	// The value of the input parameter as a basic type.
	ValueExpression *Expression `json:"valueExpression,omitempty"`

	// The value of the input parameter as a basic type.
	ValueHumanName *HumanName `json:"valueHumanName,omitempty"`

	// Extensions for valueId
	ValueId *Element `json:"_valueId,omitempty"`

	// The value of the input parameter as a basic type.
	ValueIdentifier *Identifier `json:"valueIdentifier,omitempty"`

	// Extensions for valueInstant
	ValueInstant *Element `json:"_valueInstant,omitempty"`

	// The value of the input parameter as a basic type.
	ValueInteger float64 `json:"valueInteger,omitempty"`

	// Extensions for valueMarkdown
	ValueMarkdown *Element `json:"_valueMarkdown,omitempty"`

	// The value of the input parameter as a basic type.
	ValueMeta *Meta `json:"valueMeta,omitempty"`

	// The value of the input parameter as a basic type.
	ValueMoney *Money `json:"valueMoney,omitempty"`

	// Extensions for valueOid
	ValueOid *Element `json:"_valueOid,omitempty"`

	// The value of the input parameter as a basic type.
	ValueParameterDefinition *ParameterDefinition `json:"valueParameterDefinition,omitempty"`

	// The value of the input parameter as a basic type.
	ValuePeriod *Period `json:"valuePeriod,omitempty"`

	// Extensions for valuePositiveInt
	ValuePositiveInt *Element `json:"_valuePositiveInt,omitempty"`

	// The value of the input parameter as a basic type.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// The value of the input parameter as a basic type.
	ValueRange *Range `json:"valueRange,omitempty"`

	// The value of the input parameter as a basic type.
	ValueRatio *Ratio `json:"valueRatio,omitempty"`

	// The value of the input parameter as a basic type.
	ValueReference *Reference `json:"valueReference,omitempty"`

	// The value of the input parameter as a basic type.
	ValueRelatedArtifact *RelatedArtifact `json:"valueRelatedArtifact,omitempty"`

	// The value of the input parameter as a basic type.
	ValueSampledData *SampledData `json:"valueSampledData,omitempty"`

	// The value of the input parameter as a basic type.
	ValueSignature *Signature `json:"valueSignature,omitempty"`

	// Extensions for valueString
	ValueString *Element `json:"_valueString,omitempty"`

	// The value of the input parameter as a basic type.
	ValueTime string `json:"valueTime,omitempty"`

	// The value of the input parameter as a basic type.
	ValueTiming *Timing `json:"valueTiming,omitempty"`

	// The value of the input parameter as a basic type.
	ValueTriggerDefinition *TriggerDefinition `json:"valueTriggerDefinition,omitempty"`

	// Extensions for valueUnsignedInt
	ValueUnsignedInt *Element `json:"_valueUnsignedInt,omitempty"`

	// Extensions for valueUri
	ValueUri *Element `json:"_valueUri,omitempty"`

	// Extensions for valueUrl
	ValueUrl *Element `json:"_valueUrl,omitempty"`

	// The value of the input parameter as a basic type.
	ValueUsageContext *UsageContext `json:"valueUsageContext,omitempty"`

	// The value of the input parameter as a basic type.
	ValueUuid string `json:"valueUuid,omitempty"`
}

TaskInput A task to be performed.

func (*TaskInput) MarshalJSON

func (strct *TaskInput) MarshalJSON() ([]byte, error)

func (*TaskInput) UnmarshalJSON

func (strct *TaskInput) UnmarshalJSON(b []byte) error

type TaskOutput

type TaskOutput struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The name of the Output parameter.
	Type *CodeableConcept `json:"type"`

	// The value of the Output parameter as a basic type.
	ValueAddress *Address `json:"valueAddress,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueAge *Age `json:"valueAge,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueAnnotation *Annotation `json:"valueAnnotation,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueAttachment *Attachment `json:"valueAttachment,omitempty"`

	// Extensions for valueBase64Binary
	ValueBase64Binary *Element `json:"_valueBase64Binary,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueBoolean bool `json:"valueBoolean,omitempty"`

	// Extensions for valueCanonical
	ValueCanonical *Element `json:"_valueCanonical,omitempty"`

	// Extensions for valueCode
	ValueCode *Element `json:"_valueCode,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueCoding *Coding `json:"valueCoding,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueContactDetail *ContactDetail `json:"valueContactDetail,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueContactPoint *ContactPoint `json:"valueContactPoint,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueContributor *Contributor `json:"valueContributor,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueCount *Count `json:"valueCount,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueDataRequirement *DataRequirement `json:"valueDataRequirement,omitempty"`

	// Extensions for valueDate
	ValueDate *Element `json:"_valueDate,omitempty"`

	// Extensions for valueDateTime
	ValueDateTime *Element `json:"_valueDateTime,omitempty"`

	// Extensions for valueDecimal
	ValueDecimal *Element `json:"_valueDecimal,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueDistance *Distance `json:"valueDistance,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueDosage *Dosage `json:"valueDosage,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueDuration *Duration `json:"valueDuration,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueExpression *Expression `json:"valueExpression,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueHumanName *HumanName `json:"valueHumanName,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueId string `json:"valueId,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueIdentifier *Identifier `json:"valueIdentifier,omitempty"`

	// Extensions for valueInstant
	ValueInstant *Element `json:"_valueInstant,omitempty"`

	// Extensions for valueInteger
	ValueInteger *Element `json:"_valueInteger,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueMarkdown string `json:"valueMarkdown,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueMeta *Meta `json:"valueMeta,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueMoney *Money `json:"valueMoney,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueOid string `json:"valueOid,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueParameterDefinition *ParameterDefinition `json:"valueParameterDefinition,omitempty"`

	// The value of the Output parameter as a basic type.
	ValuePeriod *Period `json:"valuePeriod,omitempty"`

	// The value of the Output parameter as a basic type.
	ValuePositiveInt float64 `json:"valuePositiveInt,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueRange *Range `json:"valueRange,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueRatio *Ratio `json:"valueRatio,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueReference *Reference `json:"valueReference,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueRelatedArtifact *RelatedArtifact `json:"valueRelatedArtifact,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueSampledData *SampledData `json:"valueSampledData,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueSignature *Signature `json:"valueSignature,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueString string `json:"valueString,omitempty"`

	// Extensions for valueTime
	ValueTime *Element `json:"_valueTime,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueTiming *Timing `json:"valueTiming,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueTriggerDefinition *TriggerDefinition `json:"valueTriggerDefinition,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueUnsignedInt float64 `json:"valueUnsignedInt,omitempty"`

	// Extensions for valueUri
	ValueUri *Element `json:"_valueUri,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueUrl string `json:"valueUrl,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueUsageContext *UsageContext `json:"valueUsageContext,omitempty"`

	// The value of the Output parameter as a basic type.
	ValueUuid string `json:"valueUuid,omitempty"`
}

TaskOutput A task to be performed.

func (*TaskOutput) MarshalJSON

func (strct *TaskOutput) MarshalJSON() ([]byte, error)

func (*TaskOutput) UnmarshalJSON

func (strct *TaskOutput) UnmarshalJSON(b []byte) error

type TaskRestriction

type TaskRestriction struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Over what time-period is fulfillment sought.
	Period *Period `json:"period,omitempty"`

	// For requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought?
	Recipient []*Reference `json:"recipient,omitempty"`

	// Extensions for repetitions
	Repetitions *Element `json:"_repetitions,omitempty"`
}

TaskRestriction A task to be performed.

func (*TaskRestriction) MarshalJSON

func (strct *TaskRestriction) MarshalJSON() ([]byte, error)

func (*TaskRestriction) UnmarshalJSON

func (strct *TaskRestriction) UnmarshalJSON(b []byte) error

type TerminologyCapabilities

type TerminologyCapabilities struct {

	// Whether the $closure operation is supported.
	Closure *TerminologyCapabilitiesClosure `json:"closure,omitempty"`

	// The degree to which the server supports the code search parameter on ValueSet, if it is supported.
	CodeSearch string `json:"codeSearch,omitempty"`

	// Identifies a code system that is supported by the server. If there is a no code system URL, then this declares the general assumptions a client can make about support for any CodeSystem resource.
	CodeSystem []*TerminologyCapabilitiesCodeSystem `json:"codeSystem,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// 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 string `json:"date,omitempty"`

	// 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 string `json:"description,omitempty"`

	// Information about the [ValueSet/$expand](valueset-operation-expand.html) operation.
	Expansion *TerminologyCapabilitiesExpansion `json:"expansion,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program.
	Implementation *TerminologyCapabilitiesImplementation `json:"implementation,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// A legal or geographic region in which the terminology capabilities is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// Extensions for kind
	Kind *Element `json:"_kind,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Whether the server supports lockedDate.
	LockedDate bool `json:"lockedDate,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// The name of the organization or individual that published the terminology capabilities.
	Publisher string `json:"publisher,omitempty"`

	// Explanation of why this terminology capabilities is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// This is a TerminologyCapabilities resource
	ResourceType interface{} `json:"resourceType"`

	// 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 `json:"software,omitempty"`

	// The status of this terminology capabilities. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the terminology capabilities.
	Title string `json:"title,omitempty"`

	// Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation.
	Translation *TerminologyCapabilitiesTranslation `json:"translation,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation.
	ValidateCode *TerminologyCapabilitiesValidateCode `json:"validateCode,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

TerminologyCapabilities A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.

func (*TerminologyCapabilities) MarshalJSON

func (strct *TerminologyCapabilities) MarshalJSON() ([]byte, error)

func (*TerminologyCapabilities) UnmarshalJSON

func (strct *TerminologyCapabilities) UnmarshalJSON(b []byte) error

type TerminologyCapabilitiesClosure

type TerminologyCapabilitiesClosure struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for translation
	Translation *Element `json:"_translation,omitempty"`
}

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 (*TerminologyCapabilitiesClosure) MarshalJSON

func (strct *TerminologyCapabilitiesClosure) MarshalJSON() ([]byte, error)

func (*TerminologyCapabilitiesClosure) UnmarshalJSON

func (strct *TerminologyCapabilitiesClosure) UnmarshalJSON(b []byte) error

type TerminologyCapabilitiesCodeSystem

type TerminologyCapabilitiesCodeSystem struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for subsumption
	Subsumption *Element `json:"_subsumption,omitempty"`

	// URI for the Code System.
	Uri string `json:"uri,omitempty"`

	// For the code system, a list of versions that are supported by the server.
	Version []*TerminologyCapabilitiesVersion `json:"version,omitempty"`
}

TerminologyCapabilitiesCodeSystem 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 (*TerminologyCapabilitiesCodeSystem) MarshalJSON

func (strct *TerminologyCapabilitiesCodeSystem) MarshalJSON() ([]byte, error)

func (*TerminologyCapabilitiesCodeSystem) UnmarshalJSON

func (strct *TerminologyCapabilitiesCodeSystem) UnmarshalJSON(b []byte) error

type TerminologyCapabilitiesExpansion

type TerminologyCapabilitiesExpansion struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for hierarchical
	Hierarchical *Element `json:"_hierarchical,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for incomplete
	Incomplete *Element `json:"_incomplete,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Whether the server supports paging on expansion.
	Paging bool `json:"paging,omitempty"`

	// Supported expansion parameter.
	Parameter []*TerminologyCapabilitiesParameter `json:"parameter,omitempty"`

	// Extensions for textFilter
	TextFilter *Element `json:"_textFilter,omitempty"`
}

TerminologyCapabilitiesExpansion 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 (*TerminologyCapabilitiesExpansion) MarshalJSON

func (strct *TerminologyCapabilitiesExpansion) MarshalJSON() ([]byte, error)

func (*TerminologyCapabilitiesExpansion) UnmarshalJSON

func (strct *TerminologyCapabilitiesExpansion) UnmarshalJSON(b []byte) error

type TerminologyCapabilitiesFilter

type TerminologyCapabilitiesFilter struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for op
	Op []*Element `json:"_op,omitempty"`
}

TerminologyCapabilitiesFilter 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 (*TerminologyCapabilitiesFilter) MarshalJSON

func (strct *TerminologyCapabilitiesFilter) MarshalJSON() ([]byte, error)

func (*TerminologyCapabilitiesFilter) UnmarshalJSON

func (strct *TerminologyCapabilitiesFilter) UnmarshalJSON(b []byte) error

type TerminologyCapabilitiesImplementation

type TerminologyCapabilitiesImplementation struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`
}

TerminologyCapabilitiesImplementation 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 (*TerminologyCapabilitiesImplementation) MarshalJSON

func (strct *TerminologyCapabilitiesImplementation) MarshalJSON() ([]byte, error)

func (*TerminologyCapabilitiesImplementation) UnmarshalJSON

func (strct *TerminologyCapabilitiesImplementation) UnmarshalJSON(b []byte) error

type TerminologyCapabilitiesParameter

type TerminologyCapabilitiesParameter struct {

	// Extensions for documentation
	Documentation *Element `json:"_documentation,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Expansion Parameter name.
	Name string `json:"name,omitempty"`
}

TerminologyCapabilitiesParameter 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 (*TerminologyCapabilitiesParameter) MarshalJSON

func (strct *TerminologyCapabilitiesParameter) MarshalJSON() ([]byte, error)

func (*TerminologyCapabilitiesParameter) UnmarshalJSON

func (strct *TerminologyCapabilitiesParameter) UnmarshalJSON(b []byte) error

type TerminologyCapabilitiesSoftware

type TerminologyCapabilitiesSoftware struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

TerminologyCapabilitiesSoftware 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 (*TerminologyCapabilitiesSoftware) MarshalJSON

func (strct *TerminologyCapabilitiesSoftware) MarshalJSON() ([]byte, error)

func (*TerminologyCapabilitiesSoftware) UnmarshalJSON

func (strct *TerminologyCapabilitiesSoftware) UnmarshalJSON(b []byte) error

type TerminologyCapabilitiesTranslation

type TerminologyCapabilitiesTranslation struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for needsMap
	NeedsMap *Element `json:"_needsMap,omitempty"`
}

TerminologyCapabilitiesTranslation 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 (*TerminologyCapabilitiesTranslation) MarshalJSON

func (strct *TerminologyCapabilitiesTranslation) MarshalJSON() ([]byte, error)

func (*TerminologyCapabilitiesTranslation) UnmarshalJSON

func (strct *TerminologyCapabilitiesTranslation) UnmarshalJSON(b []byte) error

type TerminologyCapabilitiesValidateCode

type TerminologyCapabilitiesValidateCode struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for translations
	Translations *Element `json:"_translations,omitempty"`
}

TerminologyCapabilitiesValidateCode 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 (*TerminologyCapabilitiesValidateCode) MarshalJSON

func (strct *TerminologyCapabilitiesValidateCode) MarshalJSON() ([]byte, error)

func (*TerminologyCapabilitiesValidateCode) UnmarshalJSON

func (strct *TerminologyCapabilitiesValidateCode) UnmarshalJSON(b []byte) error

type TerminologyCapabilitiesVersion

type TerminologyCapabilitiesVersion struct {

	// For version-less code systems, there should be a single version with no identifier.
	Code string `json:"code,omitempty"`

	// If the compositional grammar defined by the code system is supported.
	Compositional bool `json:"compositional,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Filter Properties supported.
	Filter []*TerminologyCapabilitiesFilter `json:"filter,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// If this is the default version for this code system.
	IsDefault bool `json:"isDefault,omitempty"`

	// Language Displays supported.
	Language []string `json:"language,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for property
	Property []*Element `json:"_property,omitempty"`
}

TerminologyCapabilitiesVersion 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 (*TerminologyCapabilitiesVersion) MarshalJSON

func (strct *TerminologyCapabilitiesVersion) MarshalJSON() ([]byte, error)

func (*TerminologyCapabilitiesVersion) UnmarshalJSON

func (strct *TerminologyCapabilitiesVersion) UnmarshalJSON(b []byte) error

type TestReport

type TestReport struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Identifier for the TestScript assigned for external purposes outside the context of FHIR.
	Identifier *Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for issued
	Issued *Element `json:"_issued,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// A participant in the test execution, either the execution engine, a client, or a server.
	Participant []*TestReportParticipant `json:"participant,omitempty"`

	// This is a TestReport resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for result
	Result *Element `json:"_result,omitempty"`

	// The final score (percentage of tests passed) resulting from the execution of the TestScript.
	Score float64 `json:"score,omitempty"`

	// The results of the series of required setup operations before the tests were executed.
	Setup *TestReportSetup `json:"setup,omitempty"`

	// The current state of this test report.
	Status string `json:"status,omitempty"`

	// The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise).
	Teardown *TestReportTeardown `json:"teardown,omitempty"`

	// A test executed from the test script.
	Test []*TestReportTest `json:"test,omitempty"`

	// Ideally this is an absolute URL that is used to identify the version-specific TestScript that was executed, matching the `TestScript.url`.
	TestScript *Reference `json:"testScript"`

	// Extensions for tester
	Tester *Element `json:"_tester,omitempty"`

	// 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 `json:"text,omitempty"`
}

TestReport A summary of information based on the results of executing a TestScript.

func (*TestReport) MarshalJSON

func (strct *TestReport) MarshalJSON() ([]byte, error)

func (*TestReport) UnmarshalJSON

func (strct *TestReport) UnmarshalJSON(b []byte) error

type TestReportAction

type TestReportAction struct {

	// The results of the assertion performed on the previous operations.
	Assert *TestReportAssert `json:"assert,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The operation performed.
	Operation *TestReportOperation `json:"operation,omitempty"`
}

TestReportAction A summary of information based on the results of executing a TestScript.

func (*TestReportAction) MarshalJSON

func (strct *TestReportAction) MarshalJSON() ([]byte, error)

func (*TestReportAction) UnmarshalJSON

func (strct *TestReportAction) UnmarshalJSON(b []byte) error

type TestReportAction1

type TestReportAction1 struct {

	// The results of the assertion performed on the previous operations.
	Assert *TestReportAssert `json:"assert,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// An operation would involve a REST request to a server.
	Operation *TestReportOperation `json:"operation,omitempty"`
}

TestReportAction1 A summary of information based on the results of executing a TestScript.

func (*TestReportAction1) MarshalJSON

func (strct *TestReportAction1) MarshalJSON() ([]byte, error)

func (*TestReportAction1) UnmarshalJSON

func (strct *TestReportAction1) UnmarshalJSON(b []byte) error

type TestReportAction2

type TestReportAction2 struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// An operation would involve a REST request to a server.
	Operation *TestReportOperation `json:"operation"`
}

TestReportAction2 A summary of information based on the results of executing a TestScript.

func (*TestReportAction2) MarshalJSON

func (strct *TestReportAction2) MarshalJSON() ([]byte, error)

func (*TestReportAction2) UnmarshalJSON

func (strct *TestReportAction2) UnmarshalJSON(b []byte) error

type TestReportAssert

type TestReportAssert struct {

	// Extensions for detail
	Detail *Element `json:"_detail,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for message
	Message *Element `json:"_message,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for result
	Result *Element `json:"_result,omitempty"`
}

TestReportAssert A summary of information based on the results of executing a TestScript.

func (*TestReportAssert) MarshalJSON

func (strct *TestReportAssert) MarshalJSON() ([]byte, error)

func (*TestReportAssert) UnmarshalJSON

func (strct *TestReportAssert) UnmarshalJSON(b []byte) error

type TestReportOperation

type TestReportOperation struct {

	// Extensions for detail
	Detail *Element `json:"_detail,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for message
	Message *Element `json:"_message,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for result
	Result *Element `json:"_result,omitempty"`
}

TestReportOperation A summary of information based on the results of executing a TestScript.

func (*TestReportOperation) MarshalJSON

func (strct *TestReportOperation) MarshalJSON() ([]byte, error)

func (*TestReportOperation) UnmarshalJSON

func (strct *TestReportOperation) UnmarshalJSON(b []byte) error

type TestReportParticipant

type TestReportParticipant struct {

	// The display name of the participant.
	Display string `json:"display,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for type
	Type *Element `json:"_type,omitempty"`

	// Extensions for uri
	Uri *Element `json:"_uri,omitempty"`
}

TestReportParticipant A summary of information based on the results of executing a TestScript.

func (*TestReportParticipant) MarshalJSON

func (strct *TestReportParticipant) MarshalJSON() ([]byte, error)

func (*TestReportParticipant) UnmarshalJSON

func (strct *TestReportParticipant) UnmarshalJSON(b []byte) error

type TestReportSetup

type TestReportSetup struct {

	// Action would contain either an operation or an assertion.
	Action []*TestReportAction `json:"action"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

TestReportSetup A summary of information based on the results of executing a TestScript.

func (*TestReportSetup) MarshalJSON

func (strct *TestReportSetup) MarshalJSON() ([]byte, error)

func (*TestReportSetup) UnmarshalJSON

func (strct *TestReportSetup) UnmarshalJSON(b []byte) error

type TestReportTeardown

type TestReportTeardown struct {

	// The teardown action will only contain an operation.
	Action []*TestReportAction2 `json:"action"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

TestReportTeardown A summary of information based on the results of executing a TestScript.

func (*TestReportTeardown) MarshalJSON

func (strct *TestReportTeardown) MarshalJSON() ([]byte, error)

func (*TestReportTeardown) UnmarshalJSON

func (strct *TestReportTeardown) UnmarshalJSON(b []byte) error

type TestReportTest

type TestReportTest struct {

	// Action would contain either an operation or an assertion.
	Action []*TestReportAction1 `json:"action"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`
}

TestReportTest A summary of information based on the results of executing a TestScript.

func (*TestReportTest) MarshalJSON

func (strct *TestReportTest) MarshalJSON() ([]byte, error)

func (*TestReportTest) UnmarshalJSON

func (strct *TestReportTest) UnmarshalJSON(b []byte) error

type TestScript

type TestScript struct {

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 string `json:"copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// A free text natural language description of the test script from a consumer's perspective.
	Description string `json:"description,omitempty"`

	// An abstract server used in operations within this test script in the destination element.
	Destination []*TestScriptDestination `json:"destination,omitempty"`

	// Extensions for experimental
	Experimental *Element `json:"_experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.
	Fixture []*TestScriptFixture `json:"fixture,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// A legal or geographic region in which the test script is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// The required capability must exist and are assumed to function correctly on the FHIR server being tested.
	Metadata *TestScriptMetadata `json:"metadata,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// 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 `json:"name,omitempty"`

	// An abstract server used in operations within this test script in the origin element.
	Origin []*TestScriptOrigin `json:"origin,omitempty"`

	// Reference to the profile to be used for validation.
	Profile []*Reference `json:"profile,omitempty"`

	// Extensions for publisher
	Publisher *Element `json:"_publisher,omitempty"`

	// Explanation of why this test script is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// This is a TestScript resource
	ResourceType interface{} `json:"resourceType"`

	// A series of required setup operations before tests are executed.
	Setup *TestScriptSetup `json:"setup,omitempty"`

	// The status of this test script. Enables tracking the life-cycle of the content.
	Status string `json:"status,omitempty"`

	// A series of operations required to clean up after all the tests are executed (successfully or otherwise).
	Teardown *TestScriptTeardown `json:"teardown,omitempty"`

	// A test in this script.
	Test []*TestScriptTest `json:"test,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the test script.
	Title string `json:"title,omitempty"`

	// 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 string `json:"url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// Variable is set based either on element value in response body or on header field value in the response headers.
	Variable []*TestScriptVariable `json:"variable,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

TestScript A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScript) MarshalJSON

func (strct *TestScript) MarshalJSON() ([]byte, error)

func (*TestScript) UnmarshalJSON

func (strct *TestScript) UnmarshalJSON(b []byte) error

type TestScriptAction

type TestScriptAction struct {

	// Evaluates the results of previous operations to determine if the server under test behaves appropriately.
	Assert *TestScriptAssert `json:"assert,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The operation to perform.
	Operation *TestScriptOperation `json:"operation,omitempty"`
}

TestScriptAction A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptAction) MarshalJSON

func (strct *TestScriptAction) MarshalJSON() ([]byte, error)

func (*TestScriptAction) UnmarshalJSON

func (strct *TestScriptAction) UnmarshalJSON(b []byte) error

type TestScriptAction1

type TestScriptAction1 struct {

	// Evaluates the results of previous operations to determine if the server under test behaves appropriately.
	Assert *TestScriptAssert `json:"assert,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// An operation would involve a REST request to a server.
	Operation *TestScriptOperation `json:"operation,omitempty"`
}

TestScriptAction1 A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptAction1) MarshalJSON

func (strct *TestScriptAction1) MarshalJSON() ([]byte, error)

func (*TestScriptAction1) UnmarshalJSON

func (strct *TestScriptAction1) UnmarshalJSON(b []byte) error

type TestScriptAction2

type TestScriptAction2 struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// An operation would involve a REST request to a server.
	Operation *TestScriptOperation `json:"operation"`
}

TestScriptAction2 A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptAction2) MarshalJSON

func (strct *TestScriptAction2) MarshalJSON() ([]byte, error)

func (*TestScriptAction2) UnmarshalJSON

func (strct *TestScriptAction2) UnmarshalJSON(b []byte) error

type TestScriptAssert

type TestScriptAssert struct {

	// Extensions for compareToSourceExpression
	CompareToSourceExpression *Element `json:"_compareToSourceExpression,omitempty"`

	// Extensions for compareToSourceId
	CompareToSourceId *Element `json:"_compareToSourceId,omitempty"`

	// 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 `json:"compareToSourcePath,omitempty"`

	// Extensions for contentType
	ContentType *Element `json:"_contentType,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Extensions for direction
	Direction *Element `json:"_direction,omitempty"`

	// Extensions for expression
	Expression *Element `json:"_expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for headerField
	HeaderField *Element `json:"_headerField,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for label
	Label *Element `json:"_label,omitempty"`

	// The ID of a fixture.  Asserts that the response contains at a minimum the fixture specified by minimumId.
	MinimumId string `json:"minimumId,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Whether or not the test execution performs validation on the bundle navigation links.
	NavigationLinks bool `json:"navigationLinks,omitempty"`

	// Extensions for operator
	Operator *Element `json:"_operator,omitempty"`

	// The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server.
	Path string `json:"path,omitempty"`

	// Extensions for requestMethod
	RequestMethod *Element `json:"_requestMethod,omitempty"`

	// The value to use in a comparison against the request URL path string.
	RequestURL string `json:"requestURL,omitempty"`

	// The type of the resource.  See http://build.fhir.org/resourcelist.html.
	Resource string `json:"resource,omitempty"`

	// Extensions for response
	Response *Element `json:"_response,omitempty"`

	// The value of the HTTP response code to be tested.
	ResponseCode string `json:"responseCode,omitempty"`

	// Extensions for sourceId
	SourceId *Element `json:"_sourceId,omitempty"`

	// The ID of the Profile to validate against.
	ValidateProfileId string `json:"validateProfileId,omitempty"`

	// The value to compare to.
	Value string `json:"value,omitempty"`

	// Extensions for warningOnly
	WarningOnly *Element `json:"_warningOnly,omitempty"`
}

TestScriptAssert A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptAssert) MarshalJSON

func (strct *TestScriptAssert) MarshalJSON() ([]byte, error)

func (*TestScriptAssert) UnmarshalJSON

func (strct *TestScriptAssert) UnmarshalJSON(b []byte) error

type TestScriptCapability

type TestScriptCapability struct {

	// 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 string `json:"capabilities"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// Extensions for destination
	Destination *Element `json:"_destination,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Links to the FHIR specification that describes this interaction and the resources involved in more detail.
	Link []string `json:"link,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for origin
	Origin []*Element `json:"_origin,omitempty"`

	// Extensions for required
	Required *Element `json:"_required,omitempty"`

	// Whether or not the test execution will validate the given capabilities of the server in order for this test script to execute.
	Validated bool `json:"validated,omitempty"`
}

TestScriptCapability A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptCapability) MarshalJSON

func (strct *TestScriptCapability) MarshalJSON() ([]byte, error)

func (*TestScriptCapability) UnmarshalJSON

func (strct *TestScriptCapability) UnmarshalJSON(b []byte) error

type TestScriptDestination

type TestScriptDestination struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for index
	Index *Element `json:"_index,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The type of destination profile the test system supports.
	Profile *Coding `json:"profile"`
}

TestScriptDestination A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptDestination) MarshalJSON

func (strct *TestScriptDestination) MarshalJSON() ([]byte, error)

func (*TestScriptDestination) UnmarshalJSON

func (strct *TestScriptDestination) UnmarshalJSON(b []byte) error

type TestScriptFixture

type TestScriptFixture struct {

	// Extensions for autocreate
	Autocreate *Element `json:"_autocreate,omitempty"`

	// Extensions for autodelete
	Autodelete *Element `json:"_autodelete,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Reference to the resource (containing the contents of the resource needed for operations).
	Resource *Reference `json:"resource,omitempty"`
}

TestScriptFixture A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptFixture) MarshalJSON

func (strct *TestScriptFixture) MarshalJSON() ([]byte, error)

func (*TestScriptFixture) UnmarshalJSON

func (strct *TestScriptFixture) UnmarshalJSON(b []byte) error
type TestScriptLink struct {

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// URL to a particular requirement or feature within the FHIR specification.
	Url string `json:"url,omitempty"`
}

TestScriptLink A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptLink) MarshalJSON

func (strct *TestScriptLink) MarshalJSON() ([]byte, error)

func (*TestScriptLink) UnmarshalJSON

func (strct *TestScriptLink) UnmarshalJSON(b []byte) error

type TestScriptMetadata

type TestScriptMetadata struct {

	// Capabilities that must exist and are assumed to function correctly on the FHIR server being tested.
	Capability []*TestScriptCapability `json:"capability"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A link to the FHIR specification that this test is covering.
	Link []*TestScriptLink `json:"link,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

TestScriptMetadata A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptMetadata) MarshalJSON

func (strct *TestScriptMetadata) MarshalJSON() ([]byte, error)

func (*TestScriptMetadata) UnmarshalJSON

func (strct *TestScriptMetadata) UnmarshalJSON(b []byte) error

type TestScriptOperation

type TestScriptOperation struct {

	// Extensions for accept
	Accept *Element `json:"_accept,omitempty"`

	// The mime-type to use for RESTful operation in the 'Content-Type' header.
	ContentType string `json:"contentType,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// The server where the request message is destined for.  Must be one of the server numbers listed in TestScript.destination section.
	Destination float64 `json:"destination,omitempty"`

	// 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 bool `json:"encodeRequestUrl,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for label
	Label *Element `json:"_label,omitempty"`

	// The HTTP method the test engine MUST use for this operation regardless of any other operation details.
	Method string `json:"method,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The server where the request message originates from.  Must be one of the server numbers listed in TestScript.origin section.
	Origin float64 `json:"origin,omitempty"`

	// Extensions for params
	Params *Element `json:"_params,omitempty"`

	// Header elements would be used to set HTTP headers.
	RequestHeader []*TestScriptRequestHeader `json:"requestHeader,omitempty"`

	// The fixture id (maybe new) to map to the request.
	RequestId string `json:"requestId,omitempty"`

	// Extensions for resource
	Resource *Element `json:"_resource,omitempty"`

	// Extensions for responseId
	ResponseId *Element `json:"_responseId,omitempty"`

	// The id of the fixture used as the body of a PUT or POST request.
	SourceId string `json:"sourceId,omitempty"`

	// Extensions for targetId
	TargetId *Element `json:"_targetId,omitempty"`

	// Server interaction or operation type.
	Type *Coding `json:"type,omitempty"`

	// Complete request URL.
	Url string `json:"url,omitempty"`
}

TestScriptOperation A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptOperation) MarshalJSON

func (strct *TestScriptOperation) MarshalJSON() ([]byte, error)

func (*TestScriptOperation) UnmarshalJSON

func (strct *TestScriptOperation) UnmarshalJSON(b []byte) error

type TestScriptOrigin

type TestScriptOrigin struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Abstract name given to an origin server in this test script.  The name is provided as a number starting at 1.
	Index float64 `json:"index,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// The type of origin profile the test system supports.
	Profile *Coding `json:"profile"`
}

TestScriptOrigin A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptOrigin) MarshalJSON

func (strct *TestScriptOrigin) MarshalJSON() ([]byte, error)

func (*TestScriptOrigin) UnmarshalJSON

func (strct *TestScriptOrigin) UnmarshalJSON(b []byte) error

type TestScriptRequestHeader

type TestScriptRequestHeader struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for field
	Field *Element `json:"_field,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

TestScriptRequestHeader A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptRequestHeader) MarshalJSON

func (strct *TestScriptRequestHeader) MarshalJSON() ([]byte, error)

func (*TestScriptRequestHeader) UnmarshalJSON

func (strct *TestScriptRequestHeader) UnmarshalJSON(b []byte) error

type TestScriptSetup

type TestScriptSetup struct {

	// Action would contain either an operation or an assertion.
	Action []*TestScriptAction `json:"action"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

TestScriptSetup A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptSetup) MarshalJSON

func (strct *TestScriptSetup) MarshalJSON() ([]byte, error)

func (*TestScriptSetup) UnmarshalJSON

func (strct *TestScriptSetup) UnmarshalJSON(b []byte) error

type TestScriptTeardown

type TestScriptTeardown struct {

	// The teardown action will only contain an operation.
	Action []*TestScriptAction2 `json:"action"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

TestScriptTeardown A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptTeardown) MarshalJSON

func (strct *TestScriptTeardown) MarshalJSON() ([]byte, error)

func (*TestScriptTeardown) UnmarshalJSON

func (strct *TestScriptTeardown) UnmarshalJSON(b []byte) error

type TestScriptTest

type TestScriptTest struct {

	// Action would contain either an operation or an assertion.
	Action []*TestScriptAction1 `json:"action"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`
}

TestScriptTest A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptTest) MarshalJSON

func (strct *TestScriptTest) MarshalJSON() ([]byte, error)

func (*TestScriptTest) UnmarshalJSON

func (strct *TestScriptTest) UnmarshalJSON(b []byte) error

type TestScriptVariable

type TestScriptVariable struct {

	// A default, hard-coded, or user-defined value for this variable.
	DefaultValue string `json:"defaultValue,omitempty"`

	// A free text natural language description of the variable and its purpose.
	Description string `json:"description,omitempty"`

	// Extensions for expression
	Expression *Element `json:"_expression,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for headerField
	HeaderField *Element `json:"_headerField,omitempty"`

	// Displayable text string with hint help information to the user when entering a default value.
	Hint string `json:"hint,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for path
	Path *Element `json:"_path,omitempty"`

	// Fixture to evaluate the XPath/JSONPath expression or the headerField  against within this variable.
	SourceId string `json:"sourceId,omitempty"`
}

TestScriptVariable A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

func (*TestScriptVariable) MarshalJSON

func (strct *TestScriptVariable) MarshalJSON() ([]byte, error)

func (*TestScriptVariable) UnmarshalJSON

func (strct *TestScriptVariable) UnmarshalJSON(b []byte) error

type Timing

type Timing struct {

	// 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 `json:"code,omitempty"`

	// Extensions for event
	Event []*Element `json:"_event,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A set of rules that describe when the event is scheduled.
	Repeat *TimingRepeat `json:"repeat,omitempty"`
}

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

func (*Timing) MarshalJSON

func (strct *Timing) MarshalJSON() ([]byte, error)

func (*Timing) UnmarshalJSON

func (strct *Timing) UnmarshalJSON(b []byte) error

type TimingRepeat

type TimingRepeat struct {

	// 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.
	BoundsDuration *Duration `json:"boundsDuration,omitempty"`

	// 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.
	BoundsPeriod *Period `json:"boundsPeriod,omitempty"`

	// 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.
	BoundsRange *Range `json:"boundsRange,omitempty"`

	// Extensions for count
	Count *Element `json:"_count,omitempty"`

	// Extensions for countMax
	CountMax *Element `json:"_countMax,omitempty"`

	// If one or more days of week is provided, then the action happens only on the specified day(s).
	DayOfWeek []string `json:"dayOfWeek,omitempty"`

	// Extensions for duration
	Duration *Element `json:"_duration,omitempty"`

	// Extensions for durationMax
	DurationMax *Element `json:"_durationMax,omitempty"`

	// Extensions for durationUnit
	DurationUnit *Element `json:"_durationUnit,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Extensions for frequency
	Frequency *Element `json:"_frequency,omitempty"`

	// If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period range.
	FrequencyMax float64 `json:"frequencyMax,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// 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 float64 `json:"offset,omitempty"`

	// 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 float64 `json:"period,omitempty"`

	// Extensions for periodMax
	PeriodMax *Element `json:"_periodMax,omitempty"`

	// The units of time for the period in UCUM units.
	PeriodUnit interface{} `json:"periodUnit,omitempty"`

	// Specified time of day for action to take place.
	TimeOfDay []string `json:"timeOfDay,omitempty"`

	// Extensions for when
	When []*Element `json:"_when,omitempty"`
}

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

func (*TimingRepeat) MarshalJSON

func (strct *TimingRepeat) MarshalJSON() ([]byte, error)

func (*TimingRepeat) UnmarshalJSON

func (strct *TimingRepeat) UnmarshalJSON(b []byte) error

type TriggerDefinition

type TriggerDefinition struct {

	// 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 `json:"condition,omitempty"`

	// 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 `json:"data,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// The timing of the event (if this is a periodic trigger).
	TimingDate string `json:"timingDate,omitempty"`

	// The timing of the event (if this is a periodic trigger).
	TimingDateTime string `json:"timingDateTime,omitempty"`

	// The timing of the event (if this is a periodic trigger).
	TimingReference *Reference `json:"timingReference,omitempty"`

	// The timing of the event (if this is a periodic trigger).
	TimingTiming *Timing `json:"timingTiming,omitempty"`

	// The type of triggering event.
	Type interface{} `json:"type,omitempty"`
}

TriggerDefinition 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 (strct *TriggerDefinition) MarshalJSON() ([]byte, error)

func (*TriggerDefinition) UnmarshalJSON

func (strct *TriggerDefinition) UnmarshalJSON(b []byte) error

type UsageContext

type UsageContext struct {

	// A code that identifies the type of context being specified by this usage context.
	Code *Coding `json:"code"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.
	ValueCodeableConcept *CodeableConcept `json:"valueCodeableConcept,omitempty"`

	// A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.
	ValueQuantity *Quantity `json:"valueQuantity,omitempty"`

	// A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.
	ValueRange *Range `json:"valueRange,omitempty"`

	// A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.
	ValueReference *Reference `json:"valueReference,omitempty"`
}

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

func (*UsageContext) MarshalJSON

func (strct *UsageContext) MarshalJSON() ([]byte, error)

func (*UsageContext) UnmarshalJSON

func (strct *UsageContext) UnmarshalJSON(b []byte) error

type ValueSet

type ValueSet struct {

	// 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 `json:"compose,omitempty"`

	// Contact details to assist a user in finding and communicating with the publisher.
	Contact []*ContactDetail `json:"contact,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for copyright
	Copyright *Element `json:"_copyright,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// Extensions for description
	Description *Element `json:"_description,omitempty"`

	// A value set can also be "expanded", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed.
	Expansion *ValueSetExpansion `json:"expansion,omitempty"`

	// 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 bool `json:"experimental,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// 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 `json:"identifier,omitempty"`

	// 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 bool `json:"immutable,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// A legal or geographic region in which the value set is intended to be used.
	Jurisdiction []*CodeableConcept `json:"jurisdiction,omitempty"`

	// The base language in which the resource is written.
	Language string `json:"language,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// The name of the organization or individual that published the value set.
	Publisher string `json:"publisher,omitempty"`

	// Explanation of why this value set is needed and why it has been designed as it has.
	Purpose string `json:"purpose,omitempty"`

	// This is a ValueSet resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`

	// A short, descriptive, user-friendly title for the value set.
	Title string `json:"title,omitempty"`

	// Extensions for url
	Url *Element `json:"_url,omitempty"`

	// 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 `json:"useContext,omitempty"`

	// 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 `json:"version,omitempty"`
}

ValueSet A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between CodeSystem(codesystem.html) definitions and their use in [coded elements](terminologies.html).

func (*ValueSet) MarshalJSON

func (strct *ValueSet) MarshalJSON() ([]byte, error)

func (*ValueSet) UnmarshalJSON

func (strct *ValueSet) UnmarshalJSON(b []byte) error

type ValueSetCompose

type ValueSetCompose struct {

	// Exclude one or more codes from the value set based on code system filters and/or other value sets.
	Exclude []*ValueSetInclude `json:"exclude,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for inactive
	Inactive *Element `json:"_inactive,omitempty"`

	// Include one or more codes from a code system or other value set(s).
	Include []*ValueSetInclude `json:"include"`

	// 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 string `json:"lockedDate,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ValueSetCompose 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(codesystem.html) definitions and their use in [coded elements](terminologies.html).

func (*ValueSetCompose) MarshalJSON

func (strct *ValueSetCompose) MarshalJSON() ([]byte, error)

func (*ValueSetCompose) UnmarshalJSON

func (strct *ValueSetCompose) UnmarshalJSON(b []byte) error

type ValueSetConcept

type ValueSetConcept struct {

	// Extensions for code
	Code *Element `json:"_code,omitempty"`

	// Additional representations for this concept when used in this value set - other languages, aliases, specialized purposes, used for particular purposes, etc.
	Designation []*ValueSetDesignation `json:"designation,omitempty"`

	// Extensions for display
	Display *Element `json:"_display,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

ValueSetConcept 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(codesystem.html) definitions and their use in [coded elements](terminologies.html).

func (*ValueSetConcept) MarshalJSON

func (strct *ValueSetConcept) MarshalJSON() ([]byte, error)

func (*ValueSetConcept) UnmarshalJSON

func (strct *ValueSetConcept) UnmarshalJSON(b []byte) error

type ValueSetContains

type ValueSetContains struct {

	// 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 bool `json:"abstract,omitempty"`

	// 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 string `json:"code,omitempty"`

	// Other codes and entries contained under this entry in the hierarchy.
	Contains []*ValueSetContains `json:"contains,omitempty"`

	// 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 []*ValueSetDesignation `json:"designation,omitempty"`

	// Extensions for display
	Display *Element `json:"_display,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for inactive
	Inactive *Element `json:"_inactive,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for system
	System *Element `json:"_system,omitempty"`

	// 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 `json:"version,omitempty"`
}

ValueSetContains 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(codesystem.html) definitions and their use in [coded elements](terminologies.html).

func (*ValueSetContains) MarshalJSON

func (strct *ValueSetContains) MarshalJSON() ([]byte, error)

func (*ValueSetContains) UnmarshalJSON

func (strct *ValueSetContains) UnmarshalJSON(b []byte) error

type ValueSetDesignation

type ValueSetDesignation struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// A code that represents types of uses of designations.
	Use *Coding `json:"use,omitempty"`

	// Extensions for value
	Value *Element `json:"_value,omitempty"`
}

ValueSetDesignation 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(codesystem.html) definitions and their use in [coded elements](terminologies.html).

func (*ValueSetDesignation) MarshalJSON

func (strct *ValueSetDesignation) MarshalJSON() ([]byte, error)

func (*ValueSetDesignation) UnmarshalJSON

func (strct *ValueSetDesignation) UnmarshalJSON(b []byte) error

type ValueSetExpansion

type ValueSetExpansion struct {

	// The codes that are contained in the value set expansion.
	Contains []*ValueSetContains `json:"contains,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for identifier
	Identifier *Element `json:"_identifier,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for offset
	Offset *Element `json:"_offset,omitempty"`

	// A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion.
	Parameter []*ValueSetParameter `json:"parameter,omitempty"`

	// Extensions for timestamp
	Timestamp *Element `json:"_timestamp,omitempty"`

	// 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 float64 `json:"total,omitempty"`
}

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(codesystem.html) definitions and their use in [coded elements](terminologies.html).

func (*ValueSetExpansion) MarshalJSON

func (strct *ValueSetExpansion) MarshalJSON() ([]byte, error)

func (*ValueSetExpansion) UnmarshalJSON

func (strct *ValueSetExpansion) UnmarshalJSON(b []byte) error

type ValueSetFilter

type ValueSetFilter struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for op
	Op *Element `json:"_op,omitempty"`

	// A code that identifies a property or a filter defined in the code system.
	Property string `json:"property,omitempty"`

	// 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 `json:"value,omitempty"`
}

ValueSetFilter 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(codesystem.html) definitions and their use in [coded elements](terminologies.html).

func (*ValueSetFilter) MarshalJSON

func (strct *ValueSetFilter) MarshalJSON() ([]byte, error)

func (*ValueSetFilter) UnmarshalJSON

func (strct *ValueSetFilter) UnmarshalJSON(b []byte) error

type ValueSetInclude

type ValueSetInclude struct {

	// Specifies a concept to be included or excluded.
	Concept []*ValueSetConcept `json:"concept,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// 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 []*ValueSetFilter `json:"filter,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for system
	System *Element `json:"_system,omitempty"`

	// 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 []string `json:"valueSet,omitempty"`

	// Extensions for version
	Version *Element `json:"_version,omitempty"`
}

ValueSetInclude 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(codesystem.html) definitions and their use in [coded elements](terminologies.html).

func (*ValueSetInclude) MarshalJSON

func (strct *ValueSetInclude) MarshalJSON() ([]byte, error)

func (*ValueSetInclude) UnmarshalJSON

func (strct *ValueSetInclude) UnmarshalJSON(b []byte) error

type ValueSetParameter

type ValueSetParameter struct {

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Extensions for name
	Name *Element `json:"_name,omitempty"`

	// Extensions for valueBoolean
	ValueBoolean *Element `json:"_valueBoolean,omitempty"`

	// The value of the parameter.
	ValueCode string `json:"valueCode,omitempty"`

	// The value of the parameter.
	ValueDateTime string `json:"valueDateTime,omitempty"`

	// The value of the parameter.
	ValueDecimal float64 `json:"valueDecimal,omitempty"`

	// The value of the parameter.
	ValueInteger float64 `json:"valueInteger,omitempty"`

	// Extensions for valueString
	ValueString *Element `json:"_valueString,omitempty"`

	// Extensions for valueUri
	ValueUri *Element `json:"_valueUri,omitempty"`
}

ValueSetParameter 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(codesystem.html) definitions and their use in [coded elements](terminologies.html).

func (*ValueSetParameter) MarshalJSON

func (strct *ValueSetParameter) MarshalJSON() ([]byte, error)

func (*ValueSetParameter) UnmarshalJSON

func (strct *ValueSetParameter) UnmarshalJSON(b []byte) error

type VerificationResult

type VerificationResult struct {

	// Information about the entity attesting to information.
	Attestation *VerificationResultAttestation `json:"attestation,omitempty"`

	// 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 []interface{} `json:"contained,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The result if validation fails (fatal; warning; record only; none).
	FailureAction *CodeableConcept `json:"failureAction,omitempty"`

	// Frequency of revalidation.
	Frequency *Timing `json:"frequency,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// Extensions for implicitRules
	ImplicitRules *Element `json:"_implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// The date/time validation was last completed (including failed validations).
	LastPerformed string `json:"lastPerformed,omitempty"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// The frequency with which the target must be validated (none; initial; periodic).
	Need *CodeableConcept `json:"need,omitempty"`

	// The date when target is next validated, if appropriate.
	NextScheduled string `json:"nextScheduled,omitempty"`

	// Information about the primary source(s) involved in validation.
	PrimarySource []*VerificationResultPrimarySource `json:"primarySource,omitempty"`

	// This is a VerificationResult resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// Extensions for statusDate
	StatusDate *Element `json:"_statusDate,omitempty"`

	// A resource that was validated.
	Target []*Reference `json:"target,omitempty"`

	// The fhirpath location(s) within the resource that was validated.
	TargetLocation []string `json:"targetLocation,omitempty"`

	// 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 `json:"text,omitempty"`

	// The primary process by which the target is validated (edit check; value set; primary source; multiple sources; standalone; in context).
	ValidationProcess []*CodeableConcept `json:"validationProcess,omitempty"`

	// What the target is validated against (nothing; primary source; multiple sources).
	ValidationType *CodeableConcept `json:"validationType,omitempty"`

	// Information about the entity validating information.
	Validator []*VerificationResultValidator `json:"validator,omitempty"`
}

VerificationResult Describes validation requirements, source(s), status and dates for one or more elements.

func (*VerificationResult) MarshalJSON

func (strct *VerificationResult) MarshalJSON() ([]byte, error)

func (*VerificationResult) UnmarshalJSON

func (strct *VerificationResult) UnmarshalJSON(b []byte) error

type VerificationResultAttestation

type VerificationResultAttestation struct {

	// The method by which attested information was submitted/retrieved (manual; API; Push).
	CommunicationMethod *CodeableConcept `json:"communicationMethod,omitempty"`

	// Extensions for date
	Date *Element `json:"_date,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// When the who is asserting on behalf of another (organization or individual).
	OnBehalfOf *Reference `json:"onBehalfOf,omitempty"`

	// Extensions for proxyIdentityCertificate
	ProxyIdentityCertificate *Element `json:"_proxyIdentityCertificate,omitempty"`

	// Signed assertion by the proxy entity indicating that they have the right to submit attested information on behalf of the attestation source.
	ProxySignature *Signature `json:"proxySignature,omitempty"`

	// A digital identity certificate associated with the attestation source.
	SourceIdentityCertificate string `json:"sourceIdentityCertificate,omitempty"`

	// Signed assertion by the attestation source that they have attested to the information.
	SourceSignature *Signature `json:"sourceSignature,omitempty"`

	// The individual or organization attesting to information.
	Who *Reference `json:"who,omitempty"`
}

VerificationResultAttestation Describes validation requirements, source(s), status and dates for one or more elements.

func (*VerificationResultAttestation) MarshalJSON

func (strct *VerificationResultAttestation) MarshalJSON() ([]byte, error)

func (*VerificationResultAttestation) UnmarshalJSON

func (strct *VerificationResultAttestation) UnmarshalJSON(b []byte) error

type VerificationResultPrimarySource

type VerificationResultPrimarySource struct {

	// Ability of the primary source to push updates/alerts (yes; no; undetermined).
	CanPushUpdates *CodeableConcept `json:"canPushUpdates,omitempty"`

	// Method for communicating with the primary source (manual; API; Push).
	CommunicationMethod []*CodeableConcept `json:"communicationMethod,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Type of alerts/updates the primary source can send (specific requested changes; any changes; as defined by source).
	PushTypeAvailable []*CodeableConcept `json:"pushTypeAvailable,omitempty"`

	// Type of primary source (License Board; Primary Education; Continuing Education; Postal Service; Relationship owner; Registration Authority; legal source; issuing source; authoritative source).
	Type []*CodeableConcept `json:"type,omitempty"`

	// Extensions for validationDate
	ValidationDate *Element `json:"_validationDate,omitempty"`

	// Status of the validation of the target against the primary source (successful; failed; unknown).
	ValidationStatus *CodeableConcept `json:"validationStatus,omitempty"`

	// Reference to the primary source.
	Who *Reference `json:"who,omitempty"`
}

VerificationResultPrimarySource Describes validation requirements, source(s), status and dates for one or more elements.

func (*VerificationResultPrimarySource) MarshalJSON

func (strct *VerificationResultPrimarySource) MarshalJSON() ([]byte, error)

func (*VerificationResultPrimarySource) UnmarshalJSON

func (strct *VerificationResultPrimarySource) UnmarshalJSON(b []byte) error

type VerificationResultValidator

type VerificationResultValidator struct {

	// Signed assertion by the validator that they have validated the information.
	AttestationSignature *Signature `json:"attestationSignature,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// Extensions for identityCertificate
	IdentityCertificate *Element `json:"_identityCertificate,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Reference to the organization validating information.
	Organization *Reference `json:"organization"`
}

VerificationResultValidator Describes validation requirements, source(s), status and dates for one or more elements.

func (*VerificationResultValidator) MarshalJSON

func (strct *VerificationResultValidator) MarshalJSON() ([]byte, error)

func (*VerificationResultValidator) UnmarshalJSON

func (strct *VerificationResultValidator) UnmarshalJSON(b []byte) error

type VisionPrescription

type VisionPrescription struct {

	// 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 []interface{} `json:"contained,omitempty"`

	// Extensions for created
	Created *Element `json:"_created,omitempty"`

	// Extensions for dateWritten
	DateWritten *Element `json:"_dateWritten,omitempty"`

	// 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 `json:"encounter,omitempty"`

	// 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 `json:"extension,omitempty"`

	// The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
	Id string `json:"id,omitempty"`

	// A unique identifier assigned to this vision prescription.
	Identifier []*Identifier `json:"identifier,omitempty"`

	// 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 string `json:"implicitRules,omitempty"`

	// Extensions for language
	Language *Element `json:"_language,omitempty"`

	// Contain the details of  the individual lens specifications and serves as the authorization for the fullfillment by certified professionals.
	LensSpecification []*VisionPrescriptionLensSpecification `json:"lensSpecification"`

	// 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 `json:"meta,omitempty"`

	// 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 `json:"modifierExtension,omitempty"`

	// A resource reference to the person to whom the vision prescription applies.
	Patient *Reference `json:"patient"`

	// The healthcare professional responsible for authorizing the prescription.
	Prescriber *Reference `json:"prescriber"`

	// This is a VisionPrescription resource
	ResourceType interface{} `json:"resourceType"`

	// Extensions for status
	Status *Element `json:"_status,omitempty"`

	// 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 `json:"text,omitempty"`
}

VisionPrescription An authorization for the provision of glasses and/or contact lenses to a patient.

func (*VisionPrescription) MarshalJSON

func (strct *VisionPrescription) MarshalJSON() ([]byte, error)

func (*VisionPrescription) UnmarshalJSON

func (strct *VisionPrescription) UnmarshalJSON(b []byte) error

type VisionPrescriptionLensSpecification

type VisionPrescriptionLensSpecification struct {

	// Extensions for add
	Add *Element `json:"_add,omitempty"`

	// Extensions for axis
	Axis *Element `json:"_axis,omitempty"`

	// Extensions for backCurve
	BackCurve *Element `json:"_backCurve,omitempty"`

	// Extensions for brand
	Brand *Element `json:"_brand,omitempty"`

	// Extensions for color
	Color *Element `json:"_color,omitempty"`

	// Extensions for cylinder
	Cylinder *Element `json:"_cylinder,omitempty"`

	// Contact lens diameter measured in millimetres.
	Diameter float64 `json:"diameter,omitempty"`

	// The recommended maximum wear period for the lens.
	Duration *Quantity `json:"duration,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// The eye for which the lens specification applies.
	Eye string `json:"eye,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`

	// Notes for special requirements such as coatings and lens materials.
	Note []*Annotation `json:"note,omitempty"`

	// Extensions for power
	Power *Element `json:"_power,omitempty"`

	// Allows for adjustment on two axis.
	Prism []*VisionPrescriptionPrism `json:"prism,omitempty"`

	// Identifies the type of vision correction product which is required for the patient.
	Product *CodeableConcept `json:"product"`

	// Extensions for sphere
	Sphere *Element `json:"_sphere,omitempty"`
}

VisionPrescriptionLensSpecification An authorization for the provision of glasses and/or contact lenses to a patient.

func (*VisionPrescriptionLensSpecification) MarshalJSON

func (strct *VisionPrescriptionLensSpecification) MarshalJSON() ([]byte, error)

func (*VisionPrescriptionLensSpecification) UnmarshalJSON

func (strct *VisionPrescriptionLensSpecification) UnmarshalJSON(b []byte) error

type VisionPrescriptionPrism

type VisionPrescriptionPrism struct {

	// Extensions for amount
	Amount *Element `json:"_amount,omitempty"`

	// Extensions for base
	Base *Element `json:"_base,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
	Extension []*Extension `json:"extension,omitempty"`

	// Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
	Id string `json:"id,omitempty"`

	// May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
	//
	// Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
	ModifierExtension []*Extension `json:"modifierExtension,omitempty"`
}

VisionPrescriptionPrism An authorization for the provision of glasses and/or contact lenses to a patient.

func (*VisionPrescriptionPrism) MarshalJSON

func (strct *VisionPrescriptionPrism) MarshalJSON() ([]byte, error)

func (*VisionPrescriptionPrism) UnmarshalJSON

func (strct *VisionPrescriptionPrism) UnmarshalJSON(b []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL