// Custom marshaller to add the resourceType property, as required by the specification
326206
func (resource *Substance) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "Substance"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to Substance), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
277991
func (resource *PaymentNotice) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "PaymentNotice"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to PaymentNotice), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
224868
func (r Resource) MarshalJSON() ([]byte, error) {
	var ccResource struct {
		Filename string `json:"fn,omitempty"`
		Mode     string `json:"mode,omitempty"`
		SHA1     string `json:"sha1"`
		Size     int64  `json:"size"`
	}

	ccResource.Filename = r.Filename
	ccResource.Size = r.Size
	ccResource.SHA1 = r.SHA1
	ccResource.Mode = strconv.FormatUint(uint64(r.Mode), 8)
	return json.Marshal(ccResource)
}
316940
func (resource *Conformance) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "Conformance"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to Conformance), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
797249
func (resource *Bundle) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "Bundle"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to Bundle), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
787771
func (resource *OperationOutcome) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "OperationOutcome"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to OperationOutcome), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
512846
func (resource *DiagnosticOrder) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "DiagnosticOrder"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to DiagnosticOrder), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
834883
func (resource *ImplementationGuide) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "ImplementationGuide"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to ImplementationGuide), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
957794
func (resource *Procedure) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "Procedure"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to Procedure), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
793570
func (resource *CommunicationRequest) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "CommunicationRequest"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to CommunicationRequest), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
330244
func (resource *Composition) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "Composition"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to Composition), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
266742
func (b *BytesResource) MarshalJSON() ([]byte, error) {
	return json.Marshal(string(b.data))
}
135787
func (resource *SupplyDelivery) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "SupplyDelivery"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to SupplyDelivery), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
1256980
func (resource *ClinicalImpression) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "ClinicalImpression"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to ClinicalImpression), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
424875
func (resource *Location) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "Location"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to Location), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
816966
func (resource *DeviceComponent) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "DeviceComponent"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to DeviceComponent), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
545413
func (resource *ReferralRequest) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "ReferralRequest"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to ReferralRequest), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}