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.Period10_30;
007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Signature10_30;
008import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Instant10_30;
009import org.hl7.fhir.exceptions.FHIRException;
010
011public class Provenance10_30 {
012
013  public static org.hl7.fhir.dstu2.model.Provenance convertProvenance(org.hl7.fhir.dstu3.model.Provenance src) throws FHIRException {
014    if (src == null || src.isEmpty())
015      return null;
016    org.hl7.fhir.dstu2.model.Provenance tgt = new org.hl7.fhir.dstu2.model.Provenance();
017    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt);
018    for (org.hl7.fhir.dstu3.model.Reference t : src.getTarget()) tgt.addTarget(Reference10_30.convertReference(t));
019    if (src.hasPeriod())
020      tgt.setPeriod(Period10_30.convertPeriod(src.getPeriod()));
021    if (src.hasRecordedElement())
022      tgt.setRecordedElement(Instant10_30.convertInstant(src.getRecordedElement()));
023    for (org.hl7.fhir.dstu3.model.Coding t : src.getReason()) tgt.addReason().addCoding(Coding10_30.convertCoding(t));
024    tgt.setActivity(new org.hl7.fhir.dstu2.model.CodeableConcept().addCoding(Coding10_30.convertCoding(src.getActivity())));
025    if (src.hasLocation())
026      tgt.setLocation(Reference10_30.convertReference(src.getLocation()));
027    for (org.hl7.fhir.dstu3.model.UriType t : src.getPolicy()) tgt.addPolicy(t.getValue());
028    for (org.hl7.fhir.dstu3.model.Provenance.ProvenanceAgentComponent t : src.getAgent())
029      tgt.addAgent(convertProvenanceAgentComponent(t));
030    for (org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityComponent t : src.getEntity())
031      tgt.addEntity(convertProvenanceEntityComponent(t));
032    for (org.hl7.fhir.dstu3.model.Signature t : src.getSignature())
033      tgt.addSignature(Signature10_30.convertSignature(t));
034    return tgt;
035  }
036
037  public static org.hl7.fhir.dstu3.model.Provenance convertProvenance(org.hl7.fhir.dstu2.model.Provenance src) throws FHIRException {
038    if (src == null || src.isEmpty())
039      return null;
040    org.hl7.fhir.dstu3.model.Provenance tgt = new org.hl7.fhir.dstu3.model.Provenance();
041    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt);
042    for (org.hl7.fhir.dstu2.model.Reference t : src.getTarget()) tgt.addTarget(Reference10_30.convertReference(t));
043    if (src.hasPeriod())
044      tgt.setPeriod(Period10_30.convertPeriod(src.getPeriod()));
045    if (src.hasRecordedElement())
046      tgt.setRecordedElement(Instant10_30.convertInstant(src.getRecordedElement()));
047    for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getReason())
048      for (org.hl7.fhir.dstu2.model.Coding tc : t.getCoding()) tgt.addReason(Coding10_30.convertCoding(tc));
049    for (org.hl7.fhir.dstu2.model.Coding t : src.getActivity().getCoding())
050      tgt.setActivity(Coding10_30.convertCoding(t));
051    if (src.hasLocation())
052      tgt.setLocation(Reference10_30.convertReference(src.getLocation()));
053    for (org.hl7.fhir.dstu2.model.UriType t : src.getPolicy()) tgt.addPolicy(t.getValue());
054    for (org.hl7.fhir.dstu2.model.Provenance.ProvenanceAgentComponent t : src.getAgent())
055      tgt.addAgent(convertProvenanceAgentComponent(t));
056    for (org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityComponent t : src.getEntity())
057      tgt.addEntity(convertProvenanceEntityComponent(t));
058    for (org.hl7.fhir.dstu2.model.Signature t : src.getSignature())
059      tgt.addSignature(Signature10_30.convertSignature(t));
060    return tgt;
061  }
062
063  public static org.hl7.fhir.dstu2.model.Provenance.ProvenanceAgentComponent convertProvenanceAgentComponent(org.hl7.fhir.dstu3.model.Provenance.ProvenanceAgentComponent src) throws FHIRException {
064    if (src == null || src.isEmpty())
065      return null;
066    org.hl7.fhir.dstu2.model.Provenance.ProvenanceAgentComponent tgt = new org.hl7.fhir.dstu2.model.Provenance.ProvenanceAgentComponent();
067    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt);
068    if (src.hasWhoReference())
069      tgt.setActor(Reference10_30.convertReference(src.getWhoReference()));
070    return tgt;
071  }
072
073  public static org.hl7.fhir.dstu3.model.Provenance.ProvenanceAgentComponent convertProvenanceAgentComponent(org.hl7.fhir.dstu2.model.Provenance.ProvenanceAgentComponent src) throws FHIRException {
074    if (src == null || src.isEmpty())
075      return null;
076    org.hl7.fhir.dstu3.model.Provenance.ProvenanceAgentComponent tgt = new org.hl7.fhir.dstu3.model.Provenance.ProvenanceAgentComponent();
077    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt);
078    if (src.hasActor())
079      tgt.setWho(Reference10_30.convertReference(src.getActor()));
080    return tgt;
081  }
082
083  public static org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityComponent convertProvenanceEntityComponent(org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityComponent src) throws FHIRException {
084    if (src == null || src.isEmpty())
085      return null;
086    org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityComponent tgt = new org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityComponent();
087    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt);
088    if (src.hasRole())
089      tgt.setRoleElement(convertProvenanceEntityRole(src.getRoleElement()));
090    if (src.hasWhatReference() && src.getWhatReference().hasReference())
091      tgt.setReference(src.getWhatReference().getReference());
092    for (org.hl7.fhir.dstu3.model.Provenance.ProvenanceAgentComponent t : src.getAgent())
093      tgt.setAgent(convertProvenanceAgentComponent(t));
094    return tgt;
095  }
096
097  public static org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityComponent convertProvenanceEntityComponent(org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityComponent src) throws FHIRException {
098    if (src == null || src.isEmpty())
099      return null;
100    org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityComponent tgt = new org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityComponent();
101    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt);
102    if (src.hasRole())
103      tgt.setRoleElement(convertProvenanceEntityRole(src.getRoleElement()));
104    if (src.hasReference())
105      tgt.setWhat(new org.hl7.fhir.dstu3.model.Reference().setReference(src.getReference()));
106    if (src.hasAgent())
107      tgt.addAgent(convertProvenanceAgentComponent(src.getAgent()));
108    return tgt;
109  }
110
111  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityRole> convertProvenanceEntityRole(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityRole> src) throws FHIRException {
112    if (src == null || src.isEmpty())
113      return null;
114    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityRole> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityRoleEnumFactory());
115    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
116    switch (src.getValue()) {
117      case DERIVATION:
118        tgt.setValue(org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityRole.DERIVATION);
119        break;
120      case REVISION:
121        tgt.setValue(org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityRole.REVISION);
122        break;
123      case QUOTATION:
124        tgt.setValue(org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityRole.QUOTATION);
125        break;
126      case SOURCE:
127        tgt.setValue(org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityRole.SOURCE);
128        break;
129      default:
130        tgt.setValue(org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityRole.NULL);
131        break;
132    }
133    return tgt;
134  }
135
136  static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityRole> convertProvenanceEntityRole(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Provenance.ProvenanceEntityRole> src) throws FHIRException {
137    if (src == null || src.isEmpty())
138      return null;
139    org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityRole> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityRoleEnumFactory());
140    ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt);
141    switch (src.getValue()) {
142      case DERIVATION:
143        tgt.setValue(org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityRole.DERIVATION);
144        break;
145      case REVISION:
146        tgt.setValue(org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityRole.REVISION);
147        break;
148      case QUOTATION:
149        tgt.setValue(org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityRole.QUOTATION);
150        break;
151      case SOURCE:
152        tgt.setValue(org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityRole.SOURCE);
153        break;
154      default:
155        tgt.setValue(org.hl7.fhir.dstu2.model.Provenance.ProvenanceEntityRole.NULL);
156        break;
157    }
158    return tgt;
159  }
160}