001package org.hl7.fhir.convertors.conv10_30.resources10_30; 002 003import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_30; 004import org.hl7.fhir.convertors.context.ConversionContext10_30; 005import org.hl7.fhir.convertors.conv10_30.VersionConvertor_10_30; 006import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; 007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Coding10_30; 008import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; 009import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; 010import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; 011import org.hl7.fhir.dstu2.model.ValueSet; 012import org.hl7.fhir.dstu3.model.CodeSystem; 013import org.hl7.fhir.dstu3.model.CodeSystem.CodeSystemContentMode; 014import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent; 015import org.hl7.fhir.dstu3.terminologies.CodeSystemUtilities; 016import org.hl7.fhir.exceptions.FHIRException; 017 018import java.util.List; 019 020public class ValueSet10_30 { 021 022 public static org.hl7.fhir.dstu2.model.ValueSet.ConceptReferenceComponent convertConceptReferenceComponent(org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceComponent src) throws FHIRException { 023 if (src == null || src.isEmpty()) 024 return null; 025 org.hl7.fhir.dstu2.model.ValueSet.ConceptReferenceComponent tgt = new org.hl7.fhir.dstu2.model.ValueSet.ConceptReferenceComponent(); 026 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 027 if (src.hasCodeElement()) 028 tgt.setCodeElement(Code10_30.convertCode(src.getCodeElement())); 029 if (src.hasDisplayElement()) 030 tgt.setDisplayElement(String10_30.convertString(src.getDisplayElement())); 031 for (org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceDesignationComponent t : src.getDesignation()) 032 tgt.addDesignation(convertConceptReferenceDesignationComponent(t)); 033 return tgt; 034 } 035 036 public static org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceComponent convertConceptReferenceComponent(org.hl7.fhir.dstu2.model.ValueSet.ConceptReferenceComponent src) throws FHIRException { 037 if (src == null || src.isEmpty()) 038 return null; 039 org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceComponent tgt = new org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceComponent(); 040 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 041 if (src.hasCodeElement()) 042 tgt.setCodeElement(Code10_30.convertCode(src.getCodeElement())); 043 if (src.hasDisplayElement()) 044 tgt.setDisplayElement(String10_30.convertString(src.getDisplayElement())); 045 for (org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionDesignationComponent t : src.getDesignation()) 046 tgt.addDesignation(convertConceptReferenceDesignationComponent(t)); 047 return tgt; 048 } 049 050 public static org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceDesignationComponent convertConceptReferenceDesignationComponent(org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionDesignationComponent src) throws FHIRException { 051 if (src == null || src.isEmpty()) 052 return null; 053 org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceDesignationComponent tgt = new org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceDesignationComponent(); 054 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 055 if (src.hasLanguageElement()) 056 tgt.setLanguageElement(Code10_30.convertCode(src.getLanguageElement())); 057 if (src.hasUse()) 058 tgt.setUse(Coding10_30.convertCoding(src.getUse())); 059 if (src.hasValueElement()) 060 tgt.setValueElement(String10_30.convertString(src.getValueElement())); 061 return tgt; 062 } 063 064 public static org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionDesignationComponent convertConceptReferenceDesignationComponent(org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceDesignationComponent src) throws FHIRException { 065 if (src == null || src.isEmpty()) 066 return null; 067 org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionDesignationComponent tgt = new org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionDesignationComponent(); 068 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 069 if (src.hasLanguageElement()) 070 tgt.setLanguageElement(Code10_30.convertCode(src.getLanguageElement())); 071 if (src.hasUse()) 072 tgt.setUse(Coding10_30.convertCoding(src.getUse())); 073 if (src.hasValueElement()) 074 tgt.setValueElement(String10_30.convertString(src.getValueElement())); 075 return tgt; 076 } 077 078 public static org.hl7.fhir.dstu2.model.ValueSet.ConceptSetComponent convertConceptSetComponent(org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent src) throws FHIRException { 079 if (src == null || src.isEmpty()) 080 return null; 081 org.hl7.fhir.dstu2.model.ValueSet.ConceptSetComponent tgt = new org.hl7.fhir.dstu2.model.ValueSet.ConceptSetComponent(); 082 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 083 if (src.hasSystemElement()) 084 tgt.setSystemElement(Uri10_30.convertUri(src.getSystemElement())); 085 if (src.hasVersionElement()) 086 tgt.setVersionElement(String10_30.convertString(src.getVersionElement())); 087 for (org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceComponent t : src.getConcept()) 088 tgt.addConcept(convertConceptReferenceComponent(t)); 089 for (org.hl7.fhir.dstu3.model.ValueSet.ConceptSetFilterComponent t : src.getFilter()) 090 tgt.addFilter(convertConceptSetFilterComponent(t)); 091 return tgt; 092 } 093 094 public static org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent convertConceptSetComponent(org.hl7.fhir.dstu2.model.ValueSet.ConceptSetComponent src) throws FHIRException { 095 if (src == null || src.isEmpty()) 096 return null; 097 org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent tgt = new org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent(); 098 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 099 if (src.hasSystemElement()) 100 tgt.setSystemElement(Uri10_30.convertUri(src.getSystemElement())); 101 if (src.hasVersionElement()) 102 tgt.setVersionElement(String10_30.convertString(src.getVersionElement())); 103 for (org.hl7.fhir.dstu2.model.ValueSet.ConceptReferenceComponent t : src.getConcept()) 104 tgt.addConcept(convertConceptReferenceComponent(t)); 105 for (org.hl7.fhir.dstu2.model.ValueSet.ConceptSetFilterComponent t : src.getFilter()) 106 tgt.addFilter(convertConceptSetFilterComponent(t)); 107 return tgt; 108 } 109 110 public static org.hl7.fhir.dstu3.model.ValueSet.ConceptSetFilterComponent convertConceptSetFilterComponent(org.hl7.fhir.dstu2.model.ValueSet.ConceptSetFilterComponent src) throws FHIRException { 111 if (src == null || src.isEmpty()) 112 return null; 113 org.hl7.fhir.dstu3.model.ValueSet.ConceptSetFilterComponent tgt = new org.hl7.fhir.dstu3.model.ValueSet.ConceptSetFilterComponent(); 114 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 115 if (src.hasPropertyElement()) 116 tgt.setPropertyElement(Code10_30.convertCode(src.getPropertyElement())); 117 if (src.hasOp()) 118 tgt.setOpElement(convertFilterOperator(src.getOpElement())); 119 if (src.hasValueElement()) 120 tgt.setValueElement(Code10_30.convertCode(src.getValueElement())); 121 return tgt; 122 } 123 124 public static org.hl7.fhir.dstu2.model.ValueSet.ConceptSetFilterComponent convertConceptSetFilterComponent(org.hl7.fhir.dstu3.model.ValueSet.ConceptSetFilterComponent src) throws FHIRException { 125 if (src == null || src.isEmpty()) 126 return null; 127 org.hl7.fhir.dstu2.model.ValueSet.ConceptSetFilterComponent tgt = new org.hl7.fhir.dstu2.model.ValueSet.ConceptSetFilterComponent(); 128 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 129 if (src.hasPropertyElement()) 130 tgt.setPropertyElement(Code10_30.convertCode(src.getPropertyElement())); 131 if (src.hasOp()) 132 tgt.setOpElement(convertFilterOperator(src.getOpElement())); 133 if (src.hasValueElement()) 134 tgt.setValueElement(Code10_30.convertCode(src.getValueElement())); 135 return tgt; 136 } 137 138 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ValueSet.FilterOperator> convertFilterOperator(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ValueSet.FilterOperator> src) throws FHIRException { 139 if (src == null || src.isEmpty()) 140 return null; 141 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ValueSet.FilterOperator> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.ValueSet.FilterOperatorEnumFactory()); 142 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 143 switch (src.getValue()) { 144 case EQUAL: 145 tgt.setValue(org.hl7.fhir.dstu3.model.ValueSet.FilterOperator.EQUAL); 146 break; 147 case ISA: 148 tgt.setValue(org.hl7.fhir.dstu3.model.ValueSet.FilterOperator.ISA); 149 break; 150 case ISNOTA: 151 tgt.setValue(org.hl7.fhir.dstu3.model.ValueSet.FilterOperator.ISNOTA); 152 break; 153 case REGEX: 154 tgt.setValue(org.hl7.fhir.dstu3.model.ValueSet.FilterOperator.REGEX); 155 break; 156 case IN: 157 tgt.setValue(org.hl7.fhir.dstu3.model.ValueSet.FilterOperator.IN); 158 break; 159 case NOTIN: 160 tgt.setValue(org.hl7.fhir.dstu3.model.ValueSet.FilterOperator.NOTIN); 161 break; 162 default: 163 tgt.setValue(org.hl7.fhir.dstu3.model.ValueSet.FilterOperator.NULL); 164 break; 165 } 166 return tgt; 167 } 168 169 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ValueSet.FilterOperator> convertFilterOperator(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ValueSet.FilterOperator> src) throws FHIRException { 170 if (src == null || src.isEmpty()) 171 return null; 172 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ValueSet.FilterOperator> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.ValueSet.FilterOperatorEnumFactory()); 173 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 174 switch (src.getValue()) { 175 case EQUAL: 176 tgt.setValue(org.hl7.fhir.dstu2.model.ValueSet.FilterOperator.EQUAL); 177 break; 178 case ISA: 179 tgt.setValue(org.hl7.fhir.dstu2.model.ValueSet.FilterOperator.ISA); 180 break; 181 case ISNOTA: 182 tgt.setValue(org.hl7.fhir.dstu2.model.ValueSet.FilterOperator.ISNOTA); 183 break; 184 case REGEX: 185 tgt.setValue(org.hl7.fhir.dstu2.model.ValueSet.FilterOperator.REGEX); 186 break; 187 case IN: 188 tgt.setValue(org.hl7.fhir.dstu2.model.ValueSet.FilterOperator.IN); 189 break; 190 case NOTIN: 191 tgt.setValue(org.hl7.fhir.dstu2.model.ValueSet.FilterOperator.NOTIN); 192 break; 193 default: 194 tgt.setValue(org.hl7.fhir.dstu2.model.ValueSet.FilterOperator.NULL); 195 break; 196 } 197 return tgt; 198 } 199 200 public static org.hl7.fhir.dstu3.model.ValueSet convertValueSet(org.hl7.fhir.dstu2.model.ValueSet src, BaseAdvisor_10_30 advisor) throws FHIRException { 201 if (src == null || src.isEmpty()) 202 return null; 203 org.hl7.fhir.dstu3.model.ValueSet tgt = new org.hl7.fhir.dstu3.model.ValueSet(); 204 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 205 if (src.hasUrlElement()) 206 tgt.setUrlElement(Uri10_30.convertUri(src.getUrlElement())); 207 if (src.hasIdentifier()) 208 tgt.addIdentifier(Identifier10_30.convertIdentifier(src.getIdentifier())); 209 if (src.hasVersionElement()) 210 tgt.setVersionElement(String10_30.convertString(src.getVersionElement())); 211 if (src.hasNameElement()) 212 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 213 if (src.hasStatus()) 214 tgt.setStatusElement(Enumerations10_30.convertConformanceResourceStatus(src.getStatusElement())); 215 if (src.hasExperimental()) 216 tgt.setExperimentalElement(Boolean10_30.convertBoolean(src.getExperimentalElement())); 217 if (src.hasPublisherElement()) 218 tgt.setPublisherElement(String10_30.convertString(src.getPublisherElement())); 219 for (org.hl7.fhir.dstu2.model.ValueSet.ValueSetContactComponent t : src.getContact()) 220 tgt.addContact(convertValueSetContactComponent(t)); 221 if (src.hasDate()) 222 tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement())); 223 if (src.hasDescription()) 224 tgt.setDescription(src.getDescription()); 225 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getUseContext()) 226 if (VersionConvertor_10_30.isJurisdiction(t)) 227 tgt.addJurisdiction(CodeableConcept10_30.convertCodeableConcept(t)); 228 else 229 tgt.addUseContext(CodeableConcept10_30.convertCodeableConceptToUsageContext(t)); 230 if (src.hasImmutableElement()) 231 tgt.setImmutableElement(Boolean10_30.convertBoolean(src.getImmutableElement())); 232 if (src.hasRequirements()) 233 tgt.setPurpose(src.getRequirements()); 234 if (src.hasCopyright()) 235 tgt.setCopyright(src.getCopyright()); 236 if (src.hasExtensibleElement()) 237 tgt.setExtensibleElement(Boolean10_30.convertBoolean(src.getExtensibleElement())); 238 if (src.hasCompose()) { 239 if (src.hasCompose()) 240 tgt.setCompose(convertValueSetComposeComponent(src.getCompose())); 241 tgt.getCompose().setLockedDate(src.getLockedDate()); 242 } 243 //TODO 244 if (src.hasCodeSystem() && advisor != null) { 245 org.hl7.fhir.dstu3.model.CodeSystem tgtcs = new org.hl7.fhir.dstu3.model.CodeSystem(); 246 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgtcs); 247 tgtcs.setUrl(src.getCodeSystem().getSystem()); 248 tgtcs.setIdentifier(Identifier10_30.convertIdentifier(src.getIdentifier())); 249 tgtcs.setVersion(src.getCodeSystem().getVersion()); 250 tgtcs.setName(src.getName() + " Code System"); 251 tgtcs.setStatusElement(Enumerations10_30.convertConformanceResourceStatus(src.getStatusElement())); 252 if (src.hasExperimental()) 253 tgtcs.setExperimental(src.getExperimental()); 254 tgtcs.setPublisher(src.getPublisher()); 255 for (org.hl7.fhir.dstu2.model.ValueSet.ValueSetContactComponent t : src.getContact()) 256 tgtcs.addContact(convertValueSetContactComponent(t)); 257 if (src.hasDate()) 258 tgtcs.setDate(src.getDate()); 259 tgtcs.setDescription(src.getDescription()); 260 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getUseContext()) 261 if (VersionConvertor_10_30.isJurisdiction(t)) 262 tgtcs.addJurisdiction(CodeableConcept10_30.convertCodeableConcept(t)); 263 else 264 tgtcs.addUseContext(CodeableConcept10_30.convertCodeableConceptToUsageContext(t)); 265 tgtcs.setPurpose(src.getRequirements()); 266 tgtcs.setCopyright(src.getCopyright()); 267 tgtcs.setContent(CodeSystemContentMode.COMPLETE); 268 tgtcs.setCaseSensitive(src.getCodeSystem().getCaseSensitive()); 269 for (org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionComponent cs : src.getCodeSystem().getConcept()) 270 processConcept(tgtcs.getConcept(), cs, tgtcs); 271 advisor.handleCodeSystem(tgtcs, tgt); 272 tgt.setUserData("r2-cs", tgtcs); 273 tgt.getCompose().addInclude().setSystem(tgtcs.getUrl()); 274 } 275 if (src.hasExpansion()) 276 tgt.setExpansion(convertValueSetExpansionComponent(src.getExpansion())); 277 return tgt; 278 } 279 280 public static org.hl7.fhir.dstu2.model.ValueSet convertValueSet(org.hl7.fhir.dstu3.model.ValueSet src, BaseAdvisor_10_30 advisor) throws FHIRException { 281 if (src == null || src.isEmpty()) 282 return null; 283 org.hl7.fhir.dstu2.model.ValueSet tgt = new org.hl7.fhir.dstu2.model.ValueSet(); 284 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 285 if (src.hasUrlElement()) 286 tgt.setUrlElement(Uri10_30.convertUri(src.getUrlElement())); 287 for (org.hl7.fhir.dstu3.model.Identifier i : src.getIdentifier()) 288 tgt.setIdentifier(Identifier10_30.convertIdentifier(i)); 289 if (src.hasVersionElement()) 290 tgt.setVersionElement(String10_30.convertString(src.getVersionElement())); 291 if (src.hasNameElement()) 292 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 293 if (src.hasStatus()) 294 tgt.setStatusElement(Enumerations10_30.convertConformanceResourceStatus(src.getStatusElement())); 295 if (src.hasExperimental()) 296 tgt.setExperimentalElement(Boolean10_30.convertBoolean(src.getExperimentalElement())); 297 if (src.hasPublisherElement()) 298 tgt.setPublisherElement(String10_30.convertString(src.getPublisherElement())); 299 for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact()) 300 tgt.addContact(convertValueSetContactComponent(t)); 301 if (src.hasDate()) 302 tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement())); 303 tgt.setLockedDate(src.getCompose().getLockedDate()); 304 if (src.hasDescription()) 305 tgt.setDescription(src.getDescription()); 306 for (org.hl7.fhir.dstu3.model.UsageContext t : src.getUseContext()) 307 if (t.hasValueCodeableConcept()) 308 tgt.addUseContext(CodeableConcept10_30.convertCodeableConcept(t.getValueCodeableConcept())); 309 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getJurisdiction()) 310 tgt.addUseContext(CodeableConcept10_30.convertCodeableConcept(t)); 311 if (src.hasImmutableElement()) 312 tgt.setImmutableElement(Boolean10_30.convertBoolean(src.getImmutableElement())); 313 if (src.hasPurpose()) 314 tgt.setRequirements(src.getPurpose()); 315 if (src.hasCopyright()) 316 tgt.setCopyright(src.getCopyright()); 317 if (src.hasExtensibleElement()) 318 tgt.setExtensibleElement(Boolean10_30.convertBoolean(src.getExtensibleElement())); 319 org.hl7.fhir.dstu3.model.CodeSystem srcCS = (CodeSystem) src.getUserData("r2-cs"); 320 if (srcCS == null) 321 srcCS = advisor.getCodeSystem(src); 322 if (srcCS != null) { 323 tgt.getCodeSystem().setSystem(srcCS.getUrl()); 324 tgt.getCodeSystem().setVersion(srcCS.getVersion()); 325 tgt.getCodeSystem().setCaseSensitive(srcCS.getCaseSensitive()); 326 for (org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent cs : srcCS.getConcept()) 327 processConcept(tgt.getCodeSystem().getConcept(), cs, srcCS); 328 } 329 if (src.hasCompose()) 330 tgt.setCompose(convertValueSetComposeComponent(src.getCompose(), srcCS == null ? null : srcCS.getUrl())); 331 if (src.hasExpansion()) 332 tgt.setExpansion(convertValueSetExpansionComponent(src.getExpansion())); 333 return tgt; 334 } 335 336 public static org.hl7.fhir.dstu3.model.ValueSet convertValueSet(org.hl7.fhir.dstu2.model.ValueSet src) throws FHIRException { 337 return convertValueSet(src, null); 338 } 339 340 public static org.hl7.fhir.dstu2.model.ValueSet convertValueSet(org.hl7.fhir.dstu3.model.ValueSet src) throws FHIRException { 341 return convertValueSet(src, null); 342 } 343 344 public static org.hl7.fhir.dstu3.model.ValueSet.ValueSetComposeComponent convertValueSetComposeComponent(org.hl7.fhir.dstu2.model.ValueSet.ValueSetComposeComponent src) throws FHIRException { 345 if (src == null || src.isEmpty()) 346 return null; 347 org.hl7.fhir.dstu3.model.ValueSet.ValueSetComposeComponent tgt = new org.hl7.fhir.dstu3.model.ValueSet.ValueSetComposeComponent(); 348 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 349 for (org.hl7.fhir.dstu2.model.UriType t : src.getImport()) tgt.addInclude().addValueSet(t.getValue()); 350 for (org.hl7.fhir.dstu2.model.ValueSet.ConceptSetComponent t : src.getInclude()) 351 tgt.addInclude(convertConceptSetComponent(t)); 352 for (org.hl7.fhir.dstu2.model.ValueSet.ConceptSetComponent t : src.getExclude()) 353 tgt.addExclude(convertConceptSetComponent(t)); 354 return tgt; 355 } 356 357 public static org.hl7.fhir.dstu2.model.ValueSet.ValueSetComposeComponent convertValueSetComposeComponent(org.hl7.fhir.dstu3.model.ValueSet.ValueSetComposeComponent src, String noSystem) throws FHIRException { 358 if (src == null || src.isEmpty()) 359 return null; 360 org.hl7.fhir.dstu2.model.ValueSet.ValueSetComposeComponent tgt = new org.hl7.fhir.dstu2.model.ValueSet.ValueSetComposeComponent(); 361 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 362 for (org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent t : src.getInclude()) { 363 for (org.hl7.fhir.dstu3.model.UriType ti : t.getValueSet()) tgt.addImport(ti.getValue()); 364 if (noSystem == null || !t.getSystem().equals(noSystem)) 365 tgt.addInclude(convertConceptSetComponent(t)); 366 } 367 for (org.hl7.fhir.dstu3.model.ValueSet.ConceptSetComponent t : src.getExclude()) 368 tgt.addExclude(convertConceptSetComponent(t)); 369 return tgt; 370 } 371 372 public static org.hl7.fhir.dstu2.model.ValueSet.ValueSetContactComponent convertValueSetContactComponent(org.hl7.fhir.dstu3.model.ContactDetail src) throws FHIRException { 373 if (src == null || src.isEmpty()) 374 return null; 375 org.hl7.fhir.dstu2.model.ValueSet.ValueSetContactComponent tgt = new org.hl7.fhir.dstu2.model.ValueSet.ValueSetContactComponent(); 376 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 377 if (src.hasNameElement()) 378 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 379 for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom()) 380 tgt.addTelecom(ContactPoint10_30.convertContactPoint(t)); 381 return tgt; 382 } 383 384 public static org.hl7.fhir.dstu3.model.ContactDetail convertValueSetContactComponent(org.hl7.fhir.dstu2.model.ValueSet.ValueSetContactComponent src) throws FHIRException { 385 if (src == null || src.isEmpty()) 386 return null; 387 org.hl7.fhir.dstu3.model.ContactDetail tgt = new org.hl7.fhir.dstu3.model.ContactDetail(); 388 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 389 if (src.hasNameElement()) 390 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 391 for (org.hl7.fhir.dstu2.model.ContactPoint t : src.getTelecom()) 392 tgt.addTelecom(ContactPoint10_30.convertContactPoint(t)); 393 return tgt; 394 } 395 396 public static org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent convertValueSetExpansionComponent(org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionComponent src) throws FHIRException { 397 if (src == null || src.isEmpty()) 398 return null; 399 org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent tgt = new org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent(); 400 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 401 if (src.hasIdentifierElement()) 402 tgt.setIdentifierElement(Uri10_30.convertUri(src.getIdentifierElement())); 403 if (src.hasTimestampElement()) 404 tgt.setTimestampElement(DateTime10_30.convertDateTime(src.getTimestampElement())); 405 if (src.hasTotalElement()) 406 tgt.setTotalElement(Integer10_30.convertInteger(src.getTotalElement())); 407 if (src.hasOffsetElement()) 408 tgt.setOffsetElement(Integer10_30.convertInteger(src.getOffsetElement())); 409 for (org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionParameterComponent t : src.getParameter()) 410 tgt.addParameter(convertValueSetExpansionParameterComponent(t)); 411 for (org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionContainsComponent t : src.getContains()) 412 tgt.addContains(convertValueSetExpansionContainsComponent(t)); 413 return tgt; 414 } 415 416 public static org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionComponent convertValueSetExpansionComponent(org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionComponent src) throws FHIRException { 417 if (src == null || src.isEmpty()) 418 return null; 419 org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionComponent tgt = new org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionComponent(); 420 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 421 if (src.hasIdentifierElement()) 422 tgt.setIdentifierElement(Uri10_30.convertUri(src.getIdentifierElement())); 423 if (src.hasTimestampElement()) 424 tgt.setTimestampElement(DateTime10_30.convertDateTime(src.getTimestampElement())); 425 if (src.hasTotalElement()) 426 tgt.setTotalElement(Integer10_30.convertInteger(src.getTotalElement())); 427 if (src.hasOffsetElement()) 428 tgt.setOffsetElement(Integer10_30.convertInteger(src.getOffsetElement())); 429 for (org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionParameterComponent t : src.getParameter()) 430 tgt.addParameter(convertValueSetExpansionParameterComponent(t)); 431 for (org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionContainsComponent t : src.getContains()) 432 tgt.addContains(convertValueSetExpansionContainsComponent(t)); 433 return tgt; 434 } 435 436 public static org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionContainsComponent convertValueSetExpansionContainsComponent(org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionContainsComponent src) throws FHIRException { 437 if (src == null || src.isEmpty()) 438 return null; 439 org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionContainsComponent tgt = new org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionContainsComponent(); 440 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 441 if (src.hasSystemElement()) 442 tgt.setSystemElement(Uri10_30.convertUri(src.getSystemElement())); 443 if (src.hasAbstractElement()) 444 tgt.setAbstractElement(Boolean10_30.convertBoolean(src.getAbstractElement())); 445 if (src.hasVersionElement()) 446 tgt.setVersionElement(String10_30.convertString(src.getVersionElement())); 447 if (src.hasCodeElement()) 448 tgt.setCodeElement(Code10_30.convertCode(src.getCodeElement())); 449 if (src.hasDisplayElement()) 450 tgt.setDisplayElement(String10_30.convertString(src.getDisplayElement())); 451 for (org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionContainsComponent t : src.getContains()) 452 tgt.addContains(convertValueSetExpansionContainsComponent(t)); 453 return tgt; 454 } 455 456 public static org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionContainsComponent convertValueSetExpansionContainsComponent(org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionContainsComponent src) throws FHIRException { 457 if (src == null || src.isEmpty()) 458 return null; 459 org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionContainsComponent tgt = new org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionContainsComponent(); 460 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 461 if (src.hasSystemElement()) 462 tgt.setSystemElement(Uri10_30.convertUri(src.getSystemElement())); 463 if (src.hasAbstractElement()) 464 tgt.setAbstractElement(Boolean10_30.convertBoolean(src.getAbstractElement())); 465 if (src.hasVersionElement()) 466 tgt.setVersionElement(String10_30.convertString(src.getVersionElement())); 467 if (src.hasCodeElement()) 468 tgt.setCodeElement(Code10_30.convertCode(src.getCodeElement())); 469 if (src.hasDisplayElement()) 470 tgt.setDisplayElement(String10_30.convertString(src.getDisplayElement())); 471 for (org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionContainsComponent t : src.getContains()) 472 tgt.addContains(convertValueSetExpansionContainsComponent(t)); 473 return tgt; 474 } 475 476 public static org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionParameterComponent convertValueSetExpansionParameterComponent(org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionParameterComponent src) throws FHIRException { 477 if (src == null || src.isEmpty()) 478 return null; 479 org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionParameterComponent tgt = new org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionParameterComponent(); 480 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 481 if (src.hasNameElement()) 482 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 483 if (src.hasValue()) 484 tgt.setValue(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getValue())); 485 return tgt; 486 } 487 488 public static org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionParameterComponent convertValueSetExpansionParameterComponent(org.hl7.fhir.dstu2.model.ValueSet.ValueSetExpansionParameterComponent src) throws FHIRException { 489 if (src == null || src.isEmpty()) 490 return null; 491 org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionParameterComponent tgt = new org.hl7.fhir.dstu3.model.ValueSet.ValueSetExpansionParameterComponent(); 492 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 493 if (src.hasNameElement()) 494 tgt.setNameElement(String10_30.convertString(src.getNameElement())); 495 if (src.hasValue()) 496 tgt.setValue(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getValue())); 497 return tgt; 498 } 499 500 static public void processConcept(List<ConceptDefinitionComponent> concepts, org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionComponent cs, CodeSystem tgtcs) throws FHIRException { 501 org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent ct = new org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent(); 502 concepts.add(ct); 503 ct.setCode(cs.getCode()); 504 ct.setDisplay(cs.getDisplay()); 505 ct.setDefinition(cs.getDefinition()); 506 if (cs.getAbstract()) 507 CodeSystemUtilities.setNotSelectable(tgtcs, ct); 508 for (org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionDesignationComponent csd : cs.getDesignation()) { 509 org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionDesignationComponent cst = new org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionDesignationComponent(); 510 cst.setLanguage(csd.getLanguage()); 511 cst.setUse(Coding10_30.convertCoding(csd.getUse())); 512 cst.setValue(csd.getValue()); 513 } 514 for (org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionComponent csc : cs.getConcept()) 515 processConcept(ct.getConcept(), csc, tgtcs); 516 } 517 518 static public void processConcept(List<ValueSet.ConceptDefinitionComponent> concepts, ConceptDefinitionComponent cs, CodeSystem srcCS) throws FHIRException { 519 org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionComponent ct = new org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionComponent(); 520 concepts.add(ct); 521 ct.setCode(cs.getCode()); 522 ct.setDisplay(cs.getDisplay()); 523 ct.setDefinition(cs.getDefinition()); 524 if (CodeSystemUtilities.isNotSelectable(srcCS, cs)) 525 ct.setAbstract(true); 526 for (org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionDesignationComponent csd : cs.getDesignation()) { 527 org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionDesignationComponent cst = new org.hl7.fhir.dstu2.model.ValueSet.ConceptDefinitionDesignationComponent(); 528 cst.setLanguage(csd.getLanguage()); 529 cst.setUse(Coding10_30.convertCoding(csd.getUse())); 530 cst.setValue(csd.getValue()); 531 } 532 for (ConceptDefinitionComponent csc : cs.getConcept()) processConcept(ct.getConcept(), csc, srcCS); 533 } 534 535 public static ValueSet.ValueSetCodeSystemComponent convertCodeSystem(CodeSystem src) throws FHIRException { 536 if (src == null || src.isEmpty()) return null; 537 ValueSet.ValueSetCodeSystemComponent tgt = new ValueSet.ValueSetCodeSystemComponent(); 538 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 539 if (src.hasUrlElement()) tgt.setSystemElement(Uri10_30.convertUri(src.getUrlElement())); 540 if (src.hasVersionElement()) tgt.setVersionElement(String10_30.convertString(src.getVersionElement())); 541 if (src.hasCaseSensitiveElement()) 542 tgt.setCaseSensitiveElement(Boolean10_30.convertBoolean(src.getCaseSensitiveElement())); 543 for (ConceptDefinitionComponent cc : src.getConcept()) tgt.addConcept(convertCodeSystemConcept(src, cc)); 544 return tgt; 545 } 546 547 public static ValueSet.ConceptDefinitionComponent convertCodeSystemConcept(CodeSystem cs, ConceptDefinitionComponent src) throws FHIRException { 548 if (src == null || src.isEmpty()) return null; 549 ValueSet.ConceptDefinitionComponent tgt = new ValueSet.ConceptDefinitionComponent(); 550 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 551 tgt.setAbstract(CodeSystemUtilities.isNotSelectable(cs, src)); 552 tgt.setCode(src.getCode()); 553 tgt.setDefinition(src.getDefinition()); 554 tgt.setDisplay(src.getDisplay()); 555 for (ConceptDefinitionComponent cc : src.getConcept()) tgt.addConcept(convertCodeSystemConcept(cs, cc)); 556 for (CodeSystem.ConceptDefinitionDesignationComponent cc : src.getDesignation()) 557 tgt.addDesignation(convertCodeSystemDesignation(cc)); 558 return tgt; 559 } 560 561 public static ValueSet.ConceptDefinitionDesignationComponent convertCodeSystemDesignation(CodeSystem.ConceptDefinitionDesignationComponent src) throws FHIRException { 562 if (src == null || src.isEmpty()) return null; 563 ValueSet.ConceptDefinitionDesignationComponent tgt = new ValueSet.ConceptDefinitionDesignationComponent(); 564 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 565 tgt.setUse(Coding10_30.convertCoding(src.getUse())); 566 tgt.setLanguage(src.getLanguage()); 567 tgt.setValue(src.getValue()); 568 return tgt; 569 } 570}