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