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.Coding10_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.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Oid10_30;
009import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30;
010import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.UnsignedInt10_30;
011import org.hl7.fhir.exceptions.FHIRException;
012
013public class ImagingStudy10_30 {
014
015  public static org.hl7.fhir.dstu3.model.ImagingStudy convertImagingStudy(org.hl7.fhir.dstu2.model.ImagingStudy src) throws FHIRException {
016    if (src == null || src.isEmpty())
017      return null;
018    org.hl7.fhir.dstu3.model.ImagingStudy tgt = new org.hl7.fhir.dstu3.model.ImagingStudy();
019    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt);
020    if (src.hasUidElement())
021      tgt.setUidElement(Oid10_30.convertOid(src.getUidElement()));
022    if (src.hasAccession())
023      tgt.setAccession(Identifier10_30.convertIdentifier(src.getAccession()));
024    for (org.hl7.fhir.dstu2.model.Identifier t : src.getIdentifier())
025      tgt.addIdentifier(Identifier10_30.convertIdentifier(t));
026    if (src.hasAvailability())
027      tgt.setAvailabilityElement(convertInstanceAvailability(src.getAvailabilityElement()));
028    for (org.hl7.fhir.dstu2.model.Coding t : src.getModalityList()) tgt.addModalityList(Coding10_30.convertCoding(t));
029    if (src.hasPatient())
030      tgt.setPatient(Reference10_30.convertReference(src.getPatient()));
031    if (src.hasStartedElement())
032      tgt.setStartedElement(DateTime10_30.convertDateTime(src.getStartedElement()));
033    if (src.hasReferrer())
034      tgt.setReferrer(Reference10_30.convertReference(src.getReferrer()));
035    if (src.hasInterpreter())
036      tgt.addInterpreter(Reference10_30.convertReference(src.getInterpreter()));
037    if (src.hasNumberOfSeriesElement())
038      tgt.setNumberOfSeriesElement(UnsignedInt10_30.convertUnsignedInt(src.getNumberOfSeriesElement()));
039    if (src.hasNumberOfInstancesElement())
040      tgt.setNumberOfInstancesElement(UnsignedInt10_30.convertUnsignedInt(src.getNumberOfInstancesElement()));
041    for (org.hl7.fhir.dstu2.model.Reference t : src.getProcedure())
042      tgt.addProcedureReference(Reference10_30.convertReference(t));
043    if (src.hasDescriptionElement())
044      tgt.setDescriptionElement(String10_30.convertString(src.getDescriptionElement()));
045    for (org.hl7.fhir.dstu2.model.ImagingStudy.ImagingStudySeriesComponent t : src.getSeries())
046      tgt.addSeries(convertImagingStudySeriesComponent(t));
047    return tgt;
048  }
049
050  public static org.hl7.fhir.dstu2.model.ImagingStudy convertImagingStudy(org.hl7.fhir.dstu3.model.ImagingStudy src) throws FHIRException {
051    if (src == null || src.isEmpty())
052      return null;
053    org.hl7.fhir.dstu2.model.ImagingStudy tgt = new org.hl7.fhir.dstu2.model.ImagingStudy();
054    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt);
055    if (src.hasUidElement())
056      tgt.setUidElement(Oid10_30.convertOid(src.getUidElement()));
057    if (src.hasAccession())
058      tgt.setAccession(Identifier10_30.convertIdentifier(src.getAccession()));
059    for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier())
060      tgt.addIdentifier(Identifier10_30.convertIdentifier(t));
061    if (src.hasAvailability())
062      tgt.setAvailabilityElement(convertInstanceAvailability(src.getAvailabilityElement()));
063    for (org.hl7.fhir.dstu3.model.Coding t : src.getModalityList()) tgt.addModalityList(Coding10_30.convertCoding(t));
064    if (src.hasPatient())
065      tgt.setPatient(Reference10_30.convertReference(src.getPatient()));
066    if (src.hasStartedElement())
067      tgt.setStartedElement(DateTime10_30.convertDateTime(src.getStartedElement()));
068    if (src.hasReferrer())
069      tgt.setReferrer(Reference10_30.convertReference(src.getReferrer()));
070    for (org.hl7.fhir.dstu3.model.Reference t : src.getInterpreter())
071      tgt.setInterpreter(Reference10_30.convertReference(t));
072    if (src.hasNumberOfSeriesElement())
073      tgt.setNumberOfSeriesElement(UnsignedInt10_30.convertUnsignedInt(src.getNumberOfSeriesElement()));
074    if (src.hasNumberOfInstancesElement())
075      tgt.setNumberOfInstancesElement(UnsignedInt10_30.convertUnsignedInt(src.getNumberOfInstancesElement()));
076    for (org.hl7.fhir.dstu3.model.Reference t : src.getProcedureReference())
077      tgt.addProcedure(Reference10_30.convertReference(t));
078    if (src.hasDescriptionElement())
079      tgt.setDescriptionElement(String10_30.convertString(src.getDescriptionElement()));
080    for (org.hl7.fhir.dstu3.model.ImagingStudy.ImagingStudySeriesComponent t : src.getSeries())
081      tgt.addSeries(convertImagingStudySeriesComponent(t));
082    return tgt;
083  }
084
085  public static org.hl7.fhir.dstu2.model.ImagingStudy.ImagingStudySeriesComponent convertImagingStudySeriesComponent(org.hl7.fhir.dstu3.model.ImagingStudy.ImagingStudySeriesComponent src) throws FHIRException {
086    if (src == null || src.isEmpty())
087      return null;
088    org.hl7.fhir.dstu2.model.ImagingStudy.ImagingStudySeriesComponent tgt = new org.hl7.fhir.dstu2.model.ImagingStudy.ImagingStudySeriesComponent();
089    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt);
090    if (src.hasUidElement())
091      tgt.setUidElement(Oid10_30.convertOid(src.getUidElement()));
092    if (src.hasNumberElement())
093      tgt.setNumberElement(UnsignedInt10_30.convertUnsignedInt(src.getNumberElement()));
094    if (src.hasModality())
095      tgt.setModality(Coding10_30.convertCoding(src.getModality()));
096    if (src.hasDescriptionElement())
097      tgt.setDescriptionElement(String10_30.convertString(src.getDescriptionElement()));
098    if (src.hasNumberOfInstancesElement())
099      tgt.setNumberOfInstancesElement(UnsignedInt10_30.convertUnsignedInt(src.getNumberOfInstancesElement()));
100    if (src.hasAvailability())
101      tgt.setAvailabilityElement(convertInstanceAvailability(src.getAvailabilityElement()));
102    if (src.hasBodySite())
103      tgt.setBodySite(Coding10_30.convertCoding(src.getBodySite()));
104    if (src.hasLaterality())
105      tgt.setLaterality(Coding10_30.convertCoding(src.getLaterality()));
106    if (src.hasStartedElement())
107      tgt.setStartedElement(DateTime10_30.convertDateTime(src.getStartedElement()));
108    for (org.hl7.fhir.dstu3.model.ImagingStudy.ImagingStudySeriesInstanceComponent t : src.getInstance())
109      tgt.addInstance(convertImagingStudySeriesInstanceComponent(t));
110    return tgt;
111  }
112
113  public static org.hl7.fhir.dstu3.model.ImagingStudy.ImagingStudySeriesComponent convertImagingStudySeriesComponent(org.hl7.fhir.dstu2.model.ImagingStudy.ImagingStudySeriesComponent src) throws FHIRException {
114    if (src == null || src.isEmpty())
115      return null;
116    org.hl7.fhir.dstu3.model.ImagingStudy.ImagingStudySeriesComponent tgt = new org.hl7.fhir.dstu3.model.ImagingStudy.ImagingStudySeriesComponent();
117    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt);
118    if (src.hasUidElement())
119      tgt.setUidElement(Oid10_30.convertOid(src.getUidElement()));
120    if (src.hasNumberElement())
121      tgt.setNumberElement(UnsignedInt10_30.convertUnsignedInt(src.getNumberElement()));
122    if (src.hasModality())
123      tgt.setModality(Coding10_30.convertCoding(src.getModality()));
124    if (src.hasDescriptionElement())
125      tgt.setDescriptionElement(String10_30.convertString(src.getDescriptionElement()));
126    if (src.hasNumberOfInstancesElement())
127      tgt.setNumberOfInstancesElement(UnsignedInt10_30.convertUnsignedInt(src.getNumberOfInstancesElement()));
128    if (src.hasAvailability())
129      tgt.setAvailabilityElement(convertInstanceAvailability(src.getAvailabilityElement()));
130    if (src.hasBodySite())
131      tgt.setBodySite(Coding10_30.convertCoding(src.getBodySite()));
132    if (src.hasLaterality())
133      tgt.setLaterality(Coding10_30.convertCoding(src.getLaterality()));
134    if (src.hasStartedElement())
135      tgt.setStartedElement(DateTime10_30.convertDateTime(src.getStartedElement()));
136    for (org.hl7.fhir.dstu2.model.ImagingStudy.ImagingStudySeriesInstanceComponent t : src.getInstance())
137      tgt.addInstance(convertImagingStudySeriesInstanceComponent(t));
138    return tgt;
139  }
140
141  public static org.hl7.fhir.dstu3.model.ImagingStudy.ImagingStudySeriesInstanceComponent convertImagingStudySeriesInstanceComponent(org.hl7.fhir.dstu2.model.ImagingStudy.ImagingStudySeriesInstanceComponent src) throws FHIRException {
142    if (src == null || src.isEmpty())
143      return null;
144    org.hl7.fhir.dstu3.model.ImagingStudy.ImagingStudySeriesInstanceComponent tgt = new org.hl7.fhir.dstu3.model.ImagingStudy.ImagingStudySeriesInstanceComponent();
145    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt);
146    if (src.hasUidElement())
147      tgt.setUidElement(Oid10_30.convertOid(src.getUidElement()));
148    if (src.hasNumberElement())
149      tgt.setNumberElement(UnsignedInt10_30.convertUnsignedInt(src.getNumberElement()));
150    if (src.hasSopClassElement())
151      tgt.setSopClassElement(Oid10_30.convertOid(src.getSopClassElement()));
152    if (src.hasTitleElement())
153      tgt.setTitleElement(String10_30.convertString(src.getTitleElement()));
154    return tgt;
155  }
156
157  public static org.hl7.fhir.dstu2.model.ImagingStudy.ImagingStudySeriesInstanceComponent convertImagingStudySeriesInstanceComponent(org.hl7.fhir.dstu3.model.ImagingStudy.ImagingStudySeriesInstanceComponent src) throws FHIRException {
158    if (src == null || src.isEmpty())
159      return null;
160    org.hl7.fhir.dstu2.model.ImagingStudy.ImagingStudySeriesInstanceComponent tgt = new org.hl7.fhir.dstu2.model.ImagingStudy.ImagingStudySeriesInstanceComponent();
161    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt);
162    if (src.hasUidElement())
163      tgt.setUidElement(Oid10_30.convertOid(src.getUidElement()));
164    if (src.hasNumberElement())
165      tgt.setNumberElement(UnsignedInt10_30.convertUnsignedInt(src.getNumberElement()));
166    if (src.hasSopClassElement())
167      tgt.setSopClassElement(Oid10_30.convertOid(src.getSopClassElement()));
168    if (src.hasTitleElement())
169      tgt.setTitleElement(String10_30.convertString(src.getTitleElement()));
170    return tgt;
171  }
172
173  static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ImagingStudy.InstanceAvailability> convertInstanceAvailability(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ImagingStudy.InstanceAvailability> src) throws FHIRException {
174    if (src == null || src.isEmpty())
175      return null;
176    org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ImagingStudy.InstanceAvailability> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.ImagingStudy.InstanceAvailabilityEnumFactory());
177    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
178    switch (src.getValue()) {
179      case ONLINE:
180        tgt.setValue(org.hl7.fhir.dstu2.model.ImagingStudy.InstanceAvailability.ONLINE);
181        break;
182      case OFFLINE:
183        tgt.setValue(org.hl7.fhir.dstu2.model.ImagingStudy.InstanceAvailability.OFFLINE);
184        break;
185      case NEARLINE:
186        tgt.setValue(org.hl7.fhir.dstu2.model.ImagingStudy.InstanceAvailability.NEARLINE);
187        break;
188      case UNAVAILABLE:
189        tgt.setValue(org.hl7.fhir.dstu2.model.ImagingStudy.InstanceAvailability.UNAVAILABLE);
190        break;
191      default:
192        tgt.setValue(org.hl7.fhir.dstu2.model.ImagingStudy.InstanceAvailability.NULL);
193        break;
194    }
195    return tgt;
196  }
197
198  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ImagingStudy.InstanceAvailability> convertInstanceAvailability(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ImagingStudy.InstanceAvailability> src) throws FHIRException {
199    if (src == null || src.isEmpty())
200      return null;
201    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ImagingStudy.InstanceAvailability> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.ImagingStudy.InstanceAvailabilityEnumFactory());
202    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
203    switch (src.getValue()) {
204      case ONLINE:
205        tgt.setValue(org.hl7.fhir.dstu3.model.ImagingStudy.InstanceAvailability.ONLINE);
206        break;
207      case OFFLINE:
208        tgt.setValue(org.hl7.fhir.dstu3.model.ImagingStudy.InstanceAvailability.OFFLINE);
209        break;
210      case NEARLINE:
211        tgt.setValue(org.hl7.fhir.dstu3.model.ImagingStudy.InstanceAvailability.NEARLINE);
212        break;
213      case UNAVAILABLE:
214        tgt.setValue(org.hl7.fhir.dstu3.model.ImagingStudy.InstanceAvailability.UNAVAILABLE);
215        break;
216      default:
217        tgt.setValue(org.hl7.fhir.dstu3.model.ImagingStudy.InstanceAvailability.NULL);
218        break;
219    }
220    return tgt;
221  }
222}