Streamline charting and enhance care with our Post-Acute EHR solutions.

Purpose

The goal of this implementation guide is to provide developers with a comprehensive approach to integrating and handling complex patient data within healthcare systems. The data, provided in a structured JSON format, contains detailed patient information including personal and medical records, particularly focusing on rich text notes (note_text) which contain a wealth of clinical information broken down into several subsections.

Scope

This guide is designed for software developers and system integrators working in the healthcare sector, particularly those dealing with Electronic Health Records (EHRs) or similar patient data management systems. It is assumed that the reader has a basic understanding of JSON data structures, programming concepts, and database management.

Objective

The primary objective is to ensure that developers can effectively parse, validate, and integrate patient data into existing systems, while maintaining data integrity, security, and compliance with healthcare regulations. Special emphasis is given to the extraction and segregation of detailed medical information contained within the note_text fields of the patient data, facilitating its use in clinical decision-making and patient care management.

Outcome

By following this guide, developers will be able to build robust systems that not only accurately represent the patient's medical history and current state but also enhance the efficiency and effectiveness of healthcare delivery. The successful implementation of these guidelines will lead to improved data accuracy, enhanced security, and better interoperability within healthcare IT ecosystems.

Data Export Guidance

Single Patient Export Content:

The export includes information about a patient and their associated health records.

User Authorization for Download:

Only practitioners who have seen the patient and admins authorized to access patient records can download the report. User Registration Requirement: The user must be a registered user on the DocNow system.

Access to Patient Registry:

The user must have permission to access the patient registry.

Login Credentials:

The user logs in with their provided credentials.

Patient Search Process:

The user goes to the patient registry and searches for a patient by name, and/or DOB combination.

Patient Selection for Export:

The user selects a patient for whom the data needs to be exported.

Export Option Visibility:

An option to export the selected data appears on the screen.

Initiating Export:

The user selects the export option to start the process.

Export Initiation:

The authorized user initiates the export.

Export Generation and Delivery:

The system generates the export and sends the user a link to the file in their registered email. The link is valid for only 1 hour and then expires.

Population Data Export:

For downloading data of a population of patients, the process is similar. The user can select and add multiple patients from the patient registry to the export and use the export button to initiate the export. The system then sends an email with a link to the export file in a zip format, which also expires in 1 hour.

Payload Structure

      
      {
        "_id":"Unique identifier assigned to the patient's record.",
        "mrn":"Medical Record Number, a unique number assigned to the patient's medical record.",
        "personal_information":{
            "first_name":"The patient's given first name.",
            "middle_name":"The patient's middle name, if any.",
            "last_name":"The patient's family or last name.",
            "gender":"The patient's gender identity.",
            "date_of_birth":"The birth date of the patient in YYYY-MM-DD format.",
            "race":"The patient's self-identified race."
        },
        "insurance_information":{
            "primary":{
              "carrier":"Name of the patient's primary health insurance carrier.",
              "holder_name":"Name of the individual holding the primary insurance.",
              "policy_number":"Policy number of the patient's primary health insurance.",
              "group_number":"Group number of the patient's primary health insurance."
            },
            "secondary":{
              "carrier":"Name of the patient's secondary health insurance carrier.",
              "holder_name":"Name of the individual holding the secondary insurance.",
              "policy_number":"Policy number of the patient's secondary health insurance.",
              "group_number":"Group number of the patient's secondary health insurance."
            }
        },
        "admission_and_discharge":{
            "inTake_date":"The date the patient was first admitted or taken into the facility.",
            "last_admit_date":"The most recent date the patient was admitted.",
            "last_discharge_date":"The most recent date the patient was discharged from the facility."
        },
        "contact_and_address":{
            "city":"The city where the patient resides.",
            "zip_code":"The postal zip code of the patient's residence.",
            "address":"The full street address where the patient lives.",
            "state":"The state where the patient resides."
        },
        "responsible_party_information":{
            "name":"The name of the person responsible for the patient.",
            "contact":"Contact information for the person responsible for the patient."
        },
        "medical_record_notes":[
            {
              "note_title":"The title or subject of the medical note.",
              "provider":{
                  "first_name":"First name of the healthcare provider.",
                  "last_name":"Last name of the healthcare provider.",
                  "title":"Professional title of the healthcare provider."
              },
              "facility":{
                  "title":"Name of the healthcare facility."
              },
              "note_text":{
                  "HPI":"Description of the patient's current complaint and symptoms.",
                  "Review_of_Systems":"A comprehensive collection of the patient's medical history.",
                  "Past_Medical_History":"Information on past illnesses and medical conditions.",
                  "Past_Surgical_History":"Details of any previous surgeries the patient has had.",
                  "Medications":"Current list of medications the patient is taking.",
                  "Allergies":"Documented allergies of the patient.",
                  "Physical_Examination":"Findings from the physical examination.",
                  "Wound_Assessment":"Specifics about wounds, including location and treatment.",
                  "Procedures":"Details of any procedures performed or recommended.",
                  "Assessment":"Healthcare provider's assessment of the patient's condition.",
                  "Plan":"Recommended treatment plan for the patient.",
                  "Preventative_Measures":"Recommendations for preventative care.",
                  "New_Recommendations":"New recommendations based on the latest assessment."
              }
            }
        ],
        "payer_information":"Information about the payer or the insurance carrier responsible for the financial aspect of the patient's healthcare."
      }
      
    

Data Dictionary

  • Identification Information
    • _id: Unique identifier for the patient record.
    • mrn: Medical Record Number.
  • Personal Information
    • first_name: Patient's first name.
    • middle_name: Patient's middle name.
    • last_name: Patient's last name.
    • gender: Patient's gender.
    • date_of_birth: Date of birth (YYYY-MM-DD).
    • race: Patient's race.
  • Insurance Information
    • p_insurance_carrier: Primary insurance carrier.
    • p_insurance_holder_name: Holder of the primary insurance.
    • p_insurancePolicyNumber: Primary insurance policy number.
    • p_insuranceGroupNumber: Primary insurance group number.
    • s_insurance_carrier: Secondary insurance carrier.
    • s_insurance_holder_name: Holder of the secondary insurance.
    • s_insurancePolicyNumber: Secondary insurance policy number.
    • s_insuranceGroupNumber: Secondary insurance group number.
  • Admission and Discharge Information
    • inTake_date: Intake date.
    • last_admit_date_string: Last admission date.
    • last_discharge_date_string: Last discharge date.
  • Contact and Address Information
    • city: City of residence.
    • zip_code: Zip code.
    • address: Full address.
    • state: State.
  • Responsible Party Information
    • responsible_party: Name of the responsible party.
    • responsible_party_contact: Contact information of the responsible party.
  • Medical Record Notes
    • notes: Array of note objects, each containing:
      • note_title: Title of the note.
      • provider: Healthcare provider details.
        • first_name: Provider's first name.
        • last_name: Provider's last name.
        • title: Provider's title.
      • facility: Healthcare facility information
        • title: Facility title.
      • note_text: Content of the note, including:
        • HPI (History of Present Illness).
        • Review of Systems (ROS).
        • Past Medical History.
        • Past Surgical History.
        • Medications.
        • Allergies.
        • Physical Examination.
        • Wound Assessment.
        • Procedures.
        • Assessment.
        • Plan.
        • Preventative Measures.
        • New Recommendations.
  • Payer Information
    • payer_information: Details about the payer(s).

Implementation Guide for Developers: Parsing and Utilizing Patient Data

Overview

This guide provides key implementation strategies for developers tasked with consuming, parsing, and integrating detailed patient data, provided in JSON format, into their respective healthcare systems. Special attention is paid to extracting individual components from the richly structured note_text field within each patient note.

Parsing JSON Data

Initial Parsing: Use a JSON parsing library appropriate for your development environment (e.g., json in Python, Jackson in Java) to deserialize the JSON structure into your system's data models.
Data Type Validation: Implement rigorous type checking for all fields. Ensure dates, strings, and numerical values are correctly identified and converted to the corresponding types in your system.

Handling note_text Data

Structured Breakdown: The note_text field contains multiline text covering various medical aspects. Create a parser that can recognize and split this text into its designated subsections, such as HPI, Medications, Allergies, etc.
Regular Expressions: Utilize regular expressions (regex) to identify the start and end of each subsection within note_text. This approach requires establishing patterns that reliably match headings like "HPI:", "Medications:", etc.
Data Mapping: Once subsections are identified, map these to your internal data structures or models. Each subsection should be treated as a distinct entity within your database schema.

Data Validation and Integrity

Mandatory Fields: Ensure essential fields like _id, mrn, and patient identifiers are present and valid.
Field Length and Format: Implement checks for maximum field lengths and correct formats, especially for standardized fields like dates and MRN.

Security and Compliance

Encryption and Data Protection: Apply industry-standard encryption techniques for data at rest and in transit. Adhere to healthcare data regulations (like HIPAA or GDPR) for patient data handling.
Access Control: Implement strict access control measures to ensure that only authorized personnel can view or modify patient data.

System Integration

Compatibility Check: Ensure your system's data models are compatible with the incoming JSON structure. This might involve data transformation or normalization.
API Integration: If integrating with external systems via APIs, ensure smooth data interchange and handle potential discrepancies in data models.

Performance Optimization

Efficient Data Processing: Optimize the parsing and data handling logic for performance, especially important when dealing with large datasets.
Database Indexing: Use database indexing effectively to speed up query times, particularly for frequently accessed fields like mrn or date_of_birth.

Error Handling and Logging

Robust Error Handling: Develop a comprehensive error handling mechanism to manage and resolve parsing errors or data inconsistencies.
Detailed Logging: Maintain detailed logs for all data processing activities, especially exceptions and data modification actions, for auditing and troubleshooting purposes.

User Interface Considerations

Data Review and Editing: If applicable, provide a user-friendly interface for administrators or healthcare providers to review and edit parsed data, particularly to verify or correct parsed note_text components.

Automated Updates and Synchronization

Routine Data Sync: Implement automated processes for routine data updates or synchronization, ensuring data remains current and consistent across systems.