package ch.elexis.core.findings.fhir.po.service; import java.util.Date; import org.hl7.fhir.dstu3.model.IdType; import ch.elexis.core.findings.IClinicalImpression; import ch.elexis.core.findings.ICondition; import ch.elexis.core.findings.IEncounter; import ch.elexis.core.findings.IFindingsFactory; import ch.elexis.core.findings.IObservation; import ch.elexis.core.findings.IProcedureRequest; import ch.elexis.core.findings.fhir.po.model.ClinicalImpression; import ch.elexis.core.findings.fhir.po.model.Condition; import ch.elexis.core.findings.fhir.po.model.Encounter; import ch.elexis.core.findings.fhir.po.model.Observation; import ch.elexis.core.findings.fhir.po.model.ProcedureRequest; import ch.elexis.core.findings.util.ModelUtil; public class FindingsFactory implements IFindingsFactory { @Override public IEncounter createEncounter(){ Encounter ret = (Encounter) new Encounter().create(); org.hl7.fhir.dstu3.model.Encounter fhirEncounter = new org.hl7.fhir.dstu3.model.Encounter(); fhirEncounter.setId(new IdType("Encounter", ret.getId())); ModelUtil.saveResource(fhirEncounter, ret); return ret; } @Override public IObservation createObservation(){ Observation ret = new Observation(); return (IObservation) ret.create(); } @Override public ICondition createCondition(){ Condition ret = (Condition) new Condition().create(); org.hl7.fhir.dstu3.model.Condition fhirCondition = new org.hl7.fhir.dstu3.model.Condition(); fhirCondition.setId(new IdType("Condition", ret.getId())); fhirCondition.setDateRecorded(new Date()); ModelUtil.saveResource(fhirCondition, ret); return ret; } @Override public IClinicalImpression createClinicalImpression(){ ClinicalImpression ret = new ClinicalImpression(); return (IClinicalImpression) ret.create(); } @Override public IProcedureRequest createProcedureRequest(){ ProcedureRequest ret = new ProcedureRequest(); return (IProcedureRequest) ret.create(); } }