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