/// <summary> /// Deserialize JSON into a FHIR ProdCharacteristic /// </summary> public static void DeserializeJsonProperty(this ProdCharacteristic current, ref Utf8JsonReader reader, JsonSerializerOptions options, string propertyName) { switch (propertyName) { case "height": current.Height = new Hl7.Fhir.Model.Quantity(); ((Hl7.Fhir.Model.Quantity)current.Height).DeserializeJson(ref reader, options); break; case "width": current.Width = new Hl7.Fhir.Model.Quantity(); ((Hl7.Fhir.Model.Quantity)current.Width).DeserializeJson(ref reader, options); break; case "depth": current.Depth = new Hl7.Fhir.Model.Quantity(); ((Hl7.Fhir.Model.Quantity)current.Depth).DeserializeJson(ref reader, options); break; case "weight": current.Weight = new Hl7.Fhir.Model.Quantity(); ((Hl7.Fhir.Model.Quantity)current.Weight).DeserializeJson(ref reader, options); break; case "nominalVolume": current.NominalVolume = new Hl7.Fhir.Model.Quantity(); ((Hl7.Fhir.Model.Quantity)current.NominalVolume).DeserializeJson(ref reader, options); break; case "externalDiameter": current.ExternalDiameter = new Hl7.Fhir.Model.Quantity(); ((Hl7.Fhir.Model.Quantity)current.ExternalDiameter).DeserializeJson(ref reader, options); break; case "shape": if (reader.TokenType == JsonTokenType.Null) { current.ShapeElement = new FhirString(); reader.Skip(); } else { current.ShapeElement = new FhirString(reader.GetString()); } break; case "_shape": if (current.ShapeElement == null) { current.ShapeElement = new FhirString(); } ((Hl7.Fhir.Model.Element)current.ShapeElement).DeserializeJson(ref reader, options); break; case "color": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"ProdCharacteristic error reading 'color' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.ColorElement = new List <FhirString>(); while (reader.TokenType != JsonTokenType.EndArray) { if (reader.TokenType == JsonTokenType.Null) { current.ColorElement.Add(new FhirString()); reader.Skip(); } else { current.ColorElement.Add(new FhirString(reader.GetString())); } if (!reader.Read()) { throw new JsonException($"ProdCharacteristic error reading 'color' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.ColorElement.Count == 0) { current.ColorElement = null; } break; case "_color": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"ProdCharacteristic error reading 'color' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } int i_color = 0; while (reader.TokenType != JsonTokenType.EndArray) { if (i_color >= current.ColorElement.Count) { current.ColorElement.Add(new FhirString()); } if (reader.TokenType == JsonTokenType.Null) { reader.Skip(); } else { ((Hl7.Fhir.Model.Element)current.ColorElement[i_color++]).DeserializeJson(ref reader, options); } if (!reader.Read()) { throw new JsonException($"ProdCharacteristic error reading 'color' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } break; case "imprint": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"ProdCharacteristic error reading 'imprint' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.ImprintElement = new List <FhirString>(); while (reader.TokenType != JsonTokenType.EndArray) { if (reader.TokenType == JsonTokenType.Null) { current.ImprintElement.Add(new FhirString()); reader.Skip(); } else { current.ImprintElement.Add(new FhirString(reader.GetString())); } if (!reader.Read()) { throw new JsonException($"ProdCharacteristic error reading 'imprint' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.ImprintElement.Count == 0) { current.ImprintElement = null; } break; case "_imprint": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"ProdCharacteristic error reading 'imprint' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } int i_imprint = 0; while (reader.TokenType != JsonTokenType.EndArray) { if (i_imprint >= current.ImprintElement.Count) { current.ImprintElement.Add(new FhirString()); } if (reader.TokenType == JsonTokenType.Null) { reader.Skip(); } else { ((Hl7.Fhir.Model.Element)current.ImprintElement[i_imprint++]).DeserializeJson(ref reader, options); } if (!reader.Read()) { throw new JsonException($"ProdCharacteristic error reading 'imprint' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } break; case "image": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"ProdCharacteristic error reading 'image' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Image = new List <Attachment>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.Attachment v_Image = new Hl7.Fhir.Model.Attachment(); v_Image.DeserializeJson(ref reader, options); current.Image.Add(v_Image); if (!reader.Read()) { throw new JsonException($"ProdCharacteristic error reading 'image' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Image.Count == 0) { current.Image = null; } break; case "scoring": current.Scoring = new Hl7.Fhir.Model.CodeableConcept(); ((Hl7.Fhir.Model.CodeableConcept)current.Scoring).DeserializeJson(ref reader, options); break; // Complex: ProdCharacteristic, Export: ProdCharacteristic, Base: BackboneElement default: ((Hl7.Fhir.Model.BackboneType)current).DeserializeJsonProperty(ref reader, options, propertyName); break; } }
/// <summary> /// Deserialize JSON into a FHIR Library /// </summary> public static void DeserializeJsonProperty(this Library current, ref Utf8JsonReader reader, JsonSerializerOptions options, string propertyName) { switch (propertyName) { case "url": if (reader.TokenType == JsonTokenType.Null) { current.UrlElement = new FhirUri(); reader.Skip(); } else { current.UrlElement = new FhirUri(reader.GetString()); } break; case "_url": if (current.UrlElement == null) { current.UrlElement = new FhirUri(); } ((Hl7.Fhir.Model.Element)current.UrlElement).DeserializeJson(ref reader, options); break; case "identifier": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'identifier' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Identifier = new List <Identifier>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.Identifier v_Identifier = new Hl7.Fhir.Model.Identifier(); v_Identifier.DeserializeJson(ref reader, options); current.Identifier.Add(v_Identifier); if (!reader.Read()) { throw new JsonException($"Library error reading 'identifier' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Identifier.Count == 0) { current.Identifier = null; } break; case "version": if (reader.TokenType == JsonTokenType.Null) { current.VersionElement = new FhirString(); reader.Skip(); } else { current.VersionElement = new FhirString(reader.GetString()); } break; case "_version": if (current.VersionElement == null) { current.VersionElement = new FhirString(); } ((Hl7.Fhir.Model.Element)current.VersionElement).DeserializeJson(ref reader, options); break; case "name": if (reader.TokenType == JsonTokenType.Null) { current.NameElement = new FhirString(); reader.Skip(); } else { current.NameElement = new FhirString(reader.GetString()); } break; case "_name": if (current.NameElement == null) { current.NameElement = new FhirString(); } ((Hl7.Fhir.Model.Element)current.NameElement).DeserializeJson(ref reader, options); break; case "title": if (reader.TokenType == JsonTokenType.Null) { current.TitleElement = new FhirString(); reader.Skip(); } else { current.TitleElement = new FhirString(reader.GetString()); } break; case "_title": if (current.TitleElement == null) { current.TitleElement = new FhirString(); } ((Hl7.Fhir.Model.Element)current.TitleElement).DeserializeJson(ref reader, options); break; case "subtitle": if (reader.TokenType == JsonTokenType.Null) { current.SubtitleElement = new FhirString(); reader.Skip(); } else { current.SubtitleElement = new FhirString(reader.GetString()); } break; case "_subtitle": if (current.SubtitleElement == null) { current.SubtitleElement = new FhirString(); } ((Hl7.Fhir.Model.Element)current.SubtitleElement).DeserializeJson(ref reader, options); break; case "status": if (reader.TokenType == JsonTokenType.Null) { current.StatusElement = new Code <Hl7.Fhir.Model.PublicationStatus>(); reader.Skip(); } else { current.StatusElement = new Code <Hl7.Fhir.Model.PublicationStatus>(Hl7.Fhir.Utility.EnumUtility.ParseLiteral <Hl7.Fhir.Model.PublicationStatus>(reader.GetString())); } break; case "_status": if (current.StatusElement == null) { current.StatusElement = new Code <Hl7.Fhir.Model.PublicationStatus>(); } ((Hl7.Fhir.Model.Element)current.StatusElement).DeserializeJson(ref reader, options); break; case "experimental": if (reader.TokenType == JsonTokenType.Null) { current.ExperimentalElement = new FhirBoolean(); reader.Skip(); } else { current.ExperimentalElement = new FhirBoolean(reader.GetBoolean()); } break; case "_experimental": if (current.ExperimentalElement == null) { current.ExperimentalElement = new FhirBoolean(); } ((Hl7.Fhir.Model.Element)current.ExperimentalElement).DeserializeJson(ref reader, options); break; case "type": current.Type = new Hl7.Fhir.Model.CodeableConcept(); ((Hl7.Fhir.Model.CodeableConcept)current.Type).DeserializeJson(ref reader, options); break; case "subjectCodeableConcept": current.Subject = new Hl7.Fhir.Model.CodeableConcept(); ((Hl7.Fhir.Model.CodeableConcept)current.Subject).DeserializeJson(ref reader, options); break; case "subjectReference": current.Subject = new Hl7.Fhir.Model.ResourceReference(); ((Hl7.Fhir.Model.ResourceReference)current.Subject).DeserializeJson(ref reader, options); break; case "date": if (reader.TokenType == JsonTokenType.Null) { current.DateElement = new FhirDateTime(); reader.Skip(); } else { current.DateElement = new FhirDateTime(reader.GetString()); } break; case "_date": if (current.DateElement == null) { current.DateElement = new FhirDateTime(); } ((Hl7.Fhir.Model.Element)current.DateElement).DeserializeJson(ref reader, options); break; case "publisher": if (reader.TokenType == JsonTokenType.Null) { current.PublisherElement = new FhirString(); reader.Skip(); } else { current.PublisherElement = new FhirString(reader.GetString()); } break; case "_publisher": if (current.PublisherElement == null) { current.PublisherElement = new FhirString(); } ((Hl7.Fhir.Model.Element)current.PublisherElement).DeserializeJson(ref reader, options); break; case "contact": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'contact' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Contact = new List <ContactDetail>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ContactDetail v_Contact = new Hl7.Fhir.Model.ContactDetail(); v_Contact.DeserializeJson(ref reader, options); current.Contact.Add(v_Contact); if (!reader.Read()) { throw new JsonException($"Library error reading 'contact' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Contact.Count == 0) { current.Contact = null; } break; case "description": if (reader.TokenType == JsonTokenType.Null) { current.Description = new Markdown(); reader.Skip(); } else { current.Description = new Markdown(reader.GetString()); } break; case "_description": if (current.Description == null) { current.Description = new Markdown(); } ((Hl7.Fhir.Model.Element)current.Description).DeserializeJson(ref reader, options); break; case "useContext": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'useContext' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.UseContext = new List <UsageContext>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.UsageContext v_UseContext = new Hl7.Fhir.Model.UsageContext(); v_UseContext.DeserializeJson(ref reader, options); current.UseContext.Add(v_UseContext); if (!reader.Read()) { throw new JsonException($"Library error reading 'useContext' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.UseContext.Count == 0) { current.UseContext = null; } break; case "jurisdiction": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'jurisdiction' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Jurisdiction = new List <CodeableConcept>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.CodeableConcept v_Jurisdiction = new Hl7.Fhir.Model.CodeableConcept(); v_Jurisdiction.DeserializeJson(ref reader, options); current.Jurisdiction.Add(v_Jurisdiction); if (!reader.Read()) { throw new JsonException($"Library error reading 'jurisdiction' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Jurisdiction.Count == 0) { current.Jurisdiction = null; } break; case "purpose": if (reader.TokenType == JsonTokenType.Null) { current.Purpose = new Markdown(); reader.Skip(); } else { current.Purpose = new Markdown(reader.GetString()); } break; case "_purpose": if (current.Purpose == null) { current.Purpose = new Markdown(); } ((Hl7.Fhir.Model.Element)current.Purpose).DeserializeJson(ref reader, options); break; case "usage": if (reader.TokenType == JsonTokenType.Null) { current.UsageElement = new FhirString(); reader.Skip(); } else { current.UsageElement = new FhirString(reader.GetString()); } break; case "_usage": if (current.UsageElement == null) { current.UsageElement = new FhirString(); } ((Hl7.Fhir.Model.Element)current.UsageElement).DeserializeJson(ref reader, options); break; case "copyright": if (reader.TokenType == JsonTokenType.Null) { current.Copyright = new Markdown(); reader.Skip(); } else { current.Copyright = new Markdown(reader.GetString()); } break; case "_copyright": if (current.Copyright == null) { current.Copyright = new Markdown(); } ((Hl7.Fhir.Model.Element)current.Copyright).DeserializeJson(ref reader, options); break; case "approvalDate": if (reader.TokenType == JsonTokenType.Null) { current.ApprovalDateElement = new Date(); reader.Skip(); } else { current.ApprovalDateElement = new Date(reader.GetString()); } break; case "_approvalDate": if (current.ApprovalDateElement == null) { current.ApprovalDateElement = new Date(); } ((Hl7.Fhir.Model.Element)current.ApprovalDateElement).DeserializeJson(ref reader, options); break; case "lastReviewDate": if (reader.TokenType == JsonTokenType.Null) { current.LastReviewDateElement = new Date(); reader.Skip(); } else { current.LastReviewDateElement = new Date(reader.GetString()); } break; case "_lastReviewDate": if (current.LastReviewDateElement == null) { current.LastReviewDateElement = new Date(); } ((Hl7.Fhir.Model.Element)current.LastReviewDateElement).DeserializeJson(ref reader, options); break; case "effectivePeriod": current.EffectivePeriod = new Hl7.Fhir.Model.Period(); ((Hl7.Fhir.Model.Period)current.EffectivePeriod).DeserializeJson(ref reader, options); break; case "topic": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'topic' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Topic = new List <CodeableConcept>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.CodeableConcept v_Topic = new Hl7.Fhir.Model.CodeableConcept(); v_Topic.DeserializeJson(ref reader, options); current.Topic.Add(v_Topic); if (!reader.Read()) { throw new JsonException($"Library error reading 'topic' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Topic.Count == 0) { current.Topic = null; } break; case "author": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'author' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Author = new List <ContactDetail>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ContactDetail v_Author = new Hl7.Fhir.Model.ContactDetail(); v_Author.DeserializeJson(ref reader, options); current.Author.Add(v_Author); if (!reader.Read()) { throw new JsonException($"Library error reading 'author' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Author.Count == 0) { current.Author = null; } break; case "editor": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'editor' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Editor = new List <ContactDetail>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ContactDetail v_Editor = new Hl7.Fhir.Model.ContactDetail(); v_Editor.DeserializeJson(ref reader, options); current.Editor.Add(v_Editor); if (!reader.Read()) { throw new JsonException($"Library error reading 'editor' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Editor.Count == 0) { current.Editor = null; } break; case "reviewer": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'reviewer' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Reviewer = new List <ContactDetail>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ContactDetail v_Reviewer = new Hl7.Fhir.Model.ContactDetail(); v_Reviewer.DeserializeJson(ref reader, options); current.Reviewer.Add(v_Reviewer); if (!reader.Read()) { throw new JsonException($"Library error reading 'reviewer' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Reviewer.Count == 0) { current.Reviewer = null; } break; case "endorser": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'endorser' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Endorser = new List <ContactDetail>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ContactDetail v_Endorser = new Hl7.Fhir.Model.ContactDetail(); v_Endorser.DeserializeJson(ref reader, options); current.Endorser.Add(v_Endorser); if (!reader.Read()) { throw new JsonException($"Library error reading 'endorser' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Endorser.Count == 0) { current.Endorser = null; } break; case "relatedArtifact": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'relatedArtifact' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.RelatedArtifact = new List <RelatedArtifact>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.RelatedArtifact v_RelatedArtifact = new Hl7.Fhir.Model.RelatedArtifact(); v_RelatedArtifact.DeserializeJson(ref reader, options); current.RelatedArtifact.Add(v_RelatedArtifact); if (!reader.Read()) { throw new JsonException($"Library error reading 'relatedArtifact' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.RelatedArtifact.Count == 0) { current.RelatedArtifact = null; } break; case "parameter": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'parameter' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Parameter = new List <ParameterDefinition>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ParameterDefinition v_Parameter = new Hl7.Fhir.Model.ParameterDefinition(); v_Parameter.DeserializeJson(ref reader, options); current.Parameter.Add(v_Parameter); if (!reader.Read()) { throw new JsonException($"Library error reading 'parameter' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Parameter.Count == 0) { current.Parameter = null; } break; case "dataRequirement": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'dataRequirement' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.DataRequirement = new List <DataRequirement>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.DataRequirement v_DataRequirement = new Hl7.Fhir.Model.DataRequirement(); v_DataRequirement.DeserializeJson(ref reader, options); current.DataRequirement.Add(v_DataRequirement); if (!reader.Read()) { throw new JsonException($"Library error reading 'dataRequirement' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.DataRequirement.Count == 0) { current.DataRequirement = null; } break; case "content": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Library error reading 'content' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Content = new List <Attachment>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.Attachment v_Content = new Hl7.Fhir.Model.Attachment(); v_Content.DeserializeJson(ref reader, options); current.Content.Add(v_Content); if (!reader.Read()) { throw new JsonException($"Library error reading 'content' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Content.Count == 0) { current.Content = null; } break; // Complex: Library, Export: Library, Base: DomainResource default: ((Hl7.Fhir.Model.DomainResource)current).DeserializeJsonProperty(ref reader, options, propertyName); break; } }
/// <summary> /// Deserialize JSON into a FHIR Practitioner /// </summary> public static void DeserializeJsonProperty(this Practitioner current, ref Utf8JsonReader reader, JsonSerializerOptions options, string propertyName) { switch (propertyName) { case "identifier": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Practitioner error reading 'identifier' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Identifier = new List <Identifier>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.Identifier v_Identifier = new Hl7.Fhir.Model.Identifier(); v_Identifier.DeserializeJson(ref reader, options); current.Identifier.Add(v_Identifier); if (!reader.Read()) { throw new JsonException($"Practitioner error reading 'identifier' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Identifier.Count == 0) { current.Identifier = null; } break; case "active": if (reader.TokenType == JsonTokenType.Null) { current.ActiveElement = new FhirBoolean(); reader.Skip(); } else { current.ActiveElement = new FhirBoolean(reader.GetBoolean()); } break; case "_active": if (current.ActiveElement == null) { current.ActiveElement = new FhirBoolean(); } ((Hl7.Fhir.Model.Element)current.ActiveElement).DeserializeJson(ref reader, options); break; case "name": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Practitioner error reading 'name' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Name = new List <HumanName>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.HumanName v_Name = new Hl7.Fhir.Model.HumanName(); v_Name.DeserializeJson(ref reader, options); current.Name.Add(v_Name); if (!reader.Read()) { throw new JsonException($"Practitioner error reading 'name' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Name.Count == 0) { current.Name = null; } break; case "telecom": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Practitioner error reading 'telecom' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Telecom = new List <ContactPoint>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ContactPoint v_Telecom = new Hl7.Fhir.Model.ContactPoint(); v_Telecom.DeserializeJson(ref reader, options); current.Telecom.Add(v_Telecom); if (!reader.Read()) { throw new JsonException($"Practitioner error reading 'telecom' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Telecom.Count == 0) { current.Telecom = null; } break; case "address": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Practitioner error reading 'address' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Address = new List <Address>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.Address v_Address = new Hl7.Fhir.Model.Address(); v_Address.DeserializeJson(ref reader, options); current.Address.Add(v_Address); if (!reader.Read()) { throw new JsonException($"Practitioner error reading 'address' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Address.Count == 0) { current.Address = null; } break; case "gender": if (reader.TokenType == JsonTokenType.Null) { current.GenderElement = new Code <Hl7.Fhir.Model.AdministrativeGender>(); reader.Skip(); } else { current.GenderElement = new Code <Hl7.Fhir.Model.AdministrativeGender>(Hl7.Fhir.Utility.EnumUtility.ParseLiteral <Hl7.Fhir.Model.AdministrativeGender>(reader.GetString())); } break; case "_gender": if (current.GenderElement == null) { current.GenderElement = new Code <Hl7.Fhir.Model.AdministrativeGender>(); } ((Hl7.Fhir.Model.Element)current.GenderElement).DeserializeJson(ref reader, options); break; case "birthDate": if (reader.TokenType == JsonTokenType.Null) { current.BirthDateElement = new Date(); reader.Skip(); } else { current.BirthDateElement = new Date(reader.GetString()); } break; case "_birthDate": if (current.BirthDateElement == null) { current.BirthDateElement = new Date(); } ((Hl7.Fhir.Model.Element)current.BirthDateElement).DeserializeJson(ref reader, options); break; case "photo": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Practitioner error reading 'photo' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Photo = new List <Attachment>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.Attachment v_Photo = new Hl7.Fhir.Model.Attachment(); v_Photo.DeserializeJson(ref reader, options); current.Photo.Add(v_Photo); if (!reader.Read()) { throw new JsonException($"Practitioner error reading 'photo' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Photo.Count == 0) { current.Photo = null; } break; case "qualification": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Practitioner error reading 'qualification' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Qualification = new List <Practitioner.QualificationComponent>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.Practitioner.QualificationComponent v_Qualification = new Hl7.Fhir.Model.Practitioner.QualificationComponent(); v_Qualification.DeserializeJson(ref reader, options); current.Qualification.Add(v_Qualification); if (!reader.Read()) { throw new JsonException($"Practitioner error reading 'qualification' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Qualification.Count == 0) { current.Qualification = null; } break; case "communication": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"Practitioner error reading 'communication' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Communication = new List <CodeableConcept>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.CodeableConcept v_Communication = new Hl7.Fhir.Model.CodeableConcept(); v_Communication.DeserializeJson(ref reader, options); current.Communication.Add(v_Communication); if (!reader.Read()) { throw new JsonException($"Practitioner error reading 'communication' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Communication.Count == 0) { current.Communication = null; } break; // Complex: Practitioner, Export: Practitioner, Base: DomainResource default: ((Hl7.Fhir.Model.DomainResource)current).DeserializeJsonProperty(ref reader, options, propertyName); break; } }
/// <summary> /// Deserialize JSON into a FHIR DiagnosticReport /// </summary> public static void DeserializeJsonProperty(this DiagnosticReport current, ref Utf8JsonReader reader, JsonSerializerOptions options, string propertyName) { switch (propertyName) { case "identifier": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"DiagnosticReport error reading 'identifier' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Identifier = new List <Identifier>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.Identifier v_Identifier = new Hl7.Fhir.Model.Identifier(); v_Identifier.DeserializeJson(ref reader, options); current.Identifier.Add(v_Identifier); if (!reader.Read()) { throw new JsonException($"DiagnosticReport error reading 'identifier' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Identifier.Count == 0) { current.Identifier = null; } break; case "basedOn": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"DiagnosticReport error reading 'basedOn' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.BasedOn = new List <ResourceReference>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ResourceReference v_BasedOn = new Hl7.Fhir.Model.ResourceReference(); v_BasedOn.DeserializeJson(ref reader, options); current.BasedOn.Add(v_BasedOn); if (!reader.Read()) { throw new JsonException($"DiagnosticReport error reading 'basedOn' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.BasedOn.Count == 0) { current.BasedOn = null; } break; case "status": if (reader.TokenType == JsonTokenType.Null) { current.StatusElement = new Code <Hl7.Fhir.Model.DiagnosticReport.DiagnosticReportStatus>(); reader.Skip(); } else { current.StatusElement = new Code <Hl7.Fhir.Model.DiagnosticReport.DiagnosticReportStatus>(Hl7.Fhir.Utility.EnumUtility.ParseLiteral <Hl7.Fhir.Model.DiagnosticReport.DiagnosticReportStatus>(reader.GetString())); } break; case "_status": if (current.StatusElement == null) { current.StatusElement = new Code <Hl7.Fhir.Model.DiagnosticReport.DiagnosticReportStatus>(); } ((Hl7.Fhir.Model.Element)current.StatusElement).DeserializeJson(ref reader, options); break; case "category": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"DiagnosticReport error reading 'category' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Category = new List <CodeableConcept>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.CodeableConcept v_Category = new Hl7.Fhir.Model.CodeableConcept(); v_Category.DeserializeJson(ref reader, options); current.Category.Add(v_Category); if (!reader.Read()) { throw new JsonException($"DiagnosticReport error reading 'category' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Category.Count == 0) { current.Category = null; } break; case "code": current.Code = new Hl7.Fhir.Model.CodeableConcept(); ((Hl7.Fhir.Model.CodeableConcept)current.Code).DeserializeJson(ref reader, options); break; case "subject": current.Subject = new Hl7.Fhir.Model.ResourceReference(); ((Hl7.Fhir.Model.ResourceReference)current.Subject).DeserializeJson(ref reader, options); break; case "encounter": current.Encounter = new Hl7.Fhir.Model.ResourceReference(); ((Hl7.Fhir.Model.ResourceReference)current.Encounter).DeserializeJson(ref reader, options); break; case "effectiveDateTime": if (reader.TokenType == JsonTokenType.Null) { current.Effective = new FhirDateTime(); reader.Skip(); } else { current.Effective = new FhirDateTime(reader.GetString()); } break; case "_effectiveDateTime": if (current.Effective == null) { current.Effective = new FhirDateTime(); } ((Hl7.Fhir.Model.Element)current.Effective).DeserializeJson(ref reader, options); break; case "effectivePeriod": current.Effective = new Hl7.Fhir.Model.Period(); ((Hl7.Fhir.Model.Period)current.Effective).DeserializeJson(ref reader, options); break; case "issued": if (reader.TokenType == JsonTokenType.Null) { current.IssuedElement = new Instant(); reader.Skip(); } else { current.IssuedElement = new Instant(DateTimeOffset.Parse(reader.GetString())); } break; case "_issued": if (current.IssuedElement == null) { current.IssuedElement = new Instant(); } ((Hl7.Fhir.Model.Element)current.IssuedElement).DeserializeJson(ref reader, options); break; case "performer": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"DiagnosticReport error reading 'performer' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Performer = new List <ResourceReference>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ResourceReference v_Performer = new Hl7.Fhir.Model.ResourceReference(); v_Performer.DeserializeJson(ref reader, options); current.Performer.Add(v_Performer); if (!reader.Read()) { throw new JsonException($"DiagnosticReport error reading 'performer' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Performer.Count == 0) { current.Performer = null; } break; case "resultsInterpreter": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"DiagnosticReport error reading 'resultsInterpreter' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.ResultsInterpreter = new List <ResourceReference>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ResourceReference v_ResultsInterpreter = new Hl7.Fhir.Model.ResourceReference(); v_ResultsInterpreter.DeserializeJson(ref reader, options); current.ResultsInterpreter.Add(v_ResultsInterpreter); if (!reader.Read()) { throw new JsonException($"DiagnosticReport error reading 'resultsInterpreter' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.ResultsInterpreter.Count == 0) { current.ResultsInterpreter = null; } break; case "specimen": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"DiagnosticReport error reading 'specimen' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Specimen = new List <ResourceReference>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ResourceReference v_Specimen = new Hl7.Fhir.Model.ResourceReference(); v_Specimen.DeserializeJson(ref reader, options); current.Specimen.Add(v_Specimen); if (!reader.Read()) { throw new JsonException($"DiagnosticReport error reading 'specimen' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Specimen.Count == 0) { current.Specimen = null; } break; case "result": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"DiagnosticReport error reading 'result' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Result = new List <ResourceReference>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ResourceReference v_Result = new Hl7.Fhir.Model.ResourceReference(); v_Result.DeserializeJson(ref reader, options); current.Result.Add(v_Result); if (!reader.Read()) { throw new JsonException($"DiagnosticReport error reading 'result' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Result.Count == 0) { current.Result = null; } break; case "imagingStudy": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"DiagnosticReport error reading 'imagingStudy' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.ImagingStudy = new List <ResourceReference>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.ResourceReference v_ImagingStudy = new Hl7.Fhir.Model.ResourceReference(); v_ImagingStudy.DeserializeJson(ref reader, options); current.ImagingStudy.Add(v_ImagingStudy); if (!reader.Read()) { throw new JsonException($"DiagnosticReport error reading 'imagingStudy' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.ImagingStudy.Count == 0) { current.ImagingStudy = null; } break; case "media": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"DiagnosticReport error reading 'media' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Media = new List <DiagnosticReport.MediaComponent>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.DiagnosticReport.MediaComponent v_Media = new Hl7.Fhir.Model.DiagnosticReport.MediaComponent(); v_Media.DeserializeJson(ref reader, options); current.Media.Add(v_Media); if (!reader.Read()) { throw new JsonException($"DiagnosticReport error reading 'media' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Media.Count == 0) { current.Media = null; } break; case "conclusion": if (reader.TokenType == JsonTokenType.Null) { current.ConclusionElement = new FhirString(); reader.Skip(); } else { current.ConclusionElement = new FhirString(reader.GetString()); } break; case "_conclusion": if (current.ConclusionElement == null) { current.ConclusionElement = new FhirString(); } ((Hl7.Fhir.Model.Element)current.ConclusionElement).DeserializeJson(ref reader, options); break; case "conclusionCode": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"DiagnosticReport error reading 'conclusionCode' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.ConclusionCode = new List <CodeableConcept>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.CodeableConcept v_ConclusionCode = new Hl7.Fhir.Model.CodeableConcept(); v_ConclusionCode.DeserializeJson(ref reader, options); current.ConclusionCode.Add(v_ConclusionCode); if (!reader.Read()) { throw new JsonException($"DiagnosticReport error reading 'conclusionCode' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.ConclusionCode.Count == 0) { current.ConclusionCode = null; } break; case "presentedForm": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"DiagnosticReport error reading 'presentedForm' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.PresentedForm = new List <Attachment>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.Attachment v_PresentedForm = new Hl7.Fhir.Model.Attachment(); v_PresentedForm.DeserializeJson(ref reader, options); current.PresentedForm.Add(v_PresentedForm); if (!reader.Read()) { throw new JsonException($"DiagnosticReport error reading 'presentedForm' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.PresentedForm.Count == 0) { current.PresentedForm = null; } break; // Complex: DiagnosticReport, Export: DiagnosticReport, Base: DomainResource default: ((Hl7.Fhir.Model.DomainResource)current).DeserializeJsonProperty(ref reader, options, propertyName); break; } }
/// <summary> /// Deserialize JSON into a FHIR BodyStructure /// </summary> public static void DeserializeJsonProperty(this BodyStructure current, ref Utf8JsonReader reader, JsonSerializerOptions options, string propertyName) { switch (propertyName) { case "identifier": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"BodyStructure error reading 'identifier' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Identifier = new List <Identifier>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.Identifier v_Identifier = new Hl7.Fhir.Model.Identifier(); v_Identifier.DeserializeJson(ref reader, options); current.Identifier.Add(v_Identifier); if (!reader.Read()) { throw new JsonException($"BodyStructure error reading 'identifier' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Identifier.Count == 0) { current.Identifier = null; } break; case "active": if (reader.TokenType == JsonTokenType.Null) { current.ActiveElement = new FhirBoolean(); reader.Skip(); } else { current.ActiveElement = new FhirBoolean(reader.GetBoolean()); } break; case "_active": if (current.ActiveElement == null) { current.ActiveElement = new FhirBoolean(); } ((Hl7.Fhir.Model.Element)current.ActiveElement).DeserializeJson(ref reader, options); break; case "morphology": current.Morphology = new Hl7.Fhir.Model.CodeableConcept(); ((Hl7.Fhir.Model.CodeableConcept)current.Morphology).DeserializeJson(ref reader, options); break; case "location": current.Location = new Hl7.Fhir.Model.CodeableConcept(); ((Hl7.Fhir.Model.CodeableConcept)current.Location).DeserializeJson(ref reader, options); break; case "locationQualifier": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"BodyStructure error reading 'locationQualifier' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.LocationQualifier = new List <CodeableConcept>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.CodeableConcept v_LocationQualifier = new Hl7.Fhir.Model.CodeableConcept(); v_LocationQualifier.DeserializeJson(ref reader, options); current.LocationQualifier.Add(v_LocationQualifier); if (!reader.Read()) { throw new JsonException($"BodyStructure error reading 'locationQualifier' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.LocationQualifier.Count == 0) { current.LocationQualifier = null; } break; case "description": if (reader.TokenType == JsonTokenType.Null) { current.DescriptionElement = new FhirString(); reader.Skip(); } else { current.DescriptionElement = new FhirString(reader.GetString()); } break; case "_description": if (current.DescriptionElement == null) { current.DescriptionElement = new FhirString(); } ((Hl7.Fhir.Model.Element)current.DescriptionElement).DeserializeJson(ref reader, options); break; case "image": if ((reader.TokenType != JsonTokenType.StartArray) || (!reader.Read())) { throw new JsonException($"BodyStructure error reading 'image' expected StartArray, found {reader.TokenType}! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } current.Image = new List <Attachment>(); while (reader.TokenType != JsonTokenType.EndArray) { Hl7.Fhir.Model.Attachment v_Image = new Hl7.Fhir.Model.Attachment(); v_Image.DeserializeJson(ref reader, options); current.Image.Add(v_Image); if (!reader.Read()) { throw new JsonException($"BodyStructure error reading 'image' array, read failed! depth: {reader.CurrentDepth}, pos: {reader.BytesConsumed}"); } if (reader.TokenType == JsonTokenType.EndObject) { reader.Read(); } } if (current.Image.Count == 0) { current.Image = null; } break; case "patient": current.Patient = new Hl7.Fhir.Model.ResourceReference(); ((Hl7.Fhir.Model.ResourceReference)current.Patient).DeserializeJson(ref reader, options); break; // Complex: BodyStructure, Export: BodyStructure, Base: DomainResource default: ((Hl7.Fhir.Model.DomainResource)current).DeserializeJsonProperty(ref reader, options, propertyName); break; } }