
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.datatypes43_50.primitive43_50.String43_50; 005import org.hl7.fhir.exceptions.FHIRException; 006import org.hl7.fhir.r5.model.TriggerDefinition; 007 008public class TriggerDefinition43_50 { 009 public static org.hl7.fhir.r5.model.TriggerDefinition convertTriggerDefinition(org.hl7.fhir.r4b.model.TriggerDefinition src) throws FHIRException { 010 if (src == null) return null; 011 org.hl7.fhir.r5.model.TriggerDefinition tgt = new org.hl7.fhir.r5.model.TriggerDefinition(); 012 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 013 if (src.hasType()) tgt.setTypeElement(convertTriggerType(src.getTypeElement())); 014 if (src.hasName()) tgt.setNameElement(String43_50.convertString(src.getNameElement())); 015 if (src.hasTiming()) 016 tgt.setTiming(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getTiming())); 017 for (org.hl7.fhir.r4b.model.DataRequirement t : src.getData()) 018 tgt.addData(DataRequirement43_50.convertDataRequirement(t)); 019 if (src.hasCondition()) tgt.setCondition(Expression43_50.convertExpression(src.getCondition())); 020 return tgt; 021 } 022 023 public static org.hl7.fhir.r4b.model.TriggerDefinition convertTriggerDefinition(org.hl7.fhir.r5.model.TriggerDefinition src) throws FHIRException { 024 if (src == null) return null; 025 org.hl7.fhir.r4b.model.TriggerDefinition tgt = new org.hl7.fhir.r4b.model.TriggerDefinition(); 026 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 027 if (src.hasType()) tgt.setTypeElement(convertTriggerType(src.getTypeElement())); 028 if (src.hasName()) tgt.setNameElement(String43_50.convertString(src.getNameElement())); 029 if (src.hasTiming()) 030 tgt.setTiming(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getTiming())); 031 for (org.hl7.fhir.r5.model.DataRequirement t : src.getData()) 032 tgt.addData(DataRequirement43_50.convertDataRequirement(t)); 033 if (src.hasCondition()) tgt.setCondition(Expression43_50.convertExpression(src.getCondition())); 034 return tgt; 035 } 036 037 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.TriggerDefinition.TriggerType> convertTriggerType(org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType> src) throws FHIRException { 038 if (src == null || src.isEmpty()) return null; 039 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.TriggerDefinition.TriggerType> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.TriggerDefinition.TriggerTypeEnumFactory()); 040 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 041 if (src.getValue() == null) { 042 tgt.setValue(null); 043} else { 044 switch(src.getValue()) { 045 case NAMEDEVENT: 046 tgt.setValue(TriggerDefinition.TriggerType.NAMEDEVENT); 047 break; 048 case PERIODIC: 049 tgt.setValue(TriggerDefinition.TriggerType.PERIODIC); 050 break; 051 case DATACHANGED: 052 tgt.setValue(TriggerDefinition.TriggerType.DATACHANGED); 053 break; 054 case DATAADDED: 055 tgt.setValue(TriggerDefinition.TriggerType.DATAADDED); 056 break; 057 case DATAMODIFIED: 058 tgt.setValue(TriggerDefinition.TriggerType.DATAMODIFIED); 059 break; 060 case DATAREMOVED: 061 tgt.setValue(TriggerDefinition.TriggerType.DATAREMOVED); 062 break; 063 case DATAACCESSED: 064 tgt.setValue(TriggerDefinition.TriggerType.DATAACCESSED); 065 break; 066 case DATAACCESSENDED: 067 tgt.setValue(TriggerDefinition.TriggerType.DATAACCESSENDED); 068 break; 069 default: 070 tgt.setValue(TriggerDefinition.TriggerType.NULL); 071 break; 072 } 073} 074 return tgt; 075 } 076 077 static public org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType> convertTriggerType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.TriggerDefinition.TriggerType> src) throws FHIRException { 078 if (src == null || src.isEmpty()) return null; 079 org.hl7.fhir.r4b.model.Enumeration<org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType> tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.TriggerDefinition.TriggerTypeEnumFactory()); 080 ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); 081 if (src.getValue() == null) { 082 tgt.setValue(null); 083} else { 084 switch(src.getValue()) { 085 case NAMEDEVENT: 086 tgt.setValue(org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType.NAMEDEVENT); 087 break; 088 case PERIODIC: 089 tgt.setValue(org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType.PERIODIC); 090 break; 091 case DATACHANGED: 092 tgt.setValue(org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType.DATACHANGED); 093 break; 094 case DATAADDED: 095 tgt.setValue(org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType.DATAADDED); 096 break; 097 case DATAMODIFIED: 098 tgt.setValue(org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType.DATAMODIFIED); 099 break; 100 case DATAREMOVED: 101 tgt.setValue(org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType.DATAREMOVED); 102 break; 103 case DATAACCESSED: 104 tgt.setValue(org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType.DATAACCESSED); 105 break; 106 case DATAACCESSENDED: 107 tgt.setValue(org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType.DATAACCESSENDED); 108 break; 109 default: 110 tgt.setValue(org.hl7.fhir.r4b.model.TriggerDefinition.TriggerType.NULL); 111 break; 112 } 113} 114 return tgt; 115 } 116}