Data Structure
JSON Reference
When you request the json output format (set output_config.format to json), the Convert and Bulk Convert endpoints return the FinalOutput schema. It is a flat, source-cited structure that captures patient demographics and one or more encounters, with the clinical entities detected inside each encounter.
For the standards-based alternative, request the fhir format instead and see Clinical Resources. The JSON schema carries additional enrichment that FHIR does not, including per-field source citations (page numbers and bounding boxes), MEAT evidence, and ICD-10 and HCC coding detail.
Top-level structure
| Field | Type | Description |
|---|
version | string | nHance extraction schema and product version. |
patient_demographics | array of PatientDemographics | One entry per page on which patient demographics were detected. |
encounters | array of Encounter | Encounters extracted and enriched from the document. |
Patient demographics
| Field | Type | Description |
|---|
first_name | string | Patient first name. |
middle_name | string | Patient middle name. |
last_name | string | Patient last name. |
date_of_birth | string | Date of birth. |
age | string | Age as written in the document. |
gender | string | Patient gender. |
medical_record_number | string | Medical record number (MRN). |
address | string | Patient address. |
phone_number | string | Contact phone number. |
email | string | Contact email. |
insurance_provider | string | Insurance provider name. |
insurance_id | string | Insurance member ID. |
primary_language | string | Primary language. |
page_number | integer | Page the demographics were found on. Nullable. |
bounding_boxes | object | Per-field bounding boxes, keyed by demographic field name. |
Encounter
| Field | Type | Description |
|---|
encounter_id | integer | Unique identifier for the encounter. |
start_page | integer | First page of the encounter in the document. |
end_page | integer | Last page of the encounter in the document. |
note_type | string | Type of clinical record. See allowed values below. |
dos | array of DateWithBoundingBoxes | Dates of service, each paired with bounding boxes. |
admission_date | DateWithBoundingBoxes | Admission date paired with bounding boxes. |
discharge_date | DateWithBoundingBoxes | Discharge date paired with bounding boxes. |
telehealth_encounter | boolean | How the visit was conducted. true for a telehealth (virtual) visit; false for an in-person, face to face visit. |
visit_type | string | Type of visit, for example in-person (face to face), telehealth, outpatient, or inpatient. |
providers | array of Provider | Providers named in the encounter. |
signed_provider | array of SignedProvider | Providers who signed the note. |
facility_name | string | Facility name. |
specialty | string | Provider or encounter specialty. |
reason_for_visit | string | Reason for the visit. |
vitals | array of Vitals | Vital-sign readings. |
lab_results | array of LabTest | Laboratory results. |
diet | string | Diet notes. |
cognitive_status | string | Cognitive-status notes. |
diagnoses | array of Diagnosis | Diagnoses with ICD-10 codes and MEAT evidence. |
combination_codes | array of CombinationCode | ICD-10 combination codes derived from diagnosis pairs. |
medications | array of Medication | Medications. |
procedures | array of Procedure | Procedures. |
social_history | SocialHistory | Social history. |
family_history | array of FamilyHistoryItem | Family history. |
allergies | array of Allergy | Allergies. |
care_plan | CarePlan | Care plan. |
symptoms | array of Symptom | Symptoms. |
diagnostic_tests | array of DiagnosticTest | Diagnostic tests. |
valid_encounter | boolean | Whether this is a billable, real encounter. |
note_type allowed values: progress note, labs, facesheet, discharge summary, emergency record, diagnostic imaging, therapy note, unknown, others.
Vitals
| Field | Type | Description |
|---|
blood_pressure | string | Blood pressure. |
heart_rate | string | Heart rate. |
respiratory_rate | string | Respiratory rate. |
temperature | string | Temperature. |
height | string | Height. |
weight | string | Weight. |
bmi | string | Body mass index. |
oxygen_saturation | string | Oxygen saturation. |
page_number | integer | Page the vitals were found on. |
Diagnoses
| Field | Type | Description |
|---|
name | string | Diagnosis name. |
description | string | Full description or context sentence from the document. |
section_header | string | Section header the diagnosis was found under. |
page_number | integer | Page the diagnosis was found on. |
code1 | string | Primary ICD-10 code. Nullable. |
code2 | string | Secondary or alternative ICD-10 code. Nullable. |
meat | MeatLinkages | MEAT evidence and linked entities. |
combination_codes | array of string | Combination ICD-10 codes this diagnosis participates in. |
bounding_boxes | array of BoundingBox | Where the diagnosis name appears on the page. |
MEAT linkages
MEAT (Monitor, Evaluate, Assess, Treat) evidence for a diagnosis.
| Field | Type | Description |
|---|
context | string | Free-text MEAT evidence from the document. |
medication | array of string | Medications linked to this diagnosis. |
lab | array of string | Lab tests linked to this diagnosis. |
procedure | array of string | Procedures linked to this diagnosis. |
diagnostic_test | array of string | Diagnostic tests linked to this diagnosis. |
Combination codes
| Field | Type | Description |
|---|
code | string | The combination ICD-10 code. |
main_diagnosis | string | Name of the main diagnosis in the pair. |
main_code | string | ICD-10 code of the main diagnosis. |
associated_diagnosis | string | Name of the associated diagnosis in the pair. |
associated_code | string | ICD-10 code of the associated diagnosis. |
Medications
| Field | Type | Description |
|---|
name | string | Medication name. |
section_header | string | Section header the medication was found under. |
medication_class | string | Drug class, for example ACE inhibitor. |
dosage | string | Dosage. |
frequency | string | Frequency. |
route | string | Route of administration. |
prescribed_date | string | Date prescribed. |
prescriber | string | Prescriber. |
status | string | Status, for example active. |
page_number | integer | Page the medication was found on. |
Lab results
| Field | Type | Description |
|---|
name | string | Lab test name. |
result | string | Result value. |
reference_range | string | Reference range. |
status | string | Result flag, for example high. |
collection_date | string | Collection date. |
page_number | integer | Page the lab result was found on. |
Procedures
| Field | Type | Description |
|---|
name | string | Procedure name. |
section_header | string | Section header it was found under. |
year_of_procedure | string | Year of the procedure. |
page_number | integer | Page the procedure was found on. |
Diagnostic tests
| Field | Type | Description |
|---|
name | string | Diagnostic test name. |
result | string | Result. |
section_header | string | Section header it was found under. |
date_performed | string | Date performed. |
page_number | integer | Page the diagnostic test was found on. |
Allergies
| Field | Type | Description |
|---|
name | string | Allergen name. |
reaction | string | Reaction. |
severity | string | Severity. |
page_number | integer | Page the allergy was found on. |
Care plan
| Field | Type | Description |
|---|
recommendation | string | Recommendation. |
treatment | string | Treatment. |
therapy | string | Therapy. |
follow_up | string | Follow-up instructions. |
page_number | integer | Page the care plan was found on. |
Social history
| Field | Type | Description |
|---|
occupation | string | Occupation. |
education | string | Education. |
marital_status | string | Marital status. |
housing | string | Housing situation. |
abuse | array of AbuseItem | Substance-use entries. |
page_number | integer | Page the social history was found on. |
Each abuse entry has type, status, and frequency string fields.
Family history
| Field | Type | Description |
|---|
relation | string | Relation to the patient. |
condition | string | Condition. |
age_of_onset | string | Age of onset. |
page_number | integer | Page the entry was found on. |
Symptoms
| Field | Type | Description |
|---|
name | string | Symptom name. |
description | string | Description. |
section_header | string | Section header it was found under. |
page_number | integer | Page the symptom was found on. |
Providers
providers entries have name and page_number, plus bounding_boxes. signed_provider entries add credentials (for example MD) and signed_date.
Source citations
Most objects carry a page_number and bounding_boxes so every value can be traced back to its exact place on the page.
A BoundingBox is an array of four numbers, [x1, y1, x2, y2]. Values may be normalised floats between 0 and 1, or pixel integers. On patient demographics, bounding_boxes is an object keyed by field name; on diagnoses and providers it is an array of boxes.
Example
A trimmed json result for a single-encounter progress note.
{
"version": "3.1.0",
"patient_demographics": [
{
"first_name": "R",
"last_name": "Matthews",
"date_of_birth": "1978-03-04",
"gender": "female",
"medical_record_number": "RM-2284",
"page_number": 3,
"bounding_boxes": { "last_name": [[0.09, 0.14, 0.24, 0.17]] }
}
],
"encounters": [
{
"encounter_id": 1,
"start_page": 3,
"end_page": 3,
"note_type": "progress note",
"specialty": "Cardiology",
"providers": [{ "name": "A. Okonkwo, MD", "page_number": 3 }],
"vitals": [{ "blood_pressure": "148/92", "heart_rate": "102", "oxygen_saturation": "94%" }],
"diagnoses": [
{
"name": "Heart failure, unspecified",
"code1": "I50.9",
"code2": null,
"meat": { "context": "Cardiology follow-up in 2 weeks", "medication": ["Lisinopril"] },
"page_number": 4
}
],
"medications": [
{ "name": "Lisinopril", "dosage": "20 mg", "frequency": "daily", "route": "PO", "status": "active" }
],
"allergies": [{ "name": "Penicillin", "reaction": "Urticaria", "severity": "high" }],
"valid_encounter": true
}
]
}