Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
ee65890
fix: medication X button passes wrong ID and remove flawed archival m…
LiamStanziani Mar 18, 2026
ff6981a
fix: remove dead server-side archival code, harden deletePrescribe wi…
LiamStanziani Mar 18, 2026
7163cf0
fix: added requested with header to fetch, added jsp comment header t…
LiamStanziani Mar 18, 2026
71a7a86
fix: added owasp encoding to logger method variable output
LiamStanziani Mar 18, 2026
e67bb3d
fix: String object comparison and forward-iteration deletion in medic…
LiamStanziani Mar 18, 2026
613dbe9
fix: removed un-needed objects import, created a copy of deletedIndex…
LiamStanziani Mar 18, 2026
8d118b3
fix: passed drugId to seqNo
LiamStanziani Mar 18, 2026
9e443a9
fix: encoding use on input with forJava, added encoding on drugName o…
LiamStanziani Mar 18, 2026
188c0d5
fix: removed unecessary .trim
LiamStanziani Mar 18, 2026
15699cb
fix: resolve ghost card when unchecking ReRx checkbox after staging
LiamStanziani Mar 19, 2026
c3035ca
chore: removed unused uiRefId var, encoded id attribute
LiamStanziani Mar 19, 2026
4f879dd
fix: scope query selector to rxText incase new code tries to use same…
LiamStanziani Mar 19, 2026
6eeaa9f
fix: add 128Hz tuning fork D1 measurement to diabetes flowsheet
LiamStanziani Mar 23, 2026
fe559fd
fix: updated new measurement to have consistent capitilization in lin…
LiamStanziani Mar 23, 2026
3188e24
fix: added all necessary field updates on migration script duplicate key
LiamStanziani Mar 24, 2026
7c12066
feat: add oma uninsured service fees to prive billing form
LiamStanziani Mar 24, 2026
d5d8af2
fix: removed trailing white space in some DB entries, removed IGNORE …
LiamStanziani Mar 24, 2026
ede56bb
fix: added ctl_billingservice OMA_C01 entry
LiamStanziani Mar 24, 2026
7437d38
chore: fix maven repository order to be above jitpack to fix artifact…
LiamStanziani Apr 7, 2026
bef4b04
chore: updated wording of jitpack comment
LiamStanziani Apr 7, 2026
4667eb4
Merge pull request #2344 from openo-beta/bug/string-object-checking-a…
lacarmen Apr 7, 2026
92c6707
Merge pull request #2343 from openo-beta/bug/medication-x-passes-wron…
lacarmen Apr 7, 2026
5ca89f3
Merge pull request #2345 from openo-beta/bug/silent-rerx-unchecking-r…
lacarmen Apr 7, 2026
9ac72ff
fix: restore queue count decrement after fetch+jQuery reload overwrit…
D3V41 Apr 7, 2026
b1b82e8
fix: resolve const reassignment TypeError in updateSideNavInQueue
D3V41 Apr 7, 2026
af5526a
Merge branch 'develop' into bug/missing-tuning-fork-measurement-diabe…
LiamStanziani Apr 8, 2026
7ebf3b6
Merge branch 'develop' into feat/add-oma-uninsured-service-fees-priva…
LiamStanziani Apr 8, 2026
d99146d
Merge pull request #2403 from openo-beta/fix/mds-queue-count-script-r…
lacarmen Apr 8, 2026
e192e60
fix: restore server-side drug filtering and heading display broken by…
D3V41 Apr 8, 2026
54ac4ac
Merge pull request #2380 from openo-beta/bug/missing-tuning-fork-meas…
lacarmen Apr 8, 2026
ac57be0
Merge pull request #2383 from openo-beta/feat/add-oma-uninsured-servi…
lacarmen Apr 8, 2026
7782db5
fix: validate attachments belong to patient before Ocean eReferral su…
D3V41 Mar 24, 2026
40775ac
fix: Ocean eReferral attachment validation and DAO safety
D3V41 Mar 25, 2026
a5b4455
fix: fix drug profile legend view-switching broken by DataTables upgrade
D3V41 Apr 9, 2026
1971068
Merge pull request #2405 from openo-beta/fix/ocean-ereferral-cross-pa…
lacarmen Apr 9, 2026
a0a26e1
fix: convert drug profile legend from server-side to client-side filt…
D3V41 Apr 10, 2026
3a2b50d
guard against null selected_default element in CngClass
D3V41 Apr 10, 2026
b103251
fix: hide empty sections in multi-section drug profile views
D3V41 Apr 10, 2026
27f0878
Merge pull request #2402 from openo-beta/chore/fix-maven-repo-priorit…
lacarmen Apr 10, 2026
3739743
fix: missing tickler conditional regression causing a patient specifi…
LiamStanziani Apr 13, 2026
356753d
fix: repeated error messages in new and edit tickler pages, and align…
LiamStanziani Apr 13, 2026
86cae8f
fix: AI review comments, change variable from var to let, add provide…
LiamStanziani Apr 13, 2026
8bf7f10
fix: polish msgNOProviderAssigned resource bundle text included anoth…
LiamStanziani Apr 13, 2026
87563cc
fix: add default current user selected logic for providers selection …
LiamStanziani Apr 13, 2026
6359eea
fix: change "Erase Selected Completely" button inside of Tickler Mana…
LiamStanziani Apr 14, 2026
66b0acf
fix: AI review comments, french text consistency with previous value,…
LiamStanziani Apr 14, 2026
ce8663e
Merge pull request #2409 from openo-beta/regression/extra-filter-drop…
lacarmen Apr 14, 2026
f48a243
Merge pull request #2410 from openo-beta/bug/repeated-error-message-n…
lacarmen Apr 14, 2026
8079a4e
Merge pull request #2411 from openo-beta/regression/assign-task-to-ne…
lacarmen Apr 14, 2026
37d3eee
fix: restore Rx reprint toggle broken by CSS display:none, and added …
LiamStanziani Apr 15, 2026
2d085b4
fix: added the missing space between print amount number and text
LiamStanziani Apr 15, 2026
2f614b0
chore: changed csrfguard context path to use ctx variable, and moved …
LiamStanziani Apr 15, 2026
0e2c719
Merge branch 'develop' into re-print-rx-module-no-longer-works
LiamStanziani Apr 15, 2026
a6be8fe
fix: mb variable scope change due to recent change from var > let, re…
LiamStanziani Apr 15, 2026
0d05d96
fix: medication list in rx module being sorted in the wrong order (ch…
LiamStanziani Apr 15, 2026
547ac81
fix: set versioning to avoid stale datatables caches, sort by start d…
LiamStanziani Apr 15, 2026
a38baa8
fix: added DataTables fallback sorting to use Entered Date when Start…
LiamStanziani Apr 15, 2026
dc4b9e6
fix: reverted item key change which was made to avoid stale localStor…
LiamStanziani Apr 15, 2026
dc0244a
Merge pull request #2412 from openo-beta/bug/tickler-manager-erase-se…
lacarmen Apr 16, 2026
866df22
fix: increase font size and weight of drug profile section headings
D3V41 Apr 16, 2026
574eec0
Merge pull request #2414 from openo-beta/regression/instructions-fiel…
lacarmen Apr 16, 2026
1ac7fc4
Merge pull request #2404 from openo-beta/fix/restore-drug-profile-vie…
lacarmen Apr 16, 2026
e755185
fix: reprint medication CSS styling causing missing newlines between …
LiamStanziani Apr 16, 2026
9f867bf
fix: restore <br> rendering and fix missing labels in RxPreview
D3V41 Apr 17, 2026
a7a25b1
fix: encode practitioner number and fax output in PreviewContent.jsp
D3V41 Apr 17, 2026
d9a515b
Merge pull request #2413 from openo-beta/re-print-rx-module-no-longer…
lacarmen Apr 22, 2026
a109906
Merge pull request #2415 from openo-beta/regression/medication-list-r…
lacarmen Apr 22, 2026
2503d23
Merge pull request #2417 from openo-beta/fix/rx-preview-br-rendering-…
lacarmen Apr 22, 2026
0287d79
LLM api initialized demographic, allegeries, medications, documentati…
idkcoder93 Apr 27, 2026
57c7fab
Merge branch 'develop' into alexBranch
idkcoder93 Apr 27, 2026
2171c41
notes are added to the LLM endpoint
idkcoder93 May 19, 2026
c716b29
Merge pull request #1 from idkcoder93/alexBranch
idkcoder93 May 19, 2026
2ce37d2
OCR and caching implemented, adjusted LLM endpoint to send data in json.
idkcoder93 Jun 1, 2026
44c36d3
Merge pull request #2 from idkcoder93/alexBranch
idkcoder93 Jun 1, 2026
d38ac1d
Update src/main/java/ca/openosp/openo/commn/dao/DocumentDaoImpl.java
idkcoder93 Jun 8, 2026
a0094b4
Update src/main/java/ca/openosp/openo/managers/LlmDocumentTextService…
idkcoder93 Jun 8, 2026
972e96f
Update src/main/java/ca/openosp/openo/webserv/rest/LLMExtractorServic…
idkcoder93 Jun 8, 2026
9ef1f9a
added link to our AI prompter
idkcoder93 Jun 9, 2026
c22f7fd
Merge pull request #3 from idkcoder93/alexBranch
idkcoder93 Jun 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/db/scripts/development.sql

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions .devcontainer/development/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ RUN npm install -g playwright@1.56.0 && \
# Install all Playwright browsers (Chromium, Chrome, Firefox) with system dependencies
# Note: --with-deps installs required system libraries for each browser
# Version 1.56.0+ correctly uses t64 package names (e.g., libasound2t64) for Ubuntu 24.04
RUN npx playwright install --with-deps chromium chrome firefox && \
echo "✅ Playwright browsers installed (Chromium, Chrome, Firefox)"
RUN npx playwright install --with-deps chromium firefox && \
echo "✅ Playwright browsers installed (Chromium, Firefox) -- does not support arm64 Chrome on Linux yet - removed Chrome from the list"

# Install pipx and Aider AI coding assistant
RUN apt-get update && apt-get install -y pipx && \
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ __pycache__/
.editorconfig
.claude
CLAUDE.md
.classpath
.factorypath
.project

# Docusaurus
/website/node_modules/
Expand Down
1 change: 1 addition & 0 deletions database/mysql/oscardata.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1221,6 +1221,7 @@ INSERT INTO `measurementType` (`type`, `typeDisplayName`, `typeDescription`, `me
( 'NERF', 'Neuropathic Features?', 'Neuropathic Features?', 'null', '15', '2013-05-07 00:00:00'),
( 'NOSK', 'Number of Cigarettes per day', 'Smoking', 'Cigarettes per day', '5', '2013-02-01 00:00:00'),
( 'NOVS', 'Need for nocturnal ventilated support', 'Need for nocturnal ventilated support', 'Yes/No', '7', '2013-02-01 00:00:00'),
( 'NRTF', 'Neurological exam: 128Hz tuning fork D1', 'Neurological exam: 128Hz tuning fork D1', 'Normal', '7', '2026-03-23 00:00:00'),
( 'NtrC', 'Diet/Nutrition Counseling Given', 'Diet/Nutrition Counseling Given', 'Yes/No', '7', '2013-02-01 00:00:00'),
( 'NYHA', 'NYHA Functional Capacity Classification', 'NYHA Functional Capacity Classification', 'Class 1-4', '9', '2013-02-01 00:00:00'),
( 'OPAE', 'Opioid Adverse Effects', 'Opioid Adverse Effects', 'null', '17', '2014-11-27 13:00:00'),
Expand Down
80 changes: 77 additions & 3 deletions database/mysql/oscardata_on.sql
Original file line number Diff line number Diff line change
Expand Up @@ -11546,6 +11546,47 @@ INSERT INTO `billingservice` (`service_code`, `description`, `value`, `percentag
('Z943A', '----', '102.00', NULL, '2009-10-24', 'ON', '00'),
('Z944A', '----', '89.75', NULL, '2010-10-01', 'ON', '00');

--
-- OMA Uninsured Services Fees (OMD Conformance PC13.19)
-- See: https://github.com/openo-beta/Open-O/issues/2381
--

INSERT INTO billingservice (service_compositecode,service_code,description,value,percentage,billingservice_date,specialty,region,anaesthesia,termination_date,displaystyle,sliFlag,gstFlag) VALUES
('','_OMA_A003','General Assessment','253.35','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_A007','Intermediate Assessment','110.10','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_A110','Periodic oculo-visual assessment (by a General/Family practitioner)','141.85','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_C01','Patient interview for practice admission','128.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F01','Form completion for physicals for schools, camps, pre-school, daycare, university/educational institutions','37.25','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F02','Form completion for physicals for pre-employment certification of fitness/fitness clubs or hospital/nursing home employee','49.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F03','Children''s Aid Society (CAS) application for prospective foster parent','252.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F04','CRA Disability Tax Credit Certificate (form T2201)','150.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F05','Insurance Certificate OCF- 3 Disability Certificate','262.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F06','Insurance Certificate OCF-18 Treatment Plan','278.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F07','Insurance Certificate OCF-23 Treatment Confirmation','262.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F08','Attending Physician''s Statement','200.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F09','Insurance Medical Examination (assessment and report)','200.00','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F10','Medical Report for a CPP Disability Benefit (SCISP-2519)','85.00','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F11','CPP Narrative Medical Report','150.00','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F12','Medical certificate employment insurance sickness benefits INS5140','52.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F13','Travel cancellation insurance form','164.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F14','Life insurance death certificate','50.00','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F15','Insurance Certificate OCF-19 Determination of Catastrophic Impairment','155.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F16','System-Specific or Disease Specific Questionnaire','125.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F17','System-Specific Examination','152.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F18','Assessments: Clarification Report','300.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F19','Assessments: Full Narrative Report','350.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F20','Assessments: Independent Medical Examination','200.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F21','Terminal Illness Medical Attestation for a Disability Benefit (ISP2530B)','85.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F22','Reassessment Medical Report (ISP2509)','25.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F23','Scannable Impairment Evaluation (IMPAIR)','50.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F24','Medical Report – Recurrence of the Same Medical Problem (ISP2525)','25.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F25','Drivers medical examination (form only)','77.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_G010','Urinalysis – without microscopy','7.65','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_N01','Sick notes (includes return to work/school notes)','26.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_N02','Fitness to work notes','50.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_RECOR','Electronic Transfer of Records','30.00','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_RX','Dispensing service fee','20.75','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0);

--
-- Dumping data for table 'clinic'
--
Expand Down Expand Up @@ -12540,9 +12581,42 @@ INSERT INTO ctl_billingservice (servicetype_name,servicetype,service_code,servic
INSERT INTO ctl_billingservice (servicetype_name,servicetype,service_code,service_group_name,service_group,status,service_order) VALUES ('General Practice','MFP','B994A','Premium','Group3','A',35);
INSERT INTO ctl_billingservice (servicetype_name,servicetype,service_code,service_group_name,service_group,status,service_order) VALUES ('Service','TST','A007A',' Description 3','Group3','A',1);
INSERT INTO ctl_billingservice (servicetype_name,servicetype,service_code,service_group_name,service_group,status,service_order) VALUES ('Service','TST','A008A',' Description 3','Group3','A',2);
INSERT INTO ctl_billingservice (servicetype_name,servicetype,service_code,service_group_name,service_group,status,service_order) VALUES ('PRIVATE','PRI','A007A',' Group 1 Name','Group1','A',1);
INSERT INTO ctl_billingservice (servicetype_name,servicetype,service_code,service_group_name,service_group,status,service_order) VALUES ('PRIVATE','PRI','A007A',' Group 2 Name','Group2','A',1);
INSERT INTO ctl_billingservice (servicetype_name,servicetype,service_code,service_group_name,service_group,status,service_order) VALUES ('PRIVATE','PRI','A007A',' Group 3 Name','Group3','A',1);
-- OMA Uninsured Services Fees - PRIVATE form mappings (OMD Conformance PC13.19)
INSERT INTO ctl_billingservice (servicetype_name,servicetype,service_code,service_group_name,service_group,status,service_order) VALUES
('PRIVATE','PRI','_OMA_A003','Assessments','Group2','A',1),
('PRIVATE','PRI','_OMA_A007','Assessments','Group2','A',2),
('PRIVATE','PRI','_OMA_A110','Assessments','Group2','A',3),
('PRIVATE','PRI','_OMA_F01','Forms','Group1','A',2),
('PRIVATE','PRI','_OMA_F02','Forms','Group1','A',3),
('PRIVATE','PRI','_OMA_F03','Forms','Group1','A',4),
('PRIVATE','PRI','_OMA_F04','Forms','Group1','A',5),
('PRIVATE','PRI','_OMA_F05','Forms','Group1','A',6),
('PRIVATE','PRI','_OMA_F06','Forms','Group1','A',7),
('PRIVATE','PRI','_OMA_F07','Forms','Group1','A',8),
('PRIVATE','PRI','_OMA_F08','Assessments','Group2','A',5),
('PRIVATE','PRI','_OMA_F09','Assessments','Group2','A',6),
('PRIVATE','PRI','_OMA_F10','Assessments','Group2','A',7),
('PRIVATE','PRI','_OMA_F11','Assessments','Group2','A',8),
('PRIVATE','PRI','_OMA_F12','Assessments','Group2','A',4),
('PRIVATE','PRI','_OMA_F13','Forms','Group1','A',11),
('PRIVATE','PRI','_OMA_F14','Forms','Group1','A',12),
('PRIVATE','PRI','_OMA_F15','Forms','Group1','A',13),
('PRIVATE','PRI','_OMA_F16','Assessments','Group2','A',10),
('PRIVATE','PRI','_OMA_F17','Assessments','Group2','A',11),
('PRIVATE','PRI','_OMA_F18','Assessments','Group2','A',12),
('PRIVATE','PRI','_OMA_F19','Assessments','Group2','A',13),
('PRIVATE','PRI','_OMA_F20','Assessments','Group2','A',14),
('PRIVATE','PRI','_OMA_F21','Forms','Group1','A',14),
('PRIVATE','PRI','_OMA_F22','Assessments','Group2','A',15),
('PRIVATE','PRI','_OMA_F23','Assessments','Group2','A',16),
('PRIVATE','PRI','_OMA_F24','Assessments','Group2','A',17),
('PRIVATE','PRI','_OMA_F25','Assessments','Group2','A',9),
('PRIVATE','PRI','_OMA_G010','Procedures','Group3','A',2),
('PRIVATE','PRI','_OMA_N01','Forms','Group1','A',9),
('PRIVATE','PRI','_OMA_N02','Forms','Group1','A',10),
('PRIVATE','PRI','_OMA_RECOR','Forms','Group1','A',1),
('PRIVATE','PRI','_OMA_RX','Procedures','Group3','A',1),
('PRIVATE','PRI','_OMA_C01','Assessments','Group2','A',18);

--
-- Dumping data for table 'ctl_billingservice_premium'
Expand Down
17 changes: 17 additions & 0 deletions database/mysql/oscarinit.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1079,6 +1079,23 @@ CREATE TABLE IF NOT EXISTS form (
KEY form_select (demographic_no, form_name)
) ;

--
-- Table structure for extracted pdf text
--

CREATE TABLE IF NOT EXISTS llm_document_text (
id INT AUTO_INCREMENT PRIMARY KEY,
document_no INT(6) NOT NULL,
demographic_no INT NOT NULL,
extracted_text MEDIUMTEXT,
content_hash VARCHAR(64) NOT NULL, -- SHA-256 of the PDF bytes
extracted_at DATETIME NOT NULL,
INDEX idx_document_no (document_no),
INDEX idx_demographic_no (demographic_no),
FOREIGN KEY (document_no) REFERENCES ctl_document(document_no),
FOREIGN KEY (demographic_no) REFERENCES demographic(demographic_no)
);

--
-- Table structure for table form2MinWalk
--
Expand Down
13 changes: 13 additions & 0 deletions database/mysql/updates/update-2026-03-23-nrtf-tuning-fork.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
--
-- Add NRTF (Neurological Exam 128Hz Tuning Fork D1) measurement type
-- for diabetes flowsheet compliance with OMD DE16.066
-- Fixes: https://github.com/openo-beta/Open-O/issues/2338
--

INSERT INTO `measurementType` (`type`, `typeDisplayName`, `typeDescription`, `measuringInstruction`, `validation`, `createDate`)
VALUES ('NRTF', 'Neurological exam: 128Hz tuning fork D1', 'Neurological exam: 128Hz tuning fork D1', 'Normal', '7', '2026-03-23 00:00:00')
ON DUPLICATE KEY UPDATE
`typeDisplayName`='Neurological exam: 128Hz tuning fork D1',
`typeDescription`='Neurological exam: 128Hz tuning fork D1',
`measuringInstruction`='Normal',
`validation`='7';
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
-- OMA Uninsured Services Fees for Ontario Private Billing
-- OMD Conformance Requirement PC13.19
-- Adds 34 OMA fee codes to the billingservice table and maps them to the PRIVATE billing form
-- See: https://github.com/openo-beta/Open-O/issues/2381

-- Deactivate legacy placeholder PRIVATE form mappings (replaced by OMA codes below)
UPDATE ctl_billingservice SET status = 'I' WHERE servicetype = 'PRI' AND service_code = 'A007A' AND service_group_name IN (' Group 1 Name', ' Group 2 Name', ' Group 3 Name');

-- Billing service codes (private codes use underscore prefix, region=NULL)
INSERT INTO billingservice (service_compositecode,service_code,description,value,percentage,billingservice_date,specialty,region,anaesthesia,termination_date,displaystyle,sliFlag,gstFlag) VALUES
('','_OMA_A003','General Assessment','253.35','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_A007','Intermediate Assessment','110.10','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_A110','Periodic oculo-visual assessment (by a General/Family practitioner)','141.85','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_C01','Patient interview for practice admission','128.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F01','Form completion for physicals for schools, camps, pre-school, daycare, university/educational institutions','37.25','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F02','Form completion for physicals for pre-employment certification of fitness/fitness clubs or hospital/nursing home employee','49.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F03','Children''s Aid Society (CAS) application for prospective foster parent','252.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F04','CRA Disability Tax Credit Certificate (form T2201)','150.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F05','Insurance Certificate OCF- 3 Disability Certificate','262.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F06','Insurance Certificate OCF-18 Treatment Plan','278.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F07','Insurance Certificate OCF-23 Treatment Confirmation','262.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F08','Attending Physician''s Statement','200.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F09','Insurance Medical Examination (assessment and report)','200.00','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F10','Medical Report for a CPP Disability Benefit (SCISP-2519)','85.00','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F11','CPP Narrative Medical Report','150.00','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F12','Medical certificate employment insurance sickness benefits INS5140','52.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F13','Travel cancellation insurance form','164.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F14','Life insurance death certificate','50.00','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F15','Insurance Certificate OCF-19 Determination of Catastrophic Impairment','155.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F16','System-Specific or Disease Specific Questionnaire','125.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F17','System-Specific Examination','152.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F18','Assessments: Clarification Report','300.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F19','Assessments: Full Narrative Report','350.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F20','Assessments: Independent Medical Examination','200.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F21','Terminal Illness Medical Attestation for a Disability Benefit (ISP2530B)','85.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F22','Reassessment Medical Report (ISP2509)','25.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F23','Scannable Impairment Evaluation (IMPAIR)','50.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F24','Medical Report – Recurrence of the Same Medical Problem (ISP2525)','25.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_F25','Drivers medical examination (form only)','77.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_G010','Urinalysis – without microscopy','7.65','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_N01','Sick notes (includes return to work/school notes)','26.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_N02','Fitness to work notes','50.00','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_RECOR','Electronic Transfer of Records','30.00','0.00','2026-03-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0),
('','_OMA_RX','Dispensing service fee','20.75','0.00','2026-01-01',NULL,NULL,NULL,'9999-12-31',NULL,0,0);

-- Map billing codes to the PRIVATE billing form with group organization
-- Group1 = Forms, Group2 = Assessments, Group3 = Procedures
INSERT INTO ctl_billingservice (servicetype_name,servicetype,service_code,service_group_name,service_group,status,service_order) VALUES
('PRIVATE','PRI','_OMA_A003','Assessments','Group2','A',1),
('PRIVATE','PRI','_OMA_A007','Assessments','Group2','A',2),
('PRIVATE','PRI','_OMA_A110','Assessments','Group2','A',3),
('PRIVATE','PRI','_OMA_F01','Forms','Group1','A',2),
('PRIVATE','PRI','_OMA_F02','Forms','Group1','A',3),
('PRIVATE','PRI','_OMA_F03','Forms','Group1','A',4),
('PRIVATE','PRI','_OMA_F04','Forms','Group1','A',5),
('PRIVATE','PRI','_OMA_F05','Forms','Group1','A',6),
('PRIVATE','PRI','_OMA_F06','Forms','Group1','A',7),
('PRIVATE','PRI','_OMA_F07','Forms','Group1','A',8),
('PRIVATE','PRI','_OMA_F08','Assessments','Group2','A',5),
('PRIVATE','PRI','_OMA_F09','Assessments','Group2','A',6),
('PRIVATE','PRI','_OMA_F10','Assessments','Group2','A',7),
('PRIVATE','PRI','_OMA_F11','Assessments','Group2','A',8),
('PRIVATE','PRI','_OMA_F12','Assessments','Group2','A',4),
('PRIVATE','PRI','_OMA_F13','Forms','Group1','A',11),
('PRIVATE','PRI','_OMA_F14','Forms','Group1','A',12),
('PRIVATE','PRI','_OMA_F15','Forms','Group1','A',13),
('PRIVATE','PRI','_OMA_F16','Assessments','Group2','A',10),
('PRIVATE','PRI','_OMA_F17','Assessments','Group2','A',11),
('PRIVATE','PRI','_OMA_F18','Assessments','Group2','A',12),
('PRIVATE','PRI','_OMA_F19','Assessments','Group2','A',13),
('PRIVATE','PRI','_OMA_F20','Assessments','Group2','A',14),
('PRIVATE','PRI','_OMA_F21','Forms','Group1','A',14),
('PRIVATE','PRI','_OMA_F22','Assessments','Group2','A',15),
('PRIVATE','PRI','_OMA_F23','Assessments','Group2','A',16),
('PRIVATE','PRI','_OMA_F24','Assessments','Group2','A',17),
('PRIVATE','PRI','_OMA_F25','Assessments','Group2','A',9),
('PRIVATE','PRI','_OMA_G010','Procedures','Group3','A',2),
('PRIVATE','PRI','_OMA_N01','Forms','Group1','A',9),
('PRIVATE','PRI','_OMA_N02','Forms','Group1','A',10),
('PRIVATE','PRI','_OMA_RECOR','Forms','Group1','A',1),
('PRIVATE','PRI','_OMA_RX','Procedures','Group3','A',1),
('PRIVATE','PRI','_OMA_C01','Assessments','Group2','A',18);
Loading