Allscripts integration broken

This is the info from the add new patient frame on allscripts. The script is listed on greeseyfork under allscripts.

Veradigm ePrescribe - Add Patient .auto-style1 { width: 61px; }
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="E3BA02E7" />
<input type="hidden" name="____Ticket" id="____Ticket" value="1" />
    <script type="text/javascript">
        var sysApplication = Sys.WebForms.PageRequestManager.getInstance();
        ignoreIeEvents();
        sysApplication.add_initializeRequest(beginRequest);
        sysApplication.add_endRequest(endRequest);

        function beginRequest() {
            document.getElementById("divLoading").style.display = "inline";
            //You can show a div or 
        }

        function endRequest() {
            document.getElementById("divLoading").style.display = "none";
        }       
        RegisterPopupOvelay('');
    </script>

<table id="Content" width="100%" cellspacing="0" cellpadding="0">
    <tr>
        <td style="width: 80%">
            

<script type="text/javascript" language="javascript">

    function CalculateLbsAndOzsFromKgs()
    {
        var kgValue = $('#ctl00_ContentPlaceHolder1_txtWeightKg').val(); 

        if (kgValue == "")
            kgValue = 0;

        var ozs = Math.round(((kgValue * 2.20462) % 1) * 16);
        var lbs = Math.floor(kgValue * 2.20462);
        if(ozs === 16)
        {
            ozs = 0;
            lbs = lbs+1;
        }
        $('#ctl00_ContentPlaceHolder1_txtWeightLbs').val(lbs);
        $('#ctl00_ContentPlaceHolder1_txtWeightOzs').val(ozs);
    }

    function UpdateKgFromLbsAndOzs()
    {
        var lbs = document.getElementById( 'ctl00_ContentPlaceHolder1_txtWeightLbs').value;
        var ozs = document.getElementById('ctl00_ContentPlaceHolder1_txtWeightOzs').value;

        if (lbs == "")
            lbs = 0;
        if (ozs == "")
            ozs = 0;

        var kgs = lbs * .45359237;
        var kgs = kgs + (ozs / 16) * .45359237;
        $('#ctl00_ContentPlaceHolder1_txtWeightKg').val(kgs.toFixed(2));
        
    }

    function UpdateCmFromFtAndIns()
    {
        var feet = document.getElementById('ctl00_ContentPlaceHolder1_txtHeightFt').value;
        var inches = document.getElementById('ctl00_ContentPlaceHolder1_txtHeightIn').value;
        if (feet == "")
            feet = 0;
        if (inches == "")
            inches = 0;
        var cm = (feet * 30.48) + (inches * 2.54);
        $('#ctl00_ContentPlaceHolder1_txtHeightCm').val(cm.toFixed(1));
    }

    function CalculateFtAndInsFromCm()
    {
        var cm = document.getElementById('ctl00_ContentPlaceHolder1_txtHeightCm').value;

        if (cm == "") {
            $('#ctl00_ContentPlaceHolder1_txtHeightFt').val(0);
            $('#ctl00_ContentPlaceHolder1_txtHeightIn').val(0);
        }
        //Begin conversions
        var cmValue = $('#ctl00_ContentPlaceHolder1_txtHeightCm').val();
        if (cmValue !== "") {
            cmValue /= 2.54;
            var feet = parseInt(Math.floor(cmValue / 12));
            var inches = parseInt(Math.round(cmValue % 12));
            if(inches === 12)
            {
                inches = 0;
                feet++;
            }
            $('#ctl00_ContentPlaceHolder1_txtHeightFt').val(feet);
            $('#ctl00_ContentPlaceHolder1_txtHeightIn').val(inches);
        }
    }
   
    function digitValidation(evt) 
    {
        if (evt.charCode > 31 && (evt.charCode < 48 || evt.charCode > 57))
        {
            return false;
        }
        if (evt.keyCode > 31 && (evt.keyCode < 48 || evt.keyCode > 57))
        {
            return false;
        }
    }
   
    function digitDecimalValidation(evt) {
        if (evt.charCode == 46)
            return true;
        if (evt.keyCode == 46)
            return true;

        if (evt.charCode > 31 && (evt.charCode < 48 || evt.charCode > 57)) {
            return false;
        }
        if (evt.keyCode > 31 && (evt.keyCode < 48 || evt.keyCode > 57))
        {
            return false;
        }
    }

</script>
<script type="text/javascript" language="javascript" src="js/formUtil.js"></script>
 <input type="hidden" name="ctl00$ContentPlaceHolder1$isFromAngularModal" id="isFromAngularModal" value="false" />
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr class="h1title indnt">
                <td colspan="2">
                    &nbsp;<span id="ctl00_ContentPlaceHolder1_heading" class="highlight">Add New Patient</span>
                </td>
            </tr>               
            <tr class="h4title">
				<td colspan="2" style="padding:5px">
				    <input type="submit" name="ctl00$ContentPlaceHolder1$btnBack" value="Back" id="ctl00_ContentPlaceHolder1_btnBack" title="Click&#32;to&#32;go&#32;back&#32;to&#32;the&#32;Choose&#32;Patient&#32;page." class="btnstyle" />
				        
				        <input type="submit" name="ctl00$ContentPlaceHolder1$btnPatientAdd" value="Save" onclick="javascript:WebForm_DoPostBackWithOptions(new&#32;WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$btnPatientAdd&quot;,&#32;&quot;&quot;,&#32;true,&#32;&quot;&quot;,&#32;&quot;&quot;,&#32;false,&#32;false))" id="ctl00_ContentPlaceHolder1_btnPatientAdd" title="Click&#32;to&#32;save&#32;details." class="btnstyle" />
				        
                        <input type="submit" name="ctl00$ContentPlaceHolder1$btnAddAllergy" value="Patient&#32;Allergy" onclick="javascript:WebForm_DoPostBackWithOptions(new&#32;WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$btnAddAllergy&quot;,&#32;&quot;&quot;,&#32;true,&#32;&quot;&quot;,&#32;&quot;&quot;,&#32;false,&#32;false))" id="ctl00_ContentPlaceHolder1_btnAddAllergy" title="Click&#32;to&#32;view&#32;list&#32;of&#32;medications&#32;to&#32;which&#32;patient&#32;is&#32;allergic&#32;or&#32;to&#32;add&#32;a&#32;new&#32;allergy." class="btnstyle" />
				        
				</td>
			</tr>
            <tr>
                <td colspan="2">
                    <table width="100%" border="0" cellpadding="0" style="width:100%">
                        <tr>
                            <td style="height: inherit;">
                                <table width="100%" border="0" cellpadding="0">
									<tr>
										<td>
											
									    </td>
									</tr>
                                    <tr>
                                        <td>
                                            <div id="ctl00_ContentPlaceHolder1_ValidationSummary1" style="display:none;">
                                                <tr>
                                                    <td nowrap="nowrap" align="right">
                                                        <span id="ctl00_ContentPlaceHolder1_lblLastNameAsterisk" style="color:Red;">*</span> Last Name:
                                                    </td>
                                                    <td>
                                                        <input name="ctl00$ContentPlaceHolder1$txtLName" type="text" maxlength="35" id="ctl00_ContentPlaceHolder1_txtLName" onblur="capitilizeInitial(this)" style="width:200px;" />
                                                        <span id="ctl00_ContentPlaceHolder1_rfvLastName" style="display:inline-block;height:9px;width:6px;visibility:hidden;">*</span><span id="ctl00_ContentPlaceHolder1_revLastName" style="visibility:hidden;">*</span>
                                                    </td>
                                                    <td align="right">
														Patient allows Medication History:
                                                    </td>
                                                    <td>
														<select name="ctl00$ContentPlaceHolder1$ddlMedHistory" id="ctl00_ContentPlaceHolder1_ddlMedHistory" style="width:80px;">
<option value="false">Yes</option>
<option value="true">No</option>
                                                </tr>
                                                <tr>
                                                    <td align="right">
                                                        E-mail:</td>
                                                    <td >
                                                       <input name="ctl00$ContentPlaceHolder1$txtEmail" type="text" maxlength="80" id="ctl00_ContentPlaceHolder1_txtEmail" style="width:200px;" />
                                                        <span id="ctl00_ContentPlaceHolder1_revEmail" style="display:inline-block;height:1px;width:1px;visibility:hidden;">*</span> &nbsp
                                                        </td>

                                                    <td align="right" >
                                                        <span style="color:Red">*</span> ZIP Code:
                                                    </td>
                                                    <td style="width:270px">
														<input name="ctl00$ContentPlaceHolder1$txtZip" type="text" maxlength="9" id="ctl00_ContentPlaceHolder1_txtZip" onkeypress="return&#32;numericKeyPressOnly(this,&#32;event);" style="width:97px;" />
                                                        <span id="ctl00_ContentPlaceHolder1_revZipCode" style="visibility:hidden;">*</span>
                                                        <span id="ctl00_ContentPlaceHolder1_rfvZipCode" style="display:inline-block;width:1px;visibility:hidden;">*</span>
                                                   </td>

                                                </tr>
                                                 
                                                <tr>
                                                    <td nowrap="nowrap" align="right">
                                                        Selected Pharmacy:</td>
                                                    <td colspan="5" style="padding-top:3px">
                                                        <span id="ctl00_ContentPlaceHolder1_lblPharmacy" style="font-weight:bold;">None Entered</span>&nbsp&nbsp
                                                        <a id="ctl00_ContentPlaceHolder1_lnkEditPharmacy" href="javascript:WebForm_DoPostBackWithOptions(new&#32;WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$lnkEditPharmacy&quot;,&#32;&quot;&quot;,&#32;true,&#32;&quot;&quot;,&#32;&quot;&quot;,&#32;false,&#32;true))">[edit]</a>
                                                    </td>
                                                </tr>
                                                
                                                <tr>
                                                    <td align="right">
                                                        &nbsp&nbsp</td>
                                                    <td colspan="5" style="padding-top:3px">
                                                        &nbsp&nbsp
                                                        
                                                    </td>
                                                </tr> 
                                                </table>
                                        </td>
                                    </tr>
                                </table>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td colspan="6" style="height: 138px">
					
						    <table border="0" cellspacing="5" cellpadding="2" visible="false" width="100%">
						        <tr>
						            <td>
                                        <div id="ctl00_ContentPlaceHolder1_gridCoverages" class="RadGrid&#32;RadGrid_Allscripts">
Phone: * Mobile Phone: *
* First Name: ** Middle Name: *
Patient allows Disclosures to Health Plan: Yes No
* Date of Birth: *
                                                    </td>  
                                                    <td align="right">
                                                        Patient Preferred&nbsp;<br />
                                                        Language:&nbsp;</td>
                                                    <td colspan="3" style="padding-top:3px">
                                                        <select name="ctl00$ContentPlaceHolder1$ddlPatientPreferredLang" id="ctl00_ContentPlaceHolder1_ddlPatientPreferredLang" style="width:100px;">
<option value="amh">Amharic</option>
<option value="ara">Arabic</option>
<option value="hye">Armenian</option>
<option value="ben">Bengali</option>
<option value="zho">Chinese</option>
<option value="hrv">Croatian</option>
<option value="ces">Czech</option>
<option value="dan">Danish</option>
<option value="nld">Dutch</option>
<option selected="selected" value="eng">English</option>
<option value="fin">Finnish</option>
<option value="fra">French</option>
<option value="deu">German</option>
<option value="ell">Greek</option>
<option value="heb">Hebrew</option>
<option value="hin">Hindi(Urdu)</option>
<option value="hun">Hungarian</option>
<option value="ita">Italian</option>
<option value="jpn">Japanese</option>
<option value="kor">Korean</option>
<option value="lit">Lithuanian</option>
<option value="mal">Malayalam</option>
<option value="nav">Navaho</option>
<option value="nno">Norwegian</option>
<option value="oth">Other(not english)</option>
<option value="pan">Panjabi</option>
<option value="fas">Persian</option>
<option value="pol">Polish</option>
<option value="por">Portuguese</option>
<option value="ron">Romanian</option>
<option value="rus">Russian</option>
<option value="smo">Samoan</option>
<option value="slk">Slovak</option>
<option value="spa">Spanish</option>
<option value="swe">Swedish</option>
<option value="tgl">Tagalog</option>
<option value="tha">Thai(Laotian)</option>
<option value="tur">Turkish</option>
<option value="ukr">Ukrainian</option>
<option value="vie">Vietnamese</option>
<option value="yid">Yiddish</option>
* Gender: --Select-- Male Female Unknown *
                                                    </td>
                                                    <td align="right">
                                                        <div style="padding-top: 10px">
                                                            Current Weight:&nbsp;                                                             
                                                        </div>
                                                    </td>
                                                    <td style="padding-top:3px;">
                                                        <input name="ctl00$ContentPlaceHolder1$txtWeightLbs" type="text" maxlength="4" id="ctl00_ContentPlaceHolder1_txtWeightLbs" onfocusout="UpdateKgFromLbsAndOzs()" onkeypress="return&#32;digitValidation(event)" onkeyup="UpdateKgFromLbsAndOzs()" style="width:40px;" />&nbsp;lb
                                                    &nbsp;<input name="ctl00$ContentPlaceHolder1$txtWeightOzs" type="text" maxlength="2" id="ctl00_ContentPlaceHolder1_txtWeightOzs" onfocusout="UpdateKgFromLbsAndOzs()" onkeypress="return&#32;digitValidation(event)" onkeyup="UpdateKgFromLbsAndOzs()" style="width:20px;" />&nbsp;oz
                                               </td> 
                                                </tr>
                                                <tr style="padding-top:20px">
                                                    <td align="right">
                                                        Patient ID (MRN):
                                                    </td>
                                                    <td>
                                                        <input name="ctl00$ContentPlaceHolder1$txtMRN" type="text" maxlength="25" id="ctl00_ContentPlaceHolder1_txtMRN" />
                                                    </td>   
                                                    <td>
                                                       
                                                    </td>   
                                                    <td style="padding-top:3px;">
                                                        <input name="ctl00$ContentPlaceHolder1$txtWeightKg" type="text" maxlength="6" id="ctl00_ContentPlaceHolder1_txtWeightKg" onfocusout="CalculateLbsAndOzsFromKgs()" onkeypress="return&#32;digitDecimalValidation(event)" onkeyup="CalculateLbsAndOzsFromKgs()" style="width:60px;" />&nbsp;kg
                                                        <span id="ctl00_ContentPlaceHolder1_kgDecimalValidation" style="visibility:hidden;">*</span> 
                                                </tr>
                                                <tr>
                                                 
                                                    </tr>
                                                <tr>
                                                    <td align="right">
                                                       <span style="color:Red">*</span> Address 1:
                                                    </td>
                                                    <td colspan="1">
                                                        <input name="ctl00$ContentPlaceHolder1$txtAddress1" type="text" maxlength="40" id="ctl00_ContentPlaceHolder1_txtAddress1" onblur="capitilizeInitial(this)" style="width:300px;" />
                                                        <span id="ctl00_ContentPlaceHolder1_rfvAddress1" style="display:inline-block;width:1px;visibility:hidden;">*</span>
                                                    </td>
                                                    <td align="right">
                                                        <div style="padding-top: 10px">
                                                            Current Height:&nbsp;                                                             
                                                        </div>
                                                        </td>
                                                        <td style="padding-top:3px;" rowspan="2">
                                                            <input name="ctl00$ContentPlaceHolder1$txtHeightFt" type="text" maxlength="2" id="ctl00_ContentPlaceHolder1_txtHeightFt" onfocusout="UpdateCmFromFtAndIns()" onkeypress="return&#32;digitValidation(event)" onkeyup="UpdateCmFromFtAndIns()" style="width:40px;" />&nbsp;ft
                                                            <input name="ctl00$ContentPlaceHolder1$txtHeightIn" type="text" maxlength="3" id="ctl00_ContentPlaceHolder1_txtHeightIn" onfocusout="UpdateCmFromFtAndIns()" onkeypress="return&#32;digitValidation(event)" onkeyup="UpdateCmFromFtAndIns()" style="width:20px;" />&nbsp;in
                                                            <div style="padding-top:7px">
                                                                <input name="ctl00$ContentPlaceHolder1$txtHeightCm" type="text" maxlength="7" id="ctl00_ContentPlaceHolder1_txtHeightCm" onfocusout="CalculateFtAndInsFromCm()" onkeypress="return&#32;digitDecimalValidation(event)" onkeyup="CalculateFtAndInsFromCm()" style="width:60px;" />&nbsp;cm
                                                                <span id="ctl00_ContentPlaceHolder1_CmDecimalValidation" style="visibility:hidden;">*</span>
                                                        </td>
                                                </tr>
                                                <tr>
                                                    <td align="right">
                                                        Address 2:</td>
                                                    <td colspan="2">
                                                        <input name="ctl00$ContentPlaceHolder1$txtAddress2" type="text" maxlength="40" id="ctl00_ContentPlaceHolder1_txtAddress2" onblur="capitilizeInitial(this)" style="width:300px;" /></td>
                                                </tr>
                                                <tr>
                                                    <td align="right">
                                                       <span style="color:Red">*</span> City:</td>
                                                    <td style="">
                                                        <input name="ctl00$ContentPlaceHolder1$txtCity" type="text" maxlength="35" id="ctl00_ContentPlaceHolder1_txtCity" onblur="capitilizeInitial(this)" style="width:200px;" />
                                                        <span id="ctl00_ContentPlaceHolder1_revCity" style="visibility:hidden;">*</span>                                                       
                                                        <span id="ctl00_ContentPlaceHolder1_rfvCity" style="display:inline-block;width:1px;visibility:hidden;">*</span>
                                                      </td>
                                                        <td align="right">
                                                       <span style="color:Red">*</span> State:</td>
                                                    <td>
                                                        <select name="ctl00$ContentPlaceHolder1$ddlState" id="ctl00_ContentPlaceHolder1_ddlState" style="width:50px;">
<option value="AK">AK</option>
<option value="AL">AL</option>
<option value="AR">AR</option>
<option value="AZ">AZ</option>
<option value="CA">CA</option>
<option selected="selected" value="CO">CO</option>
<option value="CT">CT</option>
<option value="DC">DC</option>
<option value="DE">DE</option>
<option value="FL">FL</option>
<option value="GA">GA</option>
<option value="GU">GU</option>
<option value="HI">HI</option>
<option value="IA">IA</option>
<option value="ID">ID</option>
<option value="IL">IL</option>
<option value="IN">IN</option>
<option value="KS">KS</option>
<option value="KY">KY</option>
<option value="LA">LA</option>
<option value="MA">MA</option>
<option value="MD">MD</option>
<option value="ME">ME</option>
<option value="MI">MI</option>
<option value="MN">MN</option>
<option value="MO">MO</option>
<option value="MS">MS</option>
<option value="MT">MT</option>
<option value="NC">NC</option>
<option value="ND">ND</option>
<option value="NE">NE</option>
<option value="NH">NH</option>
<option value="NJ">NJ</option>
<option value="NM">NM</option>
<option value="NV">NV</option>
<option value="NY">NY</option>
<option value="OH">OH</option>
<option value="OK">OK</option>
<option value="OR">OR</option>
<option value="PA">PA</option>
<option value="PR">PR</option>
<option value="RI">RI</option>
<option value="SC">SC</option>
<option value="SD">SD</option>
<option value="TN">TN</option>
<option value="TX">TX</option>
<option value="UT">UT</option>
<option value="VA">VA</option>
<option value="VI">VI</option>
<option value="VT">VT</option>
<option value="WA">WA</option>
<option value="WI">WI</option>
<option value="WV">WV</option>
<option value="WY">WY</option>
*
  Insurance Plan Information      
 
No records to display.
						            </td>
						        </tr>
						        <tr>
						            <td><input type="submit" name="ctl00$ContentPlaceHolder1$btChangeInsurance" value="Add&#32;Plan" onclick="javascript:WebForm_DoPostBackWithOptions(new&#32;WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$btChangeInsurance&quot;,&#32;&quot;&quot;,&#32;true,&#32;&quot;&quot;,&#32;&quot;&quot;,&#32;false,&#32;false))" id="ctl00_ContentPlaceHolder1_btChangeInsurance" class="btnstyle" /></td>
						        </tr>
                            </table>
						
                </td>
            </tr>
        </table>
    <script type="text/javascript">    
             RegisterBackButton("ctl00_ContentPlaceHolder1_btnBack");
        setAngulrModalStatus();  
        $(document).keypress(function (e) {
            if (e.keyCode === 13) {
                e.preventDefault();
                return false;
            }
        });
    </script>

        </td>
        <!--  27/10/06 HA/Kumar.V  css class added for right side content color -->
        
    </tr>
</table>

It was too big for one box so here is the rest

<script type="text/javascript">
   // var navTop = $('#rightPanel').offset().top;
</script>

another try at that

<script type="text/javascript">
   // var navTop = $('#rightPanel').offset().top;
</script>

Okay it looks like some of our css pathing has changed which is why none of the demographic controls are populating.
Also noted that Allscripts now offers a FHIR API which by some coincident, so do we!:slight_smile:
Some enterprising developer could replace this plugin with a new interop module to solve this issue for future users.
I’ll try to have a modified plugin fix sometime to today.

Re: Also don’t forget to change your servers PHP error levels as mentioned in the issue forum thread.

What do I change it to? I use allscripts and have not yet integrated it. Actually, I have been communicating with them, and they had asked me the following:

“Please confirm you can send HL7 transactions to an FTP site, is this correct?” and
“Also, what is the name of your practice management system, not EHR that you are using?”
They are pricey.

Looks like allscripts is no longer available for greasmonkey.

Sandra

The Allscript plugin is custom for openemr. However is broken which i’m trying to fix now. Also some are using ViolentMonkey to replace GreaseMonkey.
For error reporting on 5.0.2 see this: Loss of convenient features
I’m posting a fix try for all to try.

@cverk @Wizard353
This is what I have so far. I can’t test so you’ll need to for me unless someone wants to give me shortterm access. My Allscript developer account is still active but, won’t allow me to test erx.(what good is a dev account one could ponder!!!)
Here is export from ViolentMonkey extension good luck:
scripts_2020-06-08_18.01.02.zip (5.0 KB)

1 Like

So this goes in the openemr base directory?

ViolentMonkey is a browser extension where you’ll need to import above once you install monkey

duh, you did say this before. tthanks

lol, agreed, too much blood is making my brain hyperventilate

lol, well maybe having your foot dangling in the air is causing all the blood to rush to your head.(inside joke for others)

Do I unzip the file?
without unzipping the file I am getting that the add on is corrupt, if I unzip it, then it does not find a file in the directory.

I can’t tell if you have to install pugin from greasy forks but if import won’t work then suggest open existing plugin in violentmonkey editor then cut and replace from my plugin script.

Right, I installed violentmonkey into firefox. I deinstalled greasemonkey
I should have closed and reopened. Hang on, it is updating

@sjpadgett
Ok, so I created the script, but what do I do with the second file?

The second file looks to be a file of options from my instance. Shouldn’t need it.
As i’ve said I really don’t know too much about violentmonkey and how the scripts are installed. If I know my changes work for everyone, I will update greasy forks. That I can do.

I did find the reason demographics weren’t being fetched and there also was a function call bug that worked on previous JS versions but was a no no on current version.
As long as Allscripts hasn’t drastically changed their front end, i’m hoping this will work.

Until someone with an account test and let’s me know, i’m stuck and moving on back to app performance tuning! I just know this plugin is important to many of our users.

Jerry,
I reinstalled Violentmonkey just now (having uninstalled Tampermonkey). Restarted FF, reloaded the Allscripts IntegrationMM plugin from the Greasyfork site, deleted the contents, and replaced them with the text from your ZIP file.

The problem persists unchanged. When I invoke the Allscripts site from the blue tab on the demographics page, I enter the password, Allscripts thinks for a moment, then puts me back to the sign-in page.

If I have Allscripts running in a separate FF tab, (which used to work) the “Load from OpenEMR” button still does not appear in the “Add New Patient” frame.

Thanks for your help with this. I wish there were a way to single step the scripts so I could see where they are failing.

Dave

Actually you can David step through.

  • open a patient
  • from FF CTL+SHIFT+I
  • select Debugger tab in console
  • from left pane select Violentmonkey
  • then the Allscript plugin script

from there you can set breakpoints. I’m not surprised it did not fix everything but once I see what is going on then we should be able to fix.

OK, Jerry,
This is the set of error messages I get from the Allscripts login page which opens in the bottom frame of the traditional 2 frame OpenEMR layout: I have Ad-Block Plus running, if that makes any difference. It was never a problem before.

This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. main_screen.php
Some cookies are misusing the recommended “sameSite“ attribute 2
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. topdialog.js
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. dialog_utils.js
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. 2 main_title.php
This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. main_title.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. 2 left_nav.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. jquery.treeview.css
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. bootstrap.min.js
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. jquery.treeview.js
This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. left_nav.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. daemon_frame.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. main_info.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. messages.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. themeBuilder.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. lato.css
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead main_title.php:2:21
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead main_title.php line 1 > scriptElement:2:21
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. Lato-Regular.woff2
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. Lato-Bold.woff2
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. themeBuilder.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. treeview-default-line.gif
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. treeview-default.gif
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. dated_reminders_counter.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. execute_background_services.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. 2 daemon_frame.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. 2 patient_select.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. 2 demographics.php
This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. demographics.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. themeBuilder.php
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead demographics.php:2:21
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead demographics.php:2:21
TypeError: patIDHREF is undefined demographics.php:396:25
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. encounters.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. stats.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. disc_fragment.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. pnotes_fragment.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. patient_reminders_fragment.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. vitals_fragment.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. track_anything_fragment.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. labdata_fragment.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. clinical_reminders_fragment.php
This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. Login.aspx
Loading failed for the with source “https://www.googletagservices.com/tag/js/gpt.js”. Login.aspx:57:1
ReferenceError: googletag is not defined Login.aspx:57:1
ReferenceError: googletag is not defined 2 Login.aspx:58:54
ReferenceError: googletag is not defined Login.aspx:59:2
ReferenceError: googletag is not defined Login.aspx:207:51
ReferenceError: googletag is not defined Login.aspx:218:51
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead Login.aspx:2:21
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead Login.aspx line 1 > scriptElement:2:21
Loading failed for the with source “https://www.google-analytics.com/analytics.js”. Login.aspx:1:1
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. dated_reminders_counter.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. execute_background_services.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. dated_reminders_counter.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. execute_background_services.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. 2 daemon_frame.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. dated_reminders_counter.php
This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1. execute_background_services.php

This is the set of messages I get from the Allscripts “Add Patient” Page, running in a separate FF tab, which used to work. Violentmonkey says that the Allscripts IntegrationMM script is working.

This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. eprescribe.allscripts.com
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead eprescribe.allscripts.com:2:21
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead line 1 > scriptElement:2:21
Loading failed for the with source “https://www.google-analytics.com/analytics.js”. eprescribe.allscripts.com:1:1
Loading failed for the with source “https://az416426.vo.msecnd.net/scripts/a/ai.0.js”. eprescribe.allscripts.com:1:1
Cookie “eRxTeaserAdShown” will be soon rejected because it has the “sameSite” attribute set to “none” or an invalid value, without the “secure” attribute. To know more about the “sameSite“ attribute, read https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite select-patient.component.ts:210:12
This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. addpatient.aspx
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead addpatient.aspx:2:21
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead addpatient.aspx:2:21
Loading failed for the with source “https://www.googletagservices.com/tag/js/gpt.js”. LogRxDisplay.aspx:11:1
ReferenceError: googletag is not defined LogRxDisplay.aspx:11:1
ReferenceError: googletag is not defined LogRxDisplay.aspx:12:54
ReferenceError: googletag is not defined LogRxDisplay.aspx:13:2
ReferenceError: googletag is not defined LogRxDisplay.aspx:35:51
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead LogRxDisplay.aspx:2:21
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead LogRxDisplay.aspx:2:21

Strangely, the debugger does not show Violentmonkey to be active, even though the Violenmtmonkey control says that the Allscripts IntegrationMM script is active.