
001package org.hl7.fhir.convertors.conv14_40.resources14_40; 002 003import org.hl7.fhir.convertors.VersionConvertorConstants; 004import org.hl7.fhir.convertors.context.ConversionContext14_40; 005import org.hl7.fhir.convertors.conv14_40.VersionConvertor_14_40; 006import org.hl7.fhir.convertors.conv14_40.datatypes14_40.Reference14_40; 007import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.CodeableConcept14_40; 008import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; 009import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; 010import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; 011import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; 012import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Integer14_40; 013import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; 014import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; 015import org.hl7.fhir.dstu2016may.model.Enumeration; 016import org.hl7.fhir.dstu2016may.model.OperationDefinition; 017import org.hl7.fhir.exceptions.FHIRException; 018import org.hl7.fhir.r4.model.Type; 019 020public class OperationDefinition14_40 { 021 022 public static org.hl7.fhir.r4.model.OperationDefinition convertOperationDefinition(org.hl7.fhir.dstu2016may.model.OperationDefinition src) throws FHIRException { 023 if (src == null || src.isEmpty()) 024 return null; 025 org.hl7.fhir.r4.model.OperationDefinition tgt = new org.hl7.fhir.r4.model.OperationDefinition(); 026 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyDomainResource(src, tgt); 027 if (src.hasUrl()) 028 tgt.setUrlElement(Uri14_40.convertUri(src.getUrlElement())); 029 if (src.hasVersion()) 030 tgt.setVersionElement(String14_40.convertString(src.getVersionElement())); 031 if (src.hasNameElement()) 032 tgt.setNameElement(String14_40.convertString(src.getNameElement())); 033 if (src.hasStatus()) 034 tgt.setStatusElement(Enumerations14_40.convertConformanceResourceStatus(src.getStatusElement())); 035 if (src.hasKind()) 036 tgt.setKindElement(convertOperationKind(src.getKindElement())); 037 if (src.hasExperimental()) 038 tgt.setExperimentalElement(Boolean14_40.convertBoolean(src.getExperimentalElement())); 039 if (src.hasDate()) 040 tgt.setDateElement(DateTime14_40.convertDateTime(src.getDateElement())); 041 if (src.hasPublisher()) 042 tgt.setPublisherElement(String14_40.convertString(src.getPublisherElement())); 043 for (org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionContactComponent t : src.getContact()) 044 tgt.addContact(convertOperationDefinitionContactComponent(t)); 045 if (src.hasDescription()) 046 tgt.setDescription(src.getDescription()); 047 for (org.hl7.fhir.dstu2016may.model.CodeableConcept t : src.getUseContext()) 048 if (VersionConvertor_14_40.isJurisdiction(t)) 049 tgt.addJurisdiction(CodeableConcept14_40.convertCodeableConcept(t)); 050 else 051 tgt.addUseContext(CodeableConcept14_40.convertCodeableConceptToUsageContext(t)); 052 if (src.hasRequirements()) 053 tgt.setPurpose(src.getRequirements()); 054 if (src.hasIdempotent()) 055 tgt.setAffectsState(!src.getIdempotent()); 056 if (src.hasCodeElement()) 057 tgt.setCodeElement(Code14_40.convertCode(src.getCodeElement())); 058 if (src.hasComment()) 059 tgt.setComment(src.getComment()); 060 if (src.hasBase()) 061 tgt.setBaseElement(Reference14_40.convertReferenceToCanonical(src.getBase())); 062 if (src.hasSystemElement()) 063 tgt.setSystemElement(Boolean14_40.convertBoolean(src.getSystemElement())); 064 for (org.hl7.fhir.dstu2016may.model.CodeType t : src.getType()) tgt.addResource(t.getValue()); 065 tgt.setType(tgt.hasResource()); 066 if (src.hasInstanceElement()) 067 tgt.setInstanceElement(Boolean14_40.convertBoolean(src.getInstanceElement())); 068 for (org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getParameter()) 069 tgt.addParameter(convertOperationDefinitionParameterComponent(t)); 070 return tgt; 071 } 072 073 public static org.hl7.fhir.dstu2016may.model.OperationDefinition convertOperationDefinition(org.hl7.fhir.r4.model.OperationDefinition src) throws FHIRException { 074 if (src == null || src.isEmpty()) 075 return null; 076 org.hl7.fhir.dstu2016may.model.OperationDefinition tgt = new org.hl7.fhir.dstu2016may.model.OperationDefinition(); 077 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyDomainResource(src, tgt); 078 if (src.hasUrl()) 079 tgt.setUrlElement(Uri14_40.convertUri(src.getUrlElement())); 080 if (src.hasVersion()) 081 tgt.setVersionElement(String14_40.convertString(src.getVersionElement())); 082 if (src.hasNameElement()) 083 tgt.setNameElement(String14_40.convertString(src.getNameElement())); 084 if (src.hasStatus()) 085 tgt.setStatusElement(Enumerations14_40.convertConformanceResourceStatus(src.getStatusElement())); 086 if (src.hasKind()) 087 tgt.setKindElement(convertOperationKind(src.getKindElement())); 088 if (src.hasExperimental()) 089 tgt.setExperimentalElement(Boolean14_40.convertBoolean(src.getExperimentalElement())); 090 if (src.hasDate()) 091 tgt.setDateElement(DateTime14_40.convertDateTime(src.getDateElement())); 092 if (src.hasPublisher()) 093 tgt.setPublisherElement(String14_40.convertString(src.getPublisherElement())); 094 for (org.hl7.fhir.r4.model.ContactDetail t : src.getContact()) 095 tgt.addContact(convertOperationDefinitionContactComponent(t)); 096 if (src.hasDescription()) 097 tgt.setDescription(src.getDescription()); 098 for (org.hl7.fhir.r4.model.UsageContext t : src.getUseContext()) 099 if (t.hasValueCodeableConcept()) 100 tgt.addUseContext(CodeableConcept14_40.convertCodeableConcept(t.getValueCodeableConcept())); 101 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getJurisdiction()) 102 tgt.addUseContext(CodeableConcept14_40.convertCodeableConcept(t)); 103 if (src.hasPurpose()) 104 tgt.setRequirements(src.getPurpose()); 105 if (src.hasAffectsState()) 106 tgt.setIdempotent(!src.getAffectsState()); 107 if (src.hasCodeElement()) 108 tgt.setCodeElement(Code14_40.convertCode(src.getCodeElement())); 109 if (src.hasComment()) 110 tgt.setComment(src.getComment()); 111 if (src.hasBaseElement()) 112 tgt.setBase(Reference14_40.convertCanonicalToReference(src.getBaseElement())); 113 if (src.hasSystemElement()) 114 tgt.setSystemElement(Boolean14_40.convertBoolean(src.getSystemElement())); 115 if (src.getType()) 116 for (org.hl7.fhir.r4.model.CodeType t : src.getResource()) tgt.addType(t.getValue()); 117 if (src.hasInstanceElement()) 118 tgt.setInstanceElement(Boolean14_40.convertBoolean(src.getInstanceElement())); 119 for (org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getParameter()) 120 tgt.addParameter(convertOperationDefinitionParameterComponent(t)); 121 return tgt; 122 } 123 124 public static org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionContactComponent convertOperationDefinitionContactComponent(org.hl7.fhir.r4.model.ContactDetail src) throws FHIRException { 125 if (src == null || src.isEmpty()) 126 return null; 127 org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionContactComponent tgt = new org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionContactComponent(); 128 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt); 129 if (src.hasName()) 130 tgt.setNameElement(String14_40.convertString(src.getNameElement())); 131 for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom()) 132 tgt.addTelecom(ContactPoint14_40.convertContactPoint(t)); 133 return tgt; 134 } 135 136 public static org.hl7.fhir.r4.model.ContactDetail convertOperationDefinitionContactComponent(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionContactComponent src) throws FHIRException { 137 if (src == null || src.isEmpty()) 138 return null; 139 org.hl7.fhir.r4.model.ContactDetail tgt = new org.hl7.fhir.r4.model.ContactDetail(); 140 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt); 141 if (src.hasName()) 142 tgt.setNameElement(String14_40.convertString(src.getNameElement())); 143 for (org.hl7.fhir.dstu2016may.model.ContactPoint t : src.getTelecom()) 144 tgt.addTelecom(ContactPoint14_40.convertContactPoint(t)); 145 return tgt; 146 } 147 148 public static org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterBindingComponent convertOperationDefinitionParameterBindingComponent(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterBindingComponent src) throws FHIRException { 149 if (src == null || src.isEmpty()) 150 return null; 151 org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterBindingComponent tgt = new org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterBindingComponent(); 152 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt); 153 if (src.hasStrength()) 154 tgt.setStrengthElement(Enumerations14_40.convertBindingStrength(src.getStrengthElement())); 155 Type t = ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().convertType(src.getValueSet()); 156 if (t != null) { 157 if (t instanceof org.hl7.fhir.r4.model.Reference) 158 tgt.setValueSet(((org.hl7.fhir.r4.model.Reference) t).getReference()); 159 else 160 tgt.setValueSet(t.primitiveValue()); 161 tgt.setValueSet(VersionConvertorConstants.refToVS(tgt.getValueSet())); 162 } 163 return tgt; 164 } 165 166 public static org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterBindingComponent convertOperationDefinitionParameterBindingComponent(org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterBindingComponent src) throws FHIRException { 167 if (src == null || src.isEmpty()) 168 return null; 169 org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterBindingComponent tgt = new org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterBindingComponent(); 170 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt); 171 if (src.hasStrength()) 172 tgt.setStrengthElement(Enumerations14_40.convertBindingStrength(src.getStrengthElement())); 173 if (src.hasValueSet()) { 174 String vsr = VersionConvertorConstants.vsToRef(src.getValueSet()); 175 if (vsr != null) 176 tgt.setValueSet(new org.hl7.fhir.dstu2016may.model.UriType(vsr)); 177 else 178 tgt.setValueSet(new org.hl7.fhir.dstu2016may.model.Reference(src.getValueSet())); 179 } 180 return tgt; 181 } 182 183 public static org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent convertOperationDefinitionParameterComponent(org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent src) throws FHIRException { 184 if (src == null || src.isEmpty()) 185 return null; 186 org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent tgt = new org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent(); 187 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt); 188 if (src.hasNameElement()) 189 tgt.setNameElement(Code14_40.convertCode(src.getNameElement())); 190 if (src.hasUse()) 191 tgt.setUseElement(convertOperationParameterUse(src.getUseElement())); 192 if (src.hasMinElement()) 193 tgt.setMinElement(Integer14_40.convertInteger(src.getMinElement())); 194 if (src.hasMaxElement()) 195 tgt.setMaxElement(String14_40.convertString(src.getMaxElement())); 196 if (src.hasDocumentation()) 197 tgt.setDocumentationElement(String14_40.convertString(src.getDocumentationElement())); 198 if (src.hasType()) 199 tgt.setTypeElement(Code14_40.convertCode(src.getTypeElement())); 200 if (src.hasSearchType()) 201 tgt.setSearchTypeElement(Enumerations14_40.convertSearchParamType(src.getSearchTypeElement())); 202 tgt.addTargetProfile(src.getProfile().getReference()); 203 if (src.hasBinding()) 204 tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding())); 205 for (org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart()) 206 tgt.addPart(convertOperationDefinitionParameterComponent(t)); 207 return tgt; 208 } 209 210 public static org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent convertOperationDefinitionParameterComponent(org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent src) throws FHIRException { 211 if (src == null || src.isEmpty()) 212 return null; 213 org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent tgt = new org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationDefinitionParameterComponent(); 214 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyBackboneElement(src,tgt); 215 if (src.hasNameElement()) 216 tgt.setNameElement(Code14_40.convertCode(src.getNameElement())); 217 if (src.hasUse()) 218 tgt.setUseElement(convertOperationParameterUse(src.getUseElement())); 219 if (src.hasMinElement()) 220 tgt.setMinElement(Integer14_40.convertInteger(src.getMinElement())); 221 if (src.hasMaxElement()) 222 tgt.setMaxElement(String14_40.convertString(src.getMaxElement())); 223 if (src.hasDocumentation()) 224 tgt.setDocumentationElement(String14_40.convertString(src.getDocumentationElement())); 225 if (src.hasType()) 226 tgt.setTypeElement(Code14_40.convertCode(src.getTypeElement())); 227 if (src.hasSearchType()) 228 tgt.setSearchTypeElement(Enumerations14_40.convertSearchParamType(src.getSearchTypeElement())); 229 for (org.hl7.fhir.r4.model.UriType t : src.getTargetProfile()) 230 tgt.setProfile(new org.hl7.fhir.dstu2016may.model.Reference(t.getValue())); 231 if (src.hasBinding()) 232 tgt.setBinding(convertOperationDefinitionParameterBindingComponent(src.getBinding())); 233 for (org.hl7.fhir.r4.model.OperationDefinition.OperationDefinitionParameterComponent t : src.getPart()) 234 tgt.addPart(convertOperationDefinitionParameterComponent(t)); 235 return tgt; 236 } 237 238 static public org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationKind> convertOperationKind(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationKind> src) throws FHIRException { 239 if (src == null || src.isEmpty()) 240 return null; 241 Enumeration<OperationDefinition.OperationKind> tgt = new Enumeration<>(new OperationDefinition.OperationKindEnumFactory()); 242 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt); 243 if (src.getValue() == null) { 244 tgt.setValue(null); 245 } else { 246 switch (src.getValue()) { 247 case OPERATION: 248 tgt.setValue(OperationDefinition.OperationKind.OPERATION); 249 break; 250 case QUERY: 251 tgt.setValue(OperationDefinition.OperationKind.QUERY); 252 break; 253 default: 254 tgt.setValue(OperationDefinition.OperationKind.NULL); 255 break; 256 } 257 } 258 return tgt; 259 } 260 261 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationKind> convertOperationKind(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationKind> src) throws FHIRException { 262 if (src == null || src.isEmpty()) 263 return null; 264 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationKind> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.OperationDefinition.OperationKindEnumFactory()); 265 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt); 266 if (src.getValue() == null) { 267 tgt.setValue(null); 268 } else { 269 switch (src.getValue()) { 270 case OPERATION: 271 tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationKind.OPERATION); 272 break; 273 case QUERY: 274 tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationKind.QUERY); 275 break; 276 default: 277 tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationKind.NULL); 278 break; 279 } 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.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse> src) throws FHIRException { 285 if (src == null || src.isEmpty()) 286 return null; 287 Enumeration<OperationDefinition.OperationParameterUse> tgt = new Enumeration<>(new OperationDefinition.OperationParameterUseEnumFactory()); 288 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt); 289 if (src.getValue() == null) { 290 tgt.setValue(null); 291 } else { 292 switch (src.getValue()) { 293 case IN: 294 tgt.setValue(OperationDefinition.OperationParameterUse.IN); 295 break; 296 case OUT: 297 tgt.setValue(OperationDefinition.OperationParameterUse.OUT); 298 break; 299 default: 300 tgt.setValue(OperationDefinition.OperationParameterUse.NULL); 301 break; 302 } 303 } 304 return tgt; 305 } 306 307 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse> convertOperationParameterUse(org.hl7.fhir.dstu2016may.model.Enumeration<org.hl7.fhir.dstu2016may.model.OperationDefinition.OperationParameterUse> src) throws FHIRException { 308 if (src == null || src.isEmpty()) 309 return null; 310 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUseEnumFactory()); 311 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt); 312 if (src.getValue() == null) { 313 tgt.setValue(null); 314 } else { 315 switch (src.getValue()) { 316 case IN: 317 tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse.IN); 318 break; 319 case OUT: 320 tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse.OUT); 321 break; 322 default: 323 tgt.setValue(org.hl7.fhir.r4.model.OperationDefinition.OperationParameterUse.NULL); 324 break; 325 } 326 } 327 return tgt; 328 } 329}