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