Search in sources :

Example 21 with VardpersonReferens

use of se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens in project webcert by sklintyg.

the class TestIntygFactory method createUtkast.

public static Utkast createUtkast(String id, LocalDateTime lastUpdated, String type, String modifiedBy, String modifiedByHsaId, UtkastStatus status, Personnummer patientId) {
    VardpersonReferens vp = new VardpersonReferens();
    vp.setNamn(modifiedBy);
    vp.setHsaId(modifiedByHsaId);
    Utkast utkast = new Utkast();
    utkast.setIntygsId(id);
    utkast.setSenastSparadAv(vp);
    utkast.setSkapadAv(vp);
    utkast.setIntygsTyp(type);
    utkast.setStatus(status);
    utkast.setSenastSparadDatum(lastUpdated);
    utkast.setPatientFornamn("Tolvan");
    utkast.setPatientEfternamn("Tolvsson");
    utkast.setPatientPersonnummer(patientId);
    return utkast;
}
Also used : Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) VardpersonReferens(se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens)

Example 22 with VardpersonReferens

use of se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens in project webcert by sklintyg.

the class SignaturServiceImplTest method setup.

@Before
public void setup() throws Exception {
    hoSPerson = new HoSPersonal();
    hoSPerson.setPersonId("AAA");
    hoSPerson.setFullstandigtNamn("Dr Dengroth");
    VardpersonReferens vardperson = new VardpersonReferens();
    vardperson.setHsaId(hoSPerson.getPersonId());
    vardperson.setNamn(hoSPerson.getFullstandigtNamn());
    utkast = createUtkast(INTYG_ID, 1, INTYG_TYPE, UtkastStatus.DRAFT_INCOMPLETE, INTYG_JSON, vardperson, ENHET_ID, PERSON_ID);
    completedUtkast = createUtkast(INTYG_ID, 2, INTYG_TYPE, UtkastStatus.DRAFT_COMPLETE, INTYG_JSON, vardperson, ENHET_ID, PERSON_ID);
    signedUtkast = createUtkast(INTYG_ID, 3, INTYG_TYPE, UtkastStatus.SIGNED, INTYG_JSON, vardperson, ENHET_ID, PERSON_ID);
    vardenhet = new Vardenhet(ENHET_ID, "testNamn");
    vardgivare = new Vardgivare("123", "vardgivare");
    vardgivare.setVardenheter(Collections.singletonList(vardenhet));
    user = createWebCertUser(true);
    when(webcertUserService.getUser()).thenReturn(user);
    when(moduleRegistry.getModuleApi(any())).thenReturn(moduleApi);
    when(moduleApi.updateBeforeSigning(any(), any(), any())).thenReturn(INTYG_JSON);
    Utlatande utlatande = mock(Utlatande.class);
    GrundData grunddata = new GrundData();
    grunddata.setSkapadAv(new HoSPersonal());
    when(utlatande.getGrundData()).thenReturn(grunddata);
    when(moduleApi.getUtlatandeFromJson(anyString())).thenReturn(utlatande);
    setTypedField(intygSignatureService, new SignaturTicketTracker());
    pagaendeSignering = mock(PagaendeSignering.class);
    when(pagaendeSignering.getInternReferens()).thenReturn(PAGAENDE_SIGN_ID);
    when(pagaendeSignering.getIntygData()).thenReturn(INTYG_JSON);
    when(pagaendeSignering.getIntygsId()).thenReturn(INTYG_ID);
    when(pagaendeSignering.getSigneradAvHsaId()).thenReturn(hoSPerson.getPersonId());
    when(pagaendeSignering.getSigneradAvNamn()).thenReturn(hoSPerson.getFullstandigtNamn());
    when(pagaendeSigneringRepository.findOne(any())).thenReturn(pagaendeSignering);
    when(pagaendeSigneringRepository.save(any(PagaendeSignering.class))).thenReturn(pagaendeSignering);
}
Also used : HoSPersonal(se.inera.intyg.common.support.model.common.internal.HoSPersonal) Utlatande(se.inera.intyg.common.support.model.common.internal.Utlatande) GrundData(se.inera.intyg.common.support.model.common.internal.GrundData) PagaendeSignering(se.inera.intyg.webcert.persistence.utkast.model.PagaendeSignering) Vardenhet(se.inera.intyg.infra.integration.hsa.model.Vardenhet) Vardgivare(se.inera.intyg.infra.integration.hsa.model.Vardgivare) VardpersonReferens(se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens) Before(org.junit.Before)

Example 23 with VardpersonReferens

use of se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens in project webcert by sklintyg.

the class UtkastTestUtil method buildUtkast.

public static Utkast buildUtkast(String intygsId, String enhetsId, UtkastStatus status, String type, String hoSPersonId, String hoSPersonNamn, Personnummer personNummer, String personFornamn, String personMellannamn, String personEfternamn, String model, LocalDateTime senastSparadDatum, String relationIntygsId, RelationKod relationKod, String vardgivarId) {
    Utkast intyg = new Utkast();
    intyg.setVardgivarId(vardgivarId);
    intyg.setIntygsId(intygsId);
    intyg.setIntygsTyp(type);
    intyg.setEnhetsId(enhetsId);
    intyg.setPatientPersonnummer(personNummer);
    intyg.setPatientFornamn(personFornamn);
    intyg.setPatientMellannamn(personMellannamn);
    intyg.setPatientEfternamn(personEfternamn);
    VardpersonReferens vardpersonReferens = new VardpersonReferens();
    vardpersonReferens.setHsaId(hoSPersonId);
    vardpersonReferens.setNamn(hoSPersonNamn);
    intyg.setSenastSparadAv(vardpersonReferens);
    intyg.setSenastSparadDatum(LocalDateTime.now());
    intyg.setSkapadAv(vardpersonReferens);
    if (senastSparadDatum != null) {
        intyg.setSenastSparadDatum(senastSparadDatum);
    }
    intyg.setStatus(status);
    intyg.setModel(model);
    intyg.setRelationIntygsId(relationIntygsId);
    intyg.setRelationKod(relationKod);
    return intyg;
}
Also used : Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) VardpersonReferens(se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens)

Example 24 with VardpersonReferens

use of se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens in project webcert by sklintyg.

the class UtkastServiceImpl method persistNewDraft.

private Utkast persistNewDraft(CreateNewDraftRequest request, String draftAsJson) {
    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(request.getStatus());
    utkast.setModel(draftAsJson);
    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 creator = UpdateUserUtil.createVardpersonFromHosPerson(request.getHosPerson());
    utkast.setSenastSparadAv(creator);
    utkast.setSkapadAv(creator);
    utkast.setSkapad(LocalDateTime.now());
    return saveDraft(utkast);
}
Also used : Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) VardpersonReferens(se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens)

Example 25 with VardpersonReferens

use of se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens in project webcert by sklintyg.

the class IntygResource method insertUtkast.

@POST
@Consumes(MediaType.APPLICATION_JSON + UTF_8_CHARSET)
@Produces(MediaType.APPLICATION_JSON)
@Path("/utkast")
public Response insertUtkast(IntygContentWrapper intygContents) throws ModuleNotFoundException, IOException {
    String intygsTyp = intygContents.getContents().get("typ").textValue();
    String model = intygContents.getContents().toString();
    Utlatande utlatande = moduleFacade.getUtlatandeFromInternalModel(intygsTyp, model);
    Utkast utkast = new Utkast();
    utkast.setModel(model);
    utkast.setEnhetsId(utlatande.getGrundData().getSkapadAv().getVardenhet().getEnhetsid());
    utkast.setEnhetsNamn(utlatande.getGrundData().getSkapadAv().getVardenhet().getEnhetsnamn());
    utkast.setVardgivarId(utlatande.getGrundData().getSkapadAv().getVardenhet().getVardgivare().getVardgivarid());
    utkast.setIntygsTyp(utlatande.getTyp());
    utkast.setIntygsId(utlatande.getId());
    utkast.setPatientEfternamn(utlatande.getGrundData().getPatient().getEfternamn());
    utkast.setPatientFornamn(utlatande.getGrundData().getPatient().getFornamn());
    utkast.setPatientPersonnummer(utlatande.getGrundData().getPatient().getPersonId());
    if (utlatande.getGrundData().getRelation() != null && utlatande.getGrundData().getRelation().getRelationIntygsId() != null) {
        if (utlatande.getId() != null && utlatande.getId().equals(utlatande.getGrundData().getRelation().getRelationIntygsId())) {
            LOG.error("Utkast relation to itself is invalid.");
        } else {
            utkast.setRelationIntygsId(utlatande.getGrundData().getRelation().getRelationIntygsId());
            utkast.setRelationKod(utlatande.getGrundData().getRelation().getRelationKod());
        }
    }
    utkast.setStatus(intygContents.getUtkastStatus());
    utkast.setVidarebefordrad(false);
    if (utkast.getStatus() == UtkastStatus.SIGNED) {
        Signatur signatur = new Signatur(LocalDateTime.now(), utlatande.getGrundData().getSkapadAv().getPersonId(), utlatande.getId(), model, "ruffel", "fusk");
        utkast.setSignatur(signatur);
    }
    VardpersonReferens vardpersonReferens = new VardpersonReferens();
    vardpersonReferens.setHsaId(utlatande.getGrundData().getSkapadAv().getPersonId());
    vardpersonReferens.setNamn(utlatande.getGrundData().getSkapadAv().getFullstandigtNamn());
    utkast.setSkapadAv(vardpersonReferens);
    utkast.setSenastSparadAv(vardpersonReferens);
    utkastRepository.save(utkast);
    return Response.ok().build();
}
Also used : Signatur(se.inera.intyg.webcert.persistence.utkast.model.Signatur) Utlatande(se.inera.intyg.common.support.model.common.internal.Utlatande) Utkast(se.inera.intyg.webcert.persistence.utkast.model.Utkast) VardpersonReferens(se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens) Path(javax.ws.rs.Path) XPath(javax.xml.xpath.XPath) POST(javax.ws.rs.POST) Consumes(javax.ws.rs.Consumes) Produces(javax.ws.rs.Produces)

Aggregations

VardpersonReferens (se.inera.intyg.webcert.persistence.utkast.model.VardpersonReferens)33 Utkast (se.inera.intyg.webcert.persistence.utkast.model.Utkast)21 Before (org.junit.Before)5 Signatur (se.inera.intyg.webcert.persistence.utkast.model.Signatur)5 Test (org.junit.Test)4 HoSPersonal (se.inera.intyg.common.support.model.common.internal.HoSPersonal)4 Vardenhet (se.inera.intyg.common.support.model.common.internal.Vardenhet)4 SchemaVersion (se.inera.intyg.common.support.modules.support.api.notification.SchemaVersion)4 IntygUser (se.inera.intyg.infra.security.common.model.IntygUser)4 TakResult (se.inera.intyg.webcert.integration.tak.model.TakResult)4 BaseCreateDraftCertificateTest (se.inera.intyg.webcert.web.integration.interactions.createdraftcertificate.BaseCreateDraftCertificateTest)4 IntegreradEnhetEntry (se.inera.intyg.webcert.web.integration.registry.dto.IntegreradEnhetEntry)4 ResultValidator (se.inera.intyg.webcert.web.integration.validators.ResultValidator)4 CreateNewDraftRequest (se.inera.intyg.webcert.web.service.utkast.dto.CreateNewDraftRequest)4 Vardgivare (se.inera.intyg.common.support.model.common.internal.Vardgivare)3 PagaendeSignering (se.inera.intyg.webcert.persistence.utkast.model.PagaendeSignering)3 CreateDraftCertificateResponseType (se.riv.clinicalprocess.healthcond.certificate.createdraftcertificateresponder.v3.CreateDraftCertificateResponseType)3 CreateDraftCertificateType (se.riv.clinicalprocess.healthcond.certificate.createdraftcertificateresponder.v3.CreateDraftCertificateType)3 Intyg (se.riv.clinicalprocess.healthcond.certificate.createdraftcertificateresponder.v3.Intyg)3 TypAvIntyg (se.riv.clinicalprocess.healthcond.certificate.types.v3.TypAvIntyg)3