{"id":2438,"date":"2025-04-08T16:52:01","date_gmt":"2025-04-08T05:52:01","guid":{"rendered":"https:\/\/bornfree.life\/2024\/?p=2438"},"modified":"2026-10-28T12:48:31","modified_gmt":"2026-10-28T01:48:31","slug":"oligoscan-tool","status":"publish","type":"page","link":"https:\/\/bornfree.life\/dev\/oligoscan-tool\/","title":{"rendered":"Oligoscan PDF Processor"},"content":{"rendered":"\n\n\n<div class=\"flex flex-col gap-5 items-center title-container\"><a href=\"https:\/\/bornfree.life\/learn\/oligoscan-tool\/\"><h1 class=\"text-center text-5xl text-blue-title font-semibold\">\n        Oligoscan PDF Processor      <\/h1><\/a>\n\n          <\/div>\n\n    <div class=\"border-t h-px border-default-border w-full\"><br><\/div><p><br><\/p>\n<div class=\"bf-osp-info\" aria-label=\"Oligoscan PDF Processor information\">\n\n  <section class=\"bf-osp-disclaimer\" aria-labelledby=\"bf-osp-disclaimer-title\">\n    <span class=\"bf-osp-icon bf-osp-icon--shield\" aria-hidden=\"true\"><\/span>\n    <div>\n      <h2 id=\"bf-osp-disclaimer-title\">Disclaimer<\/h2>\n      <p>This unofficial analysis tool is a &#8220;best effort&#8221; to interpret Oligoscan PDF reports. <br><strong>Example outputs for <a href=\"https:\/\/bornfree.life\/learn\/wp-content\/uploads\/2026\/02\/Corr_Oligoscan-example-page1-scaled.png\" target=\"_blank\" rel=\"noopener\">[page 1]<\/a> and <a href=\"https:\/\/bornfree.life\/learn\/wp-content\/uploads\/2026\/02\/Corr_Oligoscan-example-page2-scaled.png\" target=\"_blank\" rel=\"noopener\">[page 2]<\/a>.<\/strong><\/p>\n      <p>It can and will continue to evolve over time, and should never be taken as medical advice or a prescription.<\/p>\n    <\/div>\n  <\/section>\n\n  <div class=\"bf-osp-info-grid\">\n    <section class=\"bf-osp-card bf-osp-background\" aria-labelledby=\"bf-osp-background-title\">\n      <header class=\"bf-osp-card-header\">\n        <span class=\"bf-osp-icon bf-osp-icon--report\" aria-hidden=\"true\"><\/span>\n        <h2 id=\"bf-osp-background-title\">Background<\/h2>\n      <\/header>\n\n      <p>Oligoscan provides a highly convenient way to estimate intracellular mineral data. However, there are currently a number of limitations that prevent the data from being used at face value, eg.<\/p>\n\n      <ul class=\"bf-osp-check-list\">\n        <li>Skin calcium and iron markers are not helpful in understanding systemic levels, as 99% of calcium is stored in skeletal tissue and 75% of iron is circulating.<\/li>\n        <li>The standard lower and upper thresholds for indicating severe deficiencies are not sensitive enough.<\/li>\n        <li>The Oligoscan practitioner&#8217;s handbook indicates certain mineral elevations need to be inverted and re-interpreted as &#8220;low&#8221;. My analysis of Oligoscan reports vs data obtained from simultaneous &#8220;white blood cell nutrients&#8221; testing suggests this should apply to a wider array of markers. Further analysis is needed.<\/li>\n        <li>Helpful biochemistry details regarding specific deficiencies are not provided in the standard report.<\/li>\n      <\/ul>\n\n      <details class=\"bf-osp-more\">\n        <summary>Learn more <span aria-hidden=\"true\">\u2192<\/span><\/summary>\n        <div>\n          <p>In the future, it&#8217;s entirely possible the company behind Oligoscan may update their reports around these and other observations. In the meantime, you can either consult an Oligoscan practitioner to interpret your report, or use the tool below.<\/p>\n        <\/div>\n      <\/details>\n    <\/section>\n\n    <section class=\"bf-osp-card bf-osp-limitations\" aria-labelledby=\"bf-osp-limitations-title\">\n      <header class=\"bf-osp-card-header\">\n        <span class=\"bf-osp-icon bf-osp-icon--warning\" aria-hidden=\"true\"><\/span>\n        <h2 id=\"bf-osp-limitations-title\">Notes &amp; known limitations<\/h2>\n      <\/header>\n\n      <ol class=\"bf-osp-number-list\">\n        <li><strong>(2026-09-26) Now also works with multilingual SO\/Check, Oligocheck and BioCheck PRO reports (beta, needs further testing in multiple languages &#8211; please use the Feedback button if it doesn&#8217;t).<\/strong><\/li>\n        <li>Untested on Oligoscan reports generated in languages other than English and French, however <em>should<\/em> support others&#8230;<\/li>\n        <li><strong>This tool works reliably on the ORIGINAL EMAILED PDF results<\/strong> &#8211; photos and scanned images of these reports will trigger an attempt at OCR extraction <em>(experimental)<\/em>, however this method can easily introduce errors, depending on image quality.<\/li>\n        <li>Uploading Oligoscan &#8220;comparison reports&#8221; will not work, however <strong>you can generate comparisons for up to 5 individual reports using this tool, using any combination of original (emailed, not-OCR&#8217;d) and\/or already processed reports (which may also include successfully OCR&#8217;d versions)<\/strong>.<\/li>\n        <li>Output PDF reports have been simplified to show mineral results as deviation% from &#8220;ideal&#8221;. However, if you&#8217;d also like the raw data, it is contained in the optional CSV file.<\/li>\n        <li>As of v1.0.1, mineral test report data deviation% is now aligned to SO\/Check scaling.<\/li>\n        <li><strong>As of v1.6.1, heavy metal report data deviation% is now aligned to SO\/Check scaling. This is automatically detected and accommodated in comparison reports.<\/strong><\/li>\n        <li>Customised branding, images and messages are now available for clinicians. Please use the enquiry form below for more information.<\/li>\n      <\/ol>\n    <\/section>\n  <\/div>\n\n  <aside class=\"bf-osp-privacy\" aria-label=\"Privacy statement\">\n    <span class=\"bf-osp-icon bf-osp-icon--info\" aria-hidden=\"true\"><\/span>\n    <p><strong>Privacy statement:<\/strong> All tasks are performed locally in your web browser. The Oligoscan practitioner&#8217;s contact details on the original report are used to query a database and determine if any visual customisations are to be applied to the generated PDF report. Your personal data is not transmitted, collected or used for any purpose.<\/p>\n  <\/aside>\n<\/div>\n    <div class=\"oligoscan-processor-wrap\">\n        <section class=\"osp-card\" aria-label=\"Oligoscan report processor\">\n            <header class=\"osp-card__header\">\n                <div class=\"osp-card__heading\">\n                    <h2>Upload an Oligoscan PDF report<\/h2>\n                    <span class=\"osp-version\">Version 1.7.4<\/span>\n                <\/div>\n                <p>Oligoscan, So\/Check and Biocheck Pro. Up to 10 MB and 5 pages per report.<\/p>\n            <\/header>\n            <div id=\"ospDropzone\" class=\"osp-dropzone\" tabindex=\"0\" role=\"group\" aria-label=\"PDF upload. Press Enter or Space to choose a file.\">\n                <input type=\"file\" id=\"ospFileInput\" class=\"osp-file-input\" tabindex=\"-1\" accept=\"application\/pdf,.pdf\" aria-label=\"Choose PDF reports\">\n                <svg class=\"osp-upload-icon\" aria-hidden=\"true\" viewBox=\"0 0 32 32\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M9 3h10l6 6v20H7V3h2Z M19 3v7h6 M16 24V14m-4 4 4-4 4 4\"\/><\/svg>\n                <p class=\"osp-drop-text\">Drag and drop your PDF here, or choose a file.<\/p>\n                <button type=\"button\" id=\"ospChooseBtn\" class=\"osp-btn osp-btn--primary\">Choose PDF file<\/button>\n            <\/div>\n            <div id=\"ospSelectedFile\" class=\"osp-selected-file\" hidden>\n                <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\"><path d=\"m5 12 4 4L19 6\"\/><\/svg>\n                <div class=\"osp-selected-file__text\"><div id=\"ospFileName\" class=\"osp-file-name\" aria-live=\"polite\"><\/div><span id=\"ospFileMeta\" class=\"osp-file-meta\"><\/span><\/div>\n                <button type=\"button\" id=\"ospRemoveFileButton\" class=\"osp-btn osp-btn--icon\" aria-label=\"Remove selected files\" title=\"Remove selected files\">&times;<\/button>\n            <\/div>\n            <fieldset class=\"osp-options\">\n                <legend class=\"osp-sr-only\">Report options<\/legend>\n                <label class=\"osp-option\"><input type=\"checkbox\" id=\"ospOptRemoveNamesDob\" aria-describedby=\"ospPrivacyHelp\"><span>Remove names, DOB and contact details<\/span><\/label>\n                <p id=\"ospPrivacyHelp\" class=\"osp-option-help\">Also removes provider branding and original filenames from exports. The Born Free logo, scan dates and measurement data remain.<\/p>\n                <label class=\"osp-option\"><input type=\"checkbox\" id=\"ospOptComparisonMode\"><span>Compare multiple reports, up to 5<\/span><\/label>\n            <\/fieldset>\n            <div id=\"ospStatus\" class=\"osp-status info\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/div>\n            <div id=\"ospLoader\" class=\"osp-loader\" aria-hidden=\"true\" style=\"display:none;\"><span class=\"osp-spinner\"><\/span><span>Processing...<\/span><\/div>\n            <div class=\"osp-actions\">\n                <button type=\"button\" id=\"ospProcessButton\" class=\"osp-btn\" disabled>Re-process<\/button>\n                <div class=\"osp-actions__spacer\"><\/div>\n                <button type=\"button\" id=\"ospDownloadCsvButton\" class=\"osp-btn\" style=\"display:none;\">Download CSV<\/button>\n                <button type=\"button\" id=\"ospDownloadPdfButton\" class=\"osp-btn osp-btn--primary\" style=\"display:none;\">Download PDF<\/button>\n            <\/div>\n            <p class=\"osp-privacy-note\">PDF files stay in your browser. Provider details are used for branding unless removal is enabled. Scanned PDFs may need an online OCR software download.<\/p>\n        <\/section>\n        <div id=\"ospReprintedPdfModal\" class=\"osp-modal\" hidden>\n            <div class=\"osp-modal__card\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"ospReprintedPdfTitle\" aria-describedby=\"ospReprintedPdfDescription\" tabindex=\"-1\">\n                <button type=\"button\" class=\"osp-btn osp-modal__icon-close\" data-osp-reprinted-close aria-label=\"Close reprinted PDF notice\">&times;<\/button>\n                <p class=\"osp-modal__eyebrow\">Original PDF required<\/p>\n                <h2 id=\"ospReprintedPdfTitle\">Microsoft Print to PDF detected<\/h2>\n                <p id=\"ospReprintedPdfDescription\"><\/p>\n                <div id=\"ospReprintedPdfList\" class=\"osp-reprinted-list\"><\/div>\n                <p id=\"ospReprintedPdfGuidance\" class=\"osp-modal__guidance\"><\/p>\n                <div class=\"osp-modal__actions\"><button type=\"button\" class=\"osp-btn\" data-osp-reprinted-close>Close<\/button><button type=\"button\" id=\"ospReprintedPdfReselect\" class=\"osp-btn osp-btn--primary\">Select original PDF<\/button><\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n    <style>\n        .oligoscan-processor-wrap { --osp-card:#ffffff; --osp-surface:#f3f7fc; --osp-border:#c8d7e6; --osp-text:#182b41; --osp-muted:#495e74; --osp-primary:#165f9f; --osp-on-primary:#ffffff; --osp-header:#e8f1fb; --osp-success:#176647; --osp-error:#a02b37; --osp-warning:#835600; color:var(--osp-text); color-scheme:light; font:inherit; }\n        html[data-theme=\"dark\"] .oligoscan-processor-wrap { --osp-card:#15202d; --osp-surface:#1c2b3c; --osp-border:#40566d; --osp-text:#edf4fc; --osp-muted:#bed0e3; --osp-primary:#8ac7ff; --osp-on-primary:#112132; --osp-header:#1b344f; --osp-success:#88ddb4; --osp-error:#ffb3b8; --osp-warning:#f7d38b; color-scheme:dark; }\n        @media(prefers-color-scheme:dark) { html:not([data-theme=\"light\"]) .oligoscan-processor-wrap { --osp-card:#15202d; --osp-surface:#1c2b3c; --osp-border:#40566d; --osp-text:#edf4fc; --osp-muted:#bed0e3; --osp-primary:#8ac7ff; --osp-on-primary:#112132; --osp-header:#1b344f; --osp-success:#88ddb4; --osp-error:#ffb3b8; --osp-warning:#f7d38b; color-scheme:dark; } }\n        .oligoscan-processor-wrap *, .oligoscan-processor-wrap *::before, .oligoscan-processor-wrap *::after { box-sizing:border-box; }\n        .oligoscan-processor-wrap [hidden] { display:none !important; }\n        .oligoscan-processor-wrap .osp-card { border:1px solid var(--osp-border); border-radius:8px; background:var(--osp-card); padding:20px; box-shadow:0 2px 4px rgb(0 0 0 \/ .03),0 10px 28px rgb(0 0 0 \/ .05); }\n        .oligoscan-processor-wrap .osp-card__header { margin:-20px -20px 20px; padding:16px 20px; border-radius:7px 7px 0 0; background:var(--osp-header); border-bottom:1px solid var(--osp-border); }\n        .oligoscan-processor-wrap .osp-card__heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 12px; margin-bottom:6px; }\n        .oligoscan-processor-wrap .osp-card__header h2 { flex:1 1 20rem; margin:0; color:var(--osp-text); font-size:1.125rem; line-height:1.35; font-weight:600; font-family:inherit; text-wrap:balance; }\n        .oligoscan-processor-wrap .osp-version { color:var(--osp-muted); font-size:.75rem; line-height:1.5; white-space:nowrap; font-variant-numeric:tabular-nums; }\n        .oligoscan-processor-wrap .osp-card__header p, .oligoscan-processor-wrap .osp-drop-text { margin:0; color:var(--osp-muted); font-size:.875rem; line-height:1.55; }\n        .oligoscan-processor-wrap .osp-dropzone { display:flex; flex-direction:column; align-items:center; gap:12px; border:1px dashed var(--osp-border); border-radius:6px; background:var(--osp-surface); padding:24px 16px; text-align:center; transition:border-color .15s,background-color .15s; }\n        .oligoscan-processor-wrap .osp-dropzone--over { border-color:var(--osp-primary); outline:2px solid var(--osp-primary); outline-offset:2px; }\n        .oligoscan-processor-wrap .osp-upload-icon { width:36px; height:36px; color:var(--osp-primary); }\n        .oligoscan-processor-wrap .osp-file-input, .oligoscan-processor-wrap .osp-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }\n        .oligoscan-processor-wrap .osp-btn { appearance:none; display:inline-flex; align-items:center; justify-content:center; min-height:42px; border:1px solid var(--osp-border); border-radius:6px; padding:10px 14px; background:var(--osp-card); color:var(--osp-text); font-size:.875rem; line-height:1.3; font-weight:600; font-family:inherit; cursor:pointer; text-decoration:none; transition:border-color .15s,background-color .15s,transform .1s; }\n        .oligoscan-processor-wrap .osp-btn:hover:not(:disabled) { border-color:var(--osp-primary); }\n        .oligoscan-processor-wrap .osp-btn:active:not(:disabled) { transform:scale(.96); }\n        .oligoscan-processor-wrap .osp-btn--primary { background:var(--osp-primary); color:var(--osp-on-primary); border-color:var(--osp-primary); }\n        .oligoscan-processor-wrap .osp-btn:disabled { opacity:.55; cursor:not-allowed; }\n        .oligoscan-processor-wrap :focus-visible { outline:2px solid var(--osp-primary); outline-offset:3px; }\n        .oligoscan-processor-wrap .osp-selected-file { display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid var(--osp-border); }\n        .oligoscan-processor-wrap .osp-selected-file>svg { width:24px; height:24px; flex-shrink:0; color:var(--osp-success); }\n        .oligoscan-processor-wrap .osp-selected-file__text { min-width:0; flex:1; }\n        .oligoscan-processor-wrap .osp-file-name { font-weight:600; font-size:.875rem; overflow-wrap:anywhere; }\n        .oligoscan-processor-wrap .osp-file-meta { color:var(--osp-muted); font-size:.75rem; font-variant-numeric:tabular-nums; }\n        .oligoscan-processor-wrap .osp-btn--icon { width:42px; padding:0; font-size:1.5rem; flex-shrink:0; }\n        .oligoscan-processor-wrap .osp-options { display:grid; gap:10px; min-width:0; margin:16px 0 0; padding:0; border:0; }\n        .oligoscan-processor-wrap .osp-option { display:flex; align-items:center; gap:10px; min-height:42px; margin:0; font-size:.875rem; line-height:1.45; cursor:pointer; }\n        .oligoscan-processor-wrap .osp-option input { width:18px; height:18px; margin:0; flex-shrink:0; accent-color:var(--osp-primary); }\n        .oligoscan-processor-wrap .osp-option-help { margin:-8px 0 0 28px; color:var(--osp-muted); font-size:.75rem; line-height:1.55; }\n        .oligoscan-processor-wrap .osp-status { margin:12px 0 0; line-height:1.5; font-size:.875rem; overflow-wrap:anywhere; }\n        .oligoscan-processor-wrap .osp-status:empty { display:none; }\n        .oligoscan-processor-wrap .osp-status.error { color:var(--osp-error); }\n        .oligoscan-processor-wrap .osp-status.warning { color:var(--osp-warning); }\n        .oligoscan-processor-wrap .osp-status.success { color:var(--osp-success); }\n        .oligoscan-processor-wrap .osp-loader { align-items:center; gap:8px; margin-top:12px; font-size:.875rem; }\n        .oligoscan-processor-wrap .osp-spinner { width:18px; height:18px; border:2px solid var(--osp-border); border-top-color:var(--osp-primary); border-radius:50%; animation:ospSpin .8s linear infinite; }\n        .oligoscan-processor-wrap .osp-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:18px; padding-top:16px; border-top:1px solid var(--osp-border); }\n        .oligoscan-processor-wrap .osp-actions__spacer { flex:1; }\n        .oligoscan-processor-wrap .osp-privacy-note { margin:14px 0 0; color:var(--osp-muted); font-size:.75rem; line-height:1.6; text-wrap:pretty; }\n        .oligoscan-processor-wrap .osp-modal { position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:20px; background:rgb(0 0 0 \/ .55); }\n        .oligoscan-processor-wrap .osp-modal__card { position:relative; width:min(100%,680px); max-height:calc(100dvh - 40px); overflow:auto; padding:24px; border:1px solid var(--osp-border); border-radius:8px; background:var(--osp-card); color:var(--osp-text); box-shadow:0 20px 70px rgb(0 0 0 \/ .25); }\n        .oligoscan-processor-wrap .osp-modal__card h2 { padding-right:30px; color:var(--osp-text); font-size:1.25rem; line-height:1.4; }\n        .oligoscan-processor-wrap .osp-modal__icon-close { position:absolute; top:10px; right:10px; width:42px; padding:0; font-size:1.5rem; }\n        .oligoscan-processor-wrap .osp-modal__eyebrow { color:var(--osp-warning); font-size:.75rem; font-weight:700; }\n        .oligoscan-processor-wrap .osp-reprinted-item { margin-top:14px; padding:14px; border:1px solid var(--osp-border); border-radius:6px; background:var(--osp-surface); overflow-wrap:anywhere; }\n        .oligoscan-processor-wrap .osp-reprinted-metadata>div { display:grid; grid-template-columns:1fr 2fr; gap:10px; margin-top:8px; }\n        .oligoscan-processor-wrap .osp-reprinted-metadata dt, .oligoscan-processor-wrap .osp-reprinted-metadata dd { margin:0; font-size:.8rem; }\n        .oligoscan-processor-wrap .osp-reprinted-metadata dt { color:var(--osp-muted); }\n        .oligoscan-processor-wrap .osp-modal__actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }\n        @media(max-width:540px) { .oligoscan-processor-wrap .osp-actions { display:grid; grid-template-columns:1fr; } .oligoscan-processor-wrap .osp-actions__spacer { display:none; } .oligoscan-processor-wrap .osp-actions .osp-btn { width:100%; } .oligoscan-processor-wrap .osp-modal__actions { flex-direction:column; } .oligoscan-processor-wrap .osp-reprinted-metadata>div { grid-template-columns:1fr; gap:3px; } }\n        @media(prefers-reduced-motion:reduce) { .oligoscan-processor-wrap .osp-btn, .oligoscan-processor-wrap .osp-dropzone { transition:none; } .oligoscan-processor-wrap .osp-spinner { animation:none; } }\n        @keyframes ospSpin { to { transform:rotate(360deg); } }\n    <\/style>\n    \n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"class_list":["post-2438","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bornfree.life\/dev\/wp-json\/wp\/v2\/pages\/2438","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bornfree.life\/dev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bornfree.life\/dev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bornfree.life\/dev\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bornfree.life\/dev\/wp-json\/wp\/v2\/comments?post=2438"}],"version-history":[{"count":29,"href":"https:\/\/bornfree.life\/dev\/wp-json\/wp\/v2\/pages\/2438\/revisions"}],"predecessor-version":[{"id":5642,"href":"https:\/\/bornfree.life\/dev\/wp-json\/wp\/v2\/pages\/2438\/revisions\/5642"}],"wp:attachment":[{"href":"https:\/\/bornfree.life\/dev\/wp-json\/wp\/v2\/media?parent=2438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}