
001package org.hl7.fhir.convertors.conv30_40.resources30_40; 002 003import org.hl7.fhir.convertors.context.ConversionContext30_40; 004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; 005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; 006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; 007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; 008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; 009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; 010import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.UnsignedInt30_40; 011import org.hl7.fhir.dstu3.model.Enumeration; 012import org.hl7.fhir.dstu3.model.Group; 013import org.hl7.fhir.exceptions.FHIRException; 014 015public class Group30_40 { 016 017 public static org.hl7.fhir.dstu3.model.Group convertGroup(org.hl7.fhir.r4.model.Group src) throws FHIRException { 018 if (src == null) 019 return null; 020 org.hl7.fhir.dstu3.model.Group tgt = new org.hl7.fhir.dstu3.model.Group(); 021 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 022 for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) 023 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 024 if (src.hasActive()) 025 tgt.setActiveElement(Boolean30_40.convertBoolean(src.getActiveElement())); 026 if (src.hasType()) 027 tgt.setTypeElement(convertGroupType(src.getTypeElement())); 028 if (src.hasActual()) 029 tgt.setActualElement(Boolean30_40.convertBoolean(src.getActualElement())); 030 if (src.hasCode()) 031 tgt.setCode(CodeableConcept30_40.convertCodeableConcept(src.getCode())); 032 if (src.hasName()) 033 tgt.setNameElement(String30_40.convertString(src.getNameElement())); 034 if (src.hasQuantity()) 035 tgt.setQuantityElement(UnsignedInt30_40.convertUnsignedInt(src.getQuantityElement())); 036 for (org.hl7.fhir.r4.model.Group.GroupCharacteristicComponent t : src.getCharacteristic()) 037 tgt.addCharacteristic(convertGroupCharacteristicComponent(t)); 038 for (org.hl7.fhir.r4.model.Group.GroupMemberComponent t : src.getMember()) 039 tgt.addMember(convertGroupMemberComponent(t)); 040 return tgt; 041 } 042 043 public static org.hl7.fhir.r4.model.Group convertGroup(org.hl7.fhir.dstu3.model.Group src) throws FHIRException { 044 if (src == null) 045 return null; 046 org.hl7.fhir.r4.model.Group tgt = new org.hl7.fhir.r4.model.Group(); 047 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 048 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 049 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 050 if (src.hasActive()) 051 tgt.setActiveElement(Boolean30_40.convertBoolean(src.getActiveElement())); 052 if (src.hasType()) 053 tgt.setTypeElement(convertGroupType(src.getTypeElement())); 054 if (src.hasActual()) 055 tgt.setActualElement(Boolean30_40.convertBoolean(src.getActualElement())); 056 if (src.hasCode()) 057 tgt.setCode(CodeableConcept30_40.convertCodeableConcept(src.getCode())); 058 if (src.hasName()) 059 tgt.setNameElement(String30_40.convertString(src.getNameElement())); 060 if (src.hasQuantity()) 061 tgt.setQuantityElement(UnsignedInt30_40.convertUnsignedInt(src.getQuantityElement())); 062 for (org.hl7.fhir.dstu3.model.Group.GroupCharacteristicComponent t : src.getCharacteristic()) 063 tgt.addCharacteristic(convertGroupCharacteristicComponent(t)); 064 for (org.hl7.fhir.dstu3.model.Group.GroupMemberComponent t : src.getMember()) 065 tgt.addMember(convertGroupMemberComponent(t)); 066 return tgt; 067 } 068 069 public static org.hl7.fhir.dstu3.model.Group.GroupCharacteristicComponent convertGroupCharacteristicComponent(org.hl7.fhir.r4.model.Group.GroupCharacteristicComponent src) throws FHIRException { 070 if (src == null) 071 return null; 072 org.hl7.fhir.dstu3.model.Group.GroupCharacteristicComponent tgt = new org.hl7.fhir.dstu3.model.Group.GroupCharacteristicComponent(); 073 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 074 if (src.hasCode()) 075 tgt.setCode(CodeableConcept30_40.convertCodeableConcept(src.getCode())); 076 if (src.hasValue()) 077 tgt.setValue(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getValue())); 078 if (src.hasExclude()) 079 tgt.setExcludeElement(Boolean30_40.convertBoolean(src.getExcludeElement())); 080 if (src.hasPeriod()) 081 tgt.setPeriod(Period30_40.convertPeriod(src.getPeriod())); 082 return tgt; 083 } 084 085 public static org.hl7.fhir.r4.model.Group.GroupCharacteristicComponent convertGroupCharacteristicComponent(org.hl7.fhir.dstu3.model.Group.GroupCharacteristicComponent src) throws FHIRException { 086 if (src == null) 087 return null; 088 org.hl7.fhir.r4.model.Group.GroupCharacteristicComponent tgt = new org.hl7.fhir.r4.model.Group.GroupCharacteristicComponent(); 089 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 090 if (src.hasCode()) 091 tgt.setCode(CodeableConcept30_40.convertCodeableConcept(src.getCode())); 092 if (src.hasValue()) 093 tgt.setValue(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getValue())); 094 if (src.hasExclude()) 095 tgt.setExcludeElement(Boolean30_40.convertBoolean(src.getExcludeElement())); 096 if (src.hasPeriod()) 097 tgt.setPeriod(Period30_40.convertPeriod(src.getPeriod())); 098 return tgt; 099 } 100 101 public static org.hl7.fhir.r4.model.Group.GroupMemberComponent convertGroupMemberComponent(org.hl7.fhir.dstu3.model.Group.GroupMemberComponent src) throws FHIRException { 102 if (src == null) 103 return null; 104 org.hl7.fhir.r4.model.Group.GroupMemberComponent tgt = new org.hl7.fhir.r4.model.Group.GroupMemberComponent(); 105 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 106 if (src.hasEntity()) 107 tgt.setEntity(Reference30_40.convertReference(src.getEntity())); 108 if (src.hasPeriod()) 109 tgt.setPeriod(Period30_40.convertPeriod(src.getPeriod())); 110 if (src.hasInactive()) 111 tgt.setInactiveElement(Boolean30_40.convertBoolean(src.getInactiveElement())); 112 return tgt; 113 } 114 115 public static org.hl7.fhir.dstu3.model.Group.GroupMemberComponent convertGroupMemberComponent(org.hl7.fhir.r4.model.Group.GroupMemberComponent src) throws FHIRException { 116 if (src == null) 117 return null; 118 org.hl7.fhir.dstu3.model.Group.GroupMemberComponent tgt = new org.hl7.fhir.dstu3.model.Group.GroupMemberComponent(); 119 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 120 if (src.hasEntity()) 121 tgt.setEntity(Reference30_40.convertReference(src.getEntity())); 122 if (src.hasPeriod()) 123 tgt.setPeriod(Period30_40.convertPeriod(src.getPeriod())); 124 if (src.hasInactive()) 125 tgt.setInactiveElement(Boolean30_40.convertBoolean(src.getInactiveElement())); 126 return tgt; 127 } 128 129 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Group.GroupType> convertGroupType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Group.GroupType> src) throws FHIRException { 130 if (src == null || src.isEmpty()) 131 return null; 132 Enumeration<Group.GroupType> tgt = new Enumeration<>(new Group.GroupTypeEnumFactory()); 133 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 134 if (src.getValue() == null) { 135 tgt.setValue(null); 136 } else { 137 switch (src.getValue()) { 138 case PERSON: 139 tgt.setValue(Group.GroupType.PERSON); 140 break; 141 case ANIMAL: 142 tgt.setValue(Group.GroupType.ANIMAL); 143 break; 144 case PRACTITIONER: 145 tgt.setValue(Group.GroupType.PRACTITIONER); 146 break; 147 case DEVICE: 148 tgt.setValue(Group.GroupType.DEVICE); 149 break; 150 case MEDICATION: 151 tgt.setValue(Group.GroupType.MEDICATION); 152 break; 153 case SUBSTANCE: 154 tgt.setValue(Group.GroupType.SUBSTANCE); 155 break; 156 default: 157 tgt.setValue(Group.GroupType.NULL); 158 break; 159 } 160 } 161 return tgt; 162 } 163 164 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Group.GroupType> convertGroupType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Group.GroupType> src) throws FHIRException { 165 if (src == null || src.isEmpty()) 166 return null; 167 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Group.GroupType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Group.GroupTypeEnumFactory()); 168 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 169 if (src.getValue() == null) { 170 tgt.setValue(null); 171 } else { 172 switch (src.getValue()) { 173 case PERSON: 174 tgt.setValue(org.hl7.fhir.r4.model.Group.GroupType.PERSON); 175 break; 176 case ANIMAL: 177 tgt.setValue(org.hl7.fhir.r4.model.Group.GroupType.ANIMAL); 178 break; 179 case PRACTITIONER: 180 tgt.setValue(org.hl7.fhir.r4.model.Group.GroupType.PRACTITIONER); 181 break; 182 case DEVICE: 183 tgt.setValue(org.hl7.fhir.r4.model.Group.GroupType.DEVICE); 184 break; 185 case MEDICATION: 186 tgt.setValue(org.hl7.fhir.r4.model.Group.GroupType.MEDICATION); 187 break; 188 case SUBSTANCE: 189 tgt.setValue(org.hl7.fhir.r4.model.Group.GroupType.SUBSTANCE); 190 break; 191 default: 192 tgt.setValue(org.hl7.fhir.r4.model.Group.GroupType.NULL); 193 break; 194 } 195 } 196 return tgt; 197 } 198}