001package org.hl7.fhir.convertors.conv30_50.datatypes30_50;
002
003import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_50;
004import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Address30_50;
005import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Age30_50;
006import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Annotation30_50;
007import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Attachment30_50;
008import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50;
009import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50;
010import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.ContactPoint30_50;
011import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Count30_50;
012import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Distance30_50;
013import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Duration30_50;
014import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.HumanName30_50;
015import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50;
016import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Money30_50;
017import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50;
018import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Quantity30_50;
019import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Range30_50;
020import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Ratio30_50;
021import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.SampledData30_50;
022import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Signature30_50;
023import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Timing30_50;
024import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Base64Binary30_50;
025import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50;
026import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50;
027import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date30_50;
028import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50;
029import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Decimal30_50;
030import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Id30_50;
031import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Instant30_50;
032import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Integer30_50;
033import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50;
034import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Oid30_50;
035import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.PositiveInt30_50;
036import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50;
037import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Time30_50;
038import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.UnsignedInt30_50;
039import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50;
040import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uuid30_50;
041import org.hl7.fhir.exceptions.FHIRException;
042
043public class Type30_50 {
044
045  private final BaseAdvisor_30_50 advisor;
046
047  public Type30_50(BaseAdvisor_30_50 advisor) {
048    this.advisor = advisor;
049  }
050
051  public org.hl7.fhir.r5.model.DataType convertType(org.hl7.fhir.dstu3.model.Type src) throws FHIRException {
052    if (src == null || src.isEmpty()) return null;
053    if (src instanceof org.hl7.fhir.dstu3.model.Base64BinaryType)
054      return Base64Binary30_50.convertBase64Binary((org.hl7.fhir.dstu3.model.Base64BinaryType) src);
055    if (src instanceof org.hl7.fhir.dstu3.model.BooleanType)
056      return Boolean30_50.convertBoolean((org.hl7.fhir.dstu3.model.BooleanType) src);
057    if (src instanceof org.hl7.fhir.dstu3.model.CodeType)
058      return Code30_50.convertCode((org.hl7.fhir.dstu3.model.CodeType) src);
059    if (src instanceof org.hl7.fhir.dstu3.model.DateType)
060      return Date30_50.convertDate((org.hl7.fhir.dstu3.model.DateType) src);
061    if (src instanceof org.hl7.fhir.dstu3.model.DateTimeType)
062      return DateTime30_50.convertDateTime((org.hl7.fhir.dstu3.model.DateTimeType) src);
063    if (src instanceof org.hl7.fhir.dstu3.model.DecimalType)
064      return Decimal30_50.convertDecimal((org.hl7.fhir.dstu3.model.DecimalType) src);
065    if (src instanceof org.hl7.fhir.dstu3.model.IdType) return Id30_50.convertId((org.hl7.fhir.dstu3.model.IdType) src);
066    if (src instanceof org.hl7.fhir.dstu3.model.InstantType)
067      return Instant30_50.convertInstant((org.hl7.fhir.dstu3.model.InstantType) src);
068    if (src instanceof org.hl7.fhir.dstu3.model.PositiveIntType)
069      return PositiveInt30_50.convertPositiveInt((org.hl7.fhir.dstu3.model.PositiveIntType) src);
070    if (src instanceof org.hl7.fhir.dstu3.model.UnsignedIntType)
071      return UnsignedInt30_50.convertUnsignedInt((org.hl7.fhir.dstu3.model.UnsignedIntType) src);
072    if (src instanceof org.hl7.fhir.dstu3.model.IntegerType)
073      return Integer30_50.convertInteger((org.hl7.fhir.dstu3.model.IntegerType) src);
074    if (src instanceof org.hl7.fhir.dstu3.model.MarkdownType)
075      return MarkDown30_50.convertMarkdown((org.hl7.fhir.dstu3.model.MarkdownType) src);
076    if (src instanceof org.hl7.fhir.dstu3.model.OidType)
077      return Oid30_50.convertOid((org.hl7.fhir.dstu3.model.OidType) src);
078    if (src instanceof org.hl7.fhir.dstu3.model.StringType)
079      return String30_50.convertString((org.hl7.fhir.dstu3.model.StringType) src);
080    if (src instanceof org.hl7.fhir.dstu3.model.TimeType)
081      return Time30_50.convertTime((org.hl7.fhir.dstu3.model.TimeType) src);
082    if (src instanceof org.hl7.fhir.dstu3.model.UuidType)
083      return Uuid30_50.convertUuid((org.hl7.fhir.dstu3.model.UuidType) src);
084    if (src instanceof org.hl7.fhir.dstu3.model.UriType)
085      return Uri30_50.convertUri((org.hl7.fhir.dstu3.model.UriType) src);
086    if (src instanceof org.hl7.fhir.dstu3.model.Extension)
087      return Extension30_50.convertExtension((org.hl7.fhir.dstu3.model.Extension) src);
088    if (src instanceof org.hl7.fhir.dstu3.model.Narrative)
089      return Narrative30_50.convertNarrative((org.hl7.fhir.dstu3.model.Narrative) src);
090    if (src instanceof org.hl7.fhir.dstu3.model.Age) return Age30_50.convertAge((org.hl7.fhir.dstu3.model.Age) src);
091    if (src instanceof org.hl7.fhir.dstu3.model.Annotation)
092      return Annotation30_50.convertAnnotation((org.hl7.fhir.dstu3.model.Annotation) src);
093    if (src instanceof org.hl7.fhir.dstu3.model.Attachment)
094      return Attachment30_50.convertAttachment((org.hl7.fhir.dstu3.model.Attachment) src);
095    if (src instanceof org.hl7.fhir.dstu3.model.CodeableConcept)
096      return CodeableConcept30_50.convertCodeableConcept((org.hl7.fhir.dstu3.model.CodeableConcept) src);
097    if (src instanceof org.hl7.fhir.dstu3.model.Coding)
098      return Coding30_50.convertCoding((org.hl7.fhir.dstu3.model.Coding) src);
099    if (src instanceof org.hl7.fhir.dstu3.model.Count)
100      return Count30_50.convertCount((org.hl7.fhir.dstu3.model.Count) src);
101    if (src instanceof org.hl7.fhir.dstu3.model.Distance)
102      return Distance30_50.convertDistance((org.hl7.fhir.dstu3.model.Distance) src);
103    if (src instanceof org.hl7.fhir.dstu3.model.Duration)
104      return Duration30_50.convertDuration((org.hl7.fhir.dstu3.model.Duration) src);
105    if (src instanceof org.hl7.fhir.dstu3.model.Identifier)
106      return Identifier30_50.convertIdentifier((org.hl7.fhir.dstu3.model.Identifier) src);
107    if (src instanceof org.hl7.fhir.dstu3.model.Money)
108      return Money30_50.convertMoney((org.hl7.fhir.dstu3.model.Money) src);
109    if (src instanceof org.hl7.fhir.dstu3.model.Period)
110      return Period30_50.convertPeriod((org.hl7.fhir.dstu3.model.Period) src);
111    if (src instanceof org.hl7.fhir.dstu3.model.Quantity)
112      return Quantity30_50.convertQuantity((org.hl7.fhir.dstu3.model.Quantity) src);
113    if (src instanceof org.hl7.fhir.dstu3.model.Range)
114      return Range30_50.convertRange((org.hl7.fhir.dstu3.model.Range) src);
115    if (src instanceof org.hl7.fhir.dstu3.model.Ratio)
116      return Ratio30_50.convertRatio((org.hl7.fhir.dstu3.model.Ratio) src);
117    if (src instanceof org.hl7.fhir.dstu3.model.Reference)
118      return Reference30_50.convertReference((org.hl7.fhir.dstu3.model.Reference) src);
119    if (src instanceof org.hl7.fhir.dstu3.model.SampledData)
120      return SampledData30_50.convertSampledData((org.hl7.fhir.dstu3.model.SampledData) src);
121    if (src instanceof org.hl7.fhir.dstu3.model.Signature)
122      return Signature30_50.convertSignature((org.hl7.fhir.dstu3.model.Signature) src);
123    if (src instanceof org.hl7.fhir.dstu3.model.Address)
124      return Address30_50.convertAddress((org.hl7.fhir.dstu3.model.Address) src);
125    if (src instanceof org.hl7.fhir.dstu3.model.ContactDetail)
126      return ContactDetail30_50.convertContactDetail((org.hl7.fhir.dstu3.model.ContactDetail) src);
127    if (src instanceof org.hl7.fhir.dstu3.model.ContactPoint)
128      return ContactPoint30_50.convertContactPoint((org.hl7.fhir.dstu3.model.ContactPoint) src);
129    if (src instanceof org.hl7.fhir.dstu3.model.Contributor)
130      return Contributor30_50.convertContributor((org.hl7.fhir.dstu3.model.Contributor) src);
131    if (src instanceof org.hl7.fhir.dstu3.model.Dosage)
132      return Dosage30_50.convertDosage((org.hl7.fhir.dstu3.model.Dosage) src);
133    if (src instanceof org.hl7.fhir.dstu3.model.HumanName)
134      return HumanName30_50.convertHumanName((org.hl7.fhir.dstu3.model.HumanName) src);
135    if (src instanceof org.hl7.fhir.dstu3.model.Meta) return Meta30_50.convertMeta((org.hl7.fhir.dstu3.model.Meta) src);
136    if (src instanceof org.hl7.fhir.dstu3.model.ParameterDefinition)
137      return ParameterDefinition30_50.convertParameterDefinition((org.hl7.fhir.dstu3.model.ParameterDefinition) src);
138    if (src instanceof org.hl7.fhir.dstu3.model.RelatedArtifact)
139      return RelatedArtifact30_50.convertRelatedArtifact((org.hl7.fhir.dstu3.model.RelatedArtifact) src);
140    if (src instanceof org.hl7.fhir.dstu3.model.Timing)
141      return Timing30_50.convertTiming((org.hl7.fhir.dstu3.model.Timing) src);
142    if (src instanceof org.hl7.fhir.dstu3.model.UsageContext)
143      return UsageContext30_50.convertUsageContext((org.hl7.fhir.dstu3.model.UsageContext) src);
144    if (src instanceof org.hl7.fhir.dstu3.model.ElementDefinition)
145      return ElementDefinition30_50.convertElementDefinition((org.hl7.fhir.dstu3.model.ElementDefinition) src);
146    if (src instanceof org.hl7.fhir.dstu3.model.DataRequirement)
147      return DataRequirement30_50.convertDataRequirement((org.hl7.fhir.dstu3.model.DataRequirement) src);
148    if (src instanceof org.hl7.fhir.dstu3.model.TriggerDefinition)
149      return TriggerDefinition30_50.convertTriggerDefinition((org.hl7.fhir.dstu3.model.TriggerDefinition) src);
150    if (advisor.failFastOnNullOrUnknownEntry()) {
151      throw new FHIRException("The type " + src.fhirType()+" cannot be converted from R3 to R5");
152    } else {
153      return null;
154    }
155  }
156
157  public org.hl7.fhir.dstu3.model.Type convertType(org.hl7.fhir.r5.model.DataType src) throws FHIRException {
158    if (src == null || src.isEmpty()) return null;
159    if (src instanceof org.hl7.fhir.r5.model.Base64BinaryType)
160      return Base64Binary30_50.convertBase64Binary((org.hl7.fhir.r5.model.Base64BinaryType) src);
161    if (src instanceof org.hl7.fhir.r5.model.BooleanType)
162      return Boolean30_50.convertBoolean((org.hl7.fhir.r5.model.BooleanType) src);
163    if (src instanceof org.hl7.fhir.r5.model.CodeType)
164      return Code30_50.convertCode((org.hl7.fhir.r5.model.CodeType) src);
165    if (src instanceof org.hl7.fhir.r5.model.DateType)
166      return Date30_50.convertDate((org.hl7.fhir.r5.model.DateType) src);
167    if (src instanceof org.hl7.fhir.r5.model.DateTimeType)
168      return DateTime30_50.convertDateTime((org.hl7.fhir.r5.model.DateTimeType) src);
169    if (src instanceof org.hl7.fhir.r5.model.DecimalType)
170      return Decimal30_50.convertDecimal((org.hl7.fhir.r5.model.DecimalType) src);
171    if (src instanceof org.hl7.fhir.r5.model.IdType) return Id30_50.convertId((org.hl7.fhir.r5.model.IdType) src);
172    if (src instanceof org.hl7.fhir.r5.model.InstantType)
173      return Instant30_50.convertInstant((org.hl7.fhir.r5.model.InstantType) src);
174    if (src instanceof org.hl7.fhir.r5.model.PositiveIntType)
175      return PositiveInt30_50.convertPositiveInt((org.hl7.fhir.r5.model.PositiveIntType) src);
176    if (src instanceof org.hl7.fhir.r5.model.UnsignedIntType)
177      return UnsignedInt30_50.convertUnsignedInt((org.hl7.fhir.r5.model.UnsignedIntType) src);
178    if (src instanceof org.hl7.fhir.r5.model.Integer64Type)
179      return Decimal30_50.convertInteger64((org.hl7.fhir.r5.model.Integer64Type) src);
180    if (src instanceof org.hl7.fhir.r5.model.IntegerType)
181      return Integer30_50.convertInteger((org.hl7.fhir.r5.model.IntegerType) src);
182    if (src instanceof org.hl7.fhir.r5.model.MarkdownType)
183      return MarkDown30_50.convertMarkdown((org.hl7.fhir.r5.model.MarkdownType) src);
184    if (src instanceof org.hl7.fhir.r5.model.OidType) return Oid30_50.convertOid((org.hl7.fhir.r5.model.OidType) src);
185    if (src instanceof org.hl7.fhir.r5.model.StringType)
186      return String30_50.convertString((org.hl7.fhir.r5.model.StringType) src);
187    if (src instanceof org.hl7.fhir.r5.model.TimeType)
188      return Time30_50.convertTime((org.hl7.fhir.r5.model.TimeType) src);
189    if (src instanceof org.hl7.fhir.r5.model.UuidType)
190      return Uuid30_50.convertUuid((org.hl7.fhir.r5.model.UuidType) src);
191    if (src instanceof org.hl7.fhir.r5.model.UriType) return Uri30_50.convertUri((org.hl7.fhir.r5.model.UriType) src);
192    if (src instanceof org.hl7.fhir.r5.model.Extension)
193      return Extension30_50.convertExtension((org.hl7.fhir.r5.model.Extension) src);
194    if (src instanceof org.hl7.fhir.r5.model.Narrative)
195      return Narrative30_50.convertNarrative((org.hl7.fhir.r5.model.Narrative) src);
196    if (src instanceof org.hl7.fhir.r5.model.Age) return Age30_50.convertAge((org.hl7.fhir.r5.model.Age) src);
197    if (src instanceof org.hl7.fhir.r5.model.Annotation)
198      return Annotation30_50.convertAnnotation((org.hl7.fhir.r5.model.Annotation) src);
199    if (src instanceof org.hl7.fhir.r5.model.Attachment)
200      return Attachment30_50.convertAttachment((org.hl7.fhir.r5.model.Attachment) src);
201    if (src instanceof org.hl7.fhir.r5.model.CodeableConcept)
202      return CodeableConcept30_50.convertCodeableConcept((org.hl7.fhir.r5.model.CodeableConcept) src);
203    if (src instanceof org.hl7.fhir.r5.model.Coding)
204      return Coding30_50.convertCoding((org.hl7.fhir.r5.model.Coding) src);
205    if (src instanceof org.hl7.fhir.r5.model.Count) return Count30_50.convertCount((org.hl7.fhir.r5.model.Count) src);
206    if (src instanceof org.hl7.fhir.r5.model.Distance)
207      return Distance30_50.convertDistance((org.hl7.fhir.r5.model.Distance) src);
208    if (src instanceof org.hl7.fhir.r5.model.Duration)
209      return Duration30_50.convertDuration((org.hl7.fhir.r5.model.Duration) src);
210    if (src instanceof org.hl7.fhir.r5.model.Identifier)
211      return Identifier30_50.convertIdentifier((org.hl7.fhir.r5.model.Identifier) src);
212    if (src instanceof org.hl7.fhir.r5.model.Money) return Money30_50.convertMoney((org.hl7.fhir.r5.model.Money) src);
213    if (src instanceof org.hl7.fhir.r5.model.Period)
214      return Period30_50.convertPeriod((org.hl7.fhir.r5.model.Period) src);
215    if (src instanceof org.hl7.fhir.r5.model.Quantity)
216      return Quantity30_50.convertQuantity((org.hl7.fhir.r5.model.Quantity) src);
217    if (src instanceof org.hl7.fhir.r5.model.Range) return Range30_50.convertRange((org.hl7.fhir.r5.model.Range) src);
218    if (src instanceof org.hl7.fhir.r5.model.Ratio) return Ratio30_50.convertRatio((org.hl7.fhir.r5.model.Ratio) src);
219    if (src instanceof org.hl7.fhir.r5.model.Reference)
220      return Reference30_50.convertReference((org.hl7.fhir.r5.model.Reference) src);
221    if (src instanceof org.hl7.fhir.r5.model.SampledData)
222      return SampledData30_50.convertSampledData((org.hl7.fhir.r5.model.SampledData) src);
223    if (src instanceof org.hl7.fhir.r5.model.Signature)
224      return Signature30_50.convertSignature((org.hl7.fhir.r5.model.Signature) src);
225    if (src instanceof org.hl7.fhir.r5.model.Address)
226      return Address30_50.convertAddress((org.hl7.fhir.r5.model.Address) src);
227    if (src instanceof org.hl7.fhir.r5.model.ContactDetail)
228      return ContactDetail30_50.convertContactDetail((org.hl7.fhir.r5.model.ContactDetail) src);
229    if (src instanceof org.hl7.fhir.r5.model.ContactPoint)
230      return ContactPoint30_50.convertContactPoint((org.hl7.fhir.r5.model.ContactPoint) src);
231    if (src instanceof org.hl7.fhir.r5.model.Contributor)
232      return Contributor30_50.convertContributor((org.hl7.fhir.r5.model.Contributor) src);
233    if (src instanceof org.hl7.fhir.r5.model.Dosage)
234      return Dosage30_50.convertDosage((org.hl7.fhir.r5.model.Dosage) src);
235    if (src instanceof org.hl7.fhir.r5.model.HumanName)
236      return HumanName30_50.convertHumanName((org.hl7.fhir.r5.model.HumanName) src);
237    if (src instanceof org.hl7.fhir.r5.model.Meta) return Meta30_50.convertMeta((org.hl7.fhir.r5.model.Meta) src);
238    if (src instanceof org.hl7.fhir.r5.model.ParameterDefinition)
239      return ParameterDefinition30_50.convertParameterDefinition((org.hl7.fhir.r5.model.ParameterDefinition) src);
240    if (src instanceof org.hl7.fhir.r5.model.RelatedArtifact)
241      return RelatedArtifact30_50.convertRelatedArtifact((org.hl7.fhir.r5.model.RelatedArtifact) src);
242    if (src instanceof org.hl7.fhir.r5.model.Timing)
243      return Timing30_50.convertTiming((org.hl7.fhir.r5.model.Timing) src);
244    if (src instanceof org.hl7.fhir.r5.model.UsageContext)
245      return UsageContext30_50.convertUsageContext((org.hl7.fhir.r5.model.UsageContext) src);
246    if (src instanceof org.hl7.fhir.r5.model.ElementDefinition)
247      return ElementDefinition30_50.convertElementDefinition((org.hl7.fhir.r5.model.ElementDefinition) src);
248    if (src instanceof org.hl7.fhir.r5.model.DataRequirement)
249      return DataRequirement30_50.convertDataRequirement((org.hl7.fhir.r5.model.DataRequirement) src);
250    if (src instanceof org.hl7.fhir.r5.model.TriggerDefinition)
251      return TriggerDefinition30_50.convertTriggerDefinition((org.hl7.fhir.r5.model.TriggerDefinition) src);
252    if (advisor.failFastOnNullOrUnknownEntry()) {
253      throw new FHIRException("The type " + src.fhirType()+" cannot be converted from R5 to R3");
254    } else {
255      return null;
256    }
257  }
258}