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