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