Example #1
0
        /// <summary>
        /// Deserialize JSON into a FHIR Provenance#Entity
        /// </summary>
        public static void DeserializeJsonProperty(this Provenance.EntityComponent current, ref Utf8JsonReader reader, JsonSerializerOptions options, string propertyName)
        {
            switch (propertyName)
            {
            case "role":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.RoleElement = new Code <Hl7.Fhir.Model.Provenance.ProvenanceEntityRole>();
                    reader.Skip();
                }
                else
                {
                    current.RoleElement = new Code <Hl7.Fhir.Model.Provenance.ProvenanceEntityRole>(Hl7.Fhir.Utility.EnumUtility.ParseLiteral <Hl7.Fhir.Model.Provenance.ProvenanceEntityRole>(reader.GetString()));
                }
                break;

            case "_role":
                if (current.RoleElement == null)
                {
                    current.RoleElement = new Code <Hl7.Fhir.Model.Provenance.ProvenanceEntityRole>();
                }
                ((Hl7.Fhir.Model.Element)current.RoleElement).DeserializeJson(ref reader, options);
                break;

            case "what":
                current.What = new Hl7.Fhir.Model.ResourceReference();
                ((Hl7.Fhir.Model.ResourceReference)current.What).DeserializeJson(ref reader, options);
                break;

            case "agent":
                if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read()))
                {
                    throw new JsonException($"EntityComponent error reading 'agent' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                }

                current.Agent = new List <Provenance.AgentComponent>();

                while (reader.TokenType != JsonTokenType.EndArray)
                {
                    Hl7.Fhir.Model.Provenance.AgentComponent v_Agent = new Hl7.Fhir.Model.Provenance.AgentComponent();
                    v_Agent.DeserializeJson(ref reader, options);
                    current.Agent.Add(v_Agent);

                    if (!reader.Read())
                    {
                        throw new JsonException($"EntityComponent error reading 'agent' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                    }
                    if (reader.TokenType == JsonTokenType.EndObject)
                    {
                        reader.Read();
                    }
                }

                if (current.Agent.Count == 0)
                {
                    current.Agent = null;
                }
                break;

            // Complex: entity, Export: EntityComponent, Base: BackboneElement
            default:
                ((Hl7.Fhir.Model.BackboneElement)current).DeserializeJsonProperty(ref reader, options, propertyName);
                break;
            }
        }
Example #2
0
        /// <summary>
        /// Deserialize JSON into a FHIR Provenance
        /// </summary>
        public static void DeserializeJsonProperty(this Provenance current, ref Utf8JsonReader reader, JsonSerializerOptions options, string propertyName)
        {
            switch (propertyName)
            {
            case "target":
                if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read()))
                {
                    throw new JsonException($"Provenance error reading 'target' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                }

                current.Target = new List <ResourceReference>();

                while (reader.TokenType != JsonTokenType.EndArray)
                {
                    Hl7.Fhir.Model.ResourceReference v_Target = new Hl7.Fhir.Model.ResourceReference();
                    v_Target.DeserializeJson(ref reader, options);
                    current.Target.Add(v_Target);

                    if (!reader.Read())
                    {
                        throw new JsonException($"Provenance error reading 'target' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                    }
                    if (reader.TokenType == JsonTokenType.EndObject)
                    {
                        reader.Read();
                    }
                }

                if (current.Target.Count == 0)
                {
                    current.Target = null;
                }
                break;

            case "occurredPeriod":
                current.Occurred = new Hl7.Fhir.Model.Period();
                ((Hl7.Fhir.Model.Period)current.Occurred).DeserializeJson(ref reader, options);
                break;

            case "occurredDateTime":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.Occurred = new FhirDateTime();
                    reader.Skip();
                }
                else
                {
                    current.Occurred = new FhirDateTime(reader.GetString());
                }
                break;

            case "_occurredDateTime":
                if (current.Occurred == null)
                {
                    current.Occurred = new FhirDateTime();
                }
                ((Hl7.Fhir.Model.Element)current.Occurred).DeserializeJson(ref reader, options);
                break;

            case "recorded":
                if (reader.TokenType == JsonTokenType.Null)
                {
                    current.RecordedElement = new Instant();
                    reader.Skip();
                }
                else
                {
                    current.RecordedElement = new Instant(DateTimeOffset.Parse(reader.GetString()));
                }
                break;

            case "_recorded":
                if (current.RecordedElement == null)
                {
                    current.RecordedElement = new Instant();
                }
                ((Hl7.Fhir.Model.Element)current.RecordedElement).DeserializeJson(ref reader, options);
                break;

            case "policy":
                if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read()))
                {
                    throw new JsonException($"Provenance error reading 'policy' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                }

                current.PolicyElement = new List <FhirUri>();

                while (reader.TokenType != JsonTokenType.EndArray)
                {
                    if (reader.TokenType == JsonTokenType.Null)
                    {
                        current.PolicyElement.Add(new FhirUri());
                        reader.Skip();
                    }
                    else
                    {
                        current.PolicyElement.Add(new FhirUri(reader.GetString()));
                    }

                    if (!reader.Read())
                    {
                        throw new JsonException($"Provenance error reading 'policy' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                    }
                    if (reader.TokenType == JsonTokenType.EndObject)
                    {
                        reader.Read();
                    }
                }

                if (current.PolicyElement.Count == 0)
                {
                    current.PolicyElement = null;
                }
                break;

            case "_policy":
                if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read()))
                {
                    throw new JsonException($"Provenance error reading 'policy' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                }

                int i_policy = 0;

                while (reader.TokenType != JsonTokenType.EndArray)
                {
                    if (i_policy >= current.PolicyElement.Count)
                    {
                        current.PolicyElement.Add(new FhirUri());
                    }
                    if (reader.TokenType == JsonTokenType.Null)
                    {
                        reader.Skip();
                    }
                    else
                    {
                        ((Hl7.Fhir.Model.Element)current.PolicyElement[i_policy++]).DeserializeJson(ref reader, options);
                    }

                    if (!reader.Read())
                    {
                        throw new JsonException($"Provenance error reading 'policy' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                    }
                    if (reader.TokenType == JsonTokenType.EndObject)
                    {
                        reader.Read();
                    }
                }
                break;

            case "location":
                current.Location = new Hl7.Fhir.Model.ResourceReference();
                ((Hl7.Fhir.Model.ResourceReference)current.Location).DeserializeJson(ref reader, options);
                break;

            case "reason":
                if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read()))
                {
                    throw new JsonException($"Provenance error reading 'reason' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                }

                current.Reason = new List <CodeableConcept>();

                while (reader.TokenType != JsonTokenType.EndArray)
                {
                    Hl7.Fhir.Model.CodeableConcept v_Reason = new Hl7.Fhir.Model.CodeableConcept();
                    v_Reason.DeserializeJson(ref reader, options);
                    current.Reason.Add(v_Reason);

                    if (!reader.Read())
                    {
                        throw new JsonException($"Provenance error reading 'reason' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                    }
                    if (reader.TokenType == JsonTokenType.EndObject)
                    {
                        reader.Read();
                    }
                }

                if (current.Reason.Count == 0)
                {
                    current.Reason = null;
                }
                break;

            case "activity":
                current.Activity = new Hl7.Fhir.Model.CodeableConcept();
                ((Hl7.Fhir.Model.CodeableConcept)current.Activity).DeserializeJson(ref reader, options);
                break;

            case "agent":
                if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read()))
                {
                    throw new JsonException($"Provenance error reading 'agent' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                }

                current.Agent = new List <Provenance.AgentComponent>();

                while (reader.TokenType != JsonTokenType.EndArray)
                {
                    Hl7.Fhir.Model.Provenance.AgentComponent v_Agent = new Hl7.Fhir.Model.Provenance.AgentComponent();
                    v_Agent.DeserializeJson(ref reader, options);
                    current.Agent.Add(v_Agent);

                    if (!reader.Read())
                    {
                        throw new JsonException($"Provenance error reading 'agent' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                    }
                    if (reader.TokenType == JsonTokenType.EndObject)
                    {
                        reader.Read();
                    }
                }

                if (current.Agent.Count == 0)
                {
                    current.Agent = null;
                }
                break;

            case "entity":
                if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read()))
                {
                    throw new JsonException($"Provenance error reading 'entity' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                }

                current.Entity = new List <Provenance.EntityComponent>();

                while (reader.TokenType != JsonTokenType.EndArray)
                {
                    Hl7.Fhir.Model.Provenance.EntityComponent v_Entity = new Hl7.Fhir.Model.Provenance.EntityComponent();
                    v_Entity.DeserializeJson(ref reader, options);
                    current.Entity.Add(v_Entity);

                    if (!reader.Read())
                    {
                        throw new JsonException($"Provenance error reading 'entity' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                    }
                    if (reader.TokenType == JsonTokenType.EndObject)
                    {
                        reader.Read();
                    }
                }

                if (current.Entity.Count == 0)
                {
                    current.Entity = null;
                }
                break;

            case "signature":
                if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read()))
                {
                    throw new JsonException($"Provenance error reading 'signature' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                }

                current.Signature = new List <Signature>();

                while (reader.TokenType != JsonTokenType.EndArray)
                {
                    Hl7.Fhir.Model.Signature v_Signature = new Hl7.Fhir.Model.Signature();
                    v_Signature.DeserializeJson(ref reader, options);
                    current.Signature.Add(v_Signature);

                    if (!reader.Read())
                    {
                        throw new JsonException($"Provenance error reading 'signature' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}");
                    }
                    if (reader.TokenType == JsonTokenType.EndObject)
                    {
                        reader.Read();
                    }
                }

                if (current.Signature.Count == 0)
                {
                    current.Signature = null;
                }
                break;

            // Complex: Provenance, Export: Provenance, Base: DomainResource
            default:
                ((Hl7.Fhir.Model.DomainResource)current).DeserializeJsonProperty(ref reader, options, propertyName);
                break;
            }
        }