
001package org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50; 002 003import org.hl7.fhir.convertors.context.ConversionContext43_50; 004import org.hl7.fhir.convertors.conv43_50.Utilities43_50; 005import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; 006import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; 007import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.PositiveInt43_50; 008import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; 009import org.hl7.fhir.exceptions.FHIRException; 010import org.hl7.fhir.r5.model.DataRequirement; 011 012public class DataRequirement43_50 { 013 public static org.hl7.fhir.r5.model.DataRequirement convertDataRequirement(org.hl7.fhir.r4b.model.DataRequirement src) throws FHIRException { 014 if (src == null) return null; 015 org.hl7.fhir.r5.model.DataRequirement tgt = new org.hl7.fhir.r5.model.DataRequirement(); 016 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 017 if (src.hasType()) { 018 Utilities43_50.convertType(src.getTypeElement(), tgt.getTypeElement()); 019 } 020 for (org.hl7.fhir.r4b.model.CanonicalType t : src.getProfile()) 021 tgt.getProfile().add(Canonical43_50.convertCanonical(t)); 022 if (src.hasSubject()) 023 tgt.setSubject(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getSubject())); 024 for (org.hl7.fhir.r4b.model.StringType t : src.getMustSupport()) 025 tgt.getMustSupport().add(String43_50.convertString(t)); 026 for (org.hl7.fhir.r4b.model.DataRequirement.DataRequirementCodeFilterComponent t : src.getCodeFilter()) 027 tgt.addCodeFilter(convertDataRequirementCodeFilterComponent(t)); 028 for (org.hl7.fhir.r4b.model.DataRequirement.DataRequirementDateFilterComponent t : src.getDateFilter()) 029 tgt.addDateFilter(convertDataRequirementDateFilterComponent(t)); 030 if (src.hasLimit()) tgt.setLimitElement(PositiveInt43_50.convertPositiveInt(src.getLimitElement())); 031 for (org.hl7.fhir.r4b.model.DataRequirement.DataRequirementSortComponent t : src.getSort()) 032 tgt.addSort(convertDataRequirementSortComponent(t)); 033 return tgt; 034 } 035 036 public static org.hl7.fhir.r4b.model.DataRequirement convertDataRequirement(org.hl7.fhir.r5.model.DataRequirement src) throws FHIRException { 037 if (src == null) return null; 038 org.hl7.fhir.r4b.model.DataRequirement tgt = new org.hl7.fhir.r4b.model.DataRequirement(); 039 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 040 if (src.hasType()) { 041 Utilities43_50.convertType(src.getTypeElement(), tgt.getTypeElement()); 042 } 043 for (org.hl7.fhir.r5.model.CanonicalType t : src.getProfile()) 044 tgt.getProfile().add(Canonical43_50.convertCanonical(t)); 045 if (src.hasSubject()) 046 tgt.setSubject(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getSubject())); 047 for (org.hl7.fhir.r5.model.StringType t : src.getMustSupport()) 048 tgt.getMustSupport().add(String43_50.convertString(t)); 049 for (org.hl7.fhir.r5.model.DataRequirement.DataRequirementCodeFilterComponent t : src.getCodeFilter()) 050 tgt.addCodeFilter(convertDataRequirementCodeFilterComponent(t)); 051 for (org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent t : src.getDateFilter()) 052 tgt.addDateFilter(convertDataRequirementDateFilterComponent(t)); 053 if (src.hasLimit()) tgt.setLimitElement(PositiveInt43_50.convertPositiveInt(src.getLimitElement())); 054 for (org.hl7.fhir.r5.model.DataRequirement.DataRequirementSortComponent t : src.getSort()) 055 tgt.addSort(convertDataRequirementSortComponent(t)); 056 return tgt; 057 } 058 059 public static org.hl7.fhir.r5.model.DataRequirement.DataRequirementCodeFilterComponent convertDataRequirementCodeFilterComponent(org.hl7.fhir.r4b.model.DataRequirement.DataRequirementCodeFilterComponent src) throws FHIRException { 060 if (src == null) return null; 061 org.hl7.fhir.r5.model.DataRequirement.DataRequirementCodeFilterComponent tgt = new org.hl7.fhir.r5.model.DataRequirement.DataRequirementCodeFilterComponent(); 062 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 063 if (src.hasPath()) tgt.setPathElement(String43_50.convertString(src.getPathElement())); 064 if (src.hasSearchParam()) tgt.setSearchParamElement(String43_50.convertString(src.getSearchParamElement())); 065 if (src.hasValueSet()) tgt.setValueSetElement(Canonical43_50.convertCanonical(src.getValueSetElement())); 066 for (org.hl7.fhir.r4b.model.Coding t : src.getCode()) tgt.addCode(Coding43_50.convertCoding(t)); 067 return tgt; 068 } 069 070 public static org.hl7.fhir.r4b.model.DataRequirement.DataRequirementCodeFilterComponent convertDataRequirementCodeFilterComponent(org.hl7.fhir.r5.model.DataRequirement.DataRequirementCodeFilterComponent src) throws FHIRException { 071 if (src == null) return null; 072 org.hl7.fhir.r4b.model.DataRequirement.DataRequirementCodeFilterComponent tgt = new org.hl7.fhir.r4b.model.DataRequirement.DataRequirementCodeFilterComponent(); 073 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 074 if (src.hasPath()) tgt.setPathElement(String43_50.convertString(src.getPathElement())); 075 if (src.hasSearchParam()) tgt.setSearchParamElement(String43_50.convertString(src.getSearchParamElement())); 076 if (src.hasValueSet()) tgt.setValueSetElement(Canonical43_50.convertCanonical(src.getValueSetElement())); 077 for (org.hl7.fhir.r5.model.Coding t : src.getCode()) tgt.addCode(Coding43_50.convertCoding(t)); 078 return tgt; 079 } 080 081 public static org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent convertDataRequirementDateFilterComponent(org.hl7.fhir.r4b.model.DataRequirement.DataRequirementDateFilterComponent src) throws FHIRException { 082 if (src == null) return null; 083 org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent tgt = new org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent(); 084 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 085 if (src.hasPath()) tgt.setPathElement(String43_50.convertString(src.getPathElement())); 086 if (src.hasSearchParam()) tgt.setSearchParamElement(String43_50.convertString(src.getSearchParamElement())); 087 if (src.hasValue()) 088 tgt.setValue(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getValue())); 089 return tgt; 090 } 091 092 public static org.hl7.fhir.r4b.model.DataRequirement.DataRequirementDateFilterComponent convertDataRequirementDateFilterComponent(org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent src) throws FHIRException { 093 if (src == null) return null; 094 org.hl7.fhir.r4b.model.DataRequirement.DataRequirementDateFilterComponent tgt = new org.hl7.fhir.r4b.model.DataRequirement.DataRequirementDateFilterComponent(); 095 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 096 if (src.hasPath()) tgt.setPathElement(String43_50.convertString(src.getPathElement())); 097 if (src.hasSearchParam()) tgt.setSearchParamElement(String43_50.convertString(src.getSearchParamElement())); 098 if (src.hasValue()) 099 tgt.setValue(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getValue())); 100 return tgt; 101 } 102 103 public static org.hl7.fhir.r5.model.DataRequirement.DataRequirementSortComponent convertDataRequirementSortComponent(org.hl7.fhir.r4b.model.DataRequirement.DataRequirementSortComponent src) throws FHIRException { 104 if (src == null) return null; 105 org.hl7.fhir.r5.model.DataRequirement.DataRequirementSortComponent tgt = new org.hl7.fhir.r5.model.DataRequirement.DataRequirementSortComponent(); 106 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 107 if (src.hasPath()) tgt.setPathElement(String43_50.convertString(src.getPathElement())); 108 if (src.hasDirection()) tgt.setDirectionElement(convertSortDirection(src.getDirectionElement())); 109 return tgt; 110 } 111 112 public static org.hl7.fhir.r4b.model.DataRequirement.DataRequirementSortComponent convertDataRequirementSortComponent(org.hl7.fhir.r5.model.DataRequirement.DataRequirementSortComponent src) throws FHIRException { 113 if (src == null) return null; 114 org.hl7.fhir.r4b.model.DataRequirement.DataRequirementSortComponent tgt = new org.hl7.fhir.r4b.model.DataRequirement.DataRequirementSortComponent(); 115 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 116 if (src.hasPath()) tgt.setPathElement(String43_50.convertString(src.getPathElement())); 117 if (src.hasDirection()) tgt.setDirectionElement(convertSortDirection(src.getDirectionElement())); 118 return tgt; 119 } 120 121 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DataRequirement.SortDirection> convertSortDirection(org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.DataRequirement.SortDirection> src) throws FHIRException { 122 if (src == null || src.isEmpty()) return null; 123 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DataRequirement.SortDirection> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.DataRequirement.SortDirectionEnumFactory()); 124 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 125 if (src.getValue() == null) { 126 tgt.setValue(null); 127} else { 128 switch(src.getValue()) { 129 case ASCENDING: 130 tgt.setValue(DataRequirement.SortDirection.ASCENDING); 131 break; 132 case DESCENDING: 133 tgt.setValue(DataRequirement.SortDirection.DESCENDING); 134 break; 135 default: 136 tgt.setValue(DataRequirement.SortDirection.NULL); 137 break; 138 } 139} 140 return tgt; 141 } 142 143 static public org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.DataRequirement.SortDirection> convertSortDirection(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.DataRequirement.SortDirection> src) throws FHIRException { 144 if (src == null || src.isEmpty()) return null; 145 org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.DataRequirement.SortDirection> tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.DataRequirement.SortDirectionEnumFactory()); 146 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 147 if (src.getValue() == null) { 148 tgt.setValue(null); 149} else { 150 switch(src.getValue()) { 151 case ASCENDING: 152 tgt.setValue(org.hl7.fhir.r4b.model.DataRequirement.SortDirection.ASCENDING); 153 break; 154 case DESCENDING: 155 tgt.setValue(org.hl7.fhir.r4b.model.DataRequirement.SortDirection.DESCENDING); 156 break; 157 default: 158 tgt.setValue(org.hl7.fhir.r4b.model.DataRequirement.SortDirection.NULL); 159 break; 160 } 161} 162 return tgt; 163 } 164}