
001package org.hl7.fhir.convertors.conv30_40.resources30_40; 002 003import org.hl7.fhir.convertors.context.ConversionContext30_40; 004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; 005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; 006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; 007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; 008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; 009import org.hl7.fhir.dstu3.model.Communication; 010import org.hl7.fhir.dstu3.model.Enumeration; 011import org.hl7.fhir.exceptions.FHIRException; 012 013public class Communication30_40 { 014 015 public static org.hl7.fhir.dstu3.model.Communication convertCommunication(org.hl7.fhir.r4.model.Communication src) throws FHIRException { 016 if (src == null) 017 return null; 018 org.hl7.fhir.dstu3.model.Communication tgt = new org.hl7.fhir.dstu3.model.Communication(); 019 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 020 for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) 021 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 022 for (org.hl7.fhir.r4.model.UriType t : src.getInstantiatesCanonical()) 023 tgt.addDefinition(new org.hl7.fhir.dstu3.model.Reference(t.getValue())); 024 for (org.hl7.fhir.r4.model.Reference t : src.getBasedOn()) tgt.addBasedOn(Reference30_40.convertReference(t)); 025 for (org.hl7.fhir.r4.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference30_40.convertReference(t)); 026 if (src.hasStatus()) 027 if (src.getStatus() == org.hl7.fhir.r4.model.Communication.CommunicationStatus.NOTDONE) 028 tgt.setNotDone(true); 029 else 030 tgt.setStatusElement(convertCommunicationStatus(src.getStatusElement())); 031 if (src.hasStatusReason()) 032 tgt.setNotDoneReason(CodeableConcept30_40.convertCodeableConcept(src.getStatusReason())); 033 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getCategory()) 034 tgt.addCategory(CodeableConcept30_40.convertCodeableConcept(t)); 035 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getMedium()) 036 tgt.addMedium(CodeableConcept30_40.convertCodeableConcept(t)); 037 if (src.hasSubject()) 038 tgt.setSubject(Reference30_40.convertReference(src.getSubject())); 039 for (org.hl7.fhir.r4.model.Reference t : src.getRecipient()) tgt.addRecipient(Reference30_40.convertReference(t)); 040 if (src.hasEncounter()) 041 tgt.setContext(Reference30_40.convertReference(src.getEncounter())); 042 if (src.hasSent()) 043 tgt.setSentElement(DateTime30_40.convertDateTime(src.getSentElement())); 044 if (src.hasReceived()) 045 tgt.setReceivedElement(DateTime30_40.convertDateTime(src.getReceivedElement())); 046 if (src.hasSender()) 047 tgt.setSender(Reference30_40.convertReference(src.getSender())); 048 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getReasonCode()) 049 tgt.addReasonCode(CodeableConcept30_40.convertCodeableConcept(t)); 050 for (org.hl7.fhir.r4.model.Reference t : src.getReasonReference()) 051 tgt.addReasonReference(Reference30_40.convertReference(t)); 052 for (org.hl7.fhir.r4.model.Communication.CommunicationPayloadComponent t : src.getPayload()) 053 tgt.addPayload(convertCommunicationPayloadComponent(t)); 054 for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t)); 055 return tgt; 056 } 057 058 public static org.hl7.fhir.r4.model.Communication convertCommunication(org.hl7.fhir.dstu3.model.Communication src) throws FHIRException { 059 if (src == null) 060 return null; 061 org.hl7.fhir.r4.model.Communication tgt = new org.hl7.fhir.r4.model.Communication(); 062 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 063 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 064 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 065 for (org.hl7.fhir.dstu3.model.Reference t : src.getDefinition()) tgt.addInstantiatesCanonical(t.getReference()); 066 for (org.hl7.fhir.dstu3.model.Reference t : src.getBasedOn()) tgt.addBasedOn(Reference30_40.convertReference(t)); 067 for (org.hl7.fhir.dstu3.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference30_40.convertReference(t)); 068 if (src.hasNotDone()) 069 tgt.setStatus(org.hl7.fhir.r4.model.Communication.CommunicationStatus.NOTDONE); 070 else if (src.hasStatus()) 071 tgt.setStatusElement(convertCommunicationStatus(src.getStatusElement())); 072 if (src.hasNotDoneReason()) 073 tgt.setStatusReason(CodeableConcept30_40.convertCodeableConcept(src.getNotDoneReason())); 074 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getCategory()) 075 tgt.addCategory(CodeableConcept30_40.convertCodeableConcept(t)); 076 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getMedium()) 077 tgt.addMedium(CodeableConcept30_40.convertCodeableConcept(t)); 078 if (src.hasSubject()) 079 tgt.setSubject(Reference30_40.convertReference(src.getSubject())); 080 for (org.hl7.fhir.dstu3.model.Reference t : src.getRecipient()) 081 tgt.addRecipient(Reference30_40.convertReference(t)); 082 if (src.hasContext()) 083 tgt.setEncounter(Reference30_40.convertReference(src.getContext())); 084 if (src.hasSent()) 085 tgt.setSentElement(DateTime30_40.convertDateTime(src.getSentElement())); 086 if (src.hasReceived()) 087 tgt.setReceivedElement(DateTime30_40.convertDateTime(src.getReceivedElement())); 088 if (src.hasSender()) 089 tgt.setSender(Reference30_40.convertReference(src.getSender())); 090 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getReasonCode()) 091 tgt.addReasonCode(CodeableConcept30_40.convertCodeableConcept(t)); 092 for (org.hl7.fhir.dstu3.model.Reference t : src.getReasonReference()) 093 tgt.addReasonReference(Reference30_40.convertReference(t)); 094 for (org.hl7.fhir.dstu3.model.Communication.CommunicationPayloadComponent t : src.getPayload()) 095 tgt.addPayload(convertCommunicationPayloadComponent(t)); 096 for (org.hl7.fhir.dstu3.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t)); 097 return tgt; 098 } 099 100 public static org.hl7.fhir.dstu3.model.Communication.CommunicationPayloadComponent convertCommunicationPayloadComponent(org.hl7.fhir.r4.model.Communication.CommunicationPayloadComponent src) throws FHIRException { 101 if (src == null) 102 return null; 103 org.hl7.fhir.dstu3.model.Communication.CommunicationPayloadComponent tgt = new org.hl7.fhir.dstu3.model.Communication.CommunicationPayloadComponent(); 104 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 105 if (src.hasContent()) 106 tgt.setContent(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getContent())); 107 return tgt; 108 } 109 110 public static org.hl7.fhir.r4.model.Communication.CommunicationPayloadComponent convertCommunicationPayloadComponent(org.hl7.fhir.dstu3.model.Communication.CommunicationPayloadComponent src) throws FHIRException { 111 if (src == null) 112 return null; 113 org.hl7.fhir.r4.model.Communication.CommunicationPayloadComponent tgt = new org.hl7.fhir.r4.model.Communication.CommunicationPayloadComponent(); 114 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 115 if (src.hasContent()) 116 tgt.setContent(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getContent())); 117 return tgt; 118 } 119 120 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Communication.CommunicationStatus> convertCommunicationStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Communication.CommunicationStatus> src) throws FHIRException { 121 if (src == null || src.isEmpty()) 122 return null; 123 Enumeration<Communication.CommunicationStatus> tgt = new Enumeration<>(new Communication.CommunicationStatusEnumFactory()); 124 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 125 if (src.getValue() == null) { 126 tgt.setValue(null); 127 } else { 128 switch (src.getValue()) { 129 case PREPARATION: 130 tgt.setValue(Communication.CommunicationStatus.PREPARATION); 131 break; 132 case INPROGRESS: 133 tgt.setValue(Communication.CommunicationStatus.INPROGRESS); 134 break; 135 case ONHOLD: 136 tgt.setValue(Communication.CommunicationStatus.SUSPENDED); 137 break; 138 case STOPPED: 139 tgt.setValue(Communication.CommunicationStatus.ABORTED); 140 break; 141 case COMPLETED: 142 tgt.setValue(Communication.CommunicationStatus.COMPLETED); 143 break; 144 case ENTEREDINERROR: 145 tgt.setValue(Communication.CommunicationStatus.ENTEREDINERROR); 146 break; 147 case UNKNOWN: 148 tgt.setValue(Communication.CommunicationStatus.UNKNOWN); 149 break; 150 default: 151 tgt.setValue(Communication.CommunicationStatus.NULL); 152 break; 153 } 154 } 155 return tgt; 156 } 157 158 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Communication.CommunicationStatus> convertCommunicationStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Communication.CommunicationStatus> src) throws FHIRException { 159 if (src == null || src.isEmpty()) 160 return null; 161 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Communication.CommunicationStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Communication.CommunicationStatusEnumFactory()); 162 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 163 if (src.getValue() == null) { 164 tgt.setValue(null); 165 } else { 166 switch (src.getValue()) { 167 case PREPARATION: 168 tgt.setValue(org.hl7.fhir.r4.model.Communication.CommunicationStatus.PREPARATION); 169 break; 170 case INPROGRESS: 171 tgt.setValue(org.hl7.fhir.r4.model.Communication.CommunicationStatus.INPROGRESS); 172 break; 173 case SUSPENDED: 174 tgt.setValue(org.hl7.fhir.r4.model.Communication.CommunicationStatus.ONHOLD); 175 break; 176 case ABORTED: 177 tgt.setValue(org.hl7.fhir.r4.model.Communication.CommunicationStatus.STOPPED); 178 break; 179 case COMPLETED: 180 tgt.setValue(org.hl7.fhir.r4.model.Communication.CommunicationStatus.COMPLETED); 181 break; 182 case ENTEREDINERROR: 183 tgt.setValue(org.hl7.fhir.r4.model.Communication.CommunicationStatus.ENTEREDINERROR); 184 break; 185 case UNKNOWN: 186 tgt.setValue(org.hl7.fhir.r4.model.Communication.CommunicationStatus.UNKNOWN); 187 break; 188 default: 189 tgt.setValue(org.hl7.fhir.r4.model.Communication.CommunicationStatus.NULL); 190 break; 191 } 192 } 193 return tgt; 194 } 195}