Add eight clinical modules for 3.1 - #84
Conversation
Publish Service Request, Specimen, Diagnostic Report, Consent, Files, Questionnaire Response, Care Team and Notes from the care_docs sources. Adds thirty flows, refreshes seven concepts and adds a new Files concept. Notes ships with its recorded demo videos under static/media.
Deploying coredocs with
|
| Latest commit: |
296bb6b
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://ce8b4bc7.coredocs.pages.dev |
| Branch Preview URL: | https://docs-clinical-modules-2.coredocs.pages.dev |
There was a problem hiding this comment.
Generated by Docs Reviewer for #84 · opus50 · 189.6 AIC · ⌖ 17.5 AIC · ⊞ 11K
| --- | ||
|
|
||
| # Care team | ||
| # Clinical - Care Team |
There was a problem hiding this comment.
The concept template says the H1 is "the resource name in sentence case" (.claude/skills/care-concept-doc/assets/concept-template.md), and checklist item 9 repeats it. # Clinical - Care Team prefixes the domain and uses title case. Use # Care team. The same change is needed in diagnostic-report.mdx, files.mdx, service-request.mdx and specimen.mdx, which all gained a # Clinical - ... H1 in this pull request.
| ## Definition | ||
|
|
||
| The **care team** of an [encounter](../clinical/encounter.mdx) is the list of users who look after the patient during that episode of care. Each member holds a practitioner role, such as a physician or a nurse. The first member in the list is the primary member, and Care shows that member on the encounter card and on printed documents. A care team belongs to one encounter, so a patient with two open encounters has two separate care teams. | ||
| The **[care team](https://build.fhir.org/encounter.html#Encounter.participant)** lists the staff who look after a patient during one encounter. Each entry names a staff member and the clinical role that person holds on that encounter. Care keeps the team as a list on the encounter. Care does not keep the team as a separate record with its own identifier, status, or time period. The list matches the participant part of the FHIR R5 Encounter resource. It does not match the standalone [FHIR CareTeam](https://build.fhir.org/careteam.html) resource. |
There was a problem hiding this comment.
Checklist item 7 and the concept template both allow the FHIR link but forbid narrating the mapping. "The list matches the participant part of the FHIR R5 Encounter resource. It does not match the standalone FHIR CareTeam resource" is exactly that narration. Keep the linked bold term and drop both sentences. The same fix applies to notes.mdx line 11 and the ## FHIR R5 alignment section in questionnaire-response.mdx.
| | `can_read_encounter_clinical_data` | Read an encounter's clinical data; alternatively satisfies viewing an encounter-linked response from the encounter side | Admin, Doctor, Nurse, Facility Admin | | ||
| | `can_submit_patient_questionnaire` | Submit a questionnaire about a patient; required to update (correct) a response not linked to an encounter | Volunteer, Staff, Doctor, Nurse, Admin, Facility Admin, Administrator | | ||
| | `can_submit_encounter_questionnaire` | Submit a questionnaire about a patient encounter; required to update (correct) an encounter-linked response | Staff, Doctor, Nurse, Admin, Facility Admin | | ||
| ## FHIR R5 alignment |
There was a problem hiding this comment.
## FHIR R5 alignment is an invented section — the concept template allows only Definition, Key Attributes (with ### sub-sections), Status and Related, in that order (checklist item 8). Its content is also mapping narration, which item 7 forbids. Delete the section and keep the FHIR link on the bold first mention in Definition.
|
|
||
| - Care refuses the change when the encounter is in a completed state. | ||
| - Care refuses a member who cannot see the encounter. | ||
| ## Where to find it |
There was a problem hiding this comment.
## Where to find it is not a template section (checklist item 8). Navigation belongs in the flow's Steps, and these pages already have view-the-care-team.mdx. Fold this into the flow and remove the section here; diagnostic-report.mdx line 58 has the same added section.
| | --- | --- | --- | | ||
| | `can_read_encounter` | See the care team of an encounter. | Admin, Doctor, Nurse, Facility Admin | | ||
| | `can_write_encounter` | Add a member, remove a member, or change the primary member. | Admin, Doctor, Nurse, Facility Admin | | ||
| | Update Encounter non clinical | Administrator, Doctor, Nurse, Facility Administrator | Add members, remove members, and reorder members. | |
There was a problem hiding this comment.
The permission table columns vary across the eight concepts in this pull request: Permission | Who holds it | What it allows here, Action | Permission in consent.mdx and files.mdx, Permission | Roles in diagnostic-report.mdx, Action | Permission | Roles in notes.mdx. Checklist item 14 asks for one term for one thing across the scope — pick one shape and use it in all eight. Also please confirm "Update Encounter non clinical" is the display name in care/security/permissions/encounter.py; the care team members list reads as clinical data, so this may be the wrong permission.
| | Advance Care Directive | Consent for the actions to take if the patient can no longer decide. | | ||
|
|
||
| The category names what the patient is deciding about. Care recognises seven: | ||
| Note: Care also holds a **Comfort Care** category, but the consent form has no option for it. You cannot select Comfort Care. This is a known gap in the product. |
There was a problem hiding this comment.
"This is a known gap in the product" is a judgement about the roadmap, not documentation of what Care does. State the behaviour plainly and stop: "You cannot select Comfort Care on the consent form." The same phrase appears at line 66 of this file and in files.mdx.
| give a reason. You cannot undo an archive action. Care has no permanent delete action. | ||
| Archiving is the only way to remove a file from active use. | ||
|
|
||
| ## Permissions |
There was a problem hiding this comment.
These permission rows say "the same permission that lets you view clinical data for the Patient or the Encounter", which names no permission. Checklist item 16 requires permissions traceable to care; item 5 wants the plain-language name, not a placeholder. Trace the file viewset's authorize_* methods in ohcnetwork/care and give the real display names, for example "Can view clinical data about patients".
|
|
||
| ## Definition | ||
|
|
||
| A **file** in Care is an attachment that you upload and link to another record. You can |
There was a problem hiding this comment.
Concepts are strictly user-facing (checklist item 3), yet "Note: Care stores files as generic attachments. This module has no formal FHIR R5 resource mapping in Care" is implementation and FHIR-mapping narration (item 7). Delete the note — a concept does not need to explain the absence of a FHIR resource.
|
|
||
| This flow describes how to find [Clinical Notes](../../../concepts/clinical/notes.mdx) discussions in Care. Care keeps two separate lists. One list belongs to the encounter. The other list belongs to the patient alone. | ||
|
|
||
| <video src="/media/clinical/notes/3.%20Find%20discussions%20for%20a%20patient%20or%20an%20encounter.mp4" poster="/media/clinical/notes/3.%20Find%20discussions%20for%20a%20patient%20or%20an%20encounter.png" controls width="720"></video> |
There was a problem hiding this comment.
The media filenames carry numeric prefixes and spaces (3. Find discussions for a patient or an encounter.mp4), so every reference needs %20 encoding and the ordinal is meaningless once the file is served. Rename the assets to kebab-case, for example /media/clinical/notes/find-discussions.mp4, and update the three flow pages. Please also confirm the raw <video> element is how this site embeds media — no other page in versioned_docs/ does this today.
| **Clinical Notes** is the space where staff record and exchange written notes about a patient. Care groups the messages into titled discussions, so different topics stay separate. You find Clinical Notes in the **Notes** tab, which shows a panel called **Discussions**. | ||
|
|
||
| In Care's FHIR-aligned model, clinical notes map to the **Communication** resource — running written exchanges about a patient. A note thread holds: | ||
| Clinical Notes is a Care feature for staff collaboration. Care does not map Clinical Notes to an FHIR R5 resource. |
There was a problem hiding this comment.
Two problems on this line. "Care does not map Clinical Notes to an FHIR R5 resource" is mapping narration that checklist item 7 removes. And the page H1 is now # Notes while the body says "Clinical Notes" — item 14 wants one term for one thing. Pick the user-facing label from care_fe public/locale/en.json and use it in the H1, the body and the sidebar category.
What
Publishes eight clinical modules from
care_docsinto the docs site (version 3.1). 30 flows, 7 refreshed concepts and 1 new concept.All sit as module categories under
Flows > Clinical.Module naming
Two modules were retargeted so they land on the pages the site already has:
Clinical/Clinical Notesconcepts/clinical/notesClinical/Care Teamconcepts/clinical/care-teamClinical Noteshad no frontmatter at all, so it was added to the concept and all three flows.Filesis new. It has no existing concept page; the closest relative is the technicalreferences/platform/file-upload.mdx, which sits under the platform domain. The concept is published underclinicalsince the flows are all patient and encounter context. Worth confirming that is where it belongs.Demo videos
The Notes flows embed screen recordings. These are now copied to
static/media/clinical/notes/and referenced by absolute URL, so they are served with the site. This is the first module with recorded media to be published.Note for reviewers
Seven concepts are replaced, not extended. The Care Team concept in particular was added recently in #59 — worth checking the authored version covers what that one did.
Flow titles were converted from "How to Record a Consent" to "Record a consent", matching the other modules.
Verification
Docusaurus build passes for both
enandmllocales.