001package org.hl7.fhir.convertors.conv10_40.resources10_40;
002
003import org.hl7.fhir.convertors.context.ConversionContext10_40;
004import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40;
005import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40;
006import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40;
007import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40;
008import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40;
009import org.hl7.fhir.exceptions.FHIRException;
010
011public class FamilyMemberHistory10_40 {
012
013  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus> convertFamilyHistoryStatus(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyHistoryStatus> src) throws FHIRException {
014    if (src == null || src.isEmpty())
015      return null;
016    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());
017    ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyElement(src, tgt);
018    switch (src.getValue()) {
019      case PARTIAL:
020        tgt.setValue(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus.PARTIAL);
021        break;
022      case COMPLETED:
023        tgt.setValue(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus.COMPLETED);
024        break;
025      case ENTEREDINERROR:
026        tgt.setValue(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus.ENTEREDINERROR);
027        break;
028      case HEALTHUNKNOWN:
029        tgt.setValue(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus.HEALTHUNKNOWN);
030        break;
031      default:
032        tgt.setValue(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus.NULL);
033        break;
034    }
035    return tgt;
036  }
037
038  static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyHistoryStatus> convertFamilyHistoryStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyHistoryStatus> src) throws FHIRException {
039    if (src == null || src.isEmpty())
040      return null;
041    org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyHistoryStatus> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyHistoryStatusEnumFactory());
042    ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyElement(src, tgt);
043    switch (src.getValue()) {
044      case PARTIAL:
045        tgt.setValue(org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyHistoryStatus.PARTIAL);
046        break;
047      case COMPLETED:
048        tgt.setValue(org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyHistoryStatus.COMPLETED);
049        break;
050      case ENTEREDINERROR:
051        tgt.setValue(org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyHistoryStatus.ENTEREDINERROR);
052        break;
053      case HEALTHUNKNOWN:
054        tgt.setValue(org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyHistoryStatus.HEALTHUNKNOWN);
055        break;
056      default:
057        tgt.setValue(org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyHistoryStatus.NULL);
058        break;
059    }
060    return tgt;
061  }
062
063  public static org.hl7.fhir.r4.model.FamilyMemberHistory convertFamilyMemberHistory(org.hl7.fhir.dstu2.model.FamilyMemberHistory src) throws FHIRException {
064    if (src == null || src.isEmpty())
065      return null;
066    org.hl7.fhir.r4.model.FamilyMemberHistory tgt = new org.hl7.fhir.r4.model.FamilyMemberHistory();
067    ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyDomainResource(src, tgt);
068    for (org.hl7.fhir.dstu2.model.Identifier t : src.getIdentifier())
069      tgt.addIdentifier(Identifier10_40.convertIdentifier(t));
070    if (src.hasPatient())
071      tgt.setPatient(Reference10_40.convertReference(src.getPatient()));
072    if (src.hasDate())
073      tgt.setDateElement(DateTime10_40.convertDateTime(src.getDateElement()));
074    if (src.hasStatus())
075      tgt.setStatusElement(convertFamilyHistoryStatus(src.getStatusElement()));
076    if (src.hasNameElement())
077      tgt.setNameElement(String10_40.convertString(src.getNameElement()));
078    if (src.hasRelationship())
079      tgt.setRelationship(CodeableConcept10_40.convertCodeableConcept(src.getRelationship()));
080    if (src.hasBorn())
081      tgt.setBorn(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getBorn()));
082    if (src.hasAge())
083      tgt.setAge(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getAge()));
084    if (src.hasDeceased())
085      tgt.setDeceased(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getDeceased()));
086    for (org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent t : src.getCondition())
087      tgt.addCondition(convertFamilyMemberHistoryConditionComponent(t));
088    return tgt;
089  }
090
091  public static org.hl7.fhir.dstu2.model.FamilyMemberHistory convertFamilyMemberHistory(org.hl7.fhir.r4.model.FamilyMemberHistory src) throws FHIRException {
092    if (src == null || src.isEmpty())
093      return null;
094    org.hl7.fhir.dstu2.model.FamilyMemberHistory tgt = new org.hl7.fhir.dstu2.model.FamilyMemberHistory();
095    ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyDomainResource(src, tgt);
096    for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier())
097      tgt.addIdentifier(Identifier10_40.convertIdentifier(t));
098    if (src.hasPatient())
099      tgt.setPatient(Reference10_40.convertReference(src.getPatient()));
100    if (src.hasDate())
101      tgt.setDateElement(DateTime10_40.convertDateTime(src.getDateElement()));
102    if (src.hasStatus())
103      tgt.setStatusElement(convertFamilyHistoryStatus(src.getStatusElement()));
104    if (src.hasNameElement())
105      tgt.setNameElement(String10_40.convertString(src.getNameElement()));
106    if (src.hasRelationship())
107      tgt.setRelationship(CodeableConcept10_40.convertCodeableConcept(src.getRelationship()));
108    if (src.hasBorn())
109      tgt.setBorn(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getBorn()));
110    if (src.hasAge())
111      tgt.setAge(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getAge()));
112    if (src.hasDeceased())
113      tgt.setDeceased(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getDeceased()));
114    for (org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent t : src.getCondition())
115      tgt.addCondition(convertFamilyMemberHistoryConditionComponent(t));
116    return tgt;
117  }
118
119  public static org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent convertFamilyMemberHistoryConditionComponent(org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent src) throws FHIRException {
120    if (src == null || src.isEmpty())
121      return null;
122    org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent tgt = new org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent();
123    ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyBackboneElement(src,tgt);
124    if (src.hasCode())
125      tgt.setCode(CodeableConcept10_40.convertCodeableConcept(src.getCode()));
126    if (src.hasOutcome())
127      tgt.setOutcome(CodeableConcept10_40.convertCodeableConcept(src.getOutcome()));
128    if (src.hasOnset())
129      tgt.setOnset(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getOnset()));
130    return tgt;
131  }
132
133  public static org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent convertFamilyMemberHistoryConditionComponent(org.hl7.fhir.dstu2.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent src) throws FHIRException {
134    if (src == null || src.isEmpty())
135      return null;
136    org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent tgt = new org.hl7.fhir.r4.model.FamilyMemberHistory.FamilyMemberHistoryConditionComponent();
137    ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyBackboneElement(src,tgt);
138    if (src.hasCode())
139      tgt.setCode(CodeableConcept10_40.convertCodeableConcept(src.getCode()));
140    if (src.hasOutcome())
141      tgt.setOutcome(CodeableConcept10_40.convertCodeableConcept(src.getOutcome()));
142    if (src.hasOnset())
143      tgt.setOnset(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getOnset()));
144    return tgt;
145  }
146}