001package org.hl7.fhir.convertors.conv30_40.datatypes30_40; 002 003import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_40; 004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Address30_40; 005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Age30_40; 006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; 007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Attachment30_40; 008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; 009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; 010import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.ContactPoint30_40; 011import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Count30_40; 012import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Distance30_40; 013import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Duration30_40; 014import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.HumanName30_40; 015import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; 016import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Money30_40; 017import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; 018import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Quantity30_40; 019import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Range30_40; 020import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Ratio30_40; 021import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SampledData30_40; 022import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Signature30_40; 023import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SimpleQuantity30_40; 024import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; 025import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Base64Binary30_40; 026import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; 027import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; 028import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40; 029import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; 030import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Decimal30_40; 031import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Id30_40; 032import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Instant30_40; 033import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Integer30_40; 034import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; 035import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Oid30_40; 036import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.PositiveInt30_40; 037import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; 038import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Time30_40; 039import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.UnsignedInt30_40; 040import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; 041import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uuid30_40; 042import org.hl7.fhir.exceptions.FHIRException; 043 044public class Type30_40 { 045 046 private final BaseAdvisor_30_40 advisor; 047 048 public Type30_40(BaseAdvisor_30_40 advisor) { 049 this.advisor = advisor; 050 } 051 052 public org.hl7.fhir.r4.model.Type convertType(org.hl7.fhir.dstu3.model.Type src) throws FHIRException { 053 if (src == null || src.isEmpty()) return null; 054 if (src instanceof org.hl7.fhir.dstu3.model.Base64BinaryType) 055 return Base64Binary30_40.convertBase64Binary((org.hl7.fhir.dstu3.model.Base64BinaryType) src); 056 if (src instanceof org.hl7.fhir.dstu3.model.BooleanType) 057 return Boolean30_40.convertBoolean((org.hl7.fhir.dstu3.model.BooleanType) src); 058 if (src instanceof org.hl7.fhir.dstu3.model.CodeType) 059 return Code30_40.convertCode((org.hl7.fhir.dstu3.model.CodeType) src); 060 if (src instanceof org.hl7.fhir.dstu3.model.DateType) 061 return Date30_40.convertDate((org.hl7.fhir.dstu3.model.DateType) src); 062 if (src instanceof org.hl7.fhir.dstu3.model.DateTimeType) 063 return DateTime30_40.convertDateTime((org.hl7.fhir.dstu3.model.DateTimeType) src); 064 if (src instanceof org.hl7.fhir.dstu3.model.DecimalType) 065 return Decimal30_40.convertDecimal((org.hl7.fhir.dstu3.model.DecimalType) src); 066 if (src instanceof org.hl7.fhir.dstu3.model.IdType) return Id30_40.convertId((org.hl7.fhir.dstu3.model.IdType) src); 067 if (src instanceof org.hl7.fhir.dstu3.model.InstantType) 068 return Instant30_40.convertInstant((org.hl7.fhir.dstu3.model.InstantType) src); 069 if (src instanceof org.hl7.fhir.dstu3.model.PositiveIntType) 070 return PositiveInt30_40.convertPositiveInt((org.hl7.fhir.dstu3.model.PositiveIntType) src); 071 if (src instanceof org.hl7.fhir.dstu3.model.UnsignedIntType) 072 return UnsignedInt30_40.convertUnsignedInt((org.hl7.fhir.dstu3.model.UnsignedIntType) src); 073 if (src instanceof org.hl7.fhir.dstu3.model.IntegerType) 074 return Integer30_40.convertInteger((org.hl7.fhir.dstu3.model.IntegerType) src); 075 if (src instanceof org.hl7.fhir.dstu3.model.MarkdownType) 076 return MarkDown30_40.convertMarkdown((org.hl7.fhir.dstu3.model.MarkdownType) src); 077 if (src instanceof org.hl7.fhir.dstu3.model.OidType) 078 return Oid30_40.convertOid((org.hl7.fhir.dstu3.model.OidType) src); 079 if (src instanceof org.hl7.fhir.dstu3.model.StringType) 080 return String30_40.convertString((org.hl7.fhir.dstu3.model.StringType) src); 081 if (src instanceof org.hl7.fhir.dstu3.model.TimeType) 082 return Time30_40.convertTime((org.hl7.fhir.dstu3.model.TimeType) src); 083 if (src instanceof org.hl7.fhir.dstu3.model.UuidType) 084 return Uuid30_40.convertUuid((org.hl7.fhir.dstu3.model.UuidType) src); 085 if (src instanceof org.hl7.fhir.dstu3.model.UriType) 086 return Uri30_40.convertUri((org.hl7.fhir.dstu3.model.UriType) src); 087 if (src instanceof org.hl7.fhir.dstu3.model.Extension) 088 return Extension30_40.convertExtension((org.hl7.fhir.dstu3.model.Extension) src); 089 if (src instanceof org.hl7.fhir.dstu3.model.Narrative) 090 return Narrative30_40.convertNarrative((org.hl7.fhir.dstu3.model.Narrative) src); 091 if (src instanceof org.hl7.fhir.dstu3.model.Age) return Age30_40.convertAge((org.hl7.fhir.dstu3.model.Age) src); 092 if (src instanceof org.hl7.fhir.dstu3.model.Annotation) 093 return Annotation30_40.convertAnnotation((org.hl7.fhir.dstu3.model.Annotation) src); 094 if (src instanceof org.hl7.fhir.dstu3.model.Attachment) 095 return Attachment30_40.convertAttachment((org.hl7.fhir.dstu3.model.Attachment) src); 096 if (src instanceof org.hl7.fhir.dstu3.model.CodeableConcept) 097 return CodeableConcept30_40.convertCodeableConcept((org.hl7.fhir.dstu3.model.CodeableConcept) src); 098 if (src instanceof org.hl7.fhir.dstu3.model.Coding) 099 return Coding30_40.convertCoding((org.hl7.fhir.dstu3.model.Coding) src); 100 if (src instanceof org.hl7.fhir.dstu3.model.Count) 101 return Count30_40.convertCount((org.hl7.fhir.dstu3.model.Count) src); 102 if (src instanceof org.hl7.fhir.dstu3.model.Distance) 103 return Distance30_40.convertDistance((org.hl7.fhir.dstu3.model.Distance) src); 104 if (src instanceof org.hl7.fhir.dstu3.model.Duration) 105 return Duration30_40.convertDuration((org.hl7.fhir.dstu3.model.Duration) src); 106 if (src instanceof org.hl7.fhir.dstu3.model.Identifier) 107 return Identifier30_40.convertIdentifier((org.hl7.fhir.dstu3.model.Identifier) src); 108 if (src instanceof org.hl7.fhir.dstu3.model.Money) 109 return Money30_40.convertMoney((org.hl7.fhir.dstu3.model.Money) src); 110 if (src instanceof org.hl7.fhir.dstu3.model.Period) 111 return Period30_40.convertPeriod((org.hl7.fhir.dstu3.model.Period) src); 112 if (src instanceof org.hl7.fhir.dstu3.model.SimpleQuantity) 113 return SimpleQuantity30_40.convertSimpleQuantity((org.hl7.fhir.dstu3.model.SimpleQuantity) src); 114 if (src instanceof org.hl7.fhir.dstu3.model.Quantity) 115 return Quantity30_40.convertQuantity((org.hl7.fhir.dstu3.model.Quantity) src); 116 if (src instanceof org.hl7.fhir.dstu3.model.Range) 117 return Range30_40.convertRange((org.hl7.fhir.dstu3.model.Range) src); 118 if (src instanceof org.hl7.fhir.dstu3.model.Ratio) 119 return Ratio30_40.convertRatio((org.hl7.fhir.dstu3.model.Ratio) src); 120 if (src instanceof org.hl7.fhir.dstu3.model.Reference) 121 return Reference30_40.convertReference((org.hl7.fhir.dstu3.model.Reference) src); 122 if (src instanceof org.hl7.fhir.dstu3.model.SampledData) 123 return SampledData30_40.convertSampledData((org.hl7.fhir.dstu3.model.SampledData) src); 124 if (src instanceof org.hl7.fhir.dstu3.model.Signature) 125 return Signature30_40.convertSignature((org.hl7.fhir.dstu3.model.Signature) src); 126 if (src instanceof org.hl7.fhir.dstu3.model.Address) 127 return Address30_40.convertAddress((org.hl7.fhir.dstu3.model.Address) src); 128 if (src instanceof org.hl7.fhir.dstu3.model.ContactDetail) 129 return ContactDetail30_40.convertContactDetail((org.hl7.fhir.dstu3.model.ContactDetail) src); 130 if (src instanceof org.hl7.fhir.dstu3.model.ContactPoint) 131 return ContactPoint30_40.convertContactPoint((org.hl7.fhir.dstu3.model.ContactPoint) src); 132 if (src instanceof org.hl7.fhir.dstu3.model.Contributor) 133 return Contributor30_40.convertContributor((org.hl7.fhir.dstu3.model.Contributor) src); 134 if (src instanceof org.hl7.fhir.dstu3.model.Dosage) 135 return Dosage30_40.convertDosage((org.hl7.fhir.dstu3.model.Dosage) src); 136 if (src instanceof org.hl7.fhir.dstu3.model.HumanName) 137 return HumanName30_40.convertHumanName((org.hl7.fhir.dstu3.model.HumanName) src); 138 if (src instanceof org.hl7.fhir.dstu3.model.Meta) return Meta30_40.convertMeta((org.hl7.fhir.dstu3.model.Meta) src); 139 if (src instanceof org.hl7.fhir.dstu3.model.ParameterDefinition) 140 return ParameterDefinition30_40.convertParameterDefinition((org.hl7.fhir.dstu3.model.ParameterDefinition) src); 141 if (src instanceof org.hl7.fhir.dstu3.model.RelatedArtifact) 142 return RelatedArtifact30_40.convertRelatedArtifact((org.hl7.fhir.dstu3.model.RelatedArtifact) src); 143 if (src instanceof org.hl7.fhir.dstu3.model.Timing) 144 return Timing30_40.convertTiming((org.hl7.fhir.dstu3.model.Timing) src); 145 if (src instanceof org.hl7.fhir.dstu3.model.UsageContext) 146 return Timing30_40.convertUsageContext((org.hl7.fhir.dstu3.model.UsageContext) src); 147 if (src instanceof org.hl7.fhir.dstu3.model.ElementDefinition) 148 return ElementDefinition30_40.convertElementDefinition((org.hl7.fhir.dstu3.model.ElementDefinition) src); 149 if (src instanceof org.hl7.fhir.dstu3.model.DataRequirement) 150 return TriggerDefinition30_40.convertDataRequirement((org.hl7.fhir.dstu3.model.DataRequirement) src); 151 if (src instanceof org.hl7.fhir.dstu3.model.TriggerDefinition) 152 return TriggerDefinition30_40.convertTriggerDefinition((org.hl7.fhir.dstu3.model.TriggerDefinition) src); 153 if (advisor.failFastOnNullOrUnknownEntry()) { 154 throw new FHIRException("The type " + src.fhirType()+" cannot be converted from R3 to R4"); 155 } else { 156 return null; 157 } 158 } 159 160 public org.hl7.fhir.dstu3.model.Type convertType(org.hl7.fhir.r4.model.Type src) throws FHIRException { 161 if (src == null || src.isEmpty()) return null; 162 if (src instanceof org.hl7.fhir.r4.model.Base64BinaryType) 163 return Base64Binary30_40.convertBase64Binary((org.hl7.fhir.r4.model.Base64BinaryType) src); 164 if (src instanceof org.hl7.fhir.r4.model.BooleanType) 165 return Boolean30_40.convertBoolean((org.hl7.fhir.r4.model.BooleanType) src); 166 if (src instanceof org.hl7.fhir.r4.model.CodeType) 167 return Code30_40.convertCode((org.hl7.fhir.r4.model.CodeType) src); 168 if (src instanceof org.hl7.fhir.r4.model.DateType) 169 return Date30_40.convertDate((org.hl7.fhir.r4.model.DateType) src); 170 if (src instanceof org.hl7.fhir.r4.model.DateTimeType) 171 return DateTime30_40.convertDateTime((org.hl7.fhir.r4.model.DateTimeType) src); 172 if (src instanceof org.hl7.fhir.r4.model.DecimalType) 173 return Decimal30_40.convertDecimal((org.hl7.fhir.r4.model.DecimalType) src); 174 if (src instanceof org.hl7.fhir.r4.model.IdType) return Id30_40.convertId((org.hl7.fhir.r4.model.IdType) src); 175 if (src instanceof org.hl7.fhir.r4.model.InstantType) 176 return Instant30_40.convertInstant((org.hl7.fhir.r4.model.InstantType) src); 177 if (src instanceof org.hl7.fhir.r4.model.PositiveIntType) 178 return PositiveInt30_40.convertPositiveInt((org.hl7.fhir.r4.model.PositiveIntType) src); 179 if (src instanceof org.hl7.fhir.r4.model.UnsignedIntType) 180 return UnsignedInt30_40.convertUnsignedInt((org.hl7.fhir.r4.model.UnsignedIntType) src); 181 if (src instanceof org.hl7.fhir.r4.model.IntegerType) 182 return Integer30_40.convertInteger((org.hl7.fhir.r4.model.IntegerType) src); 183 if (src instanceof org.hl7.fhir.r4.model.MarkdownType) 184 return MarkDown30_40.convertMarkdown((org.hl7.fhir.r4.model.MarkdownType) src); 185 if (src instanceof org.hl7.fhir.r4.model.OidType) return Oid30_40.convertOid((org.hl7.fhir.r4.model.OidType) src); 186 if (src instanceof org.hl7.fhir.r4.model.StringType) 187 return String30_40.convertString((org.hl7.fhir.r4.model.StringType) src); 188 if (src instanceof org.hl7.fhir.r4.model.TimeType) 189 return Time30_40.convertTime((org.hl7.fhir.r4.model.TimeType) src); 190 if (src instanceof org.hl7.fhir.r4.model.UuidType) 191 return Uuid30_40.convertUuid((org.hl7.fhir.r4.model.UuidType) src); 192 if (src instanceof org.hl7.fhir.r4.model.UriType) return Uri30_40.convertUri((org.hl7.fhir.r4.model.UriType) src); 193 if (src instanceof org.hl7.fhir.r4.model.Extension) 194 return Extension30_40.convertExtension((org.hl7.fhir.r4.model.Extension) src); 195 if (src instanceof org.hl7.fhir.r4.model.Narrative) 196 return Narrative30_40.convertNarrative((org.hl7.fhir.r4.model.Narrative) src); 197 if (src instanceof org.hl7.fhir.r4.model.Age) return Age30_40.convertAge((org.hl7.fhir.r4.model.Age) src); 198 if (src instanceof org.hl7.fhir.r4.model.Annotation) 199 return Annotation30_40.convertAnnotation((org.hl7.fhir.r4.model.Annotation) src); 200 if (src instanceof org.hl7.fhir.r4.model.Attachment) 201 return Attachment30_40.convertAttachment((org.hl7.fhir.r4.model.Attachment) src); 202 if (src instanceof org.hl7.fhir.r4.model.CodeableConcept) 203 return CodeableConcept30_40.convertCodeableConcept((org.hl7.fhir.r4.model.CodeableConcept) src); 204 if (src instanceof org.hl7.fhir.r4.model.Coding) 205 return Coding30_40.convertCoding((org.hl7.fhir.r4.model.Coding) src); 206 if (src instanceof org.hl7.fhir.r4.model.Count) return Count30_40.convertCount((org.hl7.fhir.r4.model.Count) src); 207 if (src instanceof org.hl7.fhir.r4.model.Distance) 208 return Distance30_40.convertDistance((org.hl7.fhir.r4.model.Distance) src); 209 if (src instanceof org.hl7.fhir.r4.model.Duration) 210 return Duration30_40.convertDuration((org.hl7.fhir.r4.model.Duration) src); 211 if (src instanceof org.hl7.fhir.r4.model.Identifier) 212 return Identifier30_40.convertIdentifier((org.hl7.fhir.r4.model.Identifier) src); 213 if (src instanceof org.hl7.fhir.r4.model.Money) return Money30_40.convertMoney((org.hl7.fhir.r4.model.Money) src); 214 if (src instanceof org.hl7.fhir.r4.model.Period) 215 return Period30_40.convertPeriod((org.hl7.fhir.r4.model.Period) src); 216 if (src instanceof org.hl7.fhir.r4.model.SimpleQuantity) 217 return SimpleQuantity30_40.convertSimpleQuantity((org.hl7.fhir.r4.model.SimpleQuantity) src); 218 if (src instanceof org.hl7.fhir.r4.model.Quantity) 219 return Quantity30_40.convertQuantity((org.hl7.fhir.r4.model.Quantity) src); 220 if (src instanceof org.hl7.fhir.r4.model.Range) return Range30_40.convertRange((org.hl7.fhir.r4.model.Range) src); 221 if (src instanceof org.hl7.fhir.r4.model.Ratio) return Ratio30_40.convertRatio((org.hl7.fhir.r4.model.Ratio) src); 222 if (src instanceof org.hl7.fhir.r4.model.Reference) 223 return Reference30_40.convertReference((org.hl7.fhir.r4.model.Reference) src); 224 if (src instanceof org.hl7.fhir.r4.model.SampledData) 225 return SampledData30_40.convertSampledData((org.hl7.fhir.r4.model.SampledData) src); 226 if (src instanceof org.hl7.fhir.r4.model.Signature) 227 return Signature30_40.convertSignature((org.hl7.fhir.r4.model.Signature) src); 228 if (src instanceof org.hl7.fhir.r4.model.Address) 229 return Address30_40.convertAddress((org.hl7.fhir.r4.model.Address) src); 230 if (src instanceof org.hl7.fhir.r4.model.ContactDetail) 231 return ContactDetail30_40.convertContactDetail((org.hl7.fhir.r4.model.ContactDetail) src); 232 if (src instanceof org.hl7.fhir.r4.model.ContactPoint) 233 return ContactPoint30_40.convertContactPoint((org.hl7.fhir.r4.model.ContactPoint) src); 234 if (src instanceof org.hl7.fhir.r4.model.Contributor) 235 return Contributor30_40.convertContributor((org.hl7.fhir.r4.model.Contributor) src); 236 if (src instanceof org.hl7.fhir.r4.model.Dosage) 237 return Dosage30_40.convertDosage((org.hl7.fhir.r4.model.Dosage) src); 238 if (src instanceof org.hl7.fhir.r4.model.HumanName) 239 return HumanName30_40.convertHumanName((org.hl7.fhir.r4.model.HumanName) src); 240 if (src instanceof org.hl7.fhir.r4.model.Meta) return Meta30_40.convertMeta((org.hl7.fhir.r4.model.Meta) src); 241 if (src instanceof org.hl7.fhir.r4.model.ParameterDefinition) 242 return ParameterDefinition30_40.convertParameterDefinition((org.hl7.fhir.r4.model.ParameterDefinition) src); 243 if (src instanceof org.hl7.fhir.r4.model.RelatedArtifact) 244 return RelatedArtifact30_40.convertRelatedArtifact((org.hl7.fhir.r4.model.RelatedArtifact) src); 245 if (src instanceof org.hl7.fhir.r4.model.Timing) 246 return Timing30_40.convertTiming((org.hl7.fhir.r4.model.Timing) src); 247 if (src instanceof org.hl7.fhir.r4.model.UsageContext) 248 return Timing30_40.convertUsageContext((org.hl7.fhir.r4.model.UsageContext) src); 249 if (src instanceof org.hl7.fhir.r4.model.ElementDefinition) 250 return ElementDefinition30_40.convertElementDefinition((org.hl7.fhir.r4.model.ElementDefinition) src); 251 if (src instanceof org.hl7.fhir.r4.model.DataRequirement) 252 return TriggerDefinition30_40.convertDataRequirement((org.hl7.fhir.r4.model.DataRequirement) src); 253 if (src instanceof org.hl7.fhir.r4.model.TriggerDefinition) 254 return TriggerDefinition30_40.convertTriggerDefinition((org.hl7.fhir.r4.model.TriggerDefinition) src); 255 if (advisor.failFastOnNullOrUnknownEntry()) { 256 throw new FHIRException("The type " + src.fhirType()+" cannot be converted from R4 to R3"); 257 } else { 258 return null; 259 } 260 } 261}