=== Akashic Health Records Patient Portal === Contributors: codemonkeys Tags: patient portal, appointment booking, ehr, telehealth, hipaa Requires at least: 6.6 Tested up to: 7.1.4 Stable tag: 1.1 Requires PHP: 7.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Patient appointment booking, telehealth video visits, electronic health records, HIPAA compliant forms, and patient messaging on your WordPress site. == Description == Your practice. Your health. Better connected. Bring online patient appointment booking, telehealth video visits, electronic health records (EHR), patient messaging, and practice management to your WordPress website with Akashic. Patients get a patient portal; healthcare staff get workspaces for scheduling, clinical care, and running the practice. Patients use their own Akashic account across participating practices. They can manage appointments, read their records, complete forms, message their practice, and choose family members or caregivers who can help. Staff get access according to their role and the patient's sharing permissions. An Akashic account and an internet connection are required. The plugin connects your website to the hosted Akashic service; it is not a standalone records system. Practices can start with the free plan, including the first clinician seat. Additional clinician seats and optional add-ons may require payment. Patient accounts are free; charges from a practice for healthcare are separate. Visit [akashic.health](https://akashic.health/) for current features and pricing. = Third-Party Services = This plugin communicates with the hosted Akashic service when you set up a practice, sign in, or use a portal or form. It sends information you submit for the requested action, such as account details, appointment requests, messages, questionnaire answers, health records, and uploaded files. It also sends authentication and request metadata needed to authorize those actions. * **Akashic API**: Akashic uses AWS API Gateway to route authenticated requests to its services. These handle practice setup, appointments, records, messages, and other requested actions. * Service URL: https://api.akashichealthrecords.com/R4 * [AWS Service Terms](https://aws.amazon.com/service-terms/) * [AWS Privacy Notice](https://aws.amazon.com/privacy/) * **AWS HealthLake**: Used for clinical FHIR data storage and retrieval. Files are stored in AWS S3; account and workflow information also uses AWS DynamoDB. * Service URL: https://healthlake.amazonaws.com/ * [AWS Service Terms](https://aws.amazon.com/service-terms/) * [AWS Privacy Notice](https://aws.amazon.com/privacy/) * **AWS Textract**: Referral fax and medical record OCR sends received documents to AWS Textract to extract text for staff review. * [AWS Textract](https://aws.amazon.com/textract/) * [AWS Service Terms](https://aws.amazon.com/service-terms/) * [AWS Privacy Notice](https://aws.amazon.com/privacy/) * **Amazon Bedrock**: The hosted OCR workflows send extracted document text to Amazon Bedrock to suggest fields for staff review. Staff check suggestions against the original before accepting them. * [Amazon Bedrock](https://aws.amazon.com/bedrock/) * [AWS Service Terms](https://aws.amazon.com/service-terms/) * [AWS Privacy Notice](https://aws.amazon.com/privacy/) * **AWS account and communication services**: Cognito handles authentication; WebSocket connections provide live updates. Messaging and video features may also use AWS communications services. * Service URL: wss://wss.akashichealthrecords.com * [AWS Service Terms](https://aws.amazon.com/service-terms/) * [AWS Privacy Notice](https://aws.amazon.com/privacy/) * **Stripe**: When you use payments, subscriptions, or identity verification, Stripe receives the information needed for that transaction or verification. Payment details are submitted through Stripe's interfaces; transaction results are returned to Akashic. These features require the relevant account or practice configuration. * Service URL: https://stripe.com/ * [Stripe Terms of Service](https://stripe.com/legal) * [Stripe Privacy Policy](https://stripe.com/privacy) * **Cloudflare Turnstile**: Protected public forms and demo entry may use Turnstile to check for automated abuse. The browser sends browser and network information to Cloudflare; the resulting challenge token is submitted to Akashic for verification. * Challenge script: https://challenges.cloudflare.com/turnstile/v0/api.js * [Cloudflare Terms](https://www.cloudflare.com/terms/) * [Cloudflare Privacy Policy](https://www.cloudflare.com/privacypolicy/) Production also uses the fhir-*.akashichealthrecords.com APIs and https://terminology.akashichealthrecords.com/fhir. Authentication uses AWS Cognito in the us-east-1 region. File transfers use authorized S3 URLs returned by the service. Akashic's applicable agreements are presented in the application during account and practice setup; see [akashic.health](https://akashic.health/) for service information. = Patient appointment booking and scheduling = Let patients book appointments from your practice website. Staff can manage the appointment calendar, check patients in, reschedule visits, and cancel appointments. Configure practice locations, services, and booking rules for your workflow. = Telehealth video visits = Provide telehealth appointments with video and audio for patients and clinicians. Patients enter their visit through the patient portal, and staff manage the visit from their workspace. = Electronic health records (EHR) = Work with medical records including medications, allergies, conditions, visit notes, lab results, and care plans. Akashic uses FHIR R4 resources in its hosted records service. Patients use one Akashic account across participating practices, with access governed by roles and sharing permissions. = Patient messaging and care teams = Give patients and authorized staff a place to exchange messages and follow up on care. Family members and caregivers can help through patient-controlled sharing permissions. = Patient intake and HIPAA forms = Collect intake questionnaires, medical history, and patient agreements through your website. Publish public forms using the Akashic Public Form block or the supplied embed, and let patients complete requested forms in their portal. For practices seeking HIPAA-compliant forms, Akashic supplies access controls and agreement workflows; compliance also depends on the practice's agreements, policies, and website safeguards. = Practice management and billing = Manage staff access by role, practice locations, services, tasks, and clinical workflows. Use invoices and patient payments when your practice has a payment gateway configured. Practices can start with the free clinician seat and add optional paid capacity. = Medical records requests, fax OCR, and record review = The Records workspace brings incoming and outgoing medical records requests together with patient matching, packet preparation, review, approval, and delivery. Staff access and release options depend on their permissions and the permitted disclosure. Fax OCR reads referral faxes and received medical records into suggestions for staff review. Staff can check the original document, review uncertain information, and confirm what to use. Supported structured record imports also let authorized staff review proposed data before filing it into the patient's record. OCR suggestions do not become confirmed clinical data automatically. These review workflows are included in version 1.1 and use the hosted Akashic service. Fax sending and receiving require the practice's fax configuration. Connections to outside EHRs are separate and depend on the supported source and enabled service configuration. == Installation == 1. Install Akashic Health Records Patient Portal from the WordPress plugin directory, or upload the release ZIP using Plugins > Add New Plugin > Upload Plugin. 2. Activate the plugin. 3. Open Akashic Health Records Patient Portal in the WordPress admin menu. 4. Follow the setup steps to create or connect your practice, complete the required agreements, and configure staff, services, locations, and scheduling. 5. Use the portal-page controls to publish the patient and staff portals. For a manually created page, use `[akashere_patient_portal]` for patients or `[akashere_staff_portal]` for staff. 6. For a public form, publish the form in Akashic and use the Akashic Public Form block or its supplied embed on a WordPress page. An HTTPS website is required. Avoid adding advertising, analytics, or other third-party scripts to portal pages that could capture health information. == Frequently Asked Questions == = Does installing this plugin make my website HIPAA compliant? = Installing a plugin does not establish compliance. Akashic provides authentication, access controls, sharing permissions, and audit features. Your organization must also address its agreements, policies, staff practices, hosting, and other safeguards. = Do patients need a WordPress account? = No. Patients and staff sign in with their Akashic accounts. A WordPress administrator installs the plugin and opens the initial practice setup. = Can I use Akashic without WordPress? = Yes. Akashic also provides hosted portals. This plugin is for practices that want portal access on their WordPress website. = Is everything stored in my WordPress database? = No. Health records and uploaded files are handled by the hosted Akashic service. WordPress stores the plugin's installation settings and published pages. Removing the plugin does not delete the records held by Akashic. = Can I connect this to my existing EHR system? = Akashic uses FHIR R4 internally. Connections to outside EHRs require a supported source and enabled service configuration; installing this plugin does not itself establish a connection. Contact Akashic to confirm availability for your EHR and whether you need an individual records connection or a practice import. = What types of healthcare providers can use this plugin? = Akashic Health Records is designed to be flexible and can be used by various healthcare providers, including primary care physicians, specialists, mental health providers, physical therapists, and more. The customizable forms and workflows can be adapted to different healthcare specialties. = Where can I get help or report a problem? = Use the [WordPress.org support forum](https://wordpress.org/support/plugin/akashic-health-records-patient-portal/) or visit [akashic.health](https://akashic.health/). Do not include patient information, login codes, or other private information in public support posts. = How does the plugin handle patient data security? = Akashic uses authentication, role-based access controls, sharing permissions, and audit logging. The plugin requires HTTPS to load the portals. The practice remains responsible for staff access and its website configuration. == Changelog == = 1.1 = * Medical records request, fax OCR, and import-review workspaces, with staff review before filing suggested data. * A visit started from a chart keeps the view the clinician opened, and the visit panel shows that original view. * Clearer messages when Akashic declines a request. * Consistent page titles and buttons in the staff portal. * Your profile shows the email address you sign in with, not an internal account id. * The portal stops asking who is online when the practice refuses it for your sign-in. * When an insurance coverage save is refused, the portal says why and keeps what you entered. * Agreements you already accepted are read once when you return, not again. = 1.0 = * First public MVP release. * Patient and staff portals for WordPress. * Practice setup, appointments, questionnaires, records, and messaging. * Family and caregiver access with sharing permissions. == Upgrade Notice == = 1.1 = Back up your website, then replace the 1.0 plugin using WordPress's upload-and-replace flow. = 1.0 = First public MVP release. Requires an Akashic account and an HTTPS website. == Development == This plugin is built using React and TypeScript. The source code is included in the /src directory of this plugin. The plugin uses the following structure: - /src - React/TypeScript source files - /build - Compiled JavaScript - /includes - PHP includes - /assets - Static assets like images and CSS To rebuild the production browser files, install the locked dependencies with `npm ci`, set the environment variable `AKASHIC_STACK=prod`, and run `npm run build`. Use a Node.js version supported by the included dependencies and npm 11 or later. Run `node scripts/sync-version.js` to align the PHP version with the readme's stable tag.