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.Boolean30_40;
009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40;
010import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40;
011import org.hl7.fhir.exceptions.FHIRException;
012
013public class FamilyMemberHistory30_40 {
014
015  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyHistoryStatus> convertFamilyHistoryStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus> src) throws FHIRException {
016    if (src == null || src.isEmpty())
017      return null;
018    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyHistoryStatus> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyHistoryStatusEnumFactory());
019    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
020    switch (src.getValue()) {
021      case PARTIAL:
022        tgt.setValue(org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyHistoryStatus.PARTIAL);
023        break;
024      case COMPLETED:
025        tgt.setValue(org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyHistoryStatus.COMPLETED);
026        break;
027      case ENTEREDINERROR:
028        tgt.setValue(org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyHistoryStatus.ENTEREDINERROR);
029        break;
030      case HEALTHUNKNOWN:
031        tgt.setValue(org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyHistoryStatus.HEALTHUNKNOWN);
032        break;
033      default:
034        tgt.setValue(org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyHistoryStatus.NULL);
035        break;
036    }
037    return tgt;
038  }
039
040  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus> convertFamilyHistoryStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyHistoryStatus> src) throws FHIRException {
041    if (src == null || src.isEmpty())
042      return null;
043    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatusEnumFactory());
044    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
045    switch (src.getValue()) {
046      case PARTIAL:
047        tgt.setValue(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus.PARTIAL);
048        break;
049      case COMPLETED:
050        tgt.setValue(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus.COMPLETED);
051        break;
052      case ENTEREDINERROR:
053        tgt.setValue(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus.ENTEREDINERROR);
054        break;
055      case HEALTHUNKNOWN:
056        tgt.setValue(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus.HEALTHUNKNOWN);
057        break;
058      default:
059        tgt.setValue(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus.NULL);
060        break;
061    }
062    return tgt;
063  }
064
065  public static org.hl7.fhir.dstu3.model.FamilyMemberHistory convertFamilyMemberHistory(org.hl7.fhir.r4.model.FamilyMemberHistory src) throws FHIRException {
066    if (src == null)
067      return null;
068    org.hl7.fhir.dstu3.model.FamilyMemberHistory tgt = new org.hl7.fhir.dstu3.model.FamilyMemberHistory();
069    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt);
070    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
071      tgt.addIdentifier(Identifier30_40.convertIdentifier(t));
072    for (org.hl7.fhir.r4.model.UriType t : src.getInstantiatesCanonical())
073      tgt.addDefinition(new org.hl7.fhir.dstu3.model.Reference(t.getValue()));
074    if (src.hasStatus())
075      tgt.setStatusElement(convertFamilyHistoryStatus(src.getStatusElement()));
076    if (src.hasDataAbsentReason())
077      tgt.setNotDoneReason(CodeableConcept30_40.convertCodeableConcept(src.getDataAbsentReason()));
078    if (src.hasPatient())
079      tgt.setPatient(Reference30_40.convertReference(src.getPatient()));
080    if (src.hasDateElement())
081      tgt.setDateElement(DateTime30_40.convertDateTime(src.getDateElement()));
082    if (src.hasName())
083      tgt.setNameElement(String30_40.convertString(src.getNameElement()));
084    if (src.hasRelationship())
085      tgt.setRelationship(CodeableConcept30_40.convertCodeableConcept(src.getRelationship()));
086    if (src.hasBorn())
087      tgt.setBorn(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getBorn()));
088    if (src.hasAge())
089      tgt.setAge(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getAge()));
090    if (src.hasEstimatedAge())
091      tgt.setEstimatedAgeElement(Boolean30_40.convertBoolean(src.getEstimatedAgeElement()));
092    if (src.hasDeceased())
093      tgt.setDeceased(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getDeceased()));
094    for (org.hl7.fhir.r4.model.CodeableConcept t : src.getReasonCode())
095      tgt.addReasonCode(CodeableConcept30_40.convertCodeableConcept(t));
096    for (org.hl7.fhir.r4.model.Reference t : src.getReasonReference())
097      tgt.addReasonReference(Reference30_40.convertReference(t));
098    for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t));
099    for (org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent t : src.getCondition())
100      tgt.addCondition(convertFamilyMemberHistoryConditionComponent(t));
101    return tgt;
102  }
103
104  public static org.hl7.fhir.r4.model.FamilyMemberHistory convertFamilyMemberHistory(org.hl7.fhir.dstu3.model.FamilyMemberHistory src) throws FHIRException {
105    if (src == null)
106      return null;
107    org.hl7.fhir.r4.model.FamilyMemberHistory tgt = new org.hl7.fhir.r4.model.FamilyMemberHistory();
108    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt);
109    for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier())
110      tgt.addIdentifier(Identifier30_40.convertIdentifier(t));
111    for (org.hl7.fhir.dstu3.model.Reference t : src.getDefinition()) tgt.addInstantiatesCanonical(t.getReference());
112    if (src.hasStatus())
113      tgt.setStatusElement(convertFamilyHistoryStatus(src.getStatusElement()));
114    if (src.hasNotDoneReason())
115      tgt.setDataAbsentReason(CodeableConcept30_40.convertCodeableConcept(src.getNotDoneReason()));
116    if (src.hasPatient())
117      tgt.setPatient(Reference30_40.convertReference(src.getPatient()));
118    if (src.hasDateElement())
119      tgt.setDateElement(DateTime30_40.convertDateTime(src.getDateElement()));
120    if (src.hasName())
121      tgt.setNameElement(String30_40.convertString(src.getNameElement()));
122    if (src.hasRelationship())
123      tgt.setRelationship(CodeableConcept30_40.convertCodeableConcept(src.getRelationship()));
124    if (src.hasBorn())
125      tgt.setBorn(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getBorn()));
126    if (src.hasAge())
127      tgt.setAge(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getAge()));
128    if (src.hasEstimatedAge())
129      tgt.setEstimatedAgeElement(Boolean30_40.convertBoolean(src.getEstimatedAgeElement()));
130    if (src.hasDeceased())
131      tgt.setDeceased(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getDeceased()));
132    for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getReasonCode())
133      tgt.addReasonCode(CodeableConcept30_40.convertCodeableConcept(t));
134    for (org.hl7.fhir.dstu3.model.Reference t : src.getReasonReference())
135      tgt.addReasonReference(Reference30_40.convertReference(t));
136    for (org.hl7.fhir.dstu3.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t));
137    for (org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent t : src.getCondition())
138      tgt.addCondition(convertFamilyMemberHistoryConditionComponent(t));
139    return tgt;
140  }
141
142  public static org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent convertFamilyMemberHistoryConditionComponent(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent src) throws FHIRException {
143    if (src == null)
144      return null;
145    org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent tgt = new org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent();
146    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
147    if (src.hasCode())
148      tgt.setCode(CodeableConcept30_40.convertCodeableConcept(src.getCode()));
149    if (src.hasOutcome())
150      tgt.setOutcome(CodeableConcept30_40.convertCodeableConcept(src.getOutcome()));
151    if (src.hasOnset())
152      tgt.setOnset(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getOnset()));
153    for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t));
154    return tgt;
155  }
156
157  public static org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent convertFamilyMemberHistoryConditionComponent(org.hl7.fhir.dstu3.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent src) throws FHIRException {
158    if (src == null)
159      return null;
160    org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent tgt = new org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent();
161    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt);
162    if (src.hasCode())
163      tgt.setCode(CodeableConcept30_40.convertCodeableConcept(src.getCode()));
164    if (src.hasOutcome())
165      tgt.setOutcome(CodeableConcept30_40.convertCodeableConcept(src.getOutcome()));
166    if (src.hasOnset())
167      tgt.setOnset(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getOnset()));
168    for (org.hl7.fhir.dstu3.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t));
169    return tgt;
170  }
171}