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