Data model

The Phase 1 concepts as entities, named by their RPMS file. This is not a new schema: RPMS already has one (FileMan). It is the subset of FileMan the Phase 1 stories touch, and so the subset the downstream software has to read and write (through RPCs and FileMan APIs, never raw globals). The attributes are the ones the stories’ acceptance criteria check, not the files’ full field lists.

erDiagram
  PATIENT_2 ||--|| IHS_PATIENT_9000001 : "same IEN (DFN)"
  IHS_PATIENT_9000001 ||--o{ MEDICARE_ELIGIBLE_9000003 : "covered by"
  IHS_PATIENT_9000001 ||--o{ MEDICAID_ELIGIBLE_9000004 : "covered by"
  IHS_PATIENT_9000001 ||--o{ PRIVATE_INSURANCE_ELIGIBLE_9000006 : "covered by"
  PATIENT_2 ||--o{ APPOINTMENT : "booked"
  HOSPITAL_LOCATION_44 ||--o{ APPOINTMENT : "holds"
  APPOINTMENT |o--o| VISIT_9000010 : "checked in as"
  PATIENT_2 ||--o{ VISIT_9000010 : "has"
  HOSPITAL_LOCATION_44 ||--o{ VISIT_9000010 : "at"
  VISIT_9000010 ||--o{ V_MEASUREMENT_9000010_01 : "vitals"
  VISIT_9000010 ||--o{ V_PROVIDER_9000010_06 : "seen by"
  VISIT_9000010 ||--o{ V_POV_9000010_07 : "diagnoses"
  VISIT_9000010 ||--o{ V_CPT_9000010_18 : "services"
  VISIT_9000010 ||--o{ V_IMMUNIZATION_9000010_11 : "vaccines"
  VISIT_9000010 ||--o{ V_PATIENT_ED_9000010_16 : "education"
  VISIT_9000010 ||--o{ V_HEALTH_FACTORS_9000010_23 : "screenings"
  VISIT_9000010 ||--o{ V_VISIT_INSTRUCTIONS_9000010_58 : "instructions"
  VISIT_9000010 ||--o{ TIU_DOCUMENT_8925 : "documented by"
  VISIT_9000010 ||--o{ ORDER_100 : "orders"
  PATIENT_2 ||--o{ PROBLEM_9000011 : "problem list"
  PROBLEM_9000011 |o--o{ V_POV_9000010_07 : "addressed as"
  PROBLEM_9000011 ||--o{ CARE_PLAN : "planned by"
  PATIENT_2 ||--o{ PATIENT_ALLERGIES_120_8 : "reacts to"
  NEW_PERSON_200 ||--o{ V_PROVIDER_9000010_06 : "is"
  NEW_PERSON_200 ||--o{ TIU_DOCUMENT_8925 : "signs"
  NEW_PERSON_200 }o--o| PERSON_CLASS_8932_1 : "discipline"
  NEW_PERSON_200 ||--o{ STAFF_CREDENTIALS_9002155 : "credentialed by"
  VISIT_9000010 ||--o{ CLAIM_3P_9002274_3 : "billed as"
  CLAIM_3P_9002274_3 ||--o| BILL_3P_9002274_4 : "approved as"

  PATIENT_2 {
    string name
    date date_of_birth
    string sex
    string ssn
  }
  IHS_PATIENT_9000001 {
    pointer tribe_of_membership
    pointer community_of_residence
    multiple health_record_numbers "one per facility"
  }
  MEDICAID_ELIGIBLE_9000004 {
    string medicaid_number
    date eligibility_start
    date eligibility_end
  }
  APPOINTMENT {
    datetime appointment_time
    string status "booked, cancelled, checked in, no-show"
    pointer cancellation_reason "409.2"
    datetime checked_in
  }
  HOSPITAL_LOCATION_44 {
    string name
    string type "clinic"
    pointer stop_code
  }
  VISIT_9000010 {
    datetime visit_date
    string service_category "A ambulatory"
    pointer location "44"
    string type "IHS"
  }
  V_MEASUREMENT_9000010_01 {
    pointer measurement_type "BP, WT, HT, T, P, PA"
    string value
  }
  V_POV_9000010_07 {
    pointer icd_code "80"
    string provider_narrative
    string primary_or_secondary
  }
  V_CPT_9000010_18 {
    pointer cpt_code "81"
    string modifiers
  }
  TIU_DOCUMENT_8925 {
    pointer document_type "8925.1"
    string status "unsigned, completed"
    datetime signature_date
  }
  NEW_PERSON_200 {
    string name
    string npi
    string electronic_signature_hashed
    multiple keys "19.1"
  }
  STAFF_CREDENTIALS_9002155 {
    string credential
    date expiration
  }
  CLAIM_3P_9002274_3 {
    pointer visit
    pointer insurer
    string status
  }
  BILL_3P_9002274_4 {
    string bill_number
    date approval_date
    date export_date
  }

Entities

EntityRole in the workflows
PATIENT #2 / IHS PATIENT #9000001One patient, two files sharing the IEN (DFN). Registration writes both; everything else points at #2.
Eligibility #9000003 / #9000004 / #9000006Coverage by payer, with dates. 3P Billing reads it on the visit date to choose the payer.
Other coverage #9000005 / #9000041 / #9000042 / #9000043 / #9000046Railroad Retirement, third-party liability, workers' compensation, the guarantor and prior authorizations: the rest of what the benefits coordinator keeps (W19).
BENEFIT COORDINATOR CASES #9000044 / PATIENT APPLICATIONS #9000045The coordinator's case for a patient and the applications made under it (W19).
PATIENT MOVEMENT #405One entry per admission, transfer, treating-specialty change and discharge; a stay is an admission and the movements tied to it (W18).
INCOMPLETE CHART #9009016.1A discharged stay's deficiencies by provider, until the chart is complete (W18).
HOSPITAL LOCATION #44The clinic. Owns the appointment schedule; visits point at it.
AppointmentNot a file of its own on the VA side: a multiple under #44 with its mirror under #2 (#2.98). IHS Windows Scheduling adds BSDX APPOINTMENT #9002018.4. Which one BPRM and lakeraven-ehr write is the parity question in lakeraven-ehr `docs/BPRM_PARITY_PLAN.md`.
VISIT #9000010The hub. Every V file entry, note and claim hangs off a visit; a wrong visit is the root of most charting errors.
V files #9000010.nnWhat happened on the visit, one file per kind.
PROBLEM #9000011The patient's problem list; POVs are picked from it.
Care planThe care plans, goals, visit instructions and treatment plan kept against one of the patient's problems. Read per problem through the RPC BJPN CARE PLANS AND GOALS (Prenatal Care Module); the file its text is stored in is still to find.
TIU DOCUMENT #8925The note, linked to the visit, signed by a NEW PERSON.
ORDER #100Orders; Phase 2 follows them into Pharmacy (#52), Lab (#69, #63) and Consults (#123).
NEW PERSON #200Every user. A provider is a user with a person class, the PROVIDER key and an electronic signature.
STAFF CREDENTIALS #9002155Licences and their expiry (AQAQ).
3P CLAIM DATA #9002274.3 / 3P BILL #9002274.4The claim generated from a coded visit, and the bill it becomes when approved.
ConceptWhy it is not an entity here
After-visit summaryA print of the visit and the health summary type (#9001015); nothing new is stored.
ReportOutput computed from the visits; nothing is stored.
Code set (#80, #81)Reference data from the build (AUM), not entered in these workflows.

Concepts

ConceptDescriptionRPMS fileUse cases
Patient The person: name, sex, date of birth, SSN PATIENT #2 S-REG-01 S-REG-02
IHS patient record The IHS half of the patient: tribe, community, health record numbers per facility IHS PATIENT #9000001 S-REG-01 S-REG-02
Health record number The chart number, one per facility #9000001 multiple S-REG-01 S-REG-02
Eligibility Medicare, Medicaid, private insurance coverage with dates MEDICARE ELIGIBLE #9000003, MEDICAID ELIGIBLE #9000004, PRIVATE INSURANCE ELIGIBLE #9000006 S-REG-03 S-BIL-01
Clinic A place visits happen and appointments are booked into HOSPITAL LOCATION #44 S-SCH-01 S-RPT-01
Slot An open time in a clinic's schedule #44 availability; BSDX ACCESS BLOCK #9002018.3 S-SCH-01
Appointment A patient booked into a clinic at a time #44 appointment multiple and the #2.98 multiple on the patient; BSDX APPOINTMENT #9002018.4 S-SCH-01 S-SCH-02 S-SCH-03
Cancellation reason Why an appointment was cancelled CANCELLATION REASONS #409.2 S-SCH-02
Check-in The patient has arrived for the appointment #44 appointment multiple S-SCH-03
Visit The encounter everything is charted on VISIT #9000010 S-SCH-03 S-VIS-01 S-RPT-01
Measurement A vital sign on a visit V MEASUREMENT #9000010.01 S-TRI-02
Screening A health factor or exam recorded on a visit V HEALTH FACTORS #9000010.23, V EXAM #9000010.13 S-TRI-03
Chief complaint Why the patient came, in their words V NARRATIVE TEXT #9000010.34, type CHIEF COMPLAINT (EHR Technical Manual v1.1, section 16) S-TRI-03 S-TRI-07
Triage summary One view of what was recorded on today's visit not stored (reads the visit) S-TRI-08
Growth measurement Height, weight, BMI, head circumference against age-and-sex curves V MEASUREMENT #9000010.01 S-WCC-01
Well-child reminder An exam, screening or education topic due at a child's age Well Child Module knowledgebase (VEN; to confirm) S-WCC-02
Reproductive factors Gravida, births by kind, living children, last menstrual period, contraception REPRODUCTIVE FACTORS (file number to confirm on the build) S-WH-01 S-WH-02
Pregnancy issue A problem or risk of the current pregnancy, kept with the problem list BJPN files with PROBLEM #9000011 (to confirm) S-PRG-01
Estimated date of delivery The pregnancy's definitive EDD BJPN (to confirm) S-PRG-01
Infant feeding How a child of 5 or under is fed to confirm on the build S-PRG-02
Superbill The clinic's pick lists of services BGO pick lists (to confirm) S-SRV-01
Activity time Encounter and travel time on a visit to confirm on the build S-SRV-03
Allergy An adverse reaction on file PATIENT ALLERGIES #120.8 S-TRI-04
Medication A drug the patient takes: clinic-prescribed or outside V MEDICATION #9000010.14; PRESCRIPTION #52 S-TRI-04 S-RX-01
Problem A condition on the patient's problem list PROBLEM #9000011 S-VIS-02
Purpose of visit (POV) A diagnosis on this visit V POV #9000010.07 S-VIS-02 S-COD-02
Order A request for a service, signed by a provider ORDER #100 S-VIS-03 S-LAB-01
Quick order A pre-filled order ORDER DIALOG #101.41 S-VIS-03
Note The provider's documentation of the visit TIU DOCUMENT #8925 S-VIS-04 S-RPT-02
Note title The kind of note, and its template TIU DOCUMENT DEFINITION #8925.1 S-VIS-04
Electronic signature The code a provider signs with NEW PERSON #200 field S-VIS-04 S-CRD-01
Immunization A vaccine given on a visit V IMMUNIZATION #9000010.11 S-VIS-05
Patient education Education given, with the patient's understanding V PATIENT ED #9000010.16 S-AVS-02
Visit provider Who saw the patient, primary or secondary V PROVIDER #9000010.06 S-VIS-01
Procedure code (CPT) A billable service on a visit, incl. E&M V CPT #9000010.18 S-COD-01 S-COD-02
Code set ICD-10 and CPT, updated yearly ICD DIAGNOSIS #80 (not in the FOIA globals; to confirm), CPT #81; AUM updates both S-COD-03
After-visit summary The printout the patient leaves with health summary types #9001015 (print, not stored) S-AVS-01
Visit instructions What the patient is told to do V VISIT INSTRUCTIONS #9000010.58 S-AVS-02 S-AVS-03
Care plan Goals and follow-up for the patient kept per PROBLEM #9000011, read through the RPC BJPN CARE PLANS AND GOALS; the file its text is stored in is to find S-AVS-03
Report Output read from the filed visits not stored (APCL, BGP routines) S-RPT-01 S-RPT-02
Claim What 3P Billing generates from a coded visit 3P CLAIM DATA #9002274.3 S-BIL-01
Bill An approved claim, with a bill number 3P BILL #9002274.4 S-BIL-02 S-BIL-03
Export A batch of bills in a payer's format (837) 3P TX STATUS #9002274.6 S-BIL-03
User Anyone who signs on; a provider is a user with a person class NEW PERSON #200 S-CRD-01
Person class A provider's discipline (national taxonomy) PERSON CLASS #8932.1 S-CRD-01
Security key A permission (PROVIDER, ORES) held by a user SECURITY KEY #19.1 S-CRD-01
Credential A licence, certification or DEA number with expiry STAFF CREDENTIALS #9002155 S-CRD-02 S-CRD-03
Prescription An outpatient medication dispensed by the pharmacy PRESCRIPTION #52 S-RX-01
Lab order and result An accessioned test and its result LAB ORDER ENTRY #69, LAB DATA #63, V LAB #9000010.09 S-LAB-01
Consult A request to another service REQUEST/CONSULTATION #123 S-REF-01
Referral A referral out of the clinic RCIS REFERRAL #90001, V REFERRAL #9000010.59 S-REF-01
PRC document An authorised purchase of outside care CHS files (#9002080 facility) S-PRC-01
Patient message A message between patient and clinic BPHR / MailMan (to find) S-MSG-01
GPRA measure A national performance measure BGP (not stored per patient) S-GPR-01 S-GPR-03
Panel A user's list of patients, by criteria or by hand, that iCare's views work from ICARE USER #90505, panel multiple (^BQICARE(owner,1,panel): patients at node 40, shares at node 30) S-POP-01 S-POP-02 S-POP-04
Community alert A notifiable diagnosis seen in the community, by disease and date ICARE COMMUNITY ALERTS #90507.6 S-POP-07
Care management event An event a patient is due or being tracked for (CMET: queued, tracked, planned) BTPW (Care Management Event Tracking) S-POP-06
Payment A remittance posted to a bill A/R TRANSACTIONS-IHS #90050.03 S-BIL-04
Behavioral health note A note under a behavioral health title, readable only by the user classes the title's rules name TIU DOCUMENT #8925, under a title in TIU DOCUMENT DEFINITION #8925.1 (the FOIA file has no BH title: the site adds them) S-BH-01 S-BH-02
User class A group of users a business rule names (PSYCHIATRIST, STAFF PSYCHOLOGIST, SOCIAL WORKER, PROVIDER, USER) USR CLASS #8930; a user's classes in USR CLASS MEMBERSHIP #8930.3 S-BH-01 S-BH-02
Business rule Which user class may do which action (ENTRY, VIEW, PRINT RECORD) to a title in a status; a rule on a title stops the ones it would inherit from its class (CANDO^USRLA) USR AUTHORIZATION/SUBSCRIPTION #8930.1; the actions in USR ACTION #8930.8 S-BH-01 S-BH-02 S-BH-03
Sensitive patient A patient whose record warns on selection, and logs, unless the user holds DG SENSITIVITY DG SECURITY LOG #38.1 (security level, per patient) S-REG-04 S-BH-03
Record access log Who opened a sensitive record, when, and through which option; reviewed by holders of DG SECURITY OFFICER DG SECURITY LOG #38.1, access multiple #38.11; the bulletin's mail group in MAS PARAMETERS #43 S-REG-04 S-BH-03 S-BH-04
Access restriction A user barred from named patients' records (IHS, BDG SECURITY RESTRICTIONS) ACCESS RESTRICTIONS #9009018.1 S-REG-04
Behavioral health record A visit in the Behavioral Health System, with its own pointer to a TIU note, and the site's choice of whether it passes to PCC MHSS RECORD #9002011; the PCC link in MHSS SITE PARAMETERS #9002013 S-BH-01
Division The site a user signs on to (DUZ(2)); a TIU business rule has no division in it MEDICAL CENTER DIVISION #40.8 S-BH-01

Excluded, with reason

After-visit summaryA print of the visit and the health summary type (#9001015); nothing new is stored.
ReportOutput computed from the visits; nothing is stored.
Code set (#80, #81)Reference data from the build (AUM), not entered in these workflows.