001package org.hl7.fhir.convertors.conv14_50.datatypes14_50;
002
003import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_50;
004import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Address14_50;
005import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Age14_50;
006import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Annotation14_50;
007import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Attachment14_50;
008import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.CodeableConcept14_50;
009import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Coding14_50;
010import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50;
011import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Count14_50;
012import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Distance14_50;
013import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Duration14_50;
014import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.HumanName14_50;
015import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Identifier14_50;
016import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Money14_50;
017import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Period14_50;
018import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Quantity14_50;
019import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Range14_50;
020import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Ratio14_50;
021import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.SampledData14_50;
022import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Signature14_50;
023import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Timing14_50;
024import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Base64Binary14_50;
025import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50;
026import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Code14_50;
027import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Date14_50;
028import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50;
029import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Decimal14_50;
030import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Id14_50;
031import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Instant14_50;
032import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Integer14_50;
033import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.MarkDown14_50;
034import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Oid14_50;
035import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.PositiveInt14_50;
036import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50;
037import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Time14_50;
038import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.UnsignedInt14_50;
039import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50;
040import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uuid14_50;
041import org.hl7.fhir.exceptions.FHIRException;
042
043public class Type14_50 {
044
045  private final BaseAdvisor_14_50 advisor;
046
047  public Type14_50(BaseAdvisor_14_50 advisor) {
048    this.advisor = advisor;
049  }
050
051  public org.hl7.fhir.r5.model.DataType convertType(org.hl7.fhir.dstu2016may.model.Type src) throws FHIRException {
052    if (src == null || src.isEmpty()) return null;
053    if (src instanceof org.hl7.fhir.dstu2016may.model.Base64BinaryType)
054      return Base64Binary14_50.convertBase64Binary((org.hl7.fhir.dstu2016may.model.Base64BinaryType) src);
055    if (src instanceof org.hl7.fhir.dstu2016may.model.BooleanType)
056      return Boolean14_50.convertBoolean((org.hl7.fhir.dstu2016may.model.BooleanType) src);
057    if (src instanceof org.hl7.fhir.dstu2016may.model.CodeType)
058      return Code14_50.convertCode((org.hl7.fhir.dstu2016may.model.CodeType) src);
059    if (src instanceof org.hl7.fhir.dstu2016may.model.DateType)
060      return Date14_50.convertDate((org.hl7.fhir.dstu2016may.model.DateType) src);
061    if (src instanceof org.hl7.fhir.dstu2016may.model.DateTimeType)
062      return DateTime14_50.convertDateTime((org.hl7.fhir.dstu2016may.model.DateTimeType) src);
063    if (src instanceof org.hl7.fhir.dstu2016may.model.DecimalType)
064      return Decimal14_50.convertDecimal((org.hl7.fhir.dstu2016may.model.DecimalType) src);
065    if (src instanceof org.hl7.fhir.dstu2016may.model.IdType)
066      return Id14_50.convertId((org.hl7.fhir.dstu2016may.model.IdType) src);
067    if (src instanceof org.hl7.fhir.dstu2016may.model.InstantType)
068      return Instant14_50.convertInstant((org.hl7.fhir.dstu2016may.model.InstantType) src);
069    if (src instanceof org.hl7.fhir.dstu2016may.model.MarkdownType)
070      return MarkDown14_50.convertMarkdown((org.hl7.fhir.dstu2016may.model.MarkdownType) src);
071    if (src instanceof org.hl7.fhir.dstu2016may.model.OidType)
072      return Oid14_50.convertOid((org.hl7.fhir.dstu2016may.model.OidType) src);
073    if (src instanceof org.hl7.fhir.dstu2016may.model.PositiveIntType)
074      return PositiveInt14_50.convertPositiveInt((org.hl7.fhir.dstu2016may.model.PositiveIntType) src);
075    if (src instanceof org.hl7.fhir.dstu2016may.model.StringType)
076      return String14_50.convertString((org.hl7.fhir.dstu2016may.model.StringType) src);
077    if (src instanceof org.hl7.fhir.dstu2016may.model.TimeType)
078      return Time14_50.convertTime((org.hl7.fhir.dstu2016may.model.TimeType) src);
079    if (src instanceof org.hl7.fhir.dstu2016may.model.UnsignedIntType)
080      return UnsignedInt14_50.convertUnsignedInt((org.hl7.fhir.dstu2016may.model.UnsignedIntType) src);
081    if (src instanceof org.hl7.fhir.dstu2016may.model.IntegerType)
082      return Integer14_50.convertInteger((org.hl7.fhir.dstu2016may.model.IntegerType) src);
083    if (src instanceof org.hl7.fhir.dstu2016may.model.UuidType)
084      return Uuid14_50.convertUuid((org.hl7.fhir.dstu2016may.model.UuidType) src);
085    if (src instanceof org.hl7.fhir.dstu2016may.model.UriType)
086      return Uri14_50.convertUri((org.hl7.fhir.dstu2016may.model.UriType) src);
087    if (src instanceof org.hl7.fhir.dstu2016may.model.Extension)
088      return Extension14_50.convertExtension((org.hl7.fhir.dstu2016may.model.Extension) src);
089    if (src instanceof org.hl7.fhir.dstu2016may.model.Narrative)
090      return Narrative14_50.convertNarrative((org.hl7.fhir.dstu2016may.model.Narrative) src);
091    if (src instanceof org.hl7.fhir.dstu2016may.model.Age)
092      return Age14_50.convertAge((org.hl7.fhir.dstu2016may.model.Age) src);
093    if (src instanceof org.hl7.fhir.dstu2016may.model.Annotation)
094      return Annotation14_50.convertAnnotation((org.hl7.fhir.dstu2016may.model.Annotation) src);
095    if (src instanceof org.hl7.fhir.dstu2016may.model.Attachment)
096      return Attachment14_50.convertAttachment((org.hl7.fhir.dstu2016may.model.Attachment) src);
097    if (src instanceof org.hl7.fhir.dstu2016may.model.CodeableConcept)
098      return CodeableConcept14_50.convertCodeableConcept((org.hl7.fhir.dstu2016may.model.CodeableConcept) src);
099    if (src instanceof org.hl7.fhir.dstu2016may.model.Coding)
100      return Coding14_50.convertCoding((org.hl7.fhir.dstu2016may.model.Coding) src);
101    if (src instanceof org.hl7.fhir.dstu2016may.model.Count)
102      return Count14_50.convertCount((org.hl7.fhir.dstu2016may.model.Count) src);
103    if (src instanceof org.hl7.fhir.dstu2016may.model.Distance)
104      return Distance14_50.convertDistance((org.hl7.fhir.dstu2016may.model.Distance) src);
105    if (src instanceof org.hl7.fhir.dstu2016may.model.Duration)
106      return Duration14_50.convertDuration((org.hl7.fhir.dstu2016may.model.Duration) src);
107    if (src instanceof org.hl7.fhir.dstu2016may.model.Identifier)
108      return Identifier14_50.convertIdentifier((org.hl7.fhir.dstu2016may.model.Identifier) src);
109    if (src instanceof org.hl7.fhir.dstu2016may.model.Money)
110      return Money14_50.convertMoney((org.hl7.fhir.dstu2016may.model.Money) src);
111    if (src instanceof org.hl7.fhir.dstu2016may.model.Period)
112      return Period14_50.convertPeriod((org.hl7.fhir.dstu2016may.model.Period) src);
113    if (src instanceof org.hl7.fhir.dstu2016may.model.Quantity)
114      return Quantity14_50.convertQuantity((org.hl7.fhir.dstu2016may.model.Quantity) src);
115    if (src instanceof org.hl7.fhir.dstu2016may.model.Range)
116      return Range14_50.convertRange((org.hl7.fhir.dstu2016may.model.Range) src);
117    if (src instanceof org.hl7.fhir.dstu2016may.model.Ratio)
118      return Ratio14_50.convertRatio((org.hl7.fhir.dstu2016may.model.Ratio) src);
119    if (src instanceof org.hl7.fhir.dstu2016may.model.Reference)
120      return Reference14_50.convertReference((org.hl7.fhir.dstu2016may.model.Reference) src);
121    if (src instanceof org.hl7.fhir.dstu2016may.model.SampledData)
122      return SampledData14_50.convertSampledData((org.hl7.fhir.dstu2016may.model.SampledData) src);
123    if (src instanceof org.hl7.fhir.dstu2016may.model.Signature)
124      return Signature14_50.convertSignature((org.hl7.fhir.dstu2016may.model.Signature) src);
125    if (src instanceof org.hl7.fhir.dstu2016may.model.Address)
126      return Address14_50.convertAddress((org.hl7.fhir.dstu2016may.model.Address) src);
127    if (src instanceof org.hl7.fhir.dstu2016may.model.ContactPoint)
128      return ContactPoint14_50.convertContactPoint((org.hl7.fhir.dstu2016may.model.ContactPoint) src);
129    if (src instanceof org.hl7.fhir.dstu2016may.model.HumanName)
130      return HumanName14_50.convertHumanName((org.hl7.fhir.dstu2016may.model.HumanName) src);
131    if (src instanceof org.hl7.fhir.dstu2016may.model.Meta)
132      return Meta14_50.convertMeta((org.hl7.fhir.dstu2016may.model.Meta) src);
133    if (src instanceof org.hl7.fhir.dstu2016may.model.Timing)
134      return Timing14_50.convertTiming((org.hl7.fhir.dstu2016may.model.Timing) src);
135    if (advisor.failFastOnNullOrUnknownEntry()) {
136      throw new FHIRException("The type " + src.fhirType()+" cannot be converted from R2B to R5");
137    } else {
138      return null;
139    }
140  }
141
142  public org.hl7.fhir.dstu2016may.model.Type convertType(org.hl7.fhir.r5.model.DataType src) throws FHIRException {
143    if (src == null || src.isEmpty()) return null;
144    if (src instanceof org.hl7.fhir.r5.model.Base64BinaryType)
145      return Base64Binary14_50.convertBase64Binary((org.hl7.fhir.r5.model.Base64BinaryType) src);
146    if (src instanceof org.hl7.fhir.r5.model.BooleanType)
147      return Boolean14_50.convertBoolean((org.hl7.fhir.r5.model.BooleanType) src);
148    if (src instanceof org.hl7.fhir.r5.model.CodeType)
149      return Code14_50.convertCode((org.hl7.fhir.r5.model.CodeType) src);
150    if (src instanceof org.hl7.fhir.r5.model.DateType)
151      return Date14_50.convertDate((org.hl7.fhir.r5.model.DateType) src);
152    if (src instanceof org.hl7.fhir.r5.model.DateTimeType)
153      return DateTime14_50.convertDateTime((org.hl7.fhir.r5.model.DateTimeType) src);
154    if (src instanceof org.hl7.fhir.r5.model.DecimalType)
155      return Decimal14_50.convertDecimal((org.hl7.fhir.r5.model.DecimalType) src);
156    if (src instanceof org.hl7.fhir.r5.model.IdType) return Id14_50.convertId((org.hl7.fhir.r5.model.IdType) src);
157    if (src instanceof org.hl7.fhir.r5.model.InstantType)
158      return Instant14_50.convertInstant((org.hl7.fhir.r5.model.InstantType) src);
159    if (src instanceof org.hl7.fhir.r5.model.MarkdownType)
160      return MarkDown14_50.convertMarkdown((org.hl7.fhir.r5.model.MarkdownType) src);
161    if (src instanceof org.hl7.fhir.r5.model.OidType) return Oid14_50.convertOid((org.hl7.fhir.r5.model.OidType) src);
162    if (src instanceof org.hl7.fhir.r5.model.PositiveIntType)
163      return PositiveInt14_50.convertPositiveInt((org.hl7.fhir.r5.model.PositiveIntType) src);
164    if (src instanceof org.hl7.fhir.r5.model.StringType)
165      return String14_50.convertString((org.hl7.fhir.r5.model.StringType) src);
166    if (src instanceof org.hl7.fhir.r5.model.TimeType)
167      return Time14_50.convertTime((org.hl7.fhir.r5.model.TimeType) src);
168    if (src instanceof org.hl7.fhir.r5.model.UnsignedIntType)
169      return UnsignedInt14_50.convertUnsignedInt((org.hl7.fhir.r5.model.UnsignedIntType) src);
170    if (src instanceof org.hl7.fhir.r5.model.IntegerType)
171      return Integer14_50.convertInteger((org.hl7.fhir.r5.model.IntegerType) src);
172    if (src instanceof org.hl7.fhir.r5.model.Integer64Type)
173      return Integer14_50.convertInteger64((org.hl7.fhir.r5.model.Integer64Type) src);
174    if (src instanceof org.hl7.fhir.r5.model.UuidType)
175      return Uuid14_50.convertUuid((org.hl7.fhir.r5.model.UuidType) src);
176    if (src instanceof org.hl7.fhir.r5.model.UriType) return Uri14_50.convertUri((org.hl7.fhir.r5.model.UriType) src);
177    if (src instanceof org.hl7.fhir.r5.model.Extension)
178      return Extension14_50.convertExtension((org.hl7.fhir.r5.model.Extension) src);
179    if (src instanceof org.hl7.fhir.r5.model.Narrative)
180      return Narrative14_50.convertNarrative((org.hl7.fhir.r5.model.Narrative) src);
181    if (src instanceof org.hl7.fhir.r5.model.Age) return Age14_50.convertAge((org.hl7.fhir.r5.model.Age) src);
182    if (src instanceof org.hl7.fhir.r5.model.Annotation)
183      return Annotation14_50.convertAnnotation((org.hl7.fhir.r5.model.Annotation) src);
184    if (src instanceof org.hl7.fhir.r5.model.Attachment)
185      return Attachment14_50.convertAttachment((org.hl7.fhir.r5.model.Attachment) src);
186    if (src instanceof org.hl7.fhir.r5.model.CodeableConcept)
187      return CodeableConcept14_50.convertCodeableConcept((org.hl7.fhir.r5.model.CodeableConcept) src);
188    if (src instanceof org.hl7.fhir.r5.model.Coding)
189      return Coding14_50.convertCoding((org.hl7.fhir.r5.model.Coding) src);
190    if (src instanceof org.hl7.fhir.r5.model.Count) return Count14_50.convertCount((org.hl7.fhir.r5.model.Count) src);
191    if (src instanceof org.hl7.fhir.r5.model.Distance)
192      return Distance14_50.convertDistance((org.hl7.fhir.r5.model.Distance) src);
193    if (src instanceof org.hl7.fhir.r5.model.Duration)
194      return Duration14_50.convertDuration((org.hl7.fhir.r5.model.Duration) src);
195    if (src instanceof org.hl7.fhir.r5.model.Identifier)
196      return Identifier14_50.convertIdentifier((org.hl7.fhir.r5.model.Identifier) src);
197    if (src instanceof org.hl7.fhir.r5.model.Money) return Money14_50.convertMoney((org.hl7.fhir.r5.model.Money) src);
198    if (src instanceof org.hl7.fhir.r5.model.Period)
199      return Period14_50.convertPeriod((org.hl7.fhir.r5.model.Period) src);
200    if (src instanceof org.hl7.fhir.r5.model.Quantity)
201      return Quantity14_50.convertQuantity((org.hl7.fhir.r5.model.Quantity) src);
202    if (src instanceof org.hl7.fhir.r5.model.Range) return Range14_50.convertRange((org.hl7.fhir.r5.model.Range) src);
203    if (src instanceof org.hl7.fhir.r5.model.Ratio) return Ratio14_50.convertRatio((org.hl7.fhir.r5.model.Ratio) src);
204    if (src instanceof org.hl7.fhir.r5.model.Reference)
205      return Reference14_50.convertReference((org.hl7.fhir.r5.model.Reference) src);
206    if (src instanceof org.hl7.fhir.r5.model.SampledData)
207      return SampledData14_50.convertSampledData((org.hl7.fhir.r5.model.SampledData) src);
208    if (src instanceof org.hl7.fhir.r5.model.Signature)
209      return Signature14_50.convertSignature((org.hl7.fhir.r5.model.Signature) src);
210    if (src instanceof org.hl7.fhir.r5.model.Address)
211      return Address14_50.convertAddress((org.hl7.fhir.r5.model.Address) src);
212    if (src instanceof org.hl7.fhir.r5.model.ContactPoint)
213      return ContactPoint14_50.convertContactPoint((org.hl7.fhir.r5.model.ContactPoint) src);
214    if (src instanceof org.hl7.fhir.r5.model.HumanName)
215      return HumanName14_50.convertHumanName((org.hl7.fhir.r5.model.HumanName) src);
216    if (src instanceof org.hl7.fhir.r5.model.Meta) return Meta14_50.convertMeta((org.hl7.fhir.r5.model.Meta) src);
217    if (src instanceof org.hl7.fhir.r5.model.Timing)
218      return Timing14_50.convertTiming((org.hl7.fhir.r5.model.Timing) src);
219    if (advisor.failFastOnNullOrUnknownEntry()) {
220      throw new FHIRException("The type " + src.fhirType()+" cannot be converted from R5 to R2B");
221    } else {
222      return null;
223    }
224  }
225}