
001package org.hl7.fhir.convertors.conv10_30.resources10_30; 002 003import org.hl7.fhir.convertors.context.ConversionContext10_30; 004import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; 005import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; 006import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; 007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; 008import org.hl7.fhir.dstu2.model.Enumeration; 009import org.hl7.fhir.dstu2.model.QuestionnaireResponse; 010import org.hl7.fhir.exceptions.FHIRException; 011 012public class QuestionnaireResponse10_30 { 013 014 public static org.hl7.fhir.dstu2.model.QuestionnaireResponse.GroupComponent convertQuestionnaireItemToGroup(org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent src) throws FHIRException { 015 if (src == null || src.isEmpty()) 016 return null; 017 org.hl7.fhir.dstu2.model.QuestionnaireResponse.GroupComponent tgt = new org.hl7.fhir.dstu2.model.QuestionnaireResponse.GroupComponent(); 018 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 019 if (src.hasLinkIdElement()) 020 tgt.setLinkIdElement(String10_30.convertString(src.getLinkIdElement())); 021 if (src.hasTextElement()) 022 tgt.setTextElement(String10_30.convertString(src.getTextElement())); 023 if (src.hasSubject()) 024 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 025 for (org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent t : src.getItem()) 026 if (t.hasAnswer()) 027 tgt.addQuestion(convertQuestionnaireItemToQuestion(t)); 028 else 029 tgt.addGroup(convertQuestionnaireItemToGroup(t)); 030 return tgt; 031 } 032 033 public static org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionComponent convertQuestionnaireItemToQuestion(org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent src) throws FHIRException { 034 if (src == null || src.isEmpty()) 035 return null; 036 org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionComponent tgt = new org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionComponent(); 037 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 038 if (src.hasLinkIdElement()) 039 tgt.setLinkIdElement(String10_30.convertString(src.getLinkIdElement())); 040 if (src.hasTextElement()) 041 tgt.setTextElement(String10_30.convertString(src.getTextElement())); 042 for (org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent t : src.getAnswer()) 043 tgt.addAnswer(convertQuestionnaireResponseItemAnswerComponent(t)); 044 return tgt; 045 } 046 047 public static org.hl7.fhir.dstu2.model.QuestionnaireResponse convertQuestionnaireResponse(org.hl7.fhir.dstu3.model.QuestionnaireResponse src) throws FHIRException { 048 if (src == null || src.isEmpty()) 049 return null; 050 org.hl7.fhir.dstu2.model.QuestionnaireResponse tgt = new org.hl7.fhir.dstu2.model.QuestionnaireResponse(); 051 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 052 if (src.hasIdentifier()) 053 tgt.setIdentifier(Identifier10_30.convertIdentifier(src.getIdentifier())); 054 if (src.hasQuestionnaire()) 055 tgt.setQuestionnaire(Reference10_30.convertReference(src.getQuestionnaire())); 056 if (src.hasStatus()) 057 tgt.setStatusElement(convertQuestionnaireResponseStatus(src.getStatusElement())); 058 if (src.hasSubject()) 059 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 060 if (src.hasAuthor()) 061 tgt.setAuthor(Reference10_30.convertReference(src.getAuthor())); 062 if (src.hasAuthoredElement()) 063 tgt.setAuthoredElement(DateTime10_30.convertDateTime(src.getAuthoredElement())); 064 if (src.hasSource()) 065 tgt.setSource(Reference10_30.convertReference(src.getSource())); 066 if (src.hasContext()) 067 tgt.setEncounter(Reference10_30.convertReference(src.getContext())); 068 if (src.getItem().size() != 1) 069 throw new FHIRException("multiple root items not supported"); 070 tgt.setGroup(convertQuestionnaireItemToGroup(src.getItem().get(0))); 071 return tgt; 072 } 073 074 public static org.hl7.fhir.dstu3.model.QuestionnaireResponse convertQuestionnaireResponse(org.hl7.fhir.dstu2.model.QuestionnaireResponse src) throws FHIRException { 075 if (src == null || src.isEmpty()) 076 return null; 077 org.hl7.fhir.dstu3.model.QuestionnaireResponse tgt = new org.hl7.fhir.dstu3.model.QuestionnaireResponse(); 078 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 079 if (src.hasIdentifier()) 080 tgt.setIdentifier(Identifier10_30.convertIdentifier(src.getIdentifier())); 081 if (src.hasQuestionnaire()) 082 tgt.setQuestionnaire(Reference10_30.convertReference(src.getQuestionnaire())); 083 if (src.hasStatus()) 084 tgt.setStatusElement(convertQuestionnaireResponseStatus(src.getStatusElement())); 085 if (src.hasSubject()) 086 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 087 if (src.hasAuthor()) 088 tgt.setAuthor(Reference10_30.convertReference(src.getAuthor())); 089 if (src.hasAuthoredElement()) 090 tgt.setAuthoredElement(DateTime10_30.convertDateTime(src.getAuthoredElement())); 091 if (src.hasSource()) 092 tgt.setSource(Reference10_30.convertReference(src.getSource())); 093 if (src.hasEncounter()) 094 tgt.setContext(Reference10_30.convertReference(src.getEncounter())); 095 if (src.hasGroup()) 096 tgt.addItem(convertQuestionnaireResponseGroupComponent(src.getGroup())); 097 return tgt; 098 } 099 100 public static org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent convertQuestionnaireResponseGroupComponent(org.hl7.fhir.dstu2.model.QuestionnaireResponse.GroupComponent src) throws FHIRException { 101 if (src == null || src.isEmpty()) 102 return null; 103 org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent tgt = new org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent(); 104 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 105 if (src.hasLinkIdElement()) 106 tgt.setLinkIdElement(String10_30.convertString(src.getLinkIdElement())); 107 if (src.hasTextElement()) 108 tgt.setTextElement(String10_30.convertString(src.getTextElement())); 109 if (src.hasSubject()) 110 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 111 for (org.hl7.fhir.dstu2.model.QuestionnaireResponse.GroupComponent t : src.getGroup()) 112 tgt.addItem(convertQuestionnaireResponseGroupComponent(t)); 113 for (org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionComponent t : src.getQuestion()) 114 tgt.addItem(convertQuestionnaireResponseQuestionComponent(t)); 115 return tgt; 116 } 117 118 public static org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionAnswerComponent convertQuestionnaireResponseItemAnswerComponent(org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent src) throws FHIRException { 119 if (src == null || src.isEmpty()) 120 return null; 121 org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionAnswerComponent tgt = new org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionAnswerComponent(); 122 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 123 if (src.hasValue()) 124 tgt.setValue(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getValue())); 125 for (org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent t : src.getItem()) 126 tgt.addGroup(convertQuestionnaireItemToGroup(t)); 127 return tgt; 128 } 129 130 public static org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent convertQuestionnaireResponseItemAnswerComponent(org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionAnswerComponent src) throws FHIRException { 131 if (src == null || src.isEmpty()) 132 return null; 133 org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent tgt = new org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemAnswerComponent(); 134 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 135 if (src.hasValue()) 136 tgt.setValue(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getValue())); 137 for (org.hl7.fhir.dstu2.model.QuestionnaireResponse.GroupComponent t : src.getGroup()) 138 tgt.addItem(convertQuestionnaireResponseGroupComponent(t)); 139 return tgt; 140 } 141 142 public static org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent convertQuestionnaireResponseQuestionComponent(org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionComponent src) throws FHIRException { 143 if (src == null || src.isEmpty()) 144 return null; 145 org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent tgt = new org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseItemComponent(); 146 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 147 if (src.hasLinkIdElement()) 148 tgt.setLinkIdElement(String10_30.convertString(src.getLinkIdElement())); 149 if (src.hasTextElement()) 150 tgt.setTextElement(String10_30.convertString(src.getTextElement())); 151 for (org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionAnswerComponent t : src.getAnswer()) 152 tgt.addAnswer(convertQuestionnaireResponseItemAnswerComponent(t)); 153 return tgt; 154 } 155 156 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionnaireResponseStatus> convertQuestionnaireResponseStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseStatus> src) throws FHIRException { 157 if (src == null || src.isEmpty()) 158 return null; 159 Enumeration<QuestionnaireResponse.QuestionnaireResponseStatus> tgt = new Enumeration<>(new QuestionnaireResponse.QuestionnaireResponseStatusEnumFactory()); 160 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 161 if (src.getValue() == null) { 162 tgt.setValue(null); 163 } else { 164 switch (src.getValue()) { 165 case INPROGRESS: 166 tgt.setValue(QuestionnaireResponse.QuestionnaireResponseStatus.INPROGRESS); 167 break; 168 case COMPLETED: 169 tgt.setValue(QuestionnaireResponse.QuestionnaireResponseStatus.COMPLETED); 170 break; 171 case AMENDED: 172 tgt.setValue(QuestionnaireResponse.QuestionnaireResponseStatus.AMENDED); 173 break; 174 default: 175 tgt.setValue(QuestionnaireResponse.QuestionnaireResponseStatus.NULL); 176 break; 177 } 178 } 179 return tgt; 180 } 181 182 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseStatus> convertQuestionnaireResponseStatus(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.QuestionnaireResponse.QuestionnaireResponseStatus> src) throws FHIRException { 183 if (src == null || src.isEmpty()) 184 return null; 185 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()); 186 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 187 if (src.getValue() == null) { 188 tgt.setValue(null); 189 } else { 190 switch (src.getValue()) { 191 case INPROGRESS: 192 tgt.setValue(org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseStatus.INPROGRESS); 193 break; 194 case COMPLETED: 195 tgt.setValue(org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseStatus.COMPLETED); 196 break; 197 case AMENDED: 198 tgt.setValue(org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseStatus.AMENDED); 199 break; 200 default: 201 tgt.setValue(org.hl7.fhir.dstu3.model.QuestionnaireResponse.QuestionnaireResponseStatus.NULL); 202 break; 203 } 204 } 205 return tgt; 206 } 207}