001package org.hl7.fhir.convertors.conv30_40.datatypes30_40; 002 003import org.hl7.fhir.convertors.VersionConvertorConstants; 004import org.hl7.fhir.convertors.context.ConversionContext30_40; 005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; 006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; 007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; 008import org.hl7.fhir.exceptions.FHIRException; 009import org.hl7.fhir.r4.model.Type; 010 011public class TriggerDefinition30_40 { 012 public static org.hl7.fhir.r4.model.TriggerDefinition convertTriggerDefinition(org.hl7.fhir.dstu3.model.TriggerDefinition src) throws FHIRException { 013 if (src == null) return null; 014 org.hl7.fhir.r4.model.TriggerDefinition tgt = new org.hl7.fhir.r4.model.TriggerDefinition(); 015 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 016 if (src.hasType()) tgt.setTypeElement(convertTriggerType(src.getTypeElement())); 017 if (src.hasEventName()) tgt.setNameElement(String30_40.convertString(src.getEventNameElement())); 018 if (src.hasEventTiming()) 019 tgt.setTiming(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getEventTiming())); 020 if (src.hasEventData()) tgt.addData(convertDataRequirement(src.getEventData())); 021 return tgt; 022 } 023 024 public static org.hl7.fhir.dstu3.model.TriggerDefinition convertTriggerDefinition(org.hl7.fhir.r4.model.TriggerDefinition src) throws FHIRException { 025 if (src == null) return null; 026 org.hl7.fhir.dstu3.model.TriggerDefinition tgt = new org.hl7.fhir.dstu3.model.TriggerDefinition(); 027 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 028 if (src.hasType()) tgt.setTypeElement(convertTriggerType(src.getTypeElement())); 029 if (src.hasName()) tgt.setEventNameElement(String30_40.convertString(src.getNameElement())); 030 if (src.hasTiming()) 031 tgt.setEventTiming(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getTiming())); 032 if (src.hasData()) tgt.setEventData(convertDataRequirement(src.getDataFirstRep())); 033 return tgt; 034 } 035 036 public static org.hl7.fhir.r4.model.DataRequirement convertDataRequirement(org.hl7.fhir.dstu3.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 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 040 if (src.hasType()) tgt.setTypeElement(Code30_40.convertCode(src.getTypeElement())); 041 for (org.hl7.fhir.dstu3.model.UriType t : src.getProfile()) tgt.addProfile(t.getValue()); 042 for (org.hl7.fhir.dstu3.model.StringType t : src.getMustSupport()) tgt.addMustSupport(t.getValue()); 043 for (org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementCodeFilterComponent t : src.getCodeFilter()) 044 tgt.addCodeFilter(convertDataRequirementCodeFilterComponent(t)); 045 for (org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementDateFilterComponent t : src.getDateFilter()) 046 tgt.addDateFilter(convertDataRequirementDateFilterComponent(t)); 047 return tgt; 048 } 049 050 public static org.hl7.fhir.dstu3.model.DataRequirement convertDataRequirement(org.hl7.fhir.r4.model.DataRequirement src) throws FHIRException { 051 if (src == null) return null; 052 org.hl7.fhir.dstu3.model.DataRequirement tgt = new org.hl7.fhir.dstu3.model.DataRequirement(); 053 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 054 if (src.hasType()) tgt.setTypeElement(Code30_40.convertCode(src.getTypeElement())); 055 for (org.hl7.fhir.r4.model.UriType t : src.getProfile()) tgt.addProfile(t.getValue()); 056 for (org.hl7.fhir.r4.model.StringType t : src.getMustSupport()) tgt.addMustSupport(t.getValue()); 057 for (org.hl7.fhir.r4.model.DataRequirement.DataRequirementCodeFilterComponent t : src.getCodeFilter()) 058 tgt.addCodeFilter(convertDataRequirementCodeFilterComponent(t)); 059 for (org.hl7.fhir.r4.model.DataRequirement.DataRequirementDateFilterComponent t : src.getDateFilter()) 060 tgt.addDateFilter(convertDataRequirementDateFilterComponent(t)); 061 return tgt; 062 } 063 064 public static org.hl7.fhir.r4.model.DataRequirement.DataRequirementCodeFilterComponent convertDataRequirementCodeFilterComponent(org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementCodeFilterComponent src) throws FHIRException { 065 if (src == null) return null; 066 org.hl7.fhir.r4.model.DataRequirement.DataRequirementCodeFilterComponent tgt = new org.hl7.fhir.r4.model.DataRequirement.DataRequirementCodeFilterComponent(); 067 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 068 if (src.hasPath()) tgt.setPathElement(String30_40.convertString(src.getPathElement())); 069 if (src.hasValueSet()) { 070 Type t = ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getValueSet()); 071 if (t instanceof org.hl7.fhir.r4.model.Reference) 072 tgt.setValueSet(((org.hl7.fhir.r4.model.Reference) t).getReference()); 073 else tgt.setValueSet(t.primitiveValue()); 074 tgt.setValueSet(VersionConvertorConstants.refToVS(tgt.getValueSet())); 075 } 076 for (org.hl7.fhir.dstu3.model.CodeType t : src.getValueCode()) tgt.addCode(Coding30_40.convertCoding(t)); 077 for (org.hl7.fhir.dstu3.model.Coding t : src.getValueCoding()) tgt.addCode(Coding30_40.convertCoding(t)); 078 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getValueCodeableConcept()) 079 tgt.addCode(Coding30_40.convertCoding(t)); 080 return tgt; 081 } 082 083 public static org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementCodeFilterComponent convertDataRequirementCodeFilterComponent(org.hl7.fhir.r4.model.DataRequirement.DataRequirementCodeFilterComponent src) throws FHIRException { 084 if (src == null) return null; 085 org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementCodeFilterComponent tgt = new org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementCodeFilterComponent(); 086 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 087 if (src.hasPath()) tgt.setPathElement(String30_40.convertString(src.getPathElement())); 088 if (src.hasValueSet()) { 089 String vsr = VersionConvertorConstants.vsToRef(src.getValueSet()); 090 if (vsr != null) tgt.setValueSet(new org.hl7.fhir.dstu3.model.UriType(vsr)); 091 else tgt.setValueSet(new org.hl7.fhir.dstu3.model.Reference(src.getValueSet())); 092 } 093 for (org.hl7.fhir.r4.model.Coding t : src.getCode()) { 094 tgt.addValueCoding(Coding30_40.convertCoding(t)); 095 } 096 return tgt; 097 } 098 099 public static org.hl7.fhir.r4.model.DataRequirement.DataRequirementDateFilterComponent convertDataRequirementDateFilterComponent(org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementDateFilterComponent src) throws FHIRException { 100 if (src == null) return null; 101 org.hl7.fhir.r4.model.DataRequirement.DataRequirementDateFilterComponent tgt = new org.hl7.fhir.r4.model.DataRequirement.DataRequirementDateFilterComponent(); 102 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 103 if (src.hasPath()) tgt.setPathElement(String30_40.convertString(src.getPathElement())); 104 if (src.hasValue()) 105 tgt.setValue(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getValue())); 106 return tgt; 107 } 108 109 public static org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementDateFilterComponent convertDataRequirementDateFilterComponent(org.hl7.fhir.r4.model.DataRequirement.DataRequirementDateFilterComponent src) throws FHIRException { 110 if (src == null) return null; 111 org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementDateFilterComponent tgt = new org.hl7.fhir.dstu3.model.DataRequirement.DataRequirementDateFilterComponent(); 112 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 113 if (src.hasPath()) tgt.setPathElement(String30_40.convertString(src.getPathElement())); 114 if (src.hasValue()) 115 tgt.setValue(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getValue())); 116 return tgt; 117 } 118 119 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.TriggerDefinition.TriggerType> convertTriggerType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType> src) throws FHIRException { 120 if (src == null || src.isEmpty()) return null; 121 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.TriggerDefinition.TriggerType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.TriggerDefinition.TriggerTypeEnumFactory()); 122 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 123 if (src.getValue() == null) { 124 tgt.setValue(org.hl7.fhir.r4.model.TriggerDefinition.TriggerType.NULL); 125 } else { 126 switch (src.getValue()) { 127 case NAMEDEVENT: 128 tgt.setValue(org.hl7.fhir.r4.model.TriggerDefinition.TriggerType.NAMEDEVENT); 129 break; 130 case PERIODIC: 131 tgt.setValue(org.hl7.fhir.r4.model.TriggerDefinition.TriggerType.PERIODIC); 132 break; 133 case DATAADDED: 134 tgt.setValue(org.hl7.fhir.r4.model.TriggerDefinition.TriggerType.DATAADDED); 135 break; 136 case DATAMODIFIED: 137 tgt.setValue(org.hl7.fhir.r4.model.TriggerDefinition.TriggerType.DATAMODIFIED); 138 break; 139 case DATAREMOVED: 140 tgt.setValue(org.hl7.fhir.r4.model.TriggerDefinition.TriggerType.DATAREMOVED); 141 break; 142 case DATAACCESSED: 143 tgt.setValue(org.hl7.fhir.r4.model.TriggerDefinition.TriggerType.DATAACCESSED); 144 break; 145 case DATAACCESSENDED: 146 tgt.setValue(org.hl7.fhir.r4.model.TriggerDefinition.TriggerType.DATAACCESSENDED); 147 break; 148 default: 149 tgt.setValue(org.hl7.fhir.r4.model.TriggerDefinition.TriggerType.NULL); 150 break; 151 } 152 } 153 return tgt; 154 } 155 156 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType> convertTriggerType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.TriggerDefinition.TriggerType> src) throws FHIRException { 157 if (src == null || src.isEmpty()) return null; 158 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerTypeEnumFactory()); 159 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 160 if (src.getValue() == null) { 161 tgt.setValue(org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType.NULL); 162 } else { 163 switch (src.getValue()) { 164 case NAMEDEVENT: 165 tgt.setValue(org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType.NAMEDEVENT); 166 break; 167 case PERIODIC: 168 tgt.setValue(org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType.PERIODIC); 169 break; 170 case DATAADDED: 171 tgt.setValue(org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType.DATAADDED); 172 break; 173 case DATAMODIFIED: 174 tgt.setValue(org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType.DATAMODIFIED); 175 break; 176 case DATAREMOVED: 177 tgt.setValue(org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType.DATAREMOVED); 178 break; 179 case DATAACCESSED: 180 tgt.setValue(org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType.DATAACCESSED); 181 break; 182 case DATAACCESSENDED: 183 tgt.setValue(org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType.DATAACCESSENDED); 184 break; 185 default: 186 tgt.setValue(org.hl7.fhir.dstu3.model.TriggerDefinition.TriggerType.NULL); 187 break; 188 } 189 } 190 return tgt; 191 } 192}