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