
001package org.hl7.fhir.convertors.conv10_30.resources10_30; 002 003import org.hl7.fhir.convertors.context.ConversionContext10_30; 004import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; 005import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; 006import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; 007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; 008import org.hl7.fhir.dstu3.model.Communication; 009import org.hl7.fhir.dstu3.model.Enumeration; 010import org.hl7.fhir.exceptions.FHIRException; 011 012public class Communication10_30 { 013 014 public static org.hl7.fhir.dstu3.model.Communication convertCommunication(org.hl7.fhir.dstu2.model.Communication src) throws FHIRException { 015 if (src == null || src.isEmpty()) 016 return null; 017 org.hl7.fhir.dstu3.model.Communication tgt = new org.hl7.fhir.dstu3.model.Communication(); 018 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 019 for (org.hl7.fhir.dstu2.model.Identifier t : src.getIdentifier()) 020 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 021 if (src.hasCategory()) 022 tgt.addCategory(CodeableConcept10_30.convertCodeableConcept(src.getCategory())); 023 if (src.hasSender()) 024 tgt.setSender(Reference10_30.convertReference(src.getSender())); 025 for (org.hl7.fhir.dstu2.model.Reference t : src.getRecipient()) 026 tgt.addRecipient(Reference10_30.convertReference(t)); 027 for (org.hl7.fhir.dstu2.model.Communication.CommunicationPayloadComponent t : src.getPayload()) 028 tgt.addPayload(convertCommunicationPayloadComponent(t)); 029 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getMedium()) 030 tgt.addMedium(CodeableConcept10_30.convertCodeableConcept(t)); 031 if (src.hasStatus()) 032 tgt.setStatusElement(convertCommunicationStatus(src.getStatusElement())); 033 if (src.hasEncounter()) 034 tgt.setContext(Reference10_30.convertReference(src.getEncounter())); 035 if (src.hasSentElement()) 036 tgt.setSentElement(DateTime10_30.convertDateTime(src.getSentElement())); 037 if (src.hasReceivedElement()) 038 tgt.setReceivedElement(DateTime10_30.convertDateTime(src.getReceivedElement())); 039 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getReason()) 040 tgt.addReasonCode(CodeableConcept10_30.convertCodeableConcept(t)); 041 if (src.hasSubject()) 042 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 043 return tgt; 044 } 045 046 public static org.hl7.fhir.dstu2.model.Communication convertCommunication(org.hl7.fhir.dstu3.model.Communication src) throws FHIRException { 047 if (src == null || src.isEmpty()) 048 return null; 049 org.hl7.fhir.dstu2.model.Communication tgt = new org.hl7.fhir.dstu2.model.Communication(); 050 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 051 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 052 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 053 if (src.hasCategory()) 054 tgt.setCategory(CodeableConcept10_30.convertCodeableConcept(src.getCategoryFirstRep())); 055 if (src.hasSender()) 056 tgt.setSender(Reference10_30.convertReference(src.getSender())); 057 for (org.hl7.fhir.dstu3.model.Reference t : src.getRecipient()) 058 tgt.addRecipient(Reference10_30.convertReference(t)); 059 for (org.hl7.fhir.dstu3.model.Communication.CommunicationPayloadComponent t : src.getPayload()) 060 tgt.addPayload(convertCommunicationPayloadComponent(t)); 061 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getMedium()) 062 tgt.addMedium(CodeableConcept10_30.convertCodeableConcept(t)); 063 if (src.hasStatus()) 064 tgt.setStatusElement(convertCommunicationStatus(src.getStatusElement())); 065 if (src.hasContext()) 066 tgt.setEncounter(Reference10_30.convertReference(src.getContext())); 067 if (src.hasSentElement()) 068 tgt.setSentElement(DateTime10_30.convertDateTime(src.getSentElement())); 069 if (src.hasReceivedElement()) 070 tgt.setReceivedElement(DateTime10_30.convertDateTime(src.getReceivedElement())); 071 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getReasonCode()) 072 tgt.addReason(CodeableConcept10_30.convertCodeableConcept(t)); 073 if (src.hasSubject()) 074 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 075 return tgt; 076 } 077 078 public static org.hl7.fhir.dstu2.model.Communication.CommunicationPayloadComponent convertCommunicationPayloadComponent(org.hl7.fhir.dstu3.model.Communication.CommunicationPayloadComponent src) throws FHIRException { 079 if (src == null || src.isEmpty()) 080 return null; 081 org.hl7.fhir.dstu2.model.Communication.CommunicationPayloadComponent tgt = new org.hl7.fhir.dstu2.model.Communication.CommunicationPayloadComponent(); 082 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 083 if (src.hasContent()) 084 tgt.setContent(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getContent())); 085 return tgt; 086 } 087 088 public static org.hl7.fhir.dstu3.model.Communication.CommunicationPayloadComponent convertCommunicationPayloadComponent(org.hl7.fhir.dstu2.model.Communication.CommunicationPayloadComponent src) throws FHIRException { 089 if (src == null || src.isEmpty()) 090 return null; 091 org.hl7.fhir.dstu3.model.Communication.CommunicationPayloadComponent tgt = new org.hl7.fhir.dstu3.model.Communication.CommunicationPayloadComponent(); 092 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 093 if (src.hasContent()) 094 tgt.setContent(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getContent())); 095 return tgt; 096 } 097 098 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Communication.CommunicationStatus> convertCommunicationStatus(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Communication.CommunicationStatus> src) throws FHIRException { 099 if (src == null || src.isEmpty()) 100 return null; 101 Enumeration<Communication.CommunicationStatus> tgt = new Enumeration<>(new Communication.CommunicationStatusEnumFactory()); 102 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 103 if (src.getValue() == null) { 104 tgt.setValue(null); 105 } else { 106 switch (src.getValue()) { 107 case INPROGRESS: 108 tgt.setValue(Communication.CommunicationStatus.INPROGRESS); 109 break; 110 case COMPLETED: 111 tgt.setValue(Communication.CommunicationStatus.COMPLETED); 112 break; 113 case SUSPENDED: 114 tgt.setValue(Communication.CommunicationStatus.SUSPENDED); 115 break; 116 case REJECTED: 117 tgt.setValue(Communication.CommunicationStatus.ENTEREDINERROR); 118 break; 119 case FAILED: 120 tgt.setValue(Communication.CommunicationStatus.ABORTED); 121 break; 122 default: 123 tgt.setValue(Communication.CommunicationStatus.NULL); 124 break; 125 } 126 } 127 return tgt; 128 } 129 130 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Communication.CommunicationStatus> convertCommunicationStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Communication.CommunicationStatus> src) throws FHIRException { 131 if (src == null || src.isEmpty()) 132 return null; 133 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Communication.CommunicationStatus> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.Communication.CommunicationStatusEnumFactory()); 134 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 135 if (src.getValue() == null) { 136 tgt.setValue(null); 137 } else { 138 switch (src.getValue()) { 139 case INPROGRESS: 140 tgt.setValue(org.hl7.fhir.dstu2.model.Communication.CommunicationStatus.INPROGRESS); 141 break; 142 case COMPLETED: 143 tgt.setValue(org.hl7.fhir.dstu2.model.Communication.CommunicationStatus.COMPLETED); 144 break; 145 case SUSPENDED: 146 tgt.setValue(org.hl7.fhir.dstu2.model.Communication.CommunicationStatus.SUSPENDED); 147 break; 148 case ENTEREDINERROR: 149 tgt.setValue(org.hl7.fhir.dstu2.model.Communication.CommunicationStatus.REJECTED); 150 break; 151 case ABORTED: 152 tgt.setValue(org.hl7.fhir.dstu2.model.Communication.CommunicationStatus.FAILED); 153 break; 154 default: 155 tgt.setValue(org.hl7.fhir.dstu2.model.Communication.CommunicationStatus.NULL); 156 break; 157 } 158 } 159 return tgt; 160 } 161}