Exemplo n.º 1
0
        public ElementTreeNode SliceValueXByType(ElementTreeSlice slice,
                                                 String[] types)
        {
            ElementDefinition valueX = new ElementDefinition
            {
                Path      = $"{slice.ElementDefinition.Path}.value[x]",
                ElementId = $"{slice.ElementDefinition.ElementId}.value[x]",
                Min       = 1,
                Max       = "1"
            };

            valueX
            .Types(types)
            ;

            ElementDefinition.SlicingComponent slicingComponent = new ElementDefinition.SlicingComponent
            {
                Rules = ElementDefinition.SlicingRules.Closed
            };

            slicingComponent.Discriminator.Add(new ElementDefinition.DiscriminatorComponent
            {
                Type = ElementDefinition.DiscriminatorType.Type,
                Path = "$this"
            });

            valueX.ApplySlicing(slicingComponent, false);

            return(slice.CreateNode(valueX));
        }