001package org.hl7.fhir.convertors.conv10_50.resources10_50;
002
003import org.hl7.fhir.convertors.context.ConversionContext10_50;
004import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50;
005import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50;
006import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Coding10_50;
007import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50;
008import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50;
009import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50;
010import org.hl7.fhir.exceptions.FHIRException;
011import org.hl7.fhir.r5.model.Enumeration;
012import org.hl7.fhir.r5.model.MessageHeader;
013
014public class MessageHeader10_50 {
015
016  public static org.hl7.fhir.dstu2.model.MessageHeader.MessageDestinationComponent convertMessageDestinationComponent(org.hl7.fhir.r5.model.MessageHeader.MessageDestinationComponent src) throws FHIRException {
017    if (src == null || src.isEmpty())
018      return null;
019    org.hl7.fhir.dstu2.model.MessageHeader.MessageDestinationComponent tgt = new org.hl7.fhir.dstu2.model.MessageHeader.MessageDestinationComponent();
020    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt);
021    if (src.hasNameElement())
022      tgt.setNameElement(String10_50.convertString(src.getNameElement()));
023    if (src.hasTarget())
024      tgt.setTarget(Reference10_50.convertReference(src.getTarget()));
025    if (src.hasEndpointUrlType())
026      tgt.setEndpointElement(Uri10_50.convertUri(src.getEndpointUrlType()));
027    return tgt;
028  }
029
030  public static org.hl7.fhir.r5.model.MessageHeader.MessageDestinationComponent convertMessageDestinationComponent(org.hl7.fhir.dstu2.model.MessageHeader.MessageDestinationComponent src) throws FHIRException {
031    if (src == null || src.isEmpty())
032      return null;
033    org.hl7.fhir.r5.model.MessageHeader.MessageDestinationComponent tgt = new org.hl7.fhir.r5.model.MessageHeader.MessageDestinationComponent();
034    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt);
035    if (src.hasNameElement())
036      tgt.setNameElement(String10_50.convertString(src.getNameElement()));
037    if (src.hasTarget())
038      tgt.setTarget(Reference10_50.convertReference(src.getTarget()));
039    if (src.hasEndpoint())
040      tgt.setEndpoint(Uri10_50.convertUri(src.getEndpointElement()));
041    return tgt;
042  }
043
044  public static org.hl7.fhir.dstu2.model.MessageHeader convertMessageHeader(org.hl7.fhir.r5.model.MessageHeader src) throws FHIRException {
045    if (src == null || src.isEmpty())
046      return null;
047    org.hl7.fhir.dstu2.model.MessageHeader tgt = new org.hl7.fhir.dstu2.model.MessageHeader();
048    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyDomainResource(src, tgt);
049    if (src.hasEventCoding())
050      tgt.setEvent(Coding10_50.convertCoding(src.getEventCoding()));
051    if (src.hasResponse())
052      tgt.setResponse(convertMessageHeaderResponseComponent(src.getResponse()));
053    if (src.hasSource())
054      tgt.setSource(convertMessageSourceComponent(src.getSource()));
055    for (org.hl7.fhir.r5.model.MessageHeader.MessageDestinationComponent t : src.getDestination())
056      tgt.addDestination(convertMessageDestinationComponent(t));
057//    if (src.hasEnterer())
058//      tgt.setEnterer(Reference10_50.convertReference(src.getEnterer()));
059    if (src.hasAuthor())
060      tgt.setAuthor(Reference10_50.convertReference(src.getAuthor()));
061    if (src.hasResponsible())
062      tgt.setResponsible(Reference10_50.convertReference(src.getResponsible()));
063    if (src.hasReason())
064      tgt.setReason(CodeableConcept10_50.convertCodeableConcept(src.getReason()));
065    for (org.hl7.fhir.r5.model.Reference t : src.getFocus()) tgt.addData(Reference10_50.convertReference(t));
066    return tgt;
067  }
068
069  public static org.hl7.fhir.r5.model.MessageHeader convertMessageHeader(org.hl7.fhir.dstu2.model.MessageHeader src) throws FHIRException {
070    if (src == null || src.isEmpty())
071      return null;
072    org.hl7.fhir.r5.model.MessageHeader tgt = new org.hl7.fhir.r5.model.MessageHeader();
073    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyDomainResource(src, tgt);
074    if (src.hasEvent())
075      tgt.setEvent(Coding10_50.convertCoding(src.getEvent()));
076    if (src.hasResponse())
077      tgt.setResponse(convertMessageHeaderResponseComponent(src.getResponse()));
078    if (src.hasSource())
079      tgt.setSource(convertMessageSourceComponent(src.getSource()));
080    for (org.hl7.fhir.dstu2.model.MessageHeader.MessageDestinationComponent t : src.getDestination())
081      tgt.addDestination(convertMessageDestinationComponent(t));
082//    if (src.hasEnterer())
083//      tgt.setEnterer(Reference10_50.convertReference(src.getEnterer()));
084    if (src.hasAuthor())
085      tgt.setAuthor(Reference10_50.convertReference(src.getAuthor()));
086    if (src.hasResponsible())
087      tgt.setResponsible(Reference10_50.convertReference(src.getResponsible()));
088    if (src.hasReason())
089      tgt.setReason(CodeableConcept10_50.convertCodeableConcept(src.getReason()));
090    for (org.hl7.fhir.dstu2.model.Reference t : src.getData()) tgt.addFocus(Reference10_50.convertReference(t));
091    return tgt;
092  }
093
094  public static org.hl7.fhir.dstu2.model.MessageHeader.MessageHeaderResponseComponent convertMessageHeaderResponseComponent(org.hl7.fhir.r5.model.MessageHeader.MessageHeaderResponseComponent src) throws FHIRException {
095    if (src == null || src.isEmpty())
096      return null;
097    org.hl7.fhir.dstu2.model.MessageHeader.MessageHeaderResponseComponent tgt = new org.hl7.fhir.dstu2.model.MessageHeader.MessageHeaderResponseComponent();
098    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt);
099    if (src.hasIdentifier())
100      tgt.setIdentifierElement(new org.hl7.fhir.dstu2.model.IdType(src.getIdentifier().getValue()));
101    if (src.hasCode())
102      tgt.setCodeElement(convertResponseType(src.getCodeElement()));
103    if (src.hasDetails())
104      tgt.setDetails(Reference10_50.convertReference(src.getDetails()));
105    return tgt;
106  }
107
108  public static org.hl7.fhir.r5.model.MessageHeader.MessageHeaderResponseComponent convertMessageHeaderResponseComponent(org.hl7.fhir.dstu2.model.MessageHeader.MessageHeaderResponseComponent src) throws FHIRException {
109    if (src == null || src.isEmpty())
110      return null;
111    org.hl7.fhir.r5.model.MessageHeader.MessageHeaderResponseComponent tgt = new org.hl7.fhir.r5.model.MessageHeader.MessageHeaderResponseComponent();
112    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt);
113    if (src.hasIdentifierElement())
114      tgt.setIdentifier(new org.hl7.fhir.r5.model.Identifier().setValue(src.getIdentifier()));
115    if (src.hasCode())
116      tgt.setCodeElement(convertResponseType(src.getCodeElement()));
117    if (src.hasDetails())
118      tgt.setDetails(Reference10_50.convertReference(src.getDetails()));
119    return tgt;
120  }
121
122  public static org.hl7.fhir.dstu2.model.MessageHeader.MessageSourceComponent convertMessageSourceComponent(org.hl7.fhir.r5.model.MessageHeader.MessageSourceComponent src) throws FHIRException {
123    if (src == null || src.isEmpty())
124      return null;
125    org.hl7.fhir.dstu2.model.MessageHeader.MessageSourceComponent tgt = new org.hl7.fhir.dstu2.model.MessageHeader.MessageSourceComponent();
126    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt);
127    if (src.hasNameElement())
128      tgt.setNameElement(String10_50.convertString(src.getNameElement()));
129    if (src.hasSoftwareElement())
130      tgt.setSoftwareElement(String10_50.convertString(src.getSoftwareElement()));
131    if (src.hasVersionElement())
132      tgt.setVersionElement(String10_50.convertString(src.getVersionElement()));
133    if (src.hasContact())
134      tgt.setContact(ContactPoint10_50.convertContactPoint(src.getContact()));
135    if (src.hasEndpointUrlType())
136      tgt.setEndpointElement(Uri10_50.convertUri(src.getEndpointUrlType()));
137    return tgt;
138  }
139
140  public static org.hl7.fhir.r5.model.MessageHeader.MessageSourceComponent convertMessageSourceComponent(org.hl7.fhir.dstu2.model.MessageHeader.MessageSourceComponent src) throws FHIRException {
141    if (src == null || src.isEmpty())
142      return null;
143    org.hl7.fhir.r5.model.MessageHeader.MessageSourceComponent tgt = new org.hl7.fhir.r5.model.MessageHeader.MessageSourceComponent();
144    ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt);
145    if (src.hasNameElement())
146      tgt.setNameElement(String10_50.convertString(src.getNameElement()));
147    if (src.hasSoftwareElement())
148      tgt.setSoftwareElement(String10_50.convertString(src.getSoftwareElement()));
149    if (src.hasVersionElement())
150      tgt.setVersionElement(String10_50.convertString(src.getVersionElement()));
151    if (src.hasContact())
152      tgt.setContact(ContactPoint10_50.convertContactPoint(src.getContact()));
153    if (src.hasEndpoint())
154      tgt.setEndpoint(Uri10_50.convertUri(src.getEndpointElement()));
155    return tgt;
156  }
157
158  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.MessageHeader.ResponseType> convertResponseType(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.MessageHeader.ResponseType> src) throws FHIRException {
159      if (src == null || src.isEmpty())
160          return null;
161      Enumeration<MessageHeader.ResponseType> tgt = new Enumeration<>(new MessageHeader.ResponseTypeEnumFactory());
162      ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
163      if (src.getValue() == null) {
164          tgt.setValue(null);
165      } else {
166          switch (src.getValue()) {
167              case OK:
168                  tgt.setValue(MessageHeader.ResponseType.OK);
169                  break;
170              case TRANSIENTERROR:
171                  tgt.setValue(MessageHeader.ResponseType.TRANSIENTERROR);
172                  break;
173              case FATALERROR:
174                  tgt.setValue(MessageHeader.ResponseType.FATALERROR);
175                  break;
176              default:
177                  tgt.setValue(MessageHeader.ResponseType.NULL);
178                  break;
179          }
180      }
181      return tgt;
182  }
183
184  static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.MessageHeader.ResponseType> convertResponseType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.MessageHeader.ResponseType> src) throws FHIRException {
185      if (src == null || src.isEmpty())
186          return null;
187      org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.MessageHeader.ResponseType> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.MessageHeader.ResponseTypeEnumFactory());
188      ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt);
189      if (src.getValue() == null) {
190          tgt.setValue(null);
191      } else {
192          switch (src.getValue()) {
193              case OK:
194                  tgt.setValue(org.hl7.fhir.dstu2.model.MessageHeader.ResponseType.OK);
195                  break;
196              case TRANSIENTERROR:
197                  tgt.setValue(org.hl7.fhir.dstu2.model.MessageHeader.ResponseType.TRANSIENTERROR);
198                  break;
199              case FATALERROR:
200                  tgt.setValue(org.hl7.fhir.dstu2.model.MessageHeader.ResponseType.FATALERROR);
201                  break;
202              default:
203                  tgt.setValue(org.hl7.fhir.dstu2.model.MessageHeader.ResponseType.NULL);
204                  break;
205          }
206      }
207      return tgt;
208  }
209}