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