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