001package org.hl7.fhir.convertors.conv40_50.resources40_50; 002 003import org.hl7.fhir.convertors.context.ConversionContext40_50; 004import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; 005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; 006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; 007import org.hl7.fhir.exceptions.FHIRException; 008 009/* 010 Copyright (c) 2011+, HL7, Inc. 011 All rights reserved. 012 013 Redistribution and use in source and binary forms, with or without modification, 014 are permitted provided that the following conditions are met: 015 016 * Redistributions of source code must retain the above copyright notice, this 017 list of conditions and the following disclaimer. 018 * Redistributions in binary form must reproduce the above copyright notice, 019 this list of conditions and the following disclaimer in the documentation 020 and/or other materials provided with the distribution. 021 * Neither the name of HL7 nor the names of its contributors may be used to 022 endorse or promote products derived from this software without specific 023 prior written permission. 024 025 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 026 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 027 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 028 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 029 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 030 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 031 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 032 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 033 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 034 POSSIBILITY OF SUCH DAMAGE. 035 036*/ 037// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0 038public class ChargeItem40_50 { 039 040 public static org.hl7.fhir.r5.model.ChargeItem convertChargeItem(org.hl7.fhir.r4.model.ChargeItem src) throws FHIRException { 041 if (src == null) 042 return null; 043 org.hl7.fhir.r5.model.ChargeItem tgt = new org.hl7.fhir.r5.model.ChargeItem(); 044 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); 045 for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) 046 tgt.addIdentifier(Identifier40_50.convertIdentifier(t)); 047 for (org.hl7.fhir.r4.model.UriType t : src.getDefinitionUri()) tgt.getDefinitionUri().add(Uri40_50.convertUri(t)); 048 for (org.hl7.fhir.r4.model.CanonicalType t : src.getDefinitionCanonical()) 049 tgt.getDefinitionCanonical().add(Canonical40_50.convertCanonical(t)); 050 if (src.hasStatus()) 051 tgt.setStatusElement(convertChargeItemStatus(src.getStatusElement())); 052 for (org.hl7.fhir.r4.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference40_50.convertReference(t)); 053 if (src.hasCode()) 054 tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); 055 if (src.hasSubject()) 056 tgt.setSubject(Reference40_50.convertReference(src.getSubject())); 057 if (src.hasContext()) 058 tgt.setContext(Reference40_50.convertReference(src.getContext())); 059 if (src.hasOccurrence()) 060 tgt.setOccurrence(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getOccurrence())); 061 for (org.hl7.fhir.r4.model.ChargeItem.ChargeItemPerformerComponent t : src.getPerformer()) 062 tgt.addPerformer(convertChargeItemPerformerComponent(t)); 063 if (src.hasPerformingOrganization()) 064 tgt.setPerformingOrganization(Reference40_50.convertReference(src.getPerformingOrganization())); 065 if (src.hasRequestingOrganization()) 066 tgt.setRequestingOrganization(Reference40_50.convertReference(src.getRequestingOrganization())); 067 if (src.hasCostCenter()) 068 tgt.setCostCenter(Reference40_50.convertReference(src.getCostCenter())); 069 if (src.hasQuantity()) 070 tgt.setQuantity(Quantity40_50.convertQuantity(src.getQuantity())); 071 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getBodysite()) 072 tgt.addBodysite(CodeableConcept40_50.convertCodeableConcept(t)); 073 if (src.hasFactorOverride()) 074 tgt.setFactorOverrideElement(Decimal40_50.convertDecimal(src.getFactorOverrideElement())); 075 if (src.hasPriceOverride()) 076 tgt.setPriceOverride(Money40_50.convertMoney(src.getPriceOverride())); 077 if (src.hasOverrideReason()) 078 tgt.setOverrideReasonElement(String40_50.convertString(src.getOverrideReasonElement())); 079 if (src.hasEnterer()) 080 tgt.setEnterer(Reference40_50.convertReference(src.getEnterer())); 081 if (src.hasEnteredDate()) 082 tgt.setEnteredDateElement(DateTime40_50.convertDateTime(src.getEnteredDateElement())); 083 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getReason()) 084 tgt.addReason(CodeableConcept40_50.convertCodeableConcept(t)); 085 for (org.hl7.fhir.r4.model.Reference t : src.getService()) tgt.addService(Reference40_50.convertReference(t)); 086 if (src.hasProductCodeableConcept()) 087 tgt.addProduct().setConcept(CodeableConcept40_50.convertCodeableConcept(src.getProductCodeableConcept())); 088 else if (src.hasProductReference()) 089 tgt.addProduct().setReference(Reference40_50.convertReference(src.getProductReference())); 090 for (org.hl7.fhir.r4.model.Reference t : src.getAccount()) tgt.addAccount(Reference40_50.convertReference(t)); 091 for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t)); 092 for (org.hl7.fhir.r4.model.Reference t : src.getSupportingInformation()) 093 tgt.addSupportingInformation(Reference40_50.convertReference(t)); 094 return tgt; 095 } 096 097 public static org.hl7.fhir.r4.model.ChargeItem convertChargeItem(org.hl7.fhir.r5.model.ChargeItem src) throws FHIRException { 098 if (src == null) 099 return null; 100 org.hl7.fhir.r4.model.ChargeItem tgt = new org.hl7.fhir.r4.model.ChargeItem(); 101 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); 102 for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier()) 103 tgt.addIdentifier(Identifier40_50.convertIdentifier(t)); 104 for (org.hl7.fhir.r5.model.UriType t : src.getDefinitionUri()) tgt.getDefinitionUri().add(Uri40_50.convertUri(t)); 105 for (org.hl7.fhir.r5.model.CanonicalType t : src.getDefinitionCanonical()) 106 tgt.getDefinitionCanonical().add(Canonical40_50.convertCanonical(t)); 107 if (src.hasStatus()) 108 tgt.setStatusElement(convertChargeItemStatus(src.getStatusElement())); 109 for (org.hl7.fhir.r5.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference40_50.convertReference(t)); 110 if (src.hasCode()) 111 tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); 112 if (src.hasSubject()) 113 tgt.setSubject(Reference40_50.convertReference(src.getSubject())); 114 if (src.hasContext()) 115 tgt.setContext(Reference40_50.convertReference(src.getContext())); 116 if (src.hasOccurrence()) 117 tgt.setOccurrence(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getOccurrence())); 118 for (org.hl7.fhir.r5.model.ChargeItem.ChargeItemPerformerComponent t : src.getPerformer()) 119 tgt.addPerformer(convertChargeItemPerformerComponent(t)); 120 if (src.hasPerformingOrganization()) 121 tgt.setPerformingOrganization(Reference40_50.convertReference(src.getPerformingOrganization())); 122 if (src.hasRequestingOrganization()) 123 tgt.setRequestingOrganization(Reference40_50.convertReference(src.getRequestingOrganization())); 124 if (src.hasCostCenter()) 125 tgt.setCostCenter(Reference40_50.convertReference(src.getCostCenter())); 126 if (src.hasQuantity()) 127 tgt.setQuantity(Quantity40_50.convertQuantity(src.getQuantity())); 128 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodysite()) 129 tgt.addBodysite(CodeableConcept40_50.convertCodeableConcept(t)); 130 if (src.hasFactorOverride()) 131 tgt.setFactorOverrideElement(Decimal40_50.convertDecimal(src.getFactorOverrideElement())); 132 if (src.hasPriceOverride()) 133 tgt.setPriceOverride(Money40_50.convertMoney(src.getPriceOverride())); 134 if (src.hasOverrideReason()) 135 tgt.setOverrideReasonElement(String40_50.convertString(src.getOverrideReasonElement())); 136 if (src.hasEnterer()) 137 tgt.setEnterer(Reference40_50.convertReference(src.getEnterer())); 138 if (src.hasEnteredDate()) 139 tgt.setEnteredDateElement(DateTime40_50.convertDateTime(src.getEnteredDateElement())); 140 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getReason()) 141 tgt.addReason(CodeableConcept40_50.convertCodeableConcept(t)); 142 for (org.hl7.fhir.r5.model.Reference t : src.getService()) tgt.addService(Reference40_50.convertReference(t)); 143 if (src.getProductFirstRep().hasConcept()) 144 tgt.setProduct(CodeableConcept40_50.convertCodeableConcept(src.getProductFirstRep().getConcept())); 145 if (src.getProductFirstRep().hasReference()) 146 tgt.setProduct(Reference40_50.convertReference(src.getProductFirstRep().getReference())); 147 for (org.hl7.fhir.r5.model.Reference t : src.getAccount()) tgt.addAccount(Reference40_50.convertReference(t)); 148 for (org.hl7.fhir.r5.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t)); 149 for (org.hl7.fhir.r5.model.Reference t : src.getSupportingInformation()) 150 tgt.addSupportingInformation(Reference40_50.convertReference(t)); 151 return tgt; 152 } 153 154 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatus> convertChargeItemStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatus> src) throws FHIRException { 155 if (src == null || src.isEmpty()) 156 return null; 157 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatus> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatusEnumFactory()); 158 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 159 switch (src.getValue()) { 160 case PLANNED: 161 tgt.setValue(org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatus.PLANNED); 162 break; 163 case BILLABLE: 164 tgt.setValue(org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatus.BILLABLE); 165 break; 166 case NOTBILLABLE: 167 tgt.setValue(org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatus.NOTBILLABLE); 168 break; 169 case ABORTED: 170 tgt.setValue(org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatus.ABORTED); 171 break; 172 case BILLED: 173 tgt.setValue(org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatus.BILLED); 174 break; 175 case ENTEREDINERROR: 176 tgt.setValue(org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatus.ENTEREDINERROR); 177 break; 178 case UNKNOWN: 179 tgt.setValue(org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatus.UNKNOWN); 180 break; 181 default: 182 tgt.setValue(org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatus.NULL); 183 break; 184 } 185 return tgt; 186 } 187 188 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatus> convertChargeItemStatus(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.ChargeItem.ChargeItemStatus> src) throws FHIRException { 189 if (src == null || src.isEmpty()) 190 return null; 191 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatusEnumFactory()); 192 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 193 switch (src.getValue()) { 194 case PLANNED: 195 tgt.setValue(org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatus.PLANNED); 196 break; 197 case BILLABLE: 198 tgt.setValue(org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatus.BILLABLE); 199 break; 200 case NOTBILLABLE: 201 tgt.setValue(org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatus.NOTBILLABLE); 202 break; 203 case ABORTED: 204 tgt.setValue(org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatus.ABORTED); 205 break; 206 case BILLED: 207 tgt.setValue(org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatus.BILLED); 208 break; 209 case ENTEREDINERROR: 210 tgt.setValue(org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatus.ENTEREDINERROR); 211 break; 212 case UNKNOWN: 213 tgt.setValue(org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatus.UNKNOWN); 214 break; 215 default: 216 tgt.setValue(org.hl7.fhir.r4.model.ChargeItem.ChargeItemStatus.NULL); 217 break; 218 } 219 return tgt; 220 } 221 222 public static org.hl7.fhir.r5.model.ChargeItem.ChargeItemPerformerComponent convertChargeItemPerformerComponent(org.hl7.fhir.r4.model.ChargeItem.ChargeItemPerformerComponent src) throws FHIRException { 223 if (src == null) 224 return null; 225 org.hl7.fhir.r5.model.ChargeItem.ChargeItemPerformerComponent tgt = new org.hl7.fhir.r5.model.ChargeItem.ChargeItemPerformerComponent(); 226 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 227 if (src.hasFunction()) 228 tgt.setFunction(CodeableConcept40_50.convertCodeableConcept(src.getFunction())); 229 if (src.hasActor()) 230 tgt.setActor(Reference40_50.convertReference(src.getActor())); 231 return tgt; 232 } 233 234 public static org.hl7.fhir.r4.model.ChargeItem.ChargeItemPerformerComponent convertChargeItemPerformerComponent(org.hl7.fhir.r5.model.ChargeItem.ChargeItemPerformerComponent src) throws FHIRException { 235 if (src == null) 236 return null; 237 org.hl7.fhir.r4.model.ChargeItem.ChargeItemPerformerComponent tgt = new org.hl7.fhir.r4.model.ChargeItem.ChargeItemPerformerComponent(); 238 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 239 if (src.hasFunction()) 240 tgt.setFunction(CodeableConcept40_50.convertCodeableConcept(src.getFunction())); 241 if (src.hasActor()) 242 tgt.setActor(Reference40_50.convertReference(src.getActor())); 243 return tgt; 244 } 245}