
001package org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50; 002 003import org.hl7.fhir.convertors.context.ConversionContext40_50; 004import org.hl7.fhir.convertors.conv40_50.datatypes40_50.Utilities40_50; 005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; 006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; 007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.PositiveInt40_50; 008import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; 009import org.hl7.fhir.exceptions.FHIRException; 010import org.hl7.fhir.r5.model.DataRequirement; 011 012public class DataRequirement40_50 { 013 public static org.hl7.fhir.r5.model.DataRequirement convertDataRequirement(org.hl7.fhir.r4.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 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 017 if (src.hasType()) { 018 Utilities40_50.convertType(src.getTypeElement(), tgt.getTypeElement()); 019 } 020 for (org.hl7.fhir.r4.model.CanonicalType t : src.getProfile()) 021 tgt.getProfile().add(Canonical40_50.convertCanonical(t)); 022 if (src.hasSubject()) 023 tgt.setSubject(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getSubject())); 024 for (org.hl7.fhir.r4.model.StringType t : src.getMustSupport()) 025 tgt.getMustSupport().add(String40_50.convertString(t)); 026 for (org.hl7.fhir.r4.model.DataRequirement.DataRequirementCodeFilterComponent t : src.getCodeFilter()) 027 tgt.addCodeFilter(convertDataRequirementCodeFilterComponent(t)); 028 for (org.hl7.fhir.r4.model.DataRequirement.DataRequirementDateFilterComponent t : src.getDateFilter()) 029 tgt.addDateFilter(convertDataRequirementDateFilterComponent(t)); 030 if (src.hasLimit()) tgt.setLimitElement(PositiveInt40_50.convertPositiveInt(src.getLimitElement())); 031 for (org.hl7.fhir.r4.model.DataRequirement.DataRequirementSortComponent t : src.getSort()) 032 tgt.addSort(convertDataRequirementSortComponent(t)); 033 return tgt; 034 } 035 036 public static org.hl7.fhir.r4.model.DataRequirement convertDataRequirement(org.hl7.fhir.r5.model.DataRequirement src) throws FHIRException { 037 if (src == null) return null; 038 org.hl7.fhir.r4.model.DataRequirement tgt = new org.hl7.fhir.r4.model.DataRequirement(); 039 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 040 if (src.hasType()) { 041 Utilities40_50.convertType(src.getTypeElement(), tgt.getTypeElement()); 042 } 043 for (org.hl7.fhir.r5.model.CanonicalType t : src.getProfile()) 044 tgt.getProfile().add(Canonical40_50.convertCanonical(t)); 045 if (src.hasSubject()) 046 tgt.setSubject(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getSubject())); 047 for (org.hl7.fhir.r5.model.StringType t : src.getMustSupport()) 048 tgt.getMustSupport().add(String40_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(PositiveInt40_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.r4.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 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 063 if (src.hasPath()) tgt.setPathElement(String40_50.convertString(src.getPathElement())); 064 if (src.hasSearchParam()) tgt.setSearchParamElement(String40_50.convertString(src.getSearchParamElement())); 065 if (src.hasValueSet()) tgt.setValueSetElement(Canonical40_50.convertCanonical(src.getValueSetElement())); 066 for (org.hl7.fhir.r4.model.Coding t : src.getCode()) tgt.addCode(Coding40_50.convertCoding(t)); 067 return tgt; 068 } 069 070 public static org.hl7.fhir.r4.model.DataRequirement.DataRequirementCodeFilterComponent convertDataRequirementCodeFilterComponent(org.hl7.fhir.r5.model.DataRequirement.DataRequirementCodeFilterComponent src) throws FHIRException { 071 if (src == null) return null; 072 org.hl7.fhir.r4.model.DataRequirement.DataRequirementCodeFilterComponent tgt = new org.hl7.fhir.r4.model.DataRequirement.DataRequirementCodeFilterComponent(); 073 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 074 if (src.hasPath()) tgt.setPathElement(String40_50.convertString(src.getPathElement())); 075 if (src.hasSearchParam()) tgt.setSearchParamElement(String40_50.convertString(src.getSearchParamElement())); 076 if (src.hasValueSet()) tgt.setValueSetElement(Canonical40_50.convertCanonical(src.getValueSetElement())); 077 for (org.hl7.fhir.r5.model.Coding t : src.getCode()) tgt.addCode(Coding40_50.convertCoding(t)); 078 return tgt; 079 } 080 081 public static org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent convertDataRequirementDateFilterComponent(org.hl7.fhir.r4.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 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 085 if (src.hasPath()) tgt.setPathElement(String40_50.convertString(src.getPathElement())); 086 if (src.hasSearchParam()) tgt.setSearchParamElement(String40_50.convertString(src.getSearchParamElement())); 087 if (src.hasValue()) 088 tgt.setValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getValue())); 089 return tgt; 090 } 091 092 public static org.hl7.fhir.r4.model.DataRequirement.DataRequirementDateFilterComponent convertDataRequirementDateFilterComponent(org.hl7.fhir.r5.model.DataRequirement.DataRequirementDateFilterComponent src) throws FHIRException { 093 if (src == null) return null; 094 org.hl7.fhir.r4.model.DataRequirement.DataRequirementDateFilterComponent tgt = new org.hl7.fhir.r4.model.DataRequirement.DataRequirementDateFilterComponent(); 095 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 096 if (src.hasPath()) tgt.setPathElement(String40_50.convertString(src.getPathElement())); 097 if (src.hasSearchParam()) tgt.setSearchParamElement(String40_50.convertString(src.getSearchParamElement())); 098 if (src.hasValue()) 099 tgt.setValue(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getValue())); 100 return tgt; 101 } 102 103 public static org.hl7.fhir.r5.model.DataRequirement.DataRequirementSortComponent convertDataRequirementSortComponent(org.hl7.fhir.r4.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 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 107 if (src.hasPath()) tgt.setPathElement(String40_50.convertString(src.getPathElement())); 108 if (src.hasDirection()) tgt.setDirectionElement(convertSortDirection(src.getDirectionElement())); 109 return tgt; 110 } 111 112 public static org.hl7.fhir.r4.model.DataRequirement.DataRequirementSortComponent convertDataRequirementSortComponent(org.hl7.fhir.r5.model.DataRequirement.DataRequirementSortComponent src) throws FHIRException { 113 if (src == null) return null; 114 org.hl7.fhir.r4.model.DataRequirement.DataRequirementSortComponent tgt = new org.hl7.fhir.r4.model.DataRequirement.DataRequirementSortComponent(); 115 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 116 if (src.hasPath()) tgt.setPathElement(String40_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.r4.model.Enumeration<org.hl7.fhir.r4.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 ConversionContext40_50.INSTANCE.getVersionConvertor_40_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.r4.model.Enumeration<org.hl7.fhir.r4.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.r4.model.Enumeration<org.hl7.fhir.r4.model.DataRequirement.SortDirection> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.DataRequirement.SortDirectionEnumFactory()); 146 ConversionContext40_50.INSTANCE.getVersionConvertor_40_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.r4.model.DataRequirement.SortDirection.ASCENDING); 153 break; 154 case DESCENDING: 155 tgt.setValue(org.hl7.fhir.r4.model.DataRequirement.SortDirection.DESCENDING); 156 break; 157 default: 158 tgt.setValue(org.hl7.fhir.r4.model.DataRequirement.SortDirection.NULL); 159 break; 160 } 161} 162 return tgt; 163 } 164}