use of org.ehrbase.fhirbridge.ehr.converter.ConversionException in project fhir-bridge by ehrbase.
the class DiagnosticReportLabCompositionConverter method convertInternal.
@Override
protected GECCOLaborbefundComposition convertInternal(DiagnosticReport diagnosticReport) {
if (diagnosticReport.hasContained()) {
if (diagnosticReport.getContained().get(0).getResourceType() != ResourceType.Observation) {
throw new ConversionException("One contained Observation was expected, the contained is present but no observation is within. Instance: " + diagnosticReport.getContained().get(0).getResourceType().toString());
}
GECCOLaborbefundComposition result = new GECCOLaborbefundComposition();
result.setStatusDefiningCode(convertStatus(diagnosticReport));
result.setKategorie(convertCategory(diagnosticReport));
result.setLaborergebnis(convertLaborergebnis(diagnosticReport));
return result;
} else {
throw new ConversionException("One contained Observation was expected " + diagnosticReport.getContained().size() + " were received in DiagnosticReport " + diagnosticReport.getId());
}
}
use of org.ehrbase.fhirbridge.ehr.converter.ConversionException in project fhir-bridge by ehrbase.
the class ZusammenfassungDerBeschaeftigungEvaluationConverter method convertInternal.
@Override
protected ZusammenfassungDerBeschaeftigungEvaluation convertInternal(QuestionnaireResponse.QuestionnaireResponseItemComponent questionnaireResponseItemComponent) {
ZusammenfassungDerBeschaeftigungEvaluation zusammenfassungDerBeschaftigungEvaluation = new ZusammenfassungDerBeschaeftigungEvaluation();
BeschaeftigungCluster beschaftigungCluster = new BeschaeftigungCluster();
switch(getQuestionValueCodeToString(questionnaireResponseItemComponent)) {
case "community":
beschaftigungCluster.setBerufsbereichDefiningCode(BerufsbereichDefiningCode.GEMEINSCHAFTSEINRICHTUNG_SCHULE_KITA_UNIVERSITAET_HEIM_ETC);
break;
case "medical":
beschaftigungCluster.setBerufsbereichDefiningCode(BerufsbereichDefiningCode.MEDIZINISCHEN_BEREICH_PFLEGE_ARZTPRAXIS_ODER_KRANKENHAUS);
break;
case "LA46-8":
beschaftigungCluster.setBerufsbereichDefiningCode(BerufsbereichDefiningCode.SONSTIGES);
break;
default:
throw new ConversionException("The Value Code is not supported, supported ones are community, medical, LA46-8");
}
zusammenfassungDerBeschaftigungEvaluation.setBeschaeftigung(beschaftigungCluster);
return zusammenfassungDerBeschaftigungEvaluation;
}
use of org.ehrbase.fhirbridge.ehr.converter.ConversionException in project fhir-bridge by ehrbase.
the class ReisehistorieAdminEntryConverter method setReiseHistorie.
private void setReiseHistorie(List<ReisehistorieBestimmtesReisezielCluster> reisehistorieBestimmtesReisezielClusters, Observation.ObservationComponentComponent observationComponent) {
Coding coding = observationComponent.getCode().getCoding().get(0);
validateCodeSystemLOINC(coding.getSystem());
String code = coding.getCode();
if (code.equals(HistoryOfTravelCode.LOINC_DATE_TRAVEL_STARTED.getCode())) {
reisehistorieBestimmtesReisezielClusters.add(convertEinreiseDatum(observationComponent));
} else if (code.equals(HistoryOfTravelCode.LOINC_DATE_OF_DEPARTURE_FROM_TRAVEL_DESTINATION.getCode())) {
reisehistorieBestimmtesReisezielClusters.add(convertAbfahrtsDatum(observationComponent));
} else if (code.equals(HistoryOfTravelCode.LOINC_CITY_OF_TRAVEL.getCode())) {
reisehistorieBestimmtesReisezielClusters.add(convertStadtValue(observationComponent));
} else if (code.equals(HistoryOfTravelCode.LOINC_STATE_OF_TRAVEL.getCode())) {
reisehistorieBestimmtesReisezielClusters.add(convertBundeslandRegion(observationComponent));
} else if (code.equals(HistoryOfTravelCode.LOINC_COUNTRY_OF_TRAVEL.getCode())) {
reisehistorieBestimmtesReisezielClusters.add(convertLandCode(observationComponent));
} else {
throw new ConversionException("Expected loinc-code for history of travel, but got '" + coding.getSystem() + ":" + code + "' instead");
}
}
use of org.ehrbase.fhirbridge.ehr.converter.ConversionException in project fhir-bridge by ehrbase.
the class GeccoMedikationObservationConverter method mapStatus.
protected StatusCluster mapStatus(MedicationStatement resource) {
// TODO also reject unfinished ones
StatusCluster statusCluster = new StatusCluster();
String fhirStatus = resource.getStatusElement().getCode();
if (fhirStatus.equals(StatusDefiningCode.ABGESCHLOSSEN.getValue()) || fhirStatus.equals("completed")) {
statusCluster.setStatusDefiningCode(StatusDefiningCode.ABGESCHLOSSEN);
} else if (fhirStatus.equals(StatusDefiningCode.AKTIV.getValue()) || fhirStatus.equals("active")) {
statusCluster.setStatusDefiningCode(StatusDefiningCode.AKTIV);
} else if (fhirStatus.equals(StatusDefiningCode.ANGEHALTEN.getValue()) || fhirStatus.equals("on-hold")) {
statusCluster.setStatusDefiningCode(StatusDefiningCode.ANGEHALTEN);
} else if (fhirStatus.equals(StatusDefiningCode.BEABSICHTIGT.getValue()) || fhirStatus.equals("intended")) {
statusCluster.setStatusDefiningCode(StatusDefiningCode.BEABSICHTIGT);
} else if (fhirStatus.equals(StatusDefiningCode.FEHLERHAFTE_ANWENDUNG.getValue()) || fhirStatus.equals("entered-in-error")) {
throw new InvalidStatusCodeException(resource.getStatusElement().getCode());
} else if (fhirStatus.equals(StatusDefiningCode.GESTOPPT.getValue()) || fhirStatus.equals("stopped")) {
statusCluster.setStatusDefiningCode(StatusDefiningCode.GESTOPPT);
} else if (fhirStatus.equals(StatusDefiningCode.NICHT_GENOMMEN.getValue()) || fhirStatus.equals("not-taken")) {
statusCluster.setStatusDefiningCode(StatusDefiningCode.NICHT_GENOMMEN);
} else if (fhirStatus.equals(StatusDefiningCode.UNBEKANNT.getValue()) || fhirStatus.equals("unknown")) {
statusCluster.setStatusDefiningCode(StatusDefiningCode.UNBEKANNT);
} else {
throw new ConversionException("Invalid Status code " + fhirStatus);
}
return statusCluster;
}
use of org.ehrbase.fhirbridge.ehr.converter.ConversionException in project fhir-bridge by ehrbase.
the class SpecimenConverter method mapSpecimenStatus.
private Optional<ProbeEignungZumTestenChoice> mapSpecimenStatus(Specimen specimenTarget) {
EignungZumTestenDefiningCode eignungZumTestenDefiningcode;
switch(specimenTarget.getStatus()) {
case AVAILABLE:
eignungZumTestenDefiningcode = EignungZumTestenDefiningCode.ZUFRIEDENSTELLEND;
break;
case UNSATISFACTORY:
eignungZumTestenDefiningcode = EignungZumTestenDefiningCode.MANGELHAFT_VERARBEITET;
break;
case ENTEREDINERROR:
case UNAVAILABLE:
case NULL:
eignungZumTestenDefiningcode = EignungZumTestenDefiningCode.MANGELHAFT_NICHT_VERARBEITET;
break;
default:
throw new ConversionException("Unsupported value for specimen status " + specimenTarget.getStatus());
}
ProbeEignungZumTestenDvCodedText eignungZumTesten = new ProbeEignungZumTestenDvCodedText();
eignungZumTesten.setEignungZumTestenDefiningCode(eignungZumTestenDefiningcode);
return Optional.of(eignungZumTesten);
}
Aggregations