001package org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50;
002
003import org.hl7.fhir.convertors.context.ConversionContext40_50;
004import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50;
005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50;
006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50;
007import org.hl7.fhir.exceptions.FHIRException;
008import org.hl7.fhir.r5.model.CodeableReference;
009
010public class Reference40_50 {
011  public static org.hl7.fhir.r5.model.Reference convertReference(org.hl7.fhir.r4.model.Reference src) throws FHIRException {
012    if (src == null) return null;
013    org.hl7.fhir.r5.model.Reference tgt = new org.hl7.fhir.r5.model.Reference();
014    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
015    if (src.hasReference()) tgt.setReferenceElement(String40_50.convertString(src.getReferenceElement_()));
016    if (src.hasType()) tgt.setTypeElement(Uri40_50.convertUri(src.getTypeElement()));
017    if (src.hasIdentifier()) tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier()));
018    if (src.hasDisplay()) tgt.setDisplayElement(String40_50.convertString(src.getDisplayElement()));
019    return tgt;
020  }
021
022  public static org.hl7.fhir.r4.model.Reference convertReference(org.hl7.fhir.r5.model.Reference src) throws FHIRException {
023    if (src == null) return null;
024    org.hl7.fhir.r4.model.Reference tgt = new org.hl7.fhir.r4.model.Reference();
025    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
026    if (src.hasReference()) tgt.setReferenceElement(String40_50.convertString(src.getReferenceElement_()));
027    if (src.hasType()) tgt.setTypeElement(Uri40_50.convertUri(src.getTypeElement()));
028    if (src.hasIdentifier()) tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier()));
029    if (src.hasDisplay()) tgt.setDisplayElement(String40_50.convertString(src.getDisplayElement()));
030    return tgt;
031  }
032
033  public static CodeableReference convertReferenceToCodeableReference(org.hl7.fhir.r4.model.Reference src) {
034    CodeableReference tgt = new CodeableReference();
035    tgt.setReference(convertReference(src));
036    return tgt;
037  }
038  
039
040  public static org.hl7.fhir.r5.model.CanonicalType convertReferenceToCanonical(org.hl7.fhir.r4.model.Reference src) {
041    if (src == null) return null;
042    org.hl7.fhir.r5.model.CanonicalType tgt = new org.hl7.fhir.r5.model.CanonicalType();
043    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
044    if (src.hasReference()) tgt.setValue(src.getReference());
045    return tgt;
046  }
047
048  public static org.hl7.fhir.r4.model.Reference convertReferenceToCanonical(org.hl7.fhir.r5.model.CanonicalType src) {
049    if (src == null) return null;
050    org.hl7.fhir.r4.model.Reference tgt = new org.hl7.fhir.r4.model.Reference();
051    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
052    if (src.hasValue()) tgt.setReference(src.getValue());
053    return tgt;
054  }
055  
056
057  static public org.hl7.fhir.r4.model.Reference convertCodeableReferenceToReference(org.hl7.fhir.r5.model.CodeableReference src) {
058    org.hl7.fhir.r4.model.Reference tgt = new org.hl7.fhir.r4.model.Reference();
059    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt);
060    tgt.setReference(src.getReference().getReference());
061    return tgt;
062  }
063
064  public static org.hl7.fhir.r4.model.Reference convertCanonicalToReference(org.hl7.fhir.r5.model.CanonicalType src) {
065    org.hl7.fhir.r4.model.Reference dst = new org.hl7.fhir.r4.model.Reference(src.getValue());
066    ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, dst);
067    return dst;
068
069  }
070
071}