use super::*;
#[cfg_attr(feature = "derive-debug", derive(Debug))]
#[cfg_attr(feature = "derive-clone", derive(Clone))]
pub struct RadiationTherapy {
pub r#additional_type: Vec<AdditionalTypeProperty>,
pub r#adverse_outcome: Vec<AdverseOutcomeProperty>,
pub r#alternate_name: Vec<AlternateNameProperty>,
pub r#body_location: Vec<BodyLocationProperty>,
pub r#code: Vec<CodeProperty>,
pub r#contraindication: Vec<ContraindicationProperty>,
pub r#description: Vec<DescriptionProperty>,
pub r#disambiguating_description: Vec<DisambiguatingDescriptionProperty>,
pub r#dose_schedule: Vec<DoseScheduleProperty>,
pub r#drug: Vec<DrugProperty>,
pub r#duplicate_therapy: Vec<DuplicateTherapyProperty>,
pub r#followup: Vec<FollowupProperty>,
pub r#funding: Vec<FundingProperty>,
pub r#guideline: Vec<GuidelineProperty>,
pub r#how_performed: Vec<HowPerformedProperty>,
pub r#identifier: Vec<IdentifierProperty>,
pub r#image: Vec<ImageProperty>,
pub r#legal_status: Vec<LegalStatusProperty>,
pub r#main_entity_of_page: Vec<MainEntityOfPageProperty>,
pub r#medicine_system: Vec<MedicineSystemProperty>,
pub r#name: Vec<NameProperty>,
pub r#potential_action: Vec<PotentialActionProperty>,
pub r#preparation: Vec<PreparationProperty>,
pub r#procedure_type: Vec<ProcedureTypeProperty>,
pub r#recognizing_authority: Vec<RecognizingAuthorityProperty>,
pub r#relevant_specialty: Vec<RelevantSpecialtyProperty>,
pub r#same_as: Vec<SameAsProperty>,
pub r#serious_adverse_outcome: Vec<SeriousAdverseOutcomeProperty>,
pub r#status: Vec<StatusProperty>,
pub r#study: Vec<StudyProperty>,
pub r#subject_of: Vec<SubjectOfProperty>,
pub r#url: Vec<UrlProperty>,
}
#[cfg(feature = "serde")]
mod serde {
use std::{fmt, fmt::Formatter};
use ::serde::{
de, de::Visitor, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer,
};
use super::*;
impl Serialize for RadiationTherapy {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
let len: usize = [
!Vec::is_empty(&self.r#additional_type) as usize,
!Vec::is_empty(&self.r#adverse_outcome) as usize,
!Vec::is_empty(&self.r#alternate_name) as usize,
!Vec::is_empty(&self.r#body_location) as usize,
!Vec::is_empty(&self.r#code) as usize,
!Vec::is_empty(&self.r#contraindication) as usize,
!Vec::is_empty(&self.r#description) as usize,
!Vec::is_empty(&self.r#disambiguating_description) as usize,
!Vec::is_empty(&self.r#dose_schedule) as usize,
!Vec::is_empty(&self.r#drug) as usize,
!Vec::is_empty(&self.r#duplicate_therapy) as usize,
!Vec::is_empty(&self.r#followup) as usize,
!Vec::is_empty(&self.r#funding) as usize,
!Vec::is_empty(&self.r#guideline) as usize,
!Vec::is_empty(&self.r#how_performed) as usize,
!Vec::is_empty(&self.r#identifier) as usize,
!Vec::is_empty(&self.r#image) as usize,
!Vec::is_empty(&self.r#legal_status) as usize,
!Vec::is_empty(&self.r#main_entity_of_page) as usize,
!Vec::is_empty(&self.r#medicine_system) as usize,
!Vec::is_empty(&self.r#name) as usize,
!Vec::is_empty(&self.r#potential_action) as usize,
!Vec::is_empty(&self.r#preparation) as usize,
!Vec::is_empty(&self.r#procedure_type) as usize,
!Vec::is_empty(&self.r#recognizing_authority) as usize,
!Vec::is_empty(&self.r#relevant_specialty) as usize,
!Vec::is_empty(&self.r#same_as) as usize,
!Vec::is_empty(&self.r#serious_adverse_outcome) as usize,
!Vec::is_empty(&self.r#status) as usize,
!Vec::is_empty(&self.r#study) as usize,
!Vec::is_empty(&self.r#subject_of) as usize,
!Vec::is_empty(&self.r#url) as usize,
]
.iter()
.sum();
let mut serialize_struct =
Serializer::serialize_struct(serializer, "RadiationTherapy", len)?;
if !Vec::is_empty(&self.r#additional_type) {
serialize_struct.serialize_field("additionalType", {
struct SerializeWith<'a>(&'a Vec<AdditionalTypeProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#additional_type)
})?;
} else {
serialize_struct.skip_field("additionalType")?;
}
if !Vec::is_empty(&self.r#adverse_outcome) {
serialize_struct.serialize_field("adverseOutcome", {
struct SerializeWith<'a>(&'a Vec<AdverseOutcomeProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#adverse_outcome)
})?;
} else {
serialize_struct.skip_field("adverseOutcome")?;
}
if !Vec::is_empty(&self.r#alternate_name) {
serialize_struct.serialize_field("alternateName", {
struct SerializeWith<'a>(&'a Vec<AlternateNameProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#alternate_name)
})?;
} else {
serialize_struct.skip_field("alternateName")?;
}
if !Vec::is_empty(&self.r#body_location) {
serialize_struct.serialize_field("bodyLocation", {
struct SerializeWith<'a>(&'a Vec<BodyLocationProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#body_location)
})?;
} else {
serialize_struct.skip_field("bodyLocation")?;
}
if !Vec::is_empty(&self.r#code) {
serialize_struct.serialize_field("code", {
struct SerializeWith<'a>(&'a Vec<CodeProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#code)
})?;
} else {
serialize_struct.skip_field("code")?;
}
if !Vec::is_empty(&self.r#contraindication) {
serialize_struct.serialize_field("contraindication", {
struct SerializeWith<'a>(&'a Vec<ContraindicationProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#contraindication)
})?;
} else {
serialize_struct.skip_field("contraindication")?;
}
if !Vec::is_empty(&self.r#description) {
serialize_struct.serialize_field("description", {
struct SerializeWith<'a>(&'a Vec<DescriptionProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#description)
})?;
} else {
serialize_struct.skip_field("description")?;
}
if !Vec::is_empty(&self.r#disambiguating_description) {
serialize_struct.serialize_field("disambiguatingDescription", {
struct SerializeWith<'a>(&'a Vec<DisambiguatingDescriptionProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#disambiguating_description)
})?;
} else {
serialize_struct.skip_field("disambiguatingDescription")?;
}
if !Vec::is_empty(&self.r#dose_schedule) {
serialize_struct.serialize_field("doseSchedule", {
struct SerializeWith<'a>(&'a Vec<DoseScheduleProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#dose_schedule)
})?;
} else {
serialize_struct.skip_field("doseSchedule")?;
}
if !Vec::is_empty(&self.r#drug) {
serialize_struct.serialize_field("drug", {
struct SerializeWith<'a>(&'a Vec<DrugProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#drug)
})?;
} else {
serialize_struct.skip_field("drug")?;
}
if !Vec::is_empty(&self.r#duplicate_therapy) {
serialize_struct.serialize_field("duplicateTherapy", {
struct SerializeWith<'a>(&'a Vec<DuplicateTherapyProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#duplicate_therapy)
})?;
} else {
serialize_struct.skip_field("duplicateTherapy")?;
}
if !Vec::is_empty(&self.r#followup) {
serialize_struct.serialize_field("followup", {
struct SerializeWith<'a>(&'a Vec<FollowupProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#followup)
})?;
} else {
serialize_struct.skip_field("followup")?;
}
if !Vec::is_empty(&self.r#funding) {
serialize_struct.serialize_field("funding", {
struct SerializeWith<'a>(&'a Vec<FundingProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#funding)
})?;
} else {
serialize_struct.skip_field("funding")?;
}
if !Vec::is_empty(&self.r#guideline) {
serialize_struct.serialize_field("guideline", {
struct SerializeWith<'a>(&'a Vec<GuidelineProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#guideline)
})?;
} else {
serialize_struct.skip_field("guideline")?;
}
if !Vec::is_empty(&self.r#how_performed) {
serialize_struct.serialize_field("howPerformed", {
struct SerializeWith<'a>(&'a Vec<HowPerformedProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#how_performed)
})?;
} else {
serialize_struct.skip_field("howPerformed")?;
}
if !Vec::is_empty(&self.r#identifier) {
serialize_struct.serialize_field("identifier", {
struct SerializeWith<'a>(&'a Vec<IdentifierProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#identifier)
})?;
} else {
serialize_struct.skip_field("identifier")?;
}
if !Vec::is_empty(&self.r#image) {
serialize_struct.serialize_field("image", {
struct SerializeWith<'a>(&'a Vec<ImageProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#image)
})?;
} else {
serialize_struct.skip_field("image")?;
}
if !Vec::is_empty(&self.r#legal_status) {
serialize_struct.serialize_field("legalStatus", {
struct SerializeWith<'a>(&'a Vec<LegalStatusProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#legal_status)
})?;
} else {
serialize_struct.skip_field("legalStatus")?;
}
if !Vec::is_empty(&self.r#main_entity_of_page) {
serialize_struct.serialize_field("mainEntityOfPage", {
struct SerializeWith<'a>(&'a Vec<MainEntityOfPageProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#main_entity_of_page)
})?;
} else {
serialize_struct.skip_field("mainEntityOfPage")?;
}
if !Vec::is_empty(&self.r#medicine_system) {
serialize_struct.serialize_field("medicineSystem", {
struct SerializeWith<'a>(&'a Vec<MedicineSystemProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#medicine_system)
})?;
} else {
serialize_struct.skip_field("medicineSystem")?;
}
if !Vec::is_empty(&self.r#name) {
serialize_struct.serialize_field("name", {
struct SerializeWith<'a>(&'a Vec<NameProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#name)
})?;
} else {
serialize_struct.skip_field("name")?;
}
if !Vec::is_empty(&self.r#potential_action) {
serialize_struct.serialize_field("potentialAction", {
struct SerializeWith<'a>(&'a Vec<PotentialActionProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#potential_action)
})?;
} else {
serialize_struct.skip_field("potentialAction")?;
}
if !Vec::is_empty(&self.r#preparation) {
serialize_struct.serialize_field("preparation", {
struct SerializeWith<'a>(&'a Vec<PreparationProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#preparation)
})?;
} else {
serialize_struct.skip_field("preparation")?;
}
if !Vec::is_empty(&self.r#procedure_type) {
serialize_struct.serialize_field("procedureType", {
struct SerializeWith<'a>(&'a Vec<ProcedureTypeProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#procedure_type)
})?;
} else {
serialize_struct.skip_field("procedureType")?;
}
if !Vec::is_empty(&self.r#recognizing_authority) {
serialize_struct.serialize_field("recognizingAuthority", {
struct SerializeWith<'a>(&'a Vec<RecognizingAuthorityProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#recognizing_authority)
})?;
} else {
serialize_struct.skip_field("recognizingAuthority")?;
}
if !Vec::is_empty(&self.r#relevant_specialty) {
serialize_struct.serialize_field("relevantSpecialty", {
struct SerializeWith<'a>(&'a Vec<RelevantSpecialtyProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#relevant_specialty)
})?;
} else {
serialize_struct.skip_field("relevantSpecialty")?;
}
if !Vec::is_empty(&self.r#same_as) {
serialize_struct.serialize_field("sameAs", {
struct SerializeWith<'a>(&'a Vec<SameAsProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#same_as)
})?;
} else {
serialize_struct.skip_field("sameAs")?;
}
if !Vec::is_empty(&self.r#serious_adverse_outcome) {
serialize_struct.serialize_field("seriousAdverseOutcome", {
struct SerializeWith<'a>(&'a Vec<SeriousAdverseOutcomeProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#serious_adverse_outcome)
})?;
} else {
serialize_struct.skip_field("seriousAdverseOutcome")?;
}
if !Vec::is_empty(&self.r#status) {
serialize_struct.serialize_field("status", {
struct SerializeWith<'a>(&'a Vec<StatusProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#status)
})?;
} else {
serialize_struct.skip_field("status")?;
}
if !Vec::is_empty(&self.r#study) {
serialize_struct.serialize_field("study", {
struct SerializeWith<'a>(&'a Vec<StudyProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#study)
})?;
} else {
serialize_struct.skip_field("study")?;
}
if !Vec::is_empty(&self.r#subject_of) {
serialize_struct.serialize_field("subjectOf", {
struct SerializeWith<'a>(&'a Vec<SubjectOfProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#subject_of)
})?;
} else {
serialize_struct.skip_field("subjectOf")?;
}
if !Vec::is_empty(&self.r#url) {
serialize_struct.serialize_field("url", {
struct SerializeWith<'a>(&'a Vec<UrlProperty>);
impl<'a> Serialize for SerializeWith<'a> {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
serde_with::As::<serde_with::OneOrMany<serde_with::Same>>::serialize(
self.0, serializer,
)
}
}
&SerializeWith(&self.r#url)
})?;
} else {
serialize_struct.skip_field("url")?;
}
serialize_struct.end()
}
}
impl<'de> Deserialize<'de> for RadiationTherapy {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
enum Field {
AdditionalType,
AdverseOutcome,
AlternateName,
BodyLocation,
Code,
Contraindication,
Description,
DisambiguatingDescription,
DoseSchedule,
Drug,
DuplicateTherapy,
Followup,
Funding,
Guideline,
HowPerformed,
Identifier,
Image,
LegalStatus,
MainEntityOfPage,
MedicineSystem,
Name,
PotentialAction,
Preparation,
ProcedureType,
RecognizingAuthority,
RelevantSpecialty,
SameAs,
SeriousAdverseOutcome,
Status,
Study,
SubjectOf,
Url,
Ignore,
}
struct FieldVisitor;
impl<'de> Visitor<'de> for FieldVisitor {
type Value = Field;
fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
formatter.write_str("field identifier")
}
fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
where
E: de::Error,
{
match value {
"additionalType" => Ok(Field::AdditionalType),
"adverseOutcome" => Ok(Field::AdverseOutcome),
"alternateName" => Ok(Field::AlternateName),
"bodyLocation" => Ok(Field::BodyLocation),
"code" => Ok(Field::Code),
"contraindication" => Ok(Field::Contraindication),
"description" => Ok(Field::Description),
"disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
"doseSchedule" => Ok(Field::DoseSchedule),
"drug" => Ok(Field::Drug),
"duplicateTherapy" => Ok(Field::DuplicateTherapy),
"followup" => Ok(Field::Followup),
"funding" => Ok(Field::Funding),
"guideline" => Ok(Field::Guideline),
"howPerformed" => Ok(Field::HowPerformed),
"identifier" => Ok(Field::Identifier),
"image" => Ok(Field::Image),
"legalStatus" => Ok(Field::LegalStatus),
"mainEntityOfPage" => Ok(Field::MainEntityOfPage),
"medicineSystem" => Ok(Field::MedicineSystem),
"name" => Ok(Field::Name),
"potentialAction" => Ok(Field::PotentialAction),
"preparation" => Ok(Field::Preparation),
"procedureType" => Ok(Field::ProcedureType),
"recognizingAuthority" => Ok(Field::RecognizingAuthority),
"relevantSpecialty" => Ok(Field::RelevantSpecialty),
"sameAs" => Ok(Field::SameAs),
"seriousAdverseOutcome" => Ok(Field::SeriousAdverseOutcome),
"status" => Ok(Field::Status),
"study" => Ok(Field::Study),
"subjectOf" => Ok(Field::SubjectOf),
"url" => Ok(Field::Url),
_ => Ok(Field::Ignore),
}
}
fn visit_bytes<E>(self, value: &[u8]) -> Result<Self::Value, E>
where
E: de::Error,
{
match value {
b"additionalType" => Ok(Field::AdditionalType),
b"adverseOutcome" => Ok(Field::AdverseOutcome),
b"alternateName" => Ok(Field::AlternateName),
b"bodyLocation" => Ok(Field::BodyLocation),
b"code" => Ok(Field::Code),
b"contraindication" => Ok(Field::Contraindication),
b"description" => Ok(Field::Description),
b"disambiguatingDescription" => Ok(Field::DisambiguatingDescription),
b"doseSchedule" => Ok(Field::DoseSchedule),
b"drug" => Ok(Field::Drug),
b"duplicateTherapy" => Ok(Field::DuplicateTherapy),
b"followup" => Ok(Field::Followup),
b"funding" => Ok(Field::Funding),
b"guideline" => Ok(Field::Guideline),
b"howPerformed" => Ok(Field::HowPerformed),
b"identifier" => Ok(Field::Identifier),
b"image" => Ok(Field::Image),
b"legalStatus" => Ok(Field::LegalStatus),
b"mainEntityOfPage" => Ok(Field::MainEntityOfPage),
b"medicineSystem" => Ok(Field::MedicineSystem),
b"name" => Ok(Field::Name),
b"potentialAction" => Ok(Field::PotentialAction),
b"preparation" => Ok(Field::Preparation),
b"procedureType" => Ok(Field::ProcedureType),
b"recognizingAuthority" => Ok(Field::RecognizingAuthority),
b"relevantSpecialty" => Ok(Field::RelevantSpecialty),
b"sameAs" => Ok(Field::SameAs),
b"seriousAdverseOutcome" => Ok(Field::SeriousAdverseOutcome),
b"status" => Ok(Field::Status),
b"study" => Ok(Field::Study),
b"subjectOf" => Ok(Field::SubjectOf),
b"url" => Ok(Field::Url),
_ => Ok(Field::Ignore),
}
}
}
impl<'de> Deserialize<'de> for Field {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
deserializer.deserialize_identifier(FieldVisitor)
}
}
struct ClassVisitor;
impl<'de> Visitor<'de> for ClassVisitor {
type Value = RadiationTherapy;
fn expecting(&self, formatter: &mut Formatter) -> fmt::Result {
formatter.write_str("schema.org schema RadiationTherapy")
}
fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error>
where
A: de::MapAccess<'de>,
{
let mut r#additional_type_property = None;
let mut r#adverse_outcome_property = None;
let mut r#alternate_name_property = None;
let mut r#body_location_property = None;
let mut r#code_property = None;
let mut r#contraindication_property = None;
let mut r#description_property = None;
let mut r#disambiguating_description_property = None;
let mut r#dose_schedule_property = None;
let mut r#drug_property = None;
let mut r#duplicate_therapy_property = None;
let mut r#followup_property = None;
let mut r#funding_property = None;
let mut r#guideline_property = None;
let mut r#how_performed_property = None;
let mut r#identifier_property = None;
let mut r#image_property = None;
let mut r#legal_status_property = None;
let mut r#main_entity_of_page_property = None;
let mut r#medicine_system_property = None;
let mut r#name_property = None;
let mut r#potential_action_property = None;
let mut r#preparation_property = None;
let mut r#procedure_type_property = None;
let mut r#recognizing_authority_property = None;
let mut r#relevant_specialty_property = None;
let mut r#same_as_property = None;
let mut r#serious_adverse_outcome_property = None;
let mut r#status_property = None;
let mut r#study_property = None;
let mut r#subject_of_property = None;
let mut r#url_property = None;
while let Some(key) = map.next_key::<Field>()? {
match key {
Field::AdditionalType => {
if r#additional_type_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"additionalType",
));
}
r#additional_type_property = Some({
struct DeserializeWith(Vec<AdditionalTypeProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::AdverseOutcome => {
if r#adverse_outcome_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"adverseOutcome",
));
}
r#adverse_outcome_property = Some({
struct DeserializeWith(Vec<AdverseOutcomeProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::AlternateName => {
if r#alternate_name_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"alternateName",
));
}
r#alternate_name_property = Some({
struct DeserializeWith(Vec<AlternateNameProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::BodyLocation => {
if r#body_location_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"bodyLocation",
));
}
r#body_location_property = Some({
struct DeserializeWith(Vec<BodyLocationProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Code => {
if r#code_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field("code"));
}
r#code_property = Some({
struct DeserializeWith(Vec<CodeProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Contraindication => {
if r#contraindication_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"contraindication",
));
}
r#contraindication_property = Some({
struct DeserializeWith(Vec<ContraindicationProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Description => {
if r#description_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"description",
));
}
r#description_property = Some({
struct DeserializeWith(Vec<DescriptionProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::DisambiguatingDescription => {
if r#disambiguating_description_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"disambiguatingDescription",
));
}
r#disambiguating_description_property = Some({
struct DeserializeWith(Vec<DisambiguatingDescriptionProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::DoseSchedule => {
if r#dose_schedule_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"doseSchedule",
));
}
r#dose_schedule_property = Some({
struct DeserializeWith(Vec<DoseScheduleProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Drug => {
if r#drug_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field("drug"));
}
r#drug_property = Some({
struct DeserializeWith(Vec<DrugProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::DuplicateTherapy => {
if r#duplicate_therapy_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"duplicateTherapy",
));
}
r#duplicate_therapy_property = Some({
struct DeserializeWith(Vec<DuplicateTherapyProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Followup => {
if r#followup_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"followup",
));
}
r#followup_property = Some({
struct DeserializeWith(Vec<FollowupProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Funding => {
if r#funding_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"funding",
));
}
r#funding_property = Some({
struct DeserializeWith(Vec<FundingProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Guideline => {
if r#guideline_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"guideline",
));
}
r#guideline_property = Some({
struct DeserializeWith(Vec<GuidelineProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::HowPerformed => {
if r#how_performed_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"howPerformed",
));
}
r#how_performed_property = Some({
struct DeserializeWith(Vec<HowPerformedProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Identifier => {
if r#identifier_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"identifier",
));
}
r#identifier_property = Some({
struct DeserializeWith(Vec<IdentifierProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Image => {
if r#image_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field("image"));
}
r#image_property = Some({
struct DeserializeWith(Vec<ImageProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::LegalStatus => {
if r#legal_status_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"legalStatus",
));
}
r#legal_status_property = Some({
struct DeserializeWith(Vec<LegalStatusProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::MainEntityOfPage => {
if r#main_entity_of_page_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"mainEntityOfPage",
));
}
r#main_entity_of_page_property = Some({
struct DeserializeWith(Vec<MainEntityOfPageProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::MedicineSystem => {
if r#medicine_system_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"medicineSystem",
));
}
r#medicine_system_property = Some({
struct DeserializeWith(Vec<MedicineSystemProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Name => {
if r#name_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field("name"));
}
r#name_property = Some({
struct DeserializeWith(Vec<NameProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::PotentialAction => {
if r#potential_action_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"potentialAction",
));
}
r#potential_action_property = Some({
struct DeserializeWith(Vec<PotentialActionProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Preparation => {
if r#preparation_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"preparation",
));
}
r#preparation_property = Some({
struct DeserializeWith(Vec<PreparationProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::ProcedureType => {
if r#procedure_type_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"procedureType",
));
}
r#procedure_type_property = Some({
struct DeserializeWith(Vec<ProcedureTypeProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::RecognizingAuthority => {
if r#recognizing_authority_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"recognizingAuthority",
));
}
r#recognizing_authority_property = Some({
struct DeserializeWith(Vec<RecognizingAuthorityProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::RelevantSpecialty => {
if r#relevant_specialty_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"relevantSpecialty",
));
}
r#relevant_specialty_property = Some({
struct DeserializeWith(Vec<RelevantSpecialtyProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::SameAs => {
if r#same_as_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field("sameAs"));
}
r#same_as_property = Some({
struct DeserializeWith(Vec<SameAsProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::SeriousAdverseOutcome => {
if r#serious_adverse_outcome_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"seriousAdverseOutcome",
));
}
r#serious_adverse_outcome_property = Some({
struct DeserializeWith(Vec<SeriousAdverseOutcomeProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Status => {
if r#status_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field("status"));
}
r#status_property = Some({
struct DeserializeWith(Vec<StatusProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Study => {
if r#study_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field("study"));
}
r#study_property = Some({
struct DeserializeWith(Vec<StudyProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::SubjectOf => {
if r#subject_of_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field(
"subjectOf",
));
}
r#subject_of_property = Some({
struct DeserializeWith(Vec<SubjectOfProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
Field::Url => {
if r#url_property.is_some() {
return Err(<A::Error as de::Error>::duplicate_field("url"));
}
r#url_property = Some({
struct DeserializeWith(Vec<UrlProperty>);
impl<'de> Deserialize<'de> for DeserializeWith {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
Ok(DeserializeWith(serde_with::As::<
serde_with::OneOrMany<serde_with::Same>,
>::deserialize(deserializer)?))
}
}
match map.next_value::<DeserializeWith>() {
Ok(deserialize_with) => deserialize_with.0,
Err(err) => {
return Err(err);
}
}
});
}
_ => {
let _ = map.next_value::<de::IgnoredAny>()?;
}
}
}
Ok(RadiationTherapy {
r#additional_type: r#additional_type_property.unwrap_or_default(),
r#adverse_outcome: r#adverse_outcome_property.unwrap_or_default(),
r#alternate_name: r#alternate_name_property.unwrap_or_default(),
r#body_location: r#body_location_property.unwrap_or_default(),
r#code: r#code_property.unwrap_or_default(),
r#contraindication: r#contraindication_property.unwrap_or_default(),
r#description: r#description_property.unwrap_or_default(),
r#disambiguating_description: r#disambiguating_description_property
.unwrap_or_default(),
r#dose_schedule: r#dose_schedule_property.unwrap_or_default(),
r#drug: r#drug_property.unwrap_or_default(),
r#duplicate_therapy: r#duplicate_therapy_property.unwrap_or_default(),
r#followup: r#followup_property.unwrap_or_default(),
r#funding: r#funding_property.unwrap_or_default(),
r#guideline: r#guideline_property.unwrap_or_default(),
r#how_performed: r#how_performed_property.unwrap_or_default(),
r#identifier: r#identifier_property.unwrap_or_default(),
r#image: r#image_property.unwrap_or_default(),
r#legal_status: r#legal_status_property.unwrap_or_default(),
r#main_entity_of_page: r#main_entity_of_page_property.unwrap_or_default(),
r#medicine_system: r#medicine_system_property.unwrap_or_default(),
r#name: r#name_property.unwrap_or_default(),
r#potential_action: r#potential_action_property.unwrap_or_default(),
r#preparation: r#preparation_property.unwrap_or_default(),
r#procedure_type: r#procedure_type_property.unwrap_or_default(),
r#recognizing_authority: r#recognizing_authority_property
.unwrap_or_default(),
r#relevant_specialty: r#relevant_specialty_property.unwrap_or_default(),
r#same_as: r#same_as_property.unwrap_or_default(),
r#serious_adverse_outcome: r#serious_adverse_outcome_property
.unwrap_or_default(),
r#status: r#status_property.unwrap_or_default(),
r#study: r#study_property.unwrap_or_default(),
r#subject_of: r#subject_of_property.unwrap_or_default(),
r#url: r#url_property.unwrap_or_default(),
})
}
}
const FIELDS: &[&str] = &[
"additionalType",
"adverseOutcome",
"alternateName",
"bodyLocation",
"code",
"contraindication",
"description",
"disambiguatingDescription",
"doseSchedule",
"drug",
"duplicateTherapy",
"followup",
"funding",
"guideline",
"howPerformed",
"identifier",
"image",
"legalStatus",
"mainEntityOfPage",
"medicineSystem",
"name",
"potentialAction",
"preparation",
"procedureType",
"recognizingAuthority",
"relevantSpecialty",
"sameAs",
"seriousAdverseOutcome",
"status",
"study",
"subjectOf",
"url",
];
deserializer.deserialize_struct("RadiationTherapy", FIELDS, ClassVisitor)
}
}
}