Site settings
How EDFlow site settings work: allowed ranges, settings locked in production, privacy-reducing changes, approvals, history and revert, configuration transfer, and the full settings reference.
Every site setting has a default, an allowed range, a plain explanation and a history. The table at the bottom of this page is generated from the same specification the admin forms and the server use, so it is always current.


How changes are checked
- Ranges: values outside the allowed range are refused by the server, not just the form.
- Locked: some settings are fixed everywhere (for example MFA for administrators) or fixed in production (MFA for all staff).
- Privacy-reducing: turning on something that shows more (named clinician metrics, room labels, detailed lock-screen text) needs a typed confirmation and a fresh sign-in check, and is audited with before and after values.
- Trust anchors: the main phone, patient portal URL, Maps link and the patient-relations and privacy-office contacts need a second approver, because patients rely on them.
- Every change goes through one path, so the same checks apply in the UI, imports and reverts.
History and revert
Settings → History lists every version of the site's settings and catalogues with who, when and what changed. Revert creates a new version with the old values, under the same checks.
Configuration transfer
Export the site's configuration (settings, catalogues, content, request and code types, zones; never patient data, keys or users) as a signed file, and import it into another site with a diff preview. The import applies all or nothing. Use it to promote a tested configuration to production or to clone a site.
Admin search
One search box over users, invites, content, request and code types, tests, sources and settings keys, filtered by what you can open. Patients are never searched here.
Setting groups
| Group | Page |
|---|---|
| Hospital information | Hospital information |
| Zones, beds, shifts, reassessment intervals | Zones, beds and shifts |
| Request types and service levels | Request types |
| Code types | Code types |
| Tests, benchmarks and estimates | Tests and benchmarks |
| Content, tasks and going-home templates | Patient content |
| Languages | Languages |
| Privacy, access and retention | Privacy and retention |
| Notifications | Notifications |
| Waiting-room display | Waiting-room display |
| AI | AI |
Every setting
| Paramètre | Par défaut | Valeurs permises | Effet |
|---|---|---|---|
flow.piaSource | attending_assigned | attending_assigned, explicit | Which event counts as the physician initial assessment (NACRS PIA only when explicit). |
flow.piaRoles | ["attending","resident","nurse_practitioner"] | array | Clinician types whose assignment counts as the PIA. |
flow.assignmentNotifyHoldMinutes | 10 | 5–15 minutes | How long a provider assignment is held before the patient is told (D-25). |
flow.seenInference.firstOrderByAssigned | true | boolean | The assigned clinician's first order infers "seen". |
flow.seenInference.consultRequest | true | boolean | A consult request infers "seen". |
flow.seenInference.disposition | true | boolean | A disposition infers "seen". |
flow.reassessmentInference.newOrderAfterAllBack | true | boolean | A new order after all results are back infers reassessment (D-26). |
flow.reassessmentInference.consultRequest | true | boolean | A consult request infers reassessment. |
flow.reassessmentInference.noteSigned | true | boolean | A signed note infers reassessment. |
flow.reassessmentInference.procedureArea | true | boolean | A move to a procedure area infers reassessment. |
flow.resultComplete.lab | resulted | in_lab, in_progress, performed, preliminary, resulted | Lab status that counts as "Back". |
flow.resultComplete.imaging | preliminary | in_lab, in_progress, performed, preliminary, resulted | Imaging status that counts as "Back" (D-28). |
flow.resultComplete.cardiology | performed | in_lab, in_progress, performed, preliminary, resulted | Cardiology status that counts as "Back". |
flow.resultComplete.imagingByModality | [] | array | Per-modality imaging thresholds, e.g. X-ray at performed where ED physicians read their own films. |
flow.resultsReviewedCountsForImaging | true | boolean | An imaging order with results reviewed counts as "Back". |
flow.manualProfile | lite | lite, full | Manual-mode depth at sites without a feed (D-46). |
flow.manualStaleMinutes | 90 | 30–240 minutes | Manual-lite prompt after this long without an update. |
flow.noUpdateAlertHours | 12 | 4–24 hours | "No updates" alert for the charge nurse (D-50). |
flow.observationIsCdu | false | boolean | Observation happens in a clinical decision unit. |
imaging.serviceHours | [] | array | Modality service hours; empty means 24/7 (D-28). |
imaging.downtime | [] | array | Current imaging downtime per modality (set from W-S06). |
results.displayDelayMinutes | 0 | 0–30 minutes | Delay before a completed result shows as "Back" to the patient. |
results.holdAllowed | true | boolean | Clinicians may hold results (D-29). |
lifecycle.deceasedPauseHours | 24 | 1–72 hours | Pause length after a deceased disposition (D-21). |
reassessment.intervals.ctas2 | 15 | 5–240 minutes | Waiting-room reassessment interval for CTAS 2 (D-53). |
reassessment.intervals.ctas3 | 30 | 5–240 minutes | Waiting-room reassessment interval for CTAS 3. |
reassessment.intervals.ctas4 | 60 | 5–240 minutes | Waiting-room reassessment interval for CTAS 4. |
reassessment.intervals.ctas5 | 120 | 5–240 minutes | Waiting-room reassessment interval for CTAS 5. |
cards.autoPrint | true | boolean | Visit cards print automatically at the print station. |
cards.printAt | after_triage | after_triage, registration | When the card prints (D-43). |
cards.form | card | card, wristband_label | Card or wristband label (discouraged; forces the date-of-birth check on every device, D-51). (Réduit la confidentialité) |
cards.nameDisplay | initials | initials, first_initial, none | Name printed on the visit card. (Réduit la confidentialité) |
cards.shortUrl | — | string | Printed "go to" URL on the card; https on a trusted domain. (Réduit la confidentialité) |
tasks.urineMinAge | 4 | 0–10 age_years | Minimum age for the urine task T-01 (D-44). |
tasks.derivedDelayMinutes | 3 | 0–10 minutes | Delay before derived tasks appear. |
tasks.consentStyle | written | written, verbal | Consent task wording (T-02). |
tasks.consentWho | {"en":"Your nurse","fr":"Votre infirmière ou infirmier"} | object | Who explains the test in the verbal consent task. |
tasks.pregnancyCheckAges.min | 12 | 10–60 age_years | Youngest age for the pregnancy check T-05. |
tasks.pregnancyCheckAges.max | 55 | 10–60 age_years | Oldest age for the pregnancy check T-05. |
capacity.treatmentSpaces | 30 | 1–500 count | Treatment-space capacity, the occupancy denominator (F-08.3). |
privacy.dataProfile | standard | standard, minimal | Data minimization profile (EHR §11.3). (Réduit la confidentialité) |
access.patientGraceHours | 72 | 0–168 hours | How long patient access lasts after departure (D-05). (Réduit la confidentialité) |
access.familyGraceMinutes | 120 | 0–1440 minutes | How long family links last after departure. (Réduit la confidentialité) |
retention.operationalWindowDays | 30 | 7–90 days | Days PHI is kept before de-identification (F-21.2). (Réduit la confidentialité) |
retention.auditDays | 730 | 730–3650 days | Audit log retention. (Réduit la confidentialité) |
retention.analyticsDays | 730 | 365–2555 days | De-identified analytics retention. (Réduit la confidentialité) |
access.guardianAge | 16 | 0–18 age_years | Guardian mode applies below this age. (Réduit la confidentialité) |
access.youthConfidentialAges.min | 12 | 10–18 age_years | Youngest age for youth-confidential mode (D-43). (Réduit la confidentialité) |
access.youthConfidentialAges.max | 17 | 10–18 age_years | Oldest age for youth-confidential mode. (Réduit la confidentialité) |
access.recipientPrompt | true | boolean | Triage asks who receives the card (D-43). (Réduit la confidentialité) |
access.visitCodeSource | edflow | edflow, ehr_visit_number | Random codes or the EHR visit number (only with attested non-sequential numbers; never under minimal). (Réduit la confidentialité) |
retention.safetyRecordYears | 10 | 2–30 years | Retention of care records (D-36). (Réduit la confidentialité) |
sharing.enabled | true | boolean | Patients can share with family. (Réduit la confidentialité) |
sharing.maxLinks | 5 | 1–5 count | Active family links per visit. (Réduit la confidentialité) |
sharing.maxDevicesPerLink | 3 | 1–5 count | Devices per family link (D-14). (Réduit la confidentialité) |
family.showPhotos | false | boolean | Care-team photos in the family view. (Réduit la confidentialité) |
careTeam.namePolicy | first_last_initial | first_last_initial, first_only | How non-physician staff names show to patients (physicians always "Dr. First Last"). (Réduit la confidentialité) |
careTeam.allowPhotos | true | boolean | Staff may opt in to show photos. (Réduit la confidentialité) |
careTeam.photoApproval | true | boolean | Photos need manager approval. (Réduit la confidentialité) |
careTeam.showOtherRoles | true | boolean | Show roles beyond physician and nurse. (Réduit la confidentialité) |
patient.showRoomLabel | false | boolean | Show the room or bed label to the patient. (Réduit la confidentialité) |
careTeam.showTriageNurseName | false | boolean | Show the triage nurse's name. (Réduit la confidentialité) |
bigBoard.nameDisplay | initials | initials, first_last_initial | Names on big-board stations. (Réduit la confidentialité) |
privacy.maskConfidentialNamesOnBoard | true | boolean | Mask confidential names on the board. (Réduit la confidentialité) |
estimates.hideBeforePiaForCtas | [1,2] | array | CTAS levels whose estimate is hidden before the patient is seen (SR-07). |
estimates.showBoardingEstimate | false | boolean | Show the boarding estimate (D-32). |
estimates.streamDimension | true | boolean | Use the stream in triage-to-seen buckets (D-33). |
avs.enabled | true | boolean | After-visit summaries are available. |
avs.allowVisitReason | false | boolean | The AVS may state the visit reason. (Réduit la confidentialité) |
avs.medicationsSection | off | off, prescribers_attested | AVS medicines section with prescriber attestation (D-35). |
analytics.clinicianMetrics | false | boolean | Clinician-level metrics (EHR §12). (Réduit la confidentialité) |
analytics.namedClinicianMetrics | false | boolean | Named clinician metrics; requires clinician metrics (D-20). (Réduit la confidentialité) |
analytics.nurseMetrics | false | boolean | Nurse self-view metrics. (Réduit la confidentialité) |
analytics.minCell | 5 | 5–20 count | Small-cell suppression threshold. (Réduit la confidentialité) |
security.mfaRequiredForAll | true | boolean | MFA for every password sign-in (locked on in production, D-13). (Réduit la confidentialité) |
security.mfaRequiredForAdmins | true | boolean | MFA for manager, privacy and integration roles (locked on everywhere). (Verrouillé, Réduit la confidentialité) |
security.staffIdleLockMinutes | 15 | 5–60 minutes | Staff idle lock. (Réduit la confidentialité) |
security.staffSessionHours | 12 | 8–16 hours | Staff absolute session lifetime. (Réduit la confidentialité) |
security.staffEmailDomains | [] | array | Invite domains that need no approval (D-64). (Réduit la confidentialité) |
security.guestNetworkPrefixes | [] | array | Guest-network prefixes named in breaker alerts, never hard-blocked. (Réduit la confidentialité) |
sso.allowedDomains | [] | array | Entra ID sign-in domains. (Réduit la confidentialité) |
sso.allowedTenants | [] | array | Entra ID tenant ids (guests always refused). (Réduit la confidentialité) |
research.surveyConsentEnabled | false | boolean | Offer the research consent on the survey. (Réduit la confidentialité) |
training.enabled | false | boolean | Training mode is available at this site (F-33.3). |
estimates.windowWeeks | 12 | 4–26 weeks | Sample window for estimates (F-05.3). |
estimates.minSamples | 20 | 10–100 count | Minimum samples per ladder level. |
estimates.flowDefaults | [{"dimension":"","metricKey":"flow.arrival_to_triage","p50":10,"p75":15,"p90":30},{"dimension":"1","metricKey":"flow.triage_to_seen","p50":0,"p75":0,"p90":5},{"dimension":"2","metricKey":"flow.triage_to_seen","p50":15,"p75":25,"p90":45},{"dimension":"3","metricKey":"flow.triage_to_seen","p50":60,"p75":90,"p90":180},{"dimension":"4","metricKey":"flow.triage_to_seen","p50":90,"p75":120,"p90":240},{"dimension":"5","metricKey":"flow.triage_to_seen","p50":90,"p75":135,"p90":240},{"dimension":"1","metricKey":"flow.triage_to_pia","p50":0,"p75":0,"p90":5},{"dimension":"2","metricKey":"flow.triage_to_pia","p50":15,"p75":25,"p90":45},{"dimension":"3","metricKey":"flow.triage_to_pia","p50":60,"p75":90,"p90":180},{"dimension":"4","metricKey":"flow.triage_to_pia","p50":90,"p75":120,"p90":240},{"dimension":"5","metricKey":"flow.triage_to_pia","p50":90,"p75":135,"p90":240},{"dimension":"","metricKey":"flow.seen_to_first_order","p50":15,"p75":25,"p90":45},{"dimension":"","metricKey":"flow.seen_to_decision_no_tests","p50":30,"p75":45,"p90":90},{"dimension":"","metricKey":"flow.testing","p50":120,"p75":160,"p90":240},{"dimension":"","metricKey":"flow.results_to_reassessment","p50":30,"p75":45,"p90":90},{"dimension":"","metricKey":"flow.boarding","p50":360,"p75":720,"p90":1440},{"dimension":"","metricKey":"flow.discharge_to_cleared","p50":20,"p75":30,"p90":60},{"dimension":"","metricKey":"flow.cleared_to_departure","p50":5,"p75":10,"p90":20}] | array | Default flow benchmarks (Appendix B.4). |
requests.slaMultiplier.urgent | 1 | 0.5–2 multiplier | SLA multiplier for urgent requests (F-09.6). |
requests.slaMultiplier.high | 1 | 0.5–2 multiplier | SLA multiplier for high requests (F-09.6). |
requests.slaMultiplier.normal | 1 | 0.5–2 multiplier | SLA multiplier for normal requests (F-09.6). |
requests.slaMultiplier.low | 1 | 0.5–2 multiplier | SLA multiplier for low requests (F-09.6). |
requests.maxPerHour | 12 | 1–60 count | Non-urgent requests per visit per hour. |
requests.urgentGoingNowMinutes | 5 | 3–10 minutes | "Going now" pauses escalation this long (D-23). |
requests.excludeTriageFromComfort | false | boolean | Keep the triage nurse out of comfort routing (D-37). |
codes.notifyThrottleMinutes | 30 | 15–120 minutes | Delay-notice push throttle per patient. |
codes.autoNotifyFromFeed | false | boolean | Feed codes post the notice without a prompt (never skips the subject step). |
codes.edRespondsOutside | false | boolean | Prompt the charge nurse for codes outside the ED. |
codes.pagingEdLocations | [] | array | Paging locations inside the ED. |
volume.reviewAfterHours | 4 | 1–12 hours | Prompt to review the volume level. |
volume.acceptFeedLevel | false | boolean | Apply the feed's volume level directly. |
volume.thresholds.busy.waiting | 12 | 1–500 count | Volume suggestion threshold: busy waiting (F-08.3). |
volume.thresholds.busy.boarding | 8 | 1–500 count | Volume suggestion threshold: busy boarding (F-08.3). |
volume.thresholds.busy.occupancy | 0.95 | 0.1–5 ratio | Volume suggestion threshold: busy occupancy (F-08.3). |
volume.thresholds.busy.waitRatio | 1.25 | 0.1–10 ratio | Volume suggestion threshold: busy waitRatio (F-08.3). |
volume.thresholds.veryBusy.waiting | 20 | 1–500 count | Volume suggestion threshold: veryBusy waiting (F-08.3). |
volume.thresholds.veryBusy.boarding | 12 | 1–500 count | Volume suggestion threshold: veryBusy boarding (F-08.3). |
volume.thresholds.veryBusy.occupancy | 1.1 | 0.1–5 ratio | Volume suggestion threshold: veryBusy occupancy (F-08.3). |
volume.thresholds.veryBusy.waitRatio | 1.75 | 0.1–10 ratio | Volume suggestion threshold: veryBusy waitRatio (F-08.3). |
analytics.ontarioTargets.admitted | 480 | 30–2880 minutes | Ontario target, admitted (D-48). |
analytics.ontarioTargets.nonAdmittedHigh | 480 | 30–2880 minutes | Ontario target, non-admitted CTAS 1–3. |
analytics.ontarioTargets.nonAdmittedLow | 240 | 30–2880 minutes | Ontario target, non-admitted CTAS 4–5. |
analytics.ontarioTargets.emsOffload | 30 | 5–240 minutes | Ontario target, EMS offload. |
notifications.push | true | boolean | Push notifications (effective only when the provider is configured). (Réduit la confidentialité) |
notifications.patientSms | true | boolean | Patient SMS updates (US sub-processor, Q-15). (Réduit la confidentialité) |
notifications.familySms | true | boolean | Family SMS updates. (Réduit la confidentialité) |
notifications.email | true | boolean | Patient summary-link email. (Réduit la confidentialité) |
notifications.pushPreviewDefault | generic | generic, detailed | Default push preview (D-11). (Réduit la confidentialité) |
notifications.pushPerHour | 6 | 1–20 count | Push budget per patient per hour. |
notifications.smsPerDay | 3 | 0–10 count | SMS budget per patient per day. |
notifications.staffCodePush | false | boolean | Staff push when a code is called (D-38). |
notifications.staffBedInPush | false | boolean | Bed label in staff push text. (Réduit la confidentialité) |
notifications.brandedLabelApproved | false | boolean | The privacy office approved the branded SMS and push label (BR-13). (Réduit la confidentialité) |
languages.safetyLocales | [] | array | Up to five safety locales (D-52). |
feed.delayedAfterMinutes | 5 | 1–60 minutes | Feed is "delayed" after this silence (F-16.1). |
feed.downAfterMinutes | 15 | 2–240 minutes | Feed is "down" after this silence. |
integration.alertEmails | [] | array | Recipients of feed and integration alerts (≤ 10). (Réduit la confidentialité) |
display.access | public | public, key | Waiting-room display is public or needs a display key. (Réduit la confidentialité) |
display.showTypicalWait | false | boolean | Show the official typical wait (D-18). |
display.typicalWaitSource | feed | feed, manual | Source of the typical wait. |
display.manualTypicalWait | — | object | Manual typical wait with the time it was set. |
display.languageMode | alternate | alternate, side_by_side, english_only | Display language mode: English and French in turn, side by side, or English only (owner, 2026-09-26). |
display.orientation | landscape | landscape, portrait | Display orientation. |
display.allowEmbed | false | boolean | Allow framing by the embed origins. (Réduit la confidentialité) |
display.embedOrigins | [] | array | Exact https origins allowed to frame the display (never "*"). (Réduit la confidentialité) |
display.slideSlugs | [] | array | Display loop slides. |
integration.api.reads | false | boolean | Allows encounters, care-team, requests and tasks reads at this site (F-34.4). (Réduit la confidentialité) |
integration.api.includeCodeArea | true | boolean | Code alerts in the API include the area label. (Réduit la confidentialité) |
integration.requestWriteback | false | boolean | Allows requests:write. (Réduit la confidentialité) |
integration.webhooks.enabled | false | boolean | Outbound webhook deliveries for this site. (Réduit la confidentialité) |
integration.storeVisitNumberEncrypted | false | boolean | Exposes externalRef on encounters and webhooks. (Réduit la confidentialité) |
integration.rosterMaxClose | 5 | 1–50 count | Roster circuit breaker: encounters one roster may close. (Réduit la confidentialité) |
integration.rosterMaxClosePct | 20 | 5–50 percent | Roster circuit breaker: share of the census. (Réduit la confidentialité) |
ai.enabled | false | boolean | AI features at this site (F-35.3 layer 4). (Réduit la confidentialité) |
ai.features.patientAssistant | false | boolean | AI feature: patientAssistant. (Réduit la confidentialité) |
ai.features.familyHelper | false | boolean | AI feature: familyHelper. (Réduit la confidentialité) |
ai.features.familyCatchUp | false | boolean | AI feature: familyCatchUp. (Réduit la confidentialité) |
ai.features.testExplainers | false | boolean | AI feature: testExplainers. (Réduit la confidentialité) |
ai.features.machineTranslation | false | boolean | AI feature: machineTranslation. (Réduit la confidentialité) |
ai.features.voiceNative | false | boolean | AI feature: voiceNative. (Réduit la confidentialité) |
ai.features.voiceWeb | false | boolean | AI feature: voiceWeb. (Réduit la confidentialité) |
ai.features.requestDigest | false | boolean | AI feature: requestDigest. (Réduit la confidentialité) |
ai.features.quickReplies | false | boolean | AI feature: quickReplies. (Réduit la confidentialité) |
ai.features.handover | false | boolean | AI feature: handover. (Réduit la confidentialité) |
ai.features.patientMessageDrafts | false | boolean | AI feature: patientMessageDrafts. (Réduit la confidentialité) |
ai.features.askData | false | boolean | AI feature: askData. (Réduit la confidentialité) |
ai.features.insights | false | boolean | AI feature: insights. (Réduit la confidentialité) |
ai.features.weeklyReport | false | boolean | AI feature: weeklyReport. (Réduit la confidentialité) |
ai.features.anomalies | false | boolean | AI feature: anomalies. (Réduit la confidentialité) |
ai.features.mappingAssistant | false | boolean | AI feature: mappingAssistant. (Réduit la confidentialité) |
ai.features.catalogChecks | false | boolean | AI feature: catalogChecks. (Réduit la confidentialité) |
ai.features.contentAuthoring | false | boolean | AI feature: contentAuthoring. (Réduit la confidentialité) |
ai.features.feedbackThemes | false | boolean | AI feature: feedbackThemes. (Réduit la confidentialité) |
ai.features.commandAssistant | false | boolean | AI feature: commandAssistant. (Réduit la confidentialité) |
ai.features.auditExplainer | false | boolean | AI feature: auditExplainer. (Réduit la confidentialité) |
ai.patientLanguages | [] | array | Machine-translated patient languages (each enabled in aiLanguages). (Réduit la confidentialité) |
ai.monthlyBudgetUsd | 500 | 0–100000 usd | Site AI budget per month (AI_DEFAULT_SITE_BUDGET_USD). |
ai.conversationRetentionDays | 7 | 0–30 days | Days AI conversations are kept after the session ends. (Réduit la confidentialité) |
ai.safetyReviewSampleRate | 0 | 0–1 ratio | Random sampling of unflagged conversations; > 0 only with randomSampleApproval. (Réduit la confidentialité) |
ai.selfHarmAutoAlert | true | boolean | Self-harm sends a structured urgent alert; off only with selfHarmAlertWaiver (D-AI-03). (Réduit la confidentialité) |
ai.distressAutoAlertSeconds | 60 | 30–120 seconds | Red-flag distress alert delay (D-AI-03). |
ai.showAssistantByDefault | true | boolean | Show the assistant entry point by default. |
ai.crossSitePeerRanges | false | boolean | Cross-site peer ranges (AI-15, Q-AI-06). (Réduit la confidentialité) |
ai.governance.privacyApproval | — | object | Governance gate record: privacyApproval. (Réduit la confidentialité) |
ai.governance.regulatoryMemo | — | object | Governance gate record: regulatoryMemo. (Réduit la confidentialité) |
ai.governance.evalSignoff | — | object | Governance gate record: evalSignoff. (Réduit la confidentialité) |
ai.governance.piaTra | — | object | Governance gate record: piaTra. (Réduit la confidentialité) |
ai.governance.hazardLog | — | object | Governance gate record: hazardLog. (Réduit la confidentialité) |
ai.governance.staffBriefing | — | object | Governance gate record: staffBriefing. (Réduit la confidentialité) |
ai.governance.mappingAssistantPrivacyApproval | — | object | Governance gate record: mappingAssistantPrivacyApproval. (Réduit la confidentialité) |
ai.governance.randomSampleApproval | — | object | Governance gate record: randomSampleApproval. (Réduit la confidentialité) |
ai.governance.selfHarmAlertWaiver | — | object | Governance gate record: selfHarmAlertWaiver. (Réduit la confidentialité) |
ai.governance.safetyReviewers | [] | array | The designated AI safety review group (§2.4 footnote 8). (Réduit la confidentialité) |
messaging.patientFacingLabel | neutral | neutral, branded | Neutral or branded SMS and push label; branded needs brandedLabelApproval (BR-13). (Réduit la confidentialité) |
messaging.brandedLabelApproval | — | object | Recorded privacy approval for the branded label (audited). (Réduit la confidentialité) |
Dernière mise à jour le
Cette page vous a-t-elle été utile?
Users and access
Manage EDFlow staff accounts: invites, roles and the full permission matrix, approvals for privileged roles, deactivation, unlock and MFA reset, bulk import and SCIM, and the quarterly access review.
Hospital information
Set the hospital information patients and family see in EDFlow: names, address and entrance, phones, Wi-Fi, parking, visitor policies, wayfinding points with maps, the patient portal and co-branding.