func (x *ConceptMap) UnmarshalJSON(data []byte) (err error) {
	x2 := conceptMap{}
	if err = json.Unmarshal(data, &x2); err == nil {
		if x2.Contained != nil {
			for i := range x2.Contained {
				x2.Contained[i] = MapToResource(x2.Contained[i], true)
			}
		}
		*x = ConceptMap(x2)
		return x.checkResourceType()
	}
	return
}
Custom unmarshaller to properly unmarshal embedded resources (represented as interface{})
package models
import (
	"encoding/json"
	"errors"
	"fmt"
)
type ConceptMap struct {
	DomainResource  `bson:",inline"`
	Url             string                       `bson:"url,omitempty" json:"url,omitempty"`
	Identifier      *Identifier                  `bson:"identifier,omitempty" json:"identifier,omitempty"`
	Version         string                       `bson:"version,omitempty" json:"version,omitempty"`
	Name            string                       `bson:"name,omitempty" json:"name,omitempty"`
	Status          string                       `bson:"status,omitempty" json:"status,omitempty"`
	Experimental    *bool                        `bson:"experimental,omitempty" json:"experimental,omitempty"`
	Publisher       string                       `bson:"publisher,omitempty" json:"publisher,omitempty"`
	Contact         []ConceptMapContactComponent `bson:"contact,omitempty" json:"contact,omitempty"`
	Date            *FHIRDateTime                `bson:"date,omitempty" json:"date,omitempty"`
	Description     string                       `bson:"description,omitempty" json:"description,omitempty"`
	UseContext      []CodeableConcept            `bson:"useContext,omitempty" json:"useContext,omitempty"`
	Requirements    string                       `bson:"requirements,omitempty" json:"requirements,omitempty"`
	Copyright       string                       `bson:"copyright,omitempty" json:"copyright,omitempty"`
	SourceUri       string                       `bson:"sourceUri,omitempty" json:"sourceUri,omitempty"`
	SourceReference *Reference                   `bson:"sourceReference,omitempty" json:"sourceReference,omitempty"`
	TargetUri       string                       `bson:"targetUri,omitempty" json:"targetUri,omitempty"`
	TargetReference *Reference                   `bson:"targetReference,omitempty" json:"targetReference,omitempty"`
	Group           []ConceptMapGroupComponent   `bson:"group,omitempty" json:"group,omitempty"`
}
func (resource *ConceptMap) MarshalJSON() ([]byte, error) {
	resource.ResourceType = "ConceptMap"
	return json.Marshal(*resource)
}
func (x *ConceptMap) GetBSON() (interface{}, error) {
	x.ResourceType = "ConceptMap"
	return *x, nil
}
type conceptMap ConceptMap