notebookvb

This commit is contained in:
Vladimir Buzalka
2026-06-14 08:22:25 +02:00
parent 2346ad7739
commit 9133fe9497
9 changed files with 355 additions and 295 deletions
+31 -13
View File
@@ -241,34 +241,46 @@ request {
}
```
### Request Creation (Vytvoření požadavku lékařem) — ODCHYCENO 2026-06-13
### Request Creation (Vytvoření požadavku "Recept na léky") — ODCHYCENO/OVĚŘENO 2026-06-13
Lékařský účet (klinický token) **NEumí vyplnit pacientský dotazník** smysluplně — formulář
„Recept na léky" má z lékařské strany (`sid: ERECEPT_SIMPLEST_BEZ_DAVKOVANI`) jen jedno
pole `nazev-leku`, kdežto pacient v appce vyplní dvě pole („Název léků" + „Poznámka").
**Proto: obsah z e-mailu zapisujeme do INTERNÍ POZNÁMKY, ne do dotazníku.**
Přes API **lze založit požadavek s plně vyplněným pacientským dotazníkem** (oba fieldy),
takže vypadá jako reálné podání pacientem. Funkce: `mcp_medevio.zaloz_pozadavek_recept`.
(Pozn.: lékařské UI „Nový požadavek" pole dotazníku NEzobrazí — ale API je přijme.)
Vytvoření prázdného požadavku „Recept na léky" je **dvoukrok**:
**Dvoukrok (+ volitelně štítek):**
```graphql
# 1) vytvoř (prázdný) ECRF fill → vrátí ecrfFill.id
mutation ClinicRequestCreateModal_FillECRFForm($input: FillECRFFormInput!) {
ecrfFill: fillECRFForm(input: $input) { id }
# 1) vyplň ECRF formulář → vrátí ecrfFill.id
mutation Step_FillECRFForm($input: FillECRFFormInput!) {
patientEcrfFill: fillECRFForm(input: $input) { id }
}
# input: { byDoctor: true, fields: [], patientId, sid: "ERECEPT_SIMPLEST_BEZ_DAVKOVANI", stepId: "erecept-gp-request" }
# input: {
# patientId, sid: "ERECEPT_SIMPLEST_BEZ_DAVKOVANI", stepId: "erecept-gp-request",
# byDoctor: false,
# fields: [{ fieldName: "nazev-leku", value: "<léky>", checkedEnumerations: [] }]
# } → pole "Název léků" v dotazníku
# 2) vytvoř požadavek s odkazem na ecrfFill
mutation ClinicRequestCreateModal_CreateRequest($clinicSlug: String!, $input: CreatePatientRequestWithoutReservationInput!) {
# 2) vytvoř požadavek
mutation ...CreatePatientRequestWithoutReservation($clinicSlug: String!, $input: ...) {
patientRequest: createPatientRequestWithoutReservation(clinicSlug: $clinicSlug, input: $input) { id }
}
# input: { patientId, userECRFId, ecrfFillIds: [<id z kroku 1>], createdByDoctor: true, shouldInvitePatient: false }
# input: {
# patientId, userECRFId, ecrfFillIds: [<id z kroku 1>], medicalRecordIds: [], challengeId: null,
# userNote: "<poznámka>", ← zobrazí se jako pole "Poznámka" v dotazníku
# createdByDoctor: false
# }
```
POZOR: `createPatientRequest` (bez „WithoutReservation") požadavek vytvoří, ale
NEZOBRAZÍ se v žádné frontě — používat `createPatientRequestWithoutReservation`.
| Klíč | Hodnota |
|------|---------|
| ECRF „Recept na léky" `userECRFId` | `79488e86-e9e5-47e3-8b19-7e5229427f23` |
| ECRF `sid` | `ERECEPT_SIMPLEST_BEZ_DAVKOVANI` |
| ECRF `stepId` | `erecept-gp-request` |
| pole 1 `fieldName` | `nazev-leku` (→ „Název léků") |
| pole 2 | `userNote` v create inputu (→ „Poznámka") |
Seznam typů požadavků: `UserEcrfAutocomplete_ListUserECRFsByClinic`.
@@ -279,11 +291,17 @@ query TagRequestEditModal_ListTags($clinicSlug: String!, $requestId: UUID!) { .
mutation TagRequestEditModal_AssignTagToRequest($clinicSlug: String!, $requestId: UUID!, $tagId: UUID!) {
tagRequest: assignTagToPatientRequest(clinicSlug: $clinicSlug, patientRequestId: $requestId, tagId: $tagId) { id }
}
# Vytvoření nového štítku:
mutation TagEditModal_CreateTag($clinicSlug: String!, $input: CreateTagInput!) {
tag: createTag(clinicSlug: $clinicSlug, input: $input) { id name color icon important isOrganizationWide }
}
# input: { name, color (např. "SKY"/"ORCHID"), icon: null, important: false, type: "patient_request", isOrganizationWide: false }
```
| Štítek | tagId | barva |
|--------|-------|-------|
| `CLAUDE` | `c136aeca-0625-4c43-b81f-fc3949ec6ba6` | ORCHID |
| `OVĚŘIT PACIENTA` | `9d3271b3-309d-4d20-93ee-285f3e56ba42` | SKY |
| `NEZAPOMENOUT` | `5bced917-83d2-46db-896c-c8e615de1a69` | GREY |
### Request Detail