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