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