{{template "base.html" .}} {{define "nav"}} All Patients Home
{{end}} {{define "content"}} {{/* ---- Flash Messages ---- */}} {{if .Synced}}
Sync complete Data has been refreshed from the EHR.
{{end}}
{{/* ---- Left Column: Patient Context ---- */}}
{{/* Practitioner Card */}} {{if .Practitioner}}

Clinician

Active Session
{{if .Practitioner.FirstName}}{{slice .Practitioner.FirstName 0 1}}{{end}}{{if .Practitioner.LastName}}{{slice .Practitioner.LastName 0 1}}{{end}}

{{if .Practitioner.FirstName}}{{.Practitioner.FirstName}} {{end}} {{if .Practitioner.MiddleName}}{{.Practitioner.MiddleName}} {{end}} {{if .Practitioner.LastName}}{{.Practitioner.LastName}}{{end}}

{{if eq .Practitioner.Role "practitioner"}}Health Care Practitioner{{else}}Patient{{end}}
{{end}} {{/* Patient Card */}} {{if .Patient}}

Patient

Active Context
{{if .Patient.FirstName}}{{slice .Patient.FirstName 0 1}}{{end}}{{if .Patient.LastName}}{{slice .Patient.LastName 0 1}}{{end}}

{{if .Patient.FirstName}}{{.Patient.FirstName}} {{end}} {{if .Patient.MiddleName}}{{.Patient.MiddleName}} {{end}} {{if .Patient.LastName}}{{.Patient.LastName}}{{end}}

ID: {{.Patient.FHIRID}}
DOB {{formatDate .Patient.DOB}}
Gender {{titleCase .Patient.Gender}}
Email {{orDash .Patient.Email}}
{{/* Alerts Card */}} {{if hasCriticalAllergies .Allergies}}

Critical Allergies

{{range .Allergies}} {{if eq .Criticality "high"}}
{{.CodeText}} High
{{end}} {{end}}
{{end}} {{/* SMART Inspector */}}
SMART Inspector
FHIR Base URL {{.Session.EHRURL}}
Scopes {{.Session.Scope}}
Access Token {{.Session.AccessToken}}
{{end}}
{{/* ---- Right Column: Clinical Data ---- */}}
{{if .Patient}}

Clinical Record

{{if .LatestSync}}Synced: {{formatDateTime .LatestSync.SyncedAt}}{{else}}Never synced{{end}}
{{/* Observations */}}
{{if .Observations}} {{range $cat, $obs := groupByCategory .Observations}}

{{titleCase $cat}}

{{range $obs}} {{end}}
Date Code Value Interpretation Status
{{orDash .EffectiveDate}} {{orDash .CodeText}} {{if .ValueQuantity}} {{printf "%.4g" (derefFloat64 .ValueQuantity)}} {{.ValueUnit}} {{if or .ReferenceRangeLow .ReferenceRangeHigh}}
Ref: [{{if .ReferenceRangeLow}}{{printf "%.4g" (derefFloat64 .ReferenceRangeLow)}}{{else}}—{{end}} – {{if .ReferenceRangeHigh}}{{printf "%.4g" (derefFloat64 .ReferenceRangeHigh)}}{{else}}—{{end}}]
{{end}} {{else if .ValueString}} {{.ValueString}} {{else}}—{{end}}
{{if .Interpretation}} {{.Interpretation}} {{else}}—{{end}} {{.Status}}
{{end}} {{else}}
No observations found.
{{end}}
{{/* Conditions */}}
{{if .Conditions}}
{{range .Conditions}} {{end}}
Date Condition Status Verification
{{orDash .RecordedDate}} {{orDash .CodeText}} {{if eq .ClinicalStatus "active"}} Active {{else if eq .ClinicalStatus "resolved"}} Resolved {{else}} {{.ClinicalStatus}} {{end}} {{titleCase .VerificationStatus}}
{{else}}
No conditions found.
{{end}}
{{/* Medications */}}
{{if .Medications}}
{{range .Medications}} {{end}}
Authored Medication Dosage Status Requester
{{orDash .AuthoredOn}} {{orDash .MedCodeText}} {{orDash .DosageText}} {{if eq .Status "active"}} Active {{else}} {{.Status}} {{end}} {{orDash .RequesterDisplay}}
{{else}}
No medications found.
{{end}}
{{/* Allergies */}}
{{if .Allergies}}
{{range .Allergies}} {{end}}
Date Allergen Type Criticality Status
{{orDash .RecordedDate}} {{orDash .CodeText}} {{titleCase .Type}} {{if eq .Criticality "high"}} High {{else if eq .Criticality "medium"}} Medium {{else}} {{orDash .Criticality}} {{end}} {{titleCase .ClinicalStatus}}
{{else}}
No allergies found.
{{end}}
{{/* Notes */}}
{{if .DocumentReferences}}
{{range .DocumentReferences}} {{end}}
Date Type Description Status Action
{{orDash .Date}} {{orDash .TypeText}} {{orDash .Description}} {{orDash .Status}} {{if .ContentURL}} View {{else}} Inline {{end}}
{{else}}
No clinical notes found.
{{end}}
{{end}} {{/* End if .Patient */}}
{{end}} {{define "scripts"}} {{end}}