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