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