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;
}
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);
}
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;
}
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);
}
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();
}
Aggregations