Overview

MediVoice supports bi-directional EMR integration. This means:

MediVoiceFHIR R4 Server
Your EMREpic / Cerner / OpenMRS / Aegis

Connection Methods

MediVoice supports four integration methods. Choose the one that matches your EMR's capabilities:

MethodProtocolBest forEffort
1. FHIR R4 ServerHL7 FHIR R4 REST APIEpic, Cerner, OpenMRS, any FHIR-compliant EMRLow — your EMR just queries our API
2. FHIR R4 ClientHL7 FHIR R4 REST APIMediVoice reads from / writes to your EMR's FHIR endpointLow — we connect to your FHIR server
3. REST API AdapterCustom REST/webhookProprietary EMRs with a REST APIMedium — build a small adapter
4. File Import/ExportPDF, JSON, CSVEMRs with no API — manual or scheduled file exchangeLow — no real-time sync

Method 1: FHIR R4 Server (EMR reads from MediVoice)

MediVoice exposes a standards-compliant FHIR R4 REST API. Your EMR system (or a middleware) queries it to pull patient data.

Base URL

https://medivoice.cloud/fhir

Authentication

All requests (except /metadata) require a Bearer token:

Authorization: Bearer <your-integration-token>

The token is provisioned per-tenant. Contact your MediVoice administrator to generate one.

Available FHIR Resources

ResourceEndpointSearch ParametersWhat it returns
PatientGET /fhir/Patientidentifier (MRN), namePatient demographics from encounters
EncounterGET /fhir/EncounterpatientClinical encounters (visit records)
ConditionGET /fhir/ConditionpatientDiagnoses with ICD-10/SNOMED codes
DocumentReferenceGET /fhir/DocumentReferencepatientFinalized clinical reports (base64 JSON)
ServiceRequestGET /fhir/ServiceRequestpatientInvestigation orders (labs, imaging)
MedicationRequestGET /fhir/MedicationRequestpatientMedication/management orders

Example: Retrieve a patient's diagnoses

curl -H "Authorization: Bearer YOUR_TOKEN" \
     "https://medivoice.cloud/fhir/Condition?patient=MRN-12345"

Response (FHIR R4 Bundle):

{
  "resourceType": "Bundle",
  "type": "searchset",
  "total": 2,
  "entry": [
    {
      "fullUrl": "https://medivoice.cloud/fhir/Condition/101",
      "resource": {
        "resourceType": "Condition",
        "id": "101",
        "clinicalStatus": {
          "coding": [{"system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "active"}]
        },
        "code": {
          "coding": [{"system": "http://hl7.org/fhir/sid/icd-10", "code": "E11.9", "display": "Type 2 Diabetes Mellitus"}],
          "text": "Type 2 Diabetes Mellitus"
        },
        "subject": {"reference": "Patient/MRN-12345"},
        "recordedDate": "2026-07-15T10:30:00+00:00"
      }
    }
  ]
}

Capability Statement

Check what MediVoice supports without authentication:

curl https://medivoice.cloud/fhir/metadata

Method 2: FHIR R4 Client (MediVoice reads from / writes to your EMR)

If your EMR exposes a FHIR R4 API (Epic, Cerner, OpenMRS), MediVoice can connect as a client to:

Setup (Administrator)

  1. Obtain your EMR's FHIR base URL (e.g., https://your-emr.com/fhir)
  2. Register MediVoice as a SMART on FHIR app with your EMR vendor
  3. Obtain OAuth 2.0 credentials (client ID + client secret)
  4. Configure in MediVoice via API:
POST https://medivoice.cloud/api/ai/config
Content-Type: application/json
Authorization: Bearer <admin-session>

{
  "task": "emr",
  "provider_type": "fhir_r4",
  "base_url": "https://your-emr.com/fhir",
  "token": "YOUR_OAUTH_BEARER_TOKEN"
}

Test the connection

POST https://medivoice.cloud/api/emr/test

Method 3: REST API Adapter (Proprietary EMRs)

For EMRs with a custom REST API but no FHIR support, MediVoice provides an adapter framework:

  1. Build a small adapter script on your EMR server that translates between MediVoice's FHIR resources and your EMR's native format
  2. Point MediVoice's FHIR base URL to the adapter
  3. The adapter translates: Patient ↔ your patient table, Condition ↔ your diagnoses, etc.

Contact support for the adapter specification.

Method 4: File Import/Export (No API)

For EMRs with no API at all, MediVoice can export reports as structured files:

Files can be delivered via:

Connecting to Specific EMR Systems

Epic Systems

Epic supports FHIR R4 via their App Orchard platform.

  1. Register as a developer at fhir.epic.com
  2. Create an app — select scopes: Patient.read, Condition.read, DocumentReference.write
  3. Get your client ID + secret
  4. Configure in MediVoice as Method 2 (FHIR Client)
  5. MediVoice will push reports as DocumentReference into Epic's chart

Cerner (Oracle Health)

Cerner supports FHIR R4 via code.cerner.com.

  1. Register at code.cerner.com
  2. Create an app with SMART on FHIR launch
  3. Configure in MediVoice as Method 2

OpenMRS

OpenMRS has a built-in FHIR R4 module. This is the easiest integration:

  1. Enable the FHIR module in OpenMRS (Administration → Advanced Administration → Manage Modules)
  2. The FHIR endpoint is typically at http://your-openmrs:8080/openmrs/ws/fhir2/R4
  3. Configure in MediVoice as Method 2 with that base URL
  4. MediVoice can both read patients from OpenMRS AND write reports back

Aegis EMR (electronicmedicalrecord.cloud)

Aegis is on the same infrastructure as MediVoice. Direct integration uses Aegis's integration API:

  1. Administrator generates integration credentials in Aegis (integration_credentials)
  2. Configure in MediVoice with provider_type: "aegis"
  3. MediVoice pushes reports to POST /api/integration/clinical/document
  4. MediVoice pushes diagnoses to POST /api/integration/clinical/conditions
  5. MediVoice pushes orders to POST /api/integration/clinical/orders

Security

All integration traffic is encrypted and authenticated.

Patient Identity Matching

MediVoice uses a patient crosswalk table to link MediVoice patients to EMR patients:

Matching methodHow it works
MRN (preferred)Medical Record Number — exact match
Name + DOBFuzzy match if MRN unavailable
ManualPhysician selects the correct patient during the encounter

The crosswalk is stored per-tenant and remembered for future encounters.

Getting Started

To set up an EMR integration:

  1. Identify your EMR's API capability — Does it support FHIR R4? (Ask your IT team or EMR vendor)
  2. Contact MediVoice supportsupport@naghamyhealth.com — to provision an integration token
  3. Choose a method from the table above
  4. Configure the connection via the API or admin panel
  5. Test with the /api/emr/test endpoint
  6. Enable write-back (if pushing data to the EMR) — this is a deliberate admin action
← Back to MediVoice Privacy