001package org.hl7.fhir.convertors.conv30_50.resources30_50; 002 003import org.hl7.fhir.convertors.context.ConversionContext30_50; 004import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; 005import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; 006import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; 007import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; 008import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; 009import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; 010import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; 011import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; 012import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; 013import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; 014import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; 015import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.UnsignedInt30_50; 016import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; 017import org.hl7.fhir.exceptions.FHIRException; 018 019public class MessageDefinition30_50 { 020 021 public static org.hl7.fhir.dstu3.model.MessageDefinition convertMessageDefinition(org.hl7.fhir.r5.model.MessageDefinition src) throws FHIRException { 022 if (src == null) 023 return null; 024 org.hl7.fhir.dstu3.model.MessageDefinition tgt = new org.hl7.fhir.dstu3.model.MessageDefinition(); 025 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 026 if (src.hasUrl()) 027 tgt.setUrlElement(Uri30_50.convertUri(src.getUrlElement())); 028 if (src.hasIdentifier()) 029 tgt.setIdentifier(Identifier30_50.convertIdentifier(src.getIdentifierFirstRep())); 030 if (src.hasVersion()) 031 tgt.setVersionElement(String30_50.convertString(src.getVersionElement())); 032 if (src.hasName()) 033 tgt.setNameElement(String30_50.convertString(src.getNameElement())); 034 if (src.hasTitle()) 035 tgt.setTitleElement(String30_50.convertString(src.getTitleElement())); 036 if (src.hasStatus()) 037 tgt.setStatusElement(Enumerations30_50.convertPublicationStatus(src.getStatusElement())); 038 if (src.hasExperimental()) 039 tgt.setExperimentalElement(Boolean30_50.convertBoolean(src.getExperimentalElement())); 040 if (src.hasDate()) 041 tgt.setDateElement(DateTime30_50.convertDateTime(src.getDateElement())); 042 if (src.hasPublisher()) 043 tgt.setPublisherElement(String30_50.convertString(src.getPublisherElement())); 044 for (org.hl7.fhir.r5.model.ContactDetail t : src.getContact()) 045 tgt.addContact(ContactDetail30_50.convertContactDetail(t)); 046 if (src.hasDescription()) 047 tgt.setDescriptionElement(MarkDown30_50.convertMarkdown(src.getDescriptionElement())); 048 for (org.hl7.fhir.r5.model.UsageContext t : src.getUseContext()) 049 tgt.addUseContext(UsageContext30_50.convertUsageContext(t)); 050 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getJurisdiction()) 051 tgt.addJurisdiction(CodeableConcept30_50.convertCodeableConcept(t)); 052 if (src.hasPurpose()) 053 tgt.setPurposeElement(MarkDown30_50.convertMarkdown(src.getPurposeElement())); 054 if (src.hasCopyright()) 055 tgt.setCopyrightElement(MarkDown30_50.convertMarkdown(src.getCopyrightElement())); 056 if (src.hasBase()) 057 tgt.setBase(Reference30_50.convertCanonicalToReference(src.getBaseElement())); 058 for (org.hl7.fhir.r5.model.CanonicalType t : src.getParent()) 059 tgt.addParent(Reference30_50.convertCanonicalToReference(t)); 060 for (org.hl7.fhir.r5.model.CanonicalType t : src.getReplaces()) 061 tgt.addReplaces(Reference30_50.convertCanonicalToReference(t)); 062 if (src.hasEventCoding()) 063 tgt.setEvent(Coding30_50.convertCoding(src.getEventCoding())); 064 if (src.hasCategory()) 065 tgt.setCategoryElement(convertMessageSignificanceCategory(src.getCategoryElement())); 066 for (org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionFocusComponent t : src.getFocus()) 067 tgt.addFocus(convertMessageDefinitionFocusComponent(t)); 068 if (src.hasResponseRequired()) 069 tgt.setResponseRequired(src.getResponseRequired() != org.hl7.fhir.r5.model.MessageDefinition.MessageheaderResponseRequest.NEVER); 070 for (org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionAllowedResponseComponent t : src.getAllowedResponse()) 071 tgt.addAllowedResponse(convertMessageDefinitionAllowedResponseComponent(t)); 072 return tgt; 073 } 074 075 public static org.hl7.fhir.r5.model.MessageDefinition convertMessageDefinition(org.hl7.fhir.dstu3.model.MessageDefinition src) throws FHIRException { 076 if (src == null) 077 return null; 078 org.hl7.fhir.r5.model.MessageDefinition tgt = new org.hl7.fhir.r5.model.MessageDefinition(); 079 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 080 if (src.hasUrl()) 081 tgt.setUrlElement(Uri30_50.convertUri(src.getUrlElement())); 082 if (src.hasIdentifier()) 083 tgt.addIdentifier(Identifier30_50.convertIdentifier(src.getIdentifier())); 084 if (src.hasVersion()) 085 tgt.setVersionElement(String30_50.convertString(src.getVersionElement())); 086 if (src.hasName()) 087 tgt.setNameElement(String30_50.convertString(src.getNameElement())); 088 if (src.hasTitle()) 089 tgt.setTitleElement(String30_50.convertString(src.getTitleElement())); 090 if (src.hasStatus()) 091 tgt.setStatusElement(Enumerations30_50.convertPublicationStatus(src.getStatusElement())); 092 if (src.hasExperimental()) 093 tgt.setExperimentalElement(Boolean30_50.convertBoolean(src.getExperimentalElement())); 094 if (src.hasDate()) 095 tgt.setDateElement(DateTime30_50.convertDateTime(src.getDateElement())); 096 if (src.hasPublisher()) 097 tgt.setPublisherElement(String30_50.convertString(src.getPublisherElement())); 098 for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact()) 099 tgt.addContact(ContactDetail30_50.convertContactDetail(t)); 100 if (src.hasDescription()) 101 tgt.setDescriptionElement(MarkDown30_50.convertMarkdown(src.getDescriptionElement())); 102 for (org.hl7.fhir.dstu3.model.UsageContext t : src.getUseContext()) 103 tgt.addUseContext(UsageContext30_50.convertUsageContext(t)); 104 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getJurisdiction()) 105 tgt.addJurisdiction(CodeableConcept30_50.convertCodeableConcept(t)); 106 if (src.hasPurpose()) 107 tgt.setPurposeElement(MarkDown30_50.convertMarkdown(src.getPurposeElement())); 108 if (src.hasCopyright()) 109 tgt.setCopyrightElement(MarkDown30_50.convertMarkdown(src.getCopyrightElement())); 110 if (src.hasBase()) 111 tgt.setBaseElement(Reference30_50.convertReferenceToCanonical(src.getBase())); 112 for (org.hl7.fhir.dstu3.model.Reference t : src.getParent()) 113 tgt.getParent().add(Reference30_50.convertReferenceToCanonical(t)); 114 for (org.hl7.fhir.dstu3.model.Reference t : src.getReplaces()) 115 tgt.getReplaces().add(Reference30_50.convertReferenceToCanonical(t)); 116 if (src.hasEvent()) 117 tgt.setEvent(Coding30_50.convertCoding(src.getEvent())); 118 if (src.hasCategory()) 119 tgt.setCategoryElement(convertMessageSignificanceCategory(src.getCategoryElement())); 120 for (org.hl7.fhir.dstu3.model.MessageDefinition.MessageDefinitionFocusComponent t : src.getFocus()) 121 tgt.addFocus(convertMessageDefinitionFocusComponent(t)); 122 if (src.hasResponseRequired()) 123 tgt.setResponseRequired(src.getResponseRequired() ? org.hl7.fhir.r5.model.MessageDefinition.MessageheaderResponseRequest.ALWAYS : org.hl7.fhir.r5.model.MessageDefinition.MessageheaderResponseRequest.NEVER); 124 for (org.hl7.fhir.dstu3.model.MessageDefinition.MessageDefinitionAllowedResponseComponent t : src.getAllowedResponse()) 125 tgt.addAllowedResponse(convertMessageDefinitionAllowedResponseComponent(t)); 126 return tgt; 127 } 128 129 public static org.hl7.fhir.dstu3.model.MessageDefinition.MessageDefinitionAllowedResponseComponent convertMessageDefinitionAllowedResponseComponent(org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionAllowedResponseComponent src) throws FHIRException { 130 if (src == null) 131 return null; 132 org.hl7.fhir.dstu3.model.MessageDefinition.MessageDefinitionAllowedResponseComponent tgt = new org.hl7.fhir.dstu3.model.MessageDefinition.MessageDefinitionAllowedResponseComponent(); 133 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 134 if (src.hasMessage()) 135 tgt.setMessage(Reference30_50.convertCanonicalToReference(src.getMessageElement())); 136 if (src.hasSituation()) 137 tgt.setSituationElement(MarkDown30_50.convertMarkdown(src.getSituationElement())); 138 return tgt; 139 } 140 141 public static org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionAllowedResponseComponent convertMessageDefinitionAllowedResponseComponent(org.hl7.fhir.dstu3.model.MessageDefinition.MessageDefinitionAllowedResponseComponent src) throws FHIRException { 142 if (src == null) 143 return null; 144 org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionAllowedResponseComponent tgt = new org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionAllowedResponseComponent(); 145 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 146 if (src.hasMessage()) 147 tgt.setMessageElement(Reference30_50.convertReferenceToCanonical(src.getMessage())); 148 if (src.hasSituation()) 149 tgt.setSituationElement(MarkDown30_50.convertMarkdown(src.getSituationElement())); 150 return tgt; 151 } 152 153 public static org.hl7.fhir.dstu3.model.MessageDefinition.MessageDefinitionFocusComponent convertMessageDefinitionFocusComponent(org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionFocusComponent src) throws FHIRException { 154 if (src == null) 155 return null; 156 org.hl7.fhir.dstu3.model.MessageDefinition.MessageDefinitionFocusComponent tgt = new org.hl7.fhir.dstu3.model.MessageDefinition.MessageDefinitionFocusComponent(); 157 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 158 if (src.hasCode()) 159 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 160 if (src.hasProfile()) 161 tgt.setProfile(Reference30_50.convertCanonicalToReference(src.getProfileElement())); 162 if (src.hasMin()) 163 tgt.setMinElement(UnsignedInt30_50.convertUnsignedInt(src.getMinElement())); 164 if (src.hasMax()) 165 tgt.setMaxElement(String30_50.convertString(src.getMaxElement())); 166 return tgt; 167 } 168 169 public static org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionFocusComponent convertMessageDefinitionFocusComponent(org.hl7.fhir.dstu3.model.MessageDefinition.MessageDefinitionFocusComponent src) throws FHIRException { 170 if (src == null) 171 return null; 172 org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionFocusComponent tgt = new org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionFocusComponent(); 173 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 174 if (src.hasCode()) 175 tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); 176 if (src.hasProfile()) 177 tgt.setProfileElement(Reference30_50.convertReferenceToCanonical(src.getProfile())); 178 if (src.hasMin()) 179 tgt.setMinElement(UnsignedInt30_50.convertUnsignedInt(src.getMinElement())); 180 if (src.hasMax()) 181 tgt.setMaxElement(String30_50.convertString(src.getMaxElement())); 182 return tgt; 183 } 184 185 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MessageDefinition.MessageSignificanceCategory> convertMessageSignificanceCategory(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.MessageDefinition.MessageSignificanceCategory> src) throws FHIRException { 186 if (src == null || src.isEmpty()) 187 return null; 188 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MessageDefinition.MessageSignificanceCategory> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.MessageDefinition.MessageSignificanceCategoryEnumFactory()); 189 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 190 switch (src.getValue()) { 191 case CONSEQUENCE: 192 tgt.setValue(org.hl7.fhir.dstu3.model.MessageDefinition.MessageSignificanceCategory.CONSEQUENCE); 193 break; 194 case CURRENCY: 195 tgt.setValue(org.hl7.fhir.dstu3.model.MessageDefinition.MessageSignificanceCategory.CURRENCY); 196 break; 197 case NOTIFICATION: 198 tgt.setValue(org.hl7.fhir.dstu3.model.MessageDefinition.MessageSignificanceCategory.NOTIFICATION); 199 break; 200 default: 201 tgt.setValue(org.hl7.fhir.dstu3.model.MessageDefinition.MessageSignificanceCategory.NULL); 202 break; 203 } 204 return tgt; 205 } 206 207 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.MessageDefinition.MessageSignificanceCategory> convertMessageSignificanceCategory(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MessageDefinition.MessageSignificanceCategory> src) throws FHIRException { 208 if (src == null || src.isEmpty()) 209 return null; 210 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.MessageDefinition.MessageSignificanceCategory> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.MessageDefinition.MessageSignificanceCategoryEnumFactory()); 211 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 212 switch (src.getValue()) { 213 case CONSEQUENCE: 214 tgt.setValue(org.hl7.fhir.r5.model.MessageDefinition.MessageSignificanceCategory.CONSEQUENCE); 215 break; 216 case CURRENCY: 217 tgt.setValue(org.hl7.fhir.r5.model.MessageDefinition.MessageSignificanceCategory.CURRENCY); 218 break; 219 case NOTIFICATION: 220 tgt.setValue(org.hl7.fhir.r5.model.MessageDefinition.MessageSignificanceCategory.NOTIFICATION); 221 break; 222 default: 223 tgt.setValue(org.hl7.fhir.r5.model.MessageDefinition.MessageSignificanceCategory.NULL); 224 break; 225 } 226 return tgt; 227 } 228}