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.VersionConvertor_14_30; 005import org.hl7.fhir.convertors.conv14_30.datatypes14_30.Reference14_30; 006import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; 007import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; 008import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; 009import org.hl7.fhir.dstu3.model.Enumerations.SearchParamType; 010import org.hl7.fhir.exceptions.FHIRException; 011import org.hl7.fhir.utilities.Utilities; 012 013public class OperationDefinition14_30 { 014 015 public static org.hl7.fhir.dstu3.model.OperationDefinition convertOperationDefinition(org.hl7.fhir.dstu2016may.model.OperationDefinition src) throws FHIRException { 016 if (src == null || src.isEmpty()) 017 return null; 018 org.hl7.fhir.dstu3.model.OperationDefinition tgt = new org.hl7.fhir.dstu3.model.OperationDefinition(); 019 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyDomainResource(src, tgt); 020 if (src.hasUrl()) 021 tgt.setUrlElement(Uri14_30.convertUri(src.getUrlElement())); 022 if (src.hasVersion()) 023 tgt.setVersionElement(String14_30.convertString(src.getVersionElement())); 024 if (src.hasNameElement()) 025 tgt.setNameElement(String14_30.convertString(src.getNameElement())); 026 if (src.hasStatus()) 027 tgt.setStatusElement(Enumerations14_30.convertConformanceResourceStatus(src.getStatusElement())); 028 if (src.hasKind()) 029 tgt.setKindElement(convertOperationKind(src.getKindElement())); 030 if (src.hasExperimental()) 031 tgt.setExperimentalElement(Boolean14_30.convertBoolean(src.getExperimentalElement())); 032 if (src.hasDate()) 033 tgt.setDateElement(DateTime14_30.convertDateTime(src.getDateElement())); 034 if (src.hasPublisher()) 035 tgt.setPublisherElement(String14_30.convertString(src.getPublisherElement())); 036 for (org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionContactComponent t : src.getContact()) 037 tgt.addContact(convertOperationDefinitionContactComponent(t)); 038 if (src.hasDescription()) 039 tgt.setDescription(src.getDescription()); 040 for (org.hl7.fhir.dstu2016may.model.CodeableConcept t : src.getUseContext()) 041 if (VersionConvertor_14_30.isJurisdiction(t)) 042 tgt.addJurisdiction(CodeableConcept14_30.convertCodeableConcept(t)); 043 else 044 tgt.addUseContext(CodeableConcept14_30.convertCodeableConceptToUsageContext(t)); 045 if (src.hasRequirements()) 046 tgt.setPurpose(src.getRequirements()); 047 if (src.hasIdempotent()) 048 tgt.setIdempotentElement(Boolean14_30.convertBoolean(src.getIdempotentElement())); 049 if (src.hasCodeElement()) 050 tgt.setCodeElement(Code14_30.convertCode(src.getCodeElement())); 051 if (src.hasComment()) 052 tgt.setCommentElement(String14_30.convertString(src.getCommentElement())); 053 if (src.hasBase()) 054 tgt.setBase(Reference14_30.convertReference(src.getBase())); 055 if (src.hasSystemElement()) 056 tgt.setSystemElement(Boolean14_30.convertBoolean(src.getSystemElement())); 057 for (org.hl7.fhir.dstu2016may.model.CodeType t : src.getType()) tgt.addResource(t.getValue()); 058 tgt.setType(tgt.hasResource()); 059 if (src.hasInstanceElement()) 060 tgt.setInstanceElement(Boolean14_30.convertBoolean(src.getInstanceElement())); 061 for (org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getParameter()) 062 tgt.addParameter(convertOperationDefinitionParameterComponent(t)); 063 return tgt; 064 } 065 066 public static org.hl7.fhir.dstu2016may.model.OperationDefinition convertOperationDefinition(org.hl7.fhir.dstu3.model.OperationDefinition src) throws FHIRException { 067 if (src == null || src.isEmpty()) 068 return null; 069 org.hl7.fhir.dstu2016may.model.OperationDefinition tgt = new org.hl7.fhir.dstu2016may.model.OperationDefinition(); 070 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyDomainResource(src, tgt); 071 if (src.hasUrl()) 072 tgt.setUrlElement(Uri14_30.convertUri(src.getUrlElement())); 073 if (src.hasVersion()) 074 tgt.setVersionElement(String14_30.convertString(src.getVersionElement())); 075 if (src.hasNameElement()) 076 tgt.setNameElement(String14_30.convertString(src.getNameElement())); 077 if (src.hasStatus()) 078 tgt.setStatusElement(Enumerations14_30.convertConformanceResourceStatus(src.getStatusElement())); 079 if (src.hasKind()) 080 tgt.setKindElement(convertOperationKind(src.getKindElement())); 081 if (src.hasExperimental()) 082 tgt.setExperimentalElement(Boolean14_30.convertBoolean(src.getExperimentalElement())); 083 if (src.hasDate()) 084 tgt.setDateElement(DateTime14_30.convertDateTime(src.getDateElement())); 085 if (src.hasPublisher()) 086 tgt.setPublisherElement(String14_30.convertString(src.getPublisherElement())); 087 for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact()) 088 tgt.addContact(convertOperationDefinitionContactComponent(t)); 089 if (src.hasDescription()) 090 tgt.setDescription(src.getDescription()); 091 for (org.hl7.fhir.dstu3.model.UsageContext t : src.getUseContext()) 092 if (t.hasValueCodeableConcept()) 093 tgt.addUseContext(CodeableConcept14_30.convertCodeableConcept(t.getValueCodeableConcept())); 094 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getJurisdiction()) 095 tgt.addUseContext(CodeableConcept14_30.convertCodeableConcept(t)); 096 if (src.hasPurpose()) 097 tgt.setRequirements(src.getPurpose()); 098 if (src.hasIdempotent()) 099 tgt.setIdempotentElement(Boolean14_30.convertBoolean(src.getIdempotentElement())); 100 if (src.hasCodeElement()) 101 tgt.setCodeElement(Code14_30.convertCode(src.getCodeElement())); 102 if (src.hasComment()) 103 tgt.setCommentElement(String14_30.convertString(src.getCommentElement())); 104 if (src.hasBase()) 105 tgt.setBase(Reference14_30.convertReference(src.getBase())); 106 if (src.hasSystemElement()) 107 tgt.setSystemElement(Boolean14_30.convertBoolean(src.getSystemElement())); 108 if (src.getType()) 109 for (org.hl7.fhir.dstu3.model.CodeType t : src.getResource()) tgt.addType(t.getValue()); 110 if (src.hasInstanceElement()) 111 tgt.setInstanceElement(Boolean14_30.convertBoolean(src.getInstanceElement())); 112 for (org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getParameter()) 113 tgt.addParameter(convertOperationDefinitionParameterComponent(t)); 114 return tgt; 115 } 116 117 public static org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionContactComponent convertOperationDefinitionContactComponent(org.hl7.fhir.dstu3.model.ContactDetail src) throws FHIRException { 118 if (src == null || src.isEmpty()) 119 return null; 120 org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionContactComponent tgt = new org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionContactComponent(); 121 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 122 if (src.hasName()) 123 tgt.setNameElement(String14_30.convertString(src.getNameElement())); 124 for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom()) 125 tgt.addTelecom(ContactPoint14_30.convertContactPoint(t)); 126 return tgt; 127 } 128 129 public static org.hl7.fhir.dstu3.model.ContactDetail convertOperationDefinitionContactComponent(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionContactComponent src) throws FHIRException { 130 if (src == null || src.isEmpty()) 131 return null; 132 org.hl7.fhir.dstu3.model.ContactDetail tgt = new org.hl7.fhir.dstu3.model.ContactDetail(); 133 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 134 if (src.hasName()) 135 tgt.setNameElement(String14_30.convertString(src.getNameElement())); 136 for (org.hl7.fhir.dstu2016may.model.ContactPoint t : src.getTelecom()) 137 tgt.addTelecom(ContactPoint14_30.convertContactPoint(t)); 138 return tgt; 139 } 140 141 public static org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterBindingComponent convertOperationDefinitionParameterBindingComponent(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterBindingComponent src) throws FHIRException { 142 if (src == null || src.isEmpty()) 143 return null; 144 org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterBindingComponent tgt = new org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterBindingComponent(); 145 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 146 if (src.hasStrength()) 147 tgt.setStrengthElement(Enumerations14_30.convertBindingStrength(src.getStrengthElement())); 148 if (src.hasValueSet()) 149 tgt.setValueSet(ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().convertType(src.getValueSet())); 150 return tgt; 151 } 152 153 public static org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterBindingComponent convertOperationDefinitionParameterBindingComponent(org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterBindingComponent src) throws FHIRException { 154 if (src == null || src.isEmpty()) 155 return null; 156 org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterBindingComponent tgt = new org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterBindingComponent(); 157 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 158 if (src.hasStrength()) 159 tgt.setStrengthElement(Enumerations14_30.convertBindingStrength(src.getStrengthElement())); 160 if (src.hasValueSet()) 161 tgt.setValueSet(ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().convertType(src.getValueSet())); 162 return tgt; 163 } 164 165 public static org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent convertOperationDefinitionParameterComponent(org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterComponent src) throws FHIRException { 166 if (src == null || src.isEmpty()) 167 return null; 168 org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent tgt = new org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent(); 169 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 170 if (src.hasNameElement()) 171 tgt.setNameElement(Code14_30.convertCode(src.getNameElement())); 172 if (src.hasUse()) 173 tgt.setUseElement(convertOperationParameterUse(src.getUseElement())); 174 if (src.hasMinElement()) 175 tgt.setMinElement(Integer14_30.convertInteger(src.getMinElement())); 176 if (src.hasMaxElement()) 177 tgt.setMaxElement(String14_30.convertString(src.getMaxElement())); 178 if (src.hasDocumentation()) 179 tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement())); 180 if (src.hasType()) 181 tgt.setTypeElement(Code14_30.convertCode(src.getTypeElement())); 182 if (src.hasSearchType()) 183 tgt.setSearchTypeElement(Enumerations14_30.convertSearchParamType(src.getSearchTypeElement())); 184 if (src.hasProfile()) 185 tgt.setProfile(Reference14_30.convertReference(src.getProfile())); 186 if (src.hasBinding()) 187 tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding())); 188 for (org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart()) 189 tgt.addPart(convertOperationDefinitionParameterComponent(t)); 190 return tgt; 191 } 192 193 public static org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterComponent convertOperationDefinitionParameterComponent(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent src) throws FHIRException { 194 if (src == null || src.isEmpty()) 195 return null; 196 org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterComponent tgt = new org.hl7.fhir.dstu3.model.OperationDefinition.OperationDefinitionParameterComponent(); 197 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 198 if (src.hasNameElement()) 199 tgt.setNameElement(Code14_30.convertCode(src.getNameElement())); 200 if (src.hasUse()) 201 tgt.setUseElement(convertOperationParameterUse(src.getUseElement())); 202 if (src.hasMinElement()) 203 tgt.setMinElement(Integer14_30.convertInteger(src.getMinElement())); 204 if (src.hasMaxElement()) 205 tgt.setMaxElement(String14_30.convertString(src.getMaxElement())); 206 if (src.hasDocumentation()) 207 tgt.setDocumentationElement(String14_30.convertString(src.getDocumentationElement())); 208 if (Utilities.existsInList(src.getType(), "token", "reference", "composite", "number", "date", "quantity", "uri")) { 209 tgt.setType("string"); 210 if (src.hasType()) 211 tgt.setSearchType(SearchParamType.fromCode(src.getType())); 212 } else { 213 if (src.hasTypeElement()) 214 tgt.setTypeElement(Code14_30.convertCode(src.getTypeElement())); 215 } 216 if (src.hasSearchType()) 217 tgt.setSearchTypeElement(Enumerations14_30.convertSearchParamType(src.getSearchTypeElement())); 218 if (src.hasProfile()) 219 tgt.setProfile(Reference14_30.convertReference(src.getProfile())); 220 if (src.hasBinding()) 221 tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding())); 222 for (org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart()) 223 tgt.addPart(convertOperationDefinitionParameterComponent(t)); 224 return tgt; 225 } 226 227 static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationKind> convertOperationKind(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.OperationDefinition.OperationKind> src) throws FHIRException { 228 if (src == null || src.isEmpty()) 229 return null; 230 org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationKind> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationKindEnumFactory()); 231 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 232 switch (src.getValue()) { 233 case OPERATION: 234 tgt.setValue(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationKind.OPERATION); 235 break; 236 case QUERY: 237 tgt.setValue(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationKind.QUERY); 238 break; 239 default: 240 tgt.setValue(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationKind.NULL); 241 break; 242 } 243 return tgt; 244 } 245 246 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.OperationDefinition.OperationKind> convertOperationKind(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationKind> src) throws FHIRException { 247 if (src == null || src.isEmpty()) 248 return null; 249 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.OperationDefinition.OperationKind> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.OperationDefinition.OperationKindEnumFactory()); 250 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 251 switch (src.getValue()) { 252 case OPERATION: 253 tgt.setValue(org.hl7.fhir.dstu3.model.OperationDefinition.OperationKind.OPERATION); 254 break; 255 case QUERY: 256 tgt.setValue(org.hl7.fhir.dstu3.model.OperationDefinition.OperationKind.QUERY); 257 break; 258 default: 259 tgt.setValue(org.hl7.fhir.dstu3.model.OperationDefinition.OperationKind.NULL); 260 break; 261 } 262 return tgt; 263 } 264 265 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.OperationDefinition.OperationParameterUse> convertOperationParameterUse(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationParameterUse> src) throws FHIRException { 266 if (src == null || src.isEmpty()) 267 return null; 268 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.OperationDefinition.OperationParameterUse> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.OperationDefinition.OperationParameterUseEnumFactory()); 269 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 270 switch (src.getValue()) { 271 case IN: 272 tgt.setValue(org.hl7.fhir.dstu3.model.OperationDefinition.OperationParameterUse.IN); 273 break; 274 case OUT: 275 tgt.setValue(org.hl7.fhir.dstu3.model.OperationDefinition.OperationParameterUse.OUT); 276 break; 277 default: 278 tgt.setValue(org.hl7.fhir.dstu3.model.OperationDefinition.OperationParameterUse.NULL); 279 break; 280 } 281 return tgt; 282 } 283 284 static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationParameterUse> convertOperationParameterUse(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.OperationDefinition.OperationParameterUse> src) throws FHIRException { 285 if (src == null || src.isEmpty()) 286 return null; 287 org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationParameterUse> tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationParameterUseEnumFactory()); 288 ConversionContext14_30.INSTANCE.getVersionConvertor_14_30().copyElement(src, tgt); 289 switch (src.getValue()) { 290 case IN: 291 tgt.setValue(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationParameterUse.IN); 292 break; 293 case OUT: 294 tgt.setValue(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationParameterUse.OUT); 295 break; 296 default: 297 tgt.setValue(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationParameterUse.NULL); 298 break; 299 } 300 return tgt; 301 } 302}