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