Search in sources :

Example 1 with Vardenhet

use of se.inera.intyg.common.support.model.common.internal.Vardenhet in project webcert by sklintyg.

the class CreateDraftCertificateResponderImplTest method createVardenhet.

private Vardenhet createVardenhet(Vardgivare vardgivare) {
    Vardenhet vardenhet = new Vardenhet();
    vardenhet.setEnhetsid("SE1234567890-1A01");
    vardenhet.setEnhetsnamn("Vardenheten");
    vardenhet.setVardgivare(vardgivare);
    return vardenhet;
}
Also used : Vardenhet(se.inera.intyg.common.support.model.common.internal.Vardenhet)

Example 2 with Vardenhet

use of se.inera.intyg.common.support.model.common.internal.Vardenhet in project webcert by sklintyg.

the class IntygResource method createDraft.

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response createDraft(CreateNewDraftRequest request) {
    Utkast utkast = new Utkast();
    Patient patient = request.getPatient();
    utkast.setPatientPersonnummer(patient.getPersonId());
    utkast.setPatientFornamn(patient.getFornamn());
    utkast.setPatientMellannamn(patient.getMellannamn());
    utkast.setPatientEfternamn(patient.getEfternamn());
    utkast.setIntygsId(request.getIntygId());
    utkast.setIntygsTyp(request.getIntygType());
    utkast.setStatus(UtkastStatus.DRAFT_INCOMPLETE);
    Vardenhet vardenhet = request.getHosPerson().getVardenhet();
    utkast.setEnhetsId(vardenhet.getEnhetsid());
    utkast.setEnhetsNamn(vardenhet.getEnhetsnamn());
    Vardgivare vardgivare = vardenhet.getVardgivare();
    utkast.setVardgivarId(vardgivare.getVardgivarid());
    utkast.setVardgivarNamn(vardgivare.getVardgivarnamn());
    VardpersonReferens vardPerson = new VardpersonReferens();
    vardPerson.setNamn(request.getHosPerson().getFullstandigtNamn());
    vardPerson.setHsaId(request.getHosPerson().getPersonId());
    utkast.setSenastSparadAv(vardPerson);
    utkast.setSkapadAv(vardPerson);
    utkastRepository.save(utkast);
    return Response.ok().build();
}
Also used : Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) Patient(se.inera.intyg.common.support.model.common.internal.Patient) Vardenhet(se.inera.intyg.common.support.model.common.internal.Vardenhet) Vardgivare(se.inera.intyg.common.support.model.common.internal.Vardgivare) VardpersonReferens(se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens) POST(javax.ws.rs.POST) Consumes(javax.ws.rs.Consumes) Produces(javax.ws.rs.Produces)

Example 3 with Vardenhet

use of se.inera.intyg.common.support.model.common.internal.Vardenhet in project webcert by sklintyg.

the class SendCertificateToRecipientTypeConverterTest method buildHosPersonal.

private HoSPersonal buildHosPersonal(String enhetsId, String enhetsnamn, String skapadAvFullstandigtNamn, String skapadAvPersonId, String arbetsplatsKod, String postadress, String postNummer, String postOrt, String epost, String telefonNummer, String vardgivarid, String vardgivarNamn, String forskrivarKod) {
    HoSPersonal hosPersonal = new HoSPersonal();
    Vardenhet vardenhet = new Vardenhet();
    vardenhet.setEnhetsid(enhetsId);
    vardenhet.setEnhetsnamn(enhetsnamn);
    vardenhet.setArbetsplatsKod(arbetsplatsKod);
    vardenhet.setPostadress(postadress);
    vardenhet.setPostnummer(postNummer);
    vardenhet.setPostort(postOrt);
    vardenhet.setEpost(epost);
    vardenhet.setTelefonnummer(telefonNummer);
    Vardgivare vardgivare = new Vardgivare();
    vardgivare.setVardgivarid(vardgivarid);
    vardgivare.setVardgivarnamn(vardgivarNamn);
    vardenhet.setVardgivare(vardgivare);
    hosPersonal.setVardenhet(vardenhet);
    hosPersonal.setFullstandigtNamn(skapadAvFullstandigtNamn);
    hosPersonal.setPersonId(skapadAvPersonId);
    hosPersonal.setForskrivarKod(forskrivarKod);
    return hosPersonal;
}
Also used : HoSPersonal(se.inera.intyg.common.support.model.common.internal.HoSPersonal) Vardenhet(se.inera.intyg.common.support.model.common.internal.Vardenhet) Vardgivare(se.inera.intyg.common.support.model.common.internal.Vardgivare)

Example 4 with Vardenhet

use of se.inera.intyg.common.support.model.common.internal.Vardenhet in project webcert by sklintyg.

the class AbstractUtkastBuilder method populateCopyUtkastFromSignedIntyg.

/*
     * (non-Javadoc)
     *
     * @see
     * se.inera.intyg.webcert.web.service.utkast.CopyUtkastBuilder#populateCopyUtkastFromSignedIntyg(se.inera.intyg.
     * webcert.web.service.utkast.dto.CreateNewDraftCopyRequest, se.inera.intyg.webcert.integration.pu.model.Person)
     */
@Override
public CopyUtkastBuilderResponse populateCopyUtkastFromSignedIntyg(T copyRequest, Person patientDetails, boolean addRelation, boolean coherentJournaling, boolean enforceEnhet) throws ModuleNotFoundException, ModuleException {
    String orignalIntygsId = copyRequest.getOriginalIntygId();
    String originalIntygsTyp = copyRequest.getOriginalIntygTyp();
    String intygsTyp = copyRequest.getTyp();
    IntygContentHolder signedIntygHolder = intygService.fetchIntygData(orignalIntygsId, originalIntygsTyp, coherentJournaling);
    ModuleApi orgModuleApi = moduleRegistry.getModuleApi(originalIntygsTyp);
    Utlatande orgUtlatande;
    try {
        orgUtlatande = orgModuleApi.getUtlatandeFromJson(signedIntygHolder.getContents());
    } catch (IOException e) {
        throw new ModuleException("Could not convert orignal certificate to Utlatande", e);
    }
    GrundData grundData = signedIntygHolder.getUtlatande().getGrundData();
    se.inera.intyg.common.support.model.common.internal.Vardenhet vardenhet = grundData.getSkapadAv().getVardenhet();
    if (coherentJournaling && enforceEnhet) {
        verifyEnhetsAuth(vardenhet.getVardgivare().getVardgivarid(), vardenhet.getEnhetsid(), true);
    }
    LOG.debug("Populating copy with details from signed Intyg '{}'", orignalIntygsId);
    CopyUtkastBuilderResponse builderResponse = new CopyUtkastBuilderResponse();
    builderResponse.setOrginalEnhetsId(vardenhet.getEnhetsid());
    builderResponse.setOrginalEnhetsNamn(vardenhet.getEnhetsnamn());
    builderResponse.setOrginalVardgivarId(vardenhet.getVardgivare().getVardgivarid());
    builderResponse.setOrginalVardgivarNamn(vardenhet.getVardgivare().getVardgivarnamn());
    ModuleApi moduleApi = moduleRegistry.getModuleApi(intygsTyp);
    // Set relation to null if not applicable
    Relation relation = createRelation(copyRequest);
    String newDraftCopyId = intygsIdStrategy.createId();
    String draftCopyJson = getInternalModel(orgUtlatande, moduleApi, copyRequest, patientDetails, relation, newDraftCopyId);
    UtkastStatus utkastStatus = validateDraft(moduleApi, draftCopyJson);
    Utkast utkast = buildUtkastCopy(copyRequest, newDraftCopyId, intygsTyp, addRelation, relation, draftCopyJson, utkastStatus);
    if (patientDetails != null) {
        populatePatientDetailsFromPerson(utkast, patientDetails);
    } else {
        se.inera.intyg.common.support.model.common.internal.Patient patient = signedIntygHolder.getUtlatande().getGrundData().getPatient();
        populatePatientDetailsFromPatient(utkast, patient);
    }
    replacePatientPersonnummerWithNew(utkast, copyRequest);
    builderResponse.setUtkastCopy(utkast);
    return builderResponse;
}
Also used : ModuleApi(se.inera.intyg.common.support.modules.support.api.ModuleApi) UtkastStatus(se.inera.intyg.webcert.common.model.UtkastStatus) CopyUtkastBuilderResponse(se.inera.intyg.webcert.web.service.utkast.dto.CopyUtkastBuilderResponse) Vardenhet(se.inera.intyg.common.support.model.common.internal.Vardenhet) IOException(java.io.IOException) Relation(se.inera.intyg.common.support.model.common.internal.Relation) IntygContentHolder(se.inera.intyg.webcert.web.service.intyg.dto.IntygContentHolder) Utlatande(se.inera.intyg.common.support.model.common.internal.Utlatande) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) GrundData(se.inera.intyg.common.support.model.common.internal.GrundData) ModuleException(se.inera.intyg.common.support.modules.support.api.exception.ModuleException) Patient(se.inera.intyg.common.support.model.common.internal.Patient)

Example 5 with Vardenhet

use of se.inera.intyg.common.support.model.common.internal.Vardenhet in project webcert by sklintyg.

the class CreateDraftCertificateResponderImpl method addVardenhetToRegistry.

private void addVardenhetToRegistry(CreateNewDraftRequest utkastsRequest) {
    Vardenhet vardenhet = utkastsRequest.getHosPerson().getVardenhet();
    Vardgivare vardgivare = vardenhet.getVardgivare();
    IntegreradEnhetEntry integreradEnhet = new IntegreradEnhetEntry(vardenhet.getEnhetsid(), vardenhet.getEnhetsnamn(), vardgivare.getVardgivarid(), vardgivare.getVardgivarnamn());
    integreradeEnheterRegistry.putIntegreradEnhet(integreradEnhet, true, false);
}
Also used : IntegreradEnhetEntry(se.inera.intyg.webcert.web.integration.registry.dto.IntegreradEnhetEntry) Vardenhet(se.inera.intyg.common.support.model.common.internal.Vardenhet) Vardgivare(se.inera.intyg.common.support.model.common.internal.Vardgivare)

Aggregations

Vardenhet (se.inera.intyg.common.support.model.common.internal.Vardenhet)20 Vardgivare (se.inera.intyg.common.support.model.common.internal.Vardgivare)13 AbstractVardenhet (se.inera.intyg.infra.integration.hsa.model.AbstractVardenhet)8 Patient (se.inera.intyg.common.support.model.common.internal.Patient)6 HoSPersonal (se.inera.intyg.common.support.model.common.internal.HoSPersonal)5 Before (org.junit.Before)4 Utkast (se.inera.intyg.webcert.persistence.utkast.model.Utkast)4 VardpersonReferens (se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens)4 WebCertUser (se.inera.intyg.webcert.web.service.user.dto.WebCertUser)4 CopyUtkastBuilderResponse (se.inera.intyg.webcert.web.service.utkast.dto.CopyUtkastBuilderResponse)4 ValidateDraftResponse (se.inera.intyg.common.support.modules.support.api.dto.ValidateDraftResponse)3 IntegreradEnhetEntry (se.inera.intyg.webcert.web.integration.registry.dto.IntegreradEnhetEntry)3 IOException (java.io.IOException)2 ModuleApi (se.inera.intyg.common.support.modules.support.api.ModuleApi)2 ModuleException (se.inera.intyg.common.support.modules.support.api.exception.ModuleException)2 WebCertServiceException (se.inera.intyg.webcert.common.service.exception.WebCertServiceException)2 LocalDateTime (java.time.LocalDateTime)1 Consumes (javax.ws.rs.Consumes)1 POST (javax.ws.rs.POST)1 Produces (javax.ws.rs.Produces)1