001package org.hl7.fhir.convertors.conv14_30.resources14_30;
002
003import org.hl7.fhir.convertors.context.ConversionContext14_30;
004import org.hl7.fhir.convertors.conv14_30.datatypes14_30.Reference14_30;
005import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Identifier14_30;
006import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30;
007import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30;
008import org.hl7.fhir.dstu3.model.Enumeration;
009import org.hl7.fhir.dstu3.model.QuestionnaireResponse;
010import org.hl7.fhir.exceptions.FHIRException;
011
012public class QuestionnaireResponse14_30 {
013
014  public static org.hl7.fhir.dstu2016may.model.QuestionnaireResponse convertQuestionnaireResponse(org.hl7.fhir.dstu3.model.QuestionnaireResponse src) throws FHIRException {
015    if (src == null || src.isEmpty())
016      return null;
017    org.hl7.fhir.dstu2016may.model.QuestionnaireResponse tgt = new org.hl7.fhir.dstu2016may.model.QuestionnaireResponse();
018    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyDomainResource(src, tgt);
019    if (src.hasIdentifier())
020      tgt.setIdentifier(Identifier14_30.convertIdentifier(src.getIdentifier()));
021    if (src.hasQuestionnaire())
022      tgt.setQuestionnaire(Reference14_30.convertReference(src.getQuestionnaire()));
023    if (src.hasStatus())
024      tgt.setStatusElement(convertQuestionnaireResponseStatus(src.getStatusElement()));
025    if (src.hasSubject())
026      tgt.setSubject(Reference14_30.convertReference(src.getSubject()));
027    if (src.hasContext())
028      tgt.setEncounter(Reference14_30.convertReference(src.getContext()));
029    if (src.hasAuthor())
030      tgt.setAuthor(Reference14_30.convertReference(src.getAuthor()));
031    if (src.hasAuthored())
032      tgt.setAuthoredElement(DateTime14_30.convertDateTime(src.getAuthoredElement()));
033    if (src.hasSource())
034      tgt.setSource(Reference14_30.convertReference(src.getSource()));
035    for (org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent t : src.getItem())
036      tgt.addItem(convertQuestionnaireResponseItemComponent(t));
037    return tgt;
038  }
039
040  public static org.hl7.fhir.dstu3.model.QuestionnaireResponse convertQuestionnaireResponse(org.hl7.fhir.dstu2016may.model.QuestionnaireResponse src) throws FHIRException {
041    if (src == null || src.isEmpty())
042      return null;
043    org.hl7.fhir.dstu3.model.QuestionnaireResponse tgt = new org.hl7.fhir.dstu3.model.QuestionnaireResponse();
044    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyDomainResource(src, tgt);
045    if (src.hasIdentifier())
046      tgt.setIdentifier(Identifier14_30.convertIdentifier(src.getIdentifier()));
047    if (src.hasQuestionnaire())
048      tgt.setQuestionnaire(Reference14_30.convertReference(src.getQuestionnaire()));
049    if (src.hasStatus())
050      tgt.setStatusElement(convertQuestionnaireResponseStatus(src.getStatusElement()));
051    if (src.hasSubject())
052      tgt.setSubject(Reference14_30.convertReference(src.getSubject()));
053    if (src.hasEncounter())
054      tgt.setContext(Reference14_30.convertReference(src.getEncounter()));
055    if (src.hasAuthor())
056      tgt.setAuthor(Reference14_30.convertReference(src.getAuthor()));
057    if (src.hasAuthored())
058      tgt.setAuthoredElement(DateTime14_30.convertDateTime(src.getAuthoredElement()));
059    if (src.hasSource())
060      tgt.setSource(Reference14_30.convertReference(src.getSource()));
061    for (org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemComponent t : src.getItem())
062      tgt.addItem(convertQuestionnaireResponseItemComponent(t));
063    return tgt;
064  }
065
066  public static org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent convertQuestionnaireResponseItemAnswerComponent(org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent src) throws FHIRException {
067    if (src == null || src.isEmpty())
068      return null;
069    org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent tgt = new org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent();
070    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyBackboneElement(src,tgt);
071    if (src.hasValue())
072      tgt.setValue(ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().convertType(src.getValue()));
073    for (org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent t : src.getItem())
074      tgt.addItem(convertQuestionnaireResponseItemComponent(t));
075    return tgt;
076  }
077
078  public static org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent convertQuestionnaireResponseItemAnswerComponent(org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent src) throws FHIRException {
079    if (src == null || src.isEmpty())
080      return null;
081    org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent tgt = new org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent();
082    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyBackboneElement(src,tgt);
083    if (src.hasValue())
084      tgt.setValue(ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().convertType(src.getValue()));
085    for (org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemComponent t : src.getItem())
086      tgt.addItem(convertQuestionnaireResponseItemComponent(t));
087    return tgt;
088  }
089
090  public static org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemComponent convertQuestionnaireResponseItemComponent(org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent src) throws FHIRException {
091    if (src == null || src.isEmpty())
092      return null;
093    org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemComponent tgt = new org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemComponent();
094    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyBackboneElement(src,tgt);
095    if (src.hasLinkId())
096      tgt.setLinkIdElement(String14_30.convertString(src.getLinkIdElement()));
097    if (src.hasText())
098      tgt.setTextElement(String14_30.convertString(src.getTextElement()));
099    if (src.hasSubject())
100      tgt.setSubject(Reference14_30.convertReference(src.getSubject()));
101    for (org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent t : src.getAnswer())
102      tgt.addAnswer(convertQuestionnaireResponseItemAnswerComponent(t));
103    for (org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent t : src.getItem())
104      tgt.addItem(convertQuestionnaireResponseItemComponent(t));
105    return tgt;
106  }
107
108  public static org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent convertQuestionnaireResponseItemComponent(org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemComponent src) throws FHIRException {
109    if (src == null || src.isEmpty())
110      return null;
111    org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent tgt = new org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent();
112    ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyBackboneElement(src,tgt);
113    if (src.hasLinkId())
114      tgt.setLinkIdElement(String14_30.convertString(src.getLinkIdElement()));
115    if (src.hasText())
116      tgt.setTextElement(String14_30.convertString(src.getTextElement()));
117    if (src.hasSubject())
118      tgt.setSubject(Reference14_30.convertReference(src.getSubject()));
119    for (org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent t : src.getAnswer())
120      tgt.addAnswer(convertQuestionnaireResponseItemAnswerComponent(t));
121    for (org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseItemComponent t : src.getItem())
122      tgt.addItem(convertQuestionnaireResponseItemComponent(t));
123    return tgt;
124  }
125
126  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseStatus> convertQuestionnaireResponseStatus(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseStatus> src) throws FHIRException {
127      if (src == null || src.isEmpty())
128          return null;
129      Enumeration<QuestionnaireResponse.QuestionnaireResponseStatus> tgt = new Enumeration<>(new QuestionnaireResponse.QuestionnaireResponseStatusEnumFactory());
130      ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
131      if (src.getValue() == null) {
132          tgt.setValue(null);
133      } else {
134          switch (src.getValue()) {
135              case INPROGRESS:
136                  tgt.setValue(QuestionnaireResponse.QuestionnaireResponseStatus.INPROGRESS);
137                  break;
138              case COMPLETED:
139                  tgt.setValue(QuestionnaireResponse.QuestionnaireResponseStatus.COMPLETED);
140                  break;
141              case AMENDED:
142                  tgt.setValue(QuestionnaireResponse.QuestionnaireResponseStatus.AMENDED);
143                  break;
144              default:
145                  tgt.setValue(QuestionnaireResponse.QuestionnaireResponseStatus.NULL);
146                  break;
147          }
148      }
149      return tgt;
150  }
151
152  static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseStatus> convertQuestionnaireResponseStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseStatus> src) throws FHIRException {
153      if (src == null || src.isEmpty())
154          return null;
155      org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseStatus> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseStatusEnumFactory());
156      ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt);
157      if (src.getValue() == null) {
158          tgt.setValue(null);
159      } else {
160          switch (src.getValue()) {
161              case INPROGRESS:
162                  tgt.setValue(org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseStatus.INPROGRESS);
163                  break;
164              case COMPLETED:
165                  tgt.setValue(org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseStatus.COMPLETED);
166                  break;
167              case AMENDED:
168                  tgt.setValue(org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseStatus.AMENDED);
169                  break;
170              default:
171                  tgt.setValue(org.hl7.fhir.dstu2016may.model.QuestionnaireResponse.QuestionnaireResponseStatus.NULL);
172                  break;
173          }
174      }
175      return tgt;
176  }
177}