Page 1 of 1

Medisoft Mobile Interface Configuration

Posted: Mon Nov 05, 2018 7:30 pm
by ExpertSkinDoc
I am unable to get the screen in Medisoft to get Api Key and Api Code for Medisoft Mobile. It somehow has disappeared from Tools -> Services -> Mobile Interface Configuration. I have eMDs MSL Connectivity Service running on the server, but it keeps on stopping when you manually start the service, a dialog would pop ups saying it is not in use by other services or programs.

I've restarted the Server to no avail, cannot get Mobile Interface Configuration screen to get the Api Key and Api code. What else should I do?

Running Networked Medisoft Server/Client Version 22sp1(22.1.2.69)

Re: Medisoft Mobile Interface Configuration

Posted: Mon Nov 05, 2018 7:44 pm
by Gavin Walker
Start and exit Medisoft from the server and make sure you browse to MediData through the share instead of C: (Press and hold F7 when starting Medisoft to select the MediData root folder on the share). Then restart the eMD MSL Mobile Service. Mobile can get confused if there is more than one MediData root on the server. Otherwise, there is a log file you can go look at for some more information in C:\Program Files (x86)\eMDs MSL Connectivity Service\.

Re: Medisoft Mobile Interface Configuration

Posted: Tue Nov 06, 2018 11:53 am
by ExpertSkinDoc
Problem solved.

My problem I figured out was I set for Advantage database server service to delayed start where as the Mobile service to immediate start. After reversing the order of the services, restart the server, the Mobile Interface Configuration Service is showing up under Tools and is working again.

Thanks for the tips above, Gavin.

Re: Medisoft Mobile Interface Configuration

Posted: Wed Nov 07, 2018 12:19 pm
by ExpertSkinDoc
New problem arise.

emDsMSLService stopped! It was working fine for a couple of hours, then the service mysteriously stopped. I restarted the service but each time it would stop right away. So I open the log file and it seems that the SQL database is locked:

181107.063411.428 I -- Running script '10.MSLSVC_GT.sql', version 0, existing version -1
181107.063411.584 E -- Unhandled exception in FhirHose:ThreadMain
181107.063411.584 E -- ...SQLiteException: database is locked
database is locked
181107.063411.584 E -- ... at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
at DbStmt.Exec(String sql) in C:\Build\Source\MSLService-3.0\3.0\MSL\Server\MSLService\Shared\DbStmt.cs:line 71
at MSLService.LocalDatabase.SetGT(String key, String value) in C:\Build\Source\MSLService-3.0\3.0\MSL\Server\MSLService\LocalDatabase.cs:line 576
at MSLService.FhirHose.FhCoreMedisoft.OnDbPathRegistered(String dbPath) in C:\Build\Source\MSLService-3.0\3.0\MSL\Server\MSLService\FhirHose\FhCoreMedisoft.cs:line 193
at MSLService.FhirHose.FhirHose.RegisterDbPath(String dbPath) in C:\Build\Source\MSLService-3.0\3.0\MSL\Server\MSLService\FhirHose\FhirHose.cs:line 469
at MSLService.FhirHose.FhirHose.<>c__DisplayClass13_0.<Reload>b__0(FhConfigRec conInfo) in C:\Build\Source\MSLService-3.0\3.0\MSL\Server\MSLService\FhirHose\FhirHose.cs:line 148
at MSLService.LocalDatabase.EnumConnections(FhCoreBase coreImpl, Action`1 func) in C:\Build\Source\MSLService-3.0\3.0\MSL\Server\MSLService\LocalDatabase.cs:line 471
at MSLService.FhirHose.FhirHose.Reload() in C:\Build\Source\MSLService-3.0\3.0\MSL\Server\MSLService\FhirHose\FhirHose.cs:line 120
at MSLService.FhirHose.FhirHose.ThreadMain() in C:\Build\Source\MSLService-3.0\3.0\MSL\Server\MSLService\FhirHose\FhirHose.cs:line 305
181107.063411.584 E -- Unhandled exception in ThreadMain. Stopping the service.
181107.063411.584 I -- FhirHose:Shutdown - stopping RPC
181107.063416.591 I -- FhirHose:Shutdown - Killing connections
181107.063416.607 I -- End Auto-Update Timer stopped.
181107.063416.607 I -- ThreadMain exiting

Is there a way I can unlock the SQLLite database or just uninstall the eMDs Mobile Interface and reinstall it?

Re: Medisoft Mobile Interface Configuration

Posted: Fri Nov 09, 2018 5:42 am
by ExpertSkinDoc
Uninstalling Medisoft and reinstalling did not work, but deleting Mobile.db in c:\ProgramData\Medisoft then restart Mobile service did the trick. Mobile.db must have been corrupted somehow.

Re: Medisoft Mobile Interface Configuration

Posted: Fri Nov 09, 2018 9:56 am
by Gavin Walker
Good find. I'll have to keep that in mind the next time I run into this.

Dababase Corrupted for eMDs Mobile after Overnight Windows Update

Posted: Sat Nov 17, 2018 12:23 pm
by ExpertSkinDoc
It happens to me again and this time I can't figured out. An overnight unattended Windows Server Update did something but the following day my eMDs Mobile service has now a different type of error: Mobile API Key *IMPORT:c9088967....
The MSLService.log shows:
181117.085037.656 E -- Returning error to client: Web service call failed (400:Bad Request)
181117.085100.413 I -- Unload - Waiting for connection thread \\SERVER01\Data\MediData\SILICON to exit
181117.085100.414 I -- FhirHose:Reload - loading connections
181117.085100.422 I -- No API keys configured for '\\SERVER01\Data\MediData\SILICON', not starting connection.
181117.085102.180 I -- FhirHose:Reload - loading connections
181117.085102.209 I 02 EventThread started for '\\SERVER01\Data\MediData\SILICON|MOBILE:*IMPORT:c9088967-2920-49eb-a593-d1a130f7fe3c:491BB8709-42G1-405EM', practice db version 22.18
181117.085102.225 I 02 NOTE: Trigger poll interval not defined, so triggers won't be polled.
181117.085102.225 I 02 Opening socket for \\SERVER01\Data\MediData\SILICON|MOBILE:*IMPORT:c9088967-2920-49eb-a593-d1a130f7fe3c:491BB8709-42G1-405EM
181117.085102.629 I 02 MSL.CONNECT succeeded
181117.085102.765 E 02 MSL.MOBILE.CONNECT failed for *IMPORT:c9088967-2920-49eb-a593-d1a130f7fe3c:491BB8709-42G1-405EM (ERR:CloudService error: PracticeRec:ImportApiKey - API key '491BB8709-42G1-405EM' (Mobile) belongs to practice 'D9CA1B89-ACAA-E49D-5261-9288F9BC38E7', not '3E3F7229-36DD-29AB-C7C4-0F0CE2F6DFE6')
181117.085102.766 I 02 FhConnection:Sock_Opened - No API keys are connected for '\\SERVER01\Data\MediData\SILICON', killing connection
181117.085102.835 I 02 EventThread exiting for \\SERVER01\Data\MediData\SILICON
181117.085102.837 E -- Returning error to client: Unable to allocate a new API key
181117.085106.789 I -- Unload - Waiting for connection thread \\SERVER01\Data\MediData\SILICON to exit
181117.085106.790 I -- FhirHose:Reload - loading connections
181117.085106.814 I 03 EventThread started for '\\SERVER01\Data\MediData\SILICON|MOBILE:*IMPORT:c9088967-2920-49eb-a593-d1a130f7fe3c:491BB8709-42G1-405EM', practice db version 22.18
181117.085106.827 I 03 NOTE: Trigger poll interval not defined, so triggers won't be polled.
181117.085106.827 I 03 Opening socket for \\SERVER01\Data\MediData\SILICON|MOBILE:*IMPORT:c9088967-2920-49eb-a593-d1a130f7fe3c:491BB8709-42G1-405EM
181117.085107.244 I 03 MSL.CONNECT succeeded
181117.085107.370 E 03 MSL.MOBILE.CONNECT failed for *IMPORT:c9088967-2920-49eb-a593-d1a130f7fe3c:491BB8709-42G1-405EM (ERR:CloudService error: PracticeRec:ImportApiKey - API key '491BB8709-42G1-405EM' (Mobile) belongs to practice 'D9CA1B89-ACAA-E49D-5261-9288F9BC38E7', not '3E3F7229-36DD-29AB-C7C4-0F0CE2F6DFE6')
181117.085107.371 I 03 FhConnection:Sock_Opened - No API keys are connected for '\\SERVER01\Data\MediData\SILICON', killing connection
181117.085107.439 I 03 EventThread exiting for \\SERVER01\Data\MediData\SILICON
181117.085107.441 E -- Returning error to client: Unable to allocate a new API key
181117.085211.245 I -- Unload - Waiting for connection thread \\SERVER01\Data\MediData\SILICON to exit
181117.085211.245 I -- FhirHose:Reload - loading connections
181117.085211.254 I -- No API keys configured for '\\SERVER01\Data\MediData\SILICON', not starting connection.

This bothers me: MSL.MOBILE.CONNECT failed for *IMPORT:c9088967-2920-49eb-a593-d1a130f7fe3c:491BB8709-42G1-405EM (ERR:CloudService error: PracticeRec:ImportApiKey - API key '491BB8709-42G1-405EM' (Mobile) belongs to practice 'D9CA1B89-ACAA-E49D-5261-9288F9BC38E7', not '3E3F7229-36DD-29AB-C7C4-0F0CE2F6DFE6')

it seems the process of loading the key is wrong, or on the cloud mobile is wrong. Where is this key *IMPORT:c9088967-2920 stored?

I tried restoring the server to an earlier good image prior to the windows server update, everything works, except for eMDs Mobile, so it seems the corrupted data is not store on the server C: drive, but either in the Medisoft database or on the cloud.

Gavin, do you know where the corrupted data for the API key resides? How do I reset this practice API key?

Re: Medisoft Mobile Interface Configuration

Posted: Mon Nov 19, 2018 10:27 am
by Gavin Walker
The practice API key is reset when you disable the interface and re-enable it from within Medisoft