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