/// <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; } }
/// <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; } }