// Custom marshaller to add the resourceType property, as required by the specification
968981
func (resource *Slot) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "Slot"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to Slot), 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)
}
28556
func (resource *Media) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "Media"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to Media), 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)
}
833484
func (resource *Patient) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "Patient"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to Patient), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
345240
func (resource *StructureDefinition) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "StructureDefinition"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to StructureDefinition), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
523336
func (resource *RelatedPerson) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "RelatedPerson"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to RelatedPerson), 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)
}
444719
func (resource *ProcessRequest) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "ProcessRequest"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to ProcessRequest), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
250151
func (resource *DeviceUseStatement) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "DeviceUseStatement"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to DeviceUseStatement), 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)
}
691778
func (resource *Subscription) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "Subscription"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to Subscription), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
563957
func (r Resource) MarshalJSON() ([]byte, error) {
	var ccResource struct {
		FilePath    string   `json:"path,omitempty"`
		Mode        string   `json:"mode,omitempty"`
		Checksum    Checksum `json:"checksum"`
		SizeInBytes int64    `json:"size_in_bytes"`
	}

	ccResource.FilePath = r.FilePath
	ccResource.SizeInBytes = r.SizeInBytes
	ccResource.Checksum = r.Checksum
	ccResource.Mode = strconv.FormatUint(uint64(r.Mode), 8)
	return json.Marshal(ccResource)
}
239312
func (resource *ExplanationOfBenefit) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "ExplanationOfBenefit"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to ExplanationOfBenefit), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
426956
func (resource *DetectedIssue) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "DetectedIssue"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to DetectedIssue), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
116360
func (resource *ClaimResponse) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "ClaimResponse"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to ClaimResponse), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}
676164
func (resource *Binary) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "Binary"
	// Dereferencing the pointer to avoid infinite recursion.
	// Passing in plain old x (a pointer to Binary), would cause this same
	// MarshallJSON function to be called again
	return json.Marshal(*resource)
}