FHIR Chat · self-introduction · clinic-arrivals

Stream: clinic-arrivals

Topic: self-introduction


view this post on Zulip Jiawei (Mar 19 2020 at 03:41):

Hi everyone. This is Jiawei Wang . I am studying at Monash Uni and confident in programming and have some experience in .Net. I was wondering how we collaborate to work on this project. I found so far the Github Repo is still empty except a README.

view this post on Zulip Grahame Grieve (Mar 19 2020 at 05:00):

that will change tonight

view this post on Zulip Grahame Grieve (Mar 19 2020 at 05:00):

welcome!

view this post on Zulip Brett Esler (Mar 19 2020 at 08:40):

Hi I am Brett - bringing some existing GP system integration to support the requirements; FHIR R4 API Oridashi-Hiasobi component supplied for Best Practice and Medical Director support (at least).

view this post on Zulip Vadim Peretokin (Mar 19 2020 at 15:54):

Hi all - I'm Vadim, FHIR consultant, happy to help architect & build

view this post on Zulip Brian Postlethwaite (Mar 19 2020 at 23:11):

I'm Brian - another FHIR developer throwing some code down

view this post on Zulip Shovan Roy (Mar 19 2020 at 23:27):

Hi All,

I'm Shovan , FHIR and Integration Architect. Keen to contribute on this... Please let me know if I can be helpful on anything... thanks

view this post on Zulip Grahame Grieve (Mar 20 2020 at 00:02):

ok so I just documented the FHIR API we are using to the PMS

view this post on Zulip Grahame Grieve (Mar 20 2020 at 00:02):

out of the box, we will integrate with MD and BP, but we can integrate with any PMS that supports that very simple API

view this post on Zulip Grahame Grieve (Mar 20 2020 at 00:03):

@Brian Postlethwaite the program needs a safe storage to store the current model so that if it crashes, it doesn't forget which sms messages it has sent

view this post on Zulip Grahame Grieve (Mar 20 2020 at 00:04):

I'm not sure what options are

view this post on Zulip Brian Postlethwaite (Mar 20 2020 at 01:43):

Given it is so simple, I'll just push it to local file system storage.

view this post on Zulip Grahame Grieve (Mar 23 2020 at 11:10):

@Jiawei we've come a lot further along now - we're close to an MVP. Are you still interested?

view this post on Zulip Jiawei (Mar 23 2020 at 13:01):

Yes, but what kind of work is needed to be done at the moment?

view this post on Zulip Grahame Grieve (Mar 23 2020 at 17:25):

well, we

view this post on Zulip Grahame Grieve (Mar 23 2020 at 17:26):

we're starting to get towards installing it. What would be good from my point of view is for you to get it compiling and running and then read the documentation and tell me what's missing from the documentation

view this post on Zulip Jiawei (Mar 24 2020 at 02:23):

Grahame Grieve said:

we're starting to get towards installing it. What would be good from my point of view is for you to get it compiling and running and then read the documentation and tell me what's missing from the documentation

okay Hopefully I will get back to you tomorrow

view this post on Zulip Grahame Grieve (Mar 24 2020 at 02:39):

great

view this post on Zulip Grahame Grieve (Mar 24 2020 at 02:39):

want to join me in clinic tomorrow?

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 10:45):

I'll do the same tonight. It wasn't all that clear what I could work on so I dropped off.

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:02):

sorry about that - it took a day to get going, and then we really went for it.

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:02):

the primary issue right now is documentation

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:04):

my tast list for tonight:

  • make the times in the message engine configurable
  • add unit tests for if the PMS marks the consultation as a telehealth consultation
  • (possibly) - enhance to ask the patient whether they have any risk factors for the virus

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:05):

@Brett Esler did you want to have a go at that risk factor thing? I won't do it if we can't echo it back into the PMS

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:05):

also:

  • bring the documentation up to date and improve it (including installation documentation)

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:05):

@James Berry there's definitely a need for a ci-build now. Do we have blockers on that?

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:06):

also

  • make all services auto-start at start-up based on configuration settings

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:06):

  • redesign the configuration screen

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:07):

actually @Vadim Peretokin if you could do the configuration screen, that would be awesome.

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:09):

what we need to add to it is:

  • Minutes before for screening message : int
  • Minutes before for video invitation: int
  • auto-start services : boolean

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:09):

also, I've just been letting it get longer, but we need to go to 2 columns

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:09):

(well, 4, instead of 2)

view this post on Zulip James Berry (Mar 26 2020 at 11:12):

Grahame Grieve said:

James Berry there's definitely a need for a ci-build now. Do we have blockers on that?

I'm sure I can sort it out - will look at it in the morning

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:13):

ok thanks.

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:13):

this thing is going to get a lot of attention

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:13):

fingers crossed it works....

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:13):

I actually don't have any experience with Windows-specific UI frameworks in .NET, but I can do the CI build, I've setup that up with azure and github a few times

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:14):

well... I already hooked James into my github etc for that.

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:14):

Alright. I'll see about learning the UI :thumbs_up:

view this post on Zulip James Berry (Mar 26 2020 at 11:14):

Hi Vadim. I can work with you on it - are you free tomorrow?

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:14):

you want to learn WPF? It's a.... weird... experience for those of us with older UI framework knowledge. It's very opinionated

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:15):

Vadim lives in the Netherlands (though he used to line In Brisbane)

view this post on Zulip James Berry (Mar 26 2020 at 11:15):

follow the sun then

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:15):

Learning WPF is not a life goal but I'd like to help with this :)

@James Berry Yeah I am

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:16):

I've setup both github actions and azure pipelines for .NET Core builds, so it'll be more productive than learning WPF

view this post on Zulip James Berry (Mar 26 2020 at 11:27):

Hi Vadim, I've just added you and I to the necessary groups in the Azure DevOps I think. When I created the pipeline a couple of days ago I got a permissions issue (probably because I hadn't yet set up the groups properly):
Unable to configure a service on the selected GitHub repository. This is likely caused by not having the necessary permission to manage hooks for the selected repository.

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:28):

do I need to give you more?

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:29):

Let me try hooking up the source code to github while we're here

view this post on Zulip James Berry (Mar 26 2020 at 11:30):

Tried to build the pipeline again, same error:
Unable to configure a service on the selected GitHub repository. This is likely caused by not having the necessary permission to manage hooks for the selected repository.

view this post on Zulip James Berry (Mar 26 2020 at 11:30):

I'll google it

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:30):

Also any reason we're doing it in azure pipelines and not github actions?

view this post on Zulip James Berry (Mar 26 2020 at 11:32):

The main reason I read about was that Azure DevOps provides free VMs - does GitHub Actions do that now?

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:33):

Yeah, they do free for open-source as well: https://github.com/features/actions

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:34):

And they're pretty generous with the amount of concurrent jobs. It might be easier to keep it all on one platform

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:34):

It's all Microsoft now anyhow

view this post on Zulip James Berry (Mar 26 2020 at 11:40):

sure - I am happy to learn another CI

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:45):

I already have it building.

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:46):

Rather, failing to build: https://github.com/vadi2/ClinicArrivals/runs/536262325

#[error]Server.cs(14,17): error CS0246: The type or namespace name 'Oridashi' could not be found (are you missing a using directive or an assembly reference?) [D:\a\ClinicArrivals\ClinicArrivals\ClinicArrivals.Server\ClinicArrivals.Server.csproj]

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 11:55):

I got a PR up with the pipeline over at https://github.com/grahamegrieve/ClinicArrivals/pull/12 - let's merge that and then separately fix the build?

view this post on Zulip Grahame Grieve (Mar 26 2020 at 11:59):

@Brett Esler I don't get that build error?

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 12:08):

Also: are we building on the .net core or framework?

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 12:13):

It would seem that we're not using package references, but hardcoded paths to dll's in a relative packages folder that isn't in git

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 12:13):

I'll convert it to use nuget packages - unless we have a reason to avoid the package manager

view this post on Zulip Grahame Grieve (Mar 26 2020 at 12:33):

do not make any changes to this without talking to @Brian Postlethwaite - there's some specific reasons why things were done some of the ways they were done

view this post on Zulip Brett Esler (Mar 26 2020 at 12:39):

@Vadim Peretokin on framework (environmental); error looks like nuget reference not restored; how does that happen on the autobuild?

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 12:40):

It fails to find it - from my research it looks like modern .net core uses <PackageReference> which we don't have

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 12:40):

Would it be okay to upgrade or are we on an older version for a reason?

view this post on Zulip Brett Esler (Mar 26 2020 at 12:45):

am checking where we can go - we have environmental considerations here; trying to avoid a .NET framework install if we can... we settled on .NET Framework 4.6.2

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 12:46):

Alright that's good to know

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 12:52):

Do you have an msbuild command you're running it with?

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 12:52):

I'm familiar with .net core, not so much with the old stuff

view this post on Zulip Brett Esler (Mar 26 2020 at 13:03):

msbuild ClinicArrivals.sln might do it...

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 13:08):

Let's try

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 13:20):

I'm not across WPF applications - is the .Server an actual stand-alone http server or a backend component for ClinicalApplications ?

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 13:20):

Asking because Visual Studio only gives me an option to run ClinicalArrivals or ClinicalArrials.Models and not the Server - and I figured that'd be easiest to first get compiled in CI

view this post on Zulip Brett Esler (Mar 26 2020 at 13:29):

.Server is just a class library linked into the app; all runs in one process on the desktop

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 13:44):

It looks like dotnet restore isn't able to handle the old way of specifying package references, but nuget restore is - that works now w/o changes.

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 15:06):

I can confirm it's running on Visual Studio 2019 in Windows. I've started off on a waay wrong path - so I've documented the requirements for anyone else trying this out in https://github.com/grahamegrieve/ClinicArrivals/pull/13

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 16:07):

The pipeline is ready - provides a ClinicArrivals.zip as the result, see <https://github.com/vadi2/ClinicArrivals/actions/runs/63914046>.

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 16:23):

Installing - how do you want that work? Distribute a stand-alone zip or have a super-simple installer like Squirrel? Squirrel is pretty good - one double-click and it creates a desktop and start shortcut, registers the app with windows, and launches it all in one go.

view this post on Zulip Grahame Grieve (Mar 26 2020 at 18:58):

well, the only thing about the installer I'd like that is anything other than is that I'd like to have 2 additional icons, one to open the working directory and one to run the program with -simulator as a command line parameter

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 19:00):

Simulator sounds good - what do you mean by open the working directory?

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 19:08):

Also could you clarify - is the zip good enough, or should we have something you can double-click and it installs, and you can delete the setup file after

view this post on Zulip Grahame Grieve (Mar 26 2020 at 19:42):

I think an installer is better but a working zip works.

view this post on Zulip Grahame Grieve (Mar 26 2020 at 19:42):

the working directory is $appdata$/Roaming/ClinicArrivals

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 19:43):

I'll look into the installer

But 2 icons with it are hard. Can we make the app restart itself through a button into simulate mode? Is OK?

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 19:43):

Or start another instance

view this post on Zulip Grahame Grieve (Mar 26 2020 at 19:49):

not ok. when you want the simulator mode, you don't want to have the real thing start running in order to get the simulator mode

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 19:51):

ok zip it is for now

view this post on Zulip Vadim Peretokin (Mar 26 2020 at 19:51):

The installer is more opinionated than wpf and another icon would mean a fork

view this post on Zulip Grahame Grieve (Mar 26 2020 at 20:07):

ok

view this post on Zulip James Berry (Mar 26 2020 at 21:40):

It seems we have a couple of other versions of .NET than v4.6.2? Refs to:
v4.7.2 in ClinicArrivals\Test.Models\Test.Models.csproj
v4.5.2 in ClinicArrivals\ClinicArrivals.Server\ClinicArrivals.Server.csproj

view this post on Zulip Grahame Grieve (Mar 26 2020 at 21:44):

@Brian Postlethwaite

view this post on Zulip Brian Postlethwaite (Mar 26 2020 at 22:26):

Gee, looks like I really did sleep in!

view this post on Zulip Brian Postlethwaite (Mar 26 2020 at 22:32):

In the mixed versions, the unit test is never deployed, so we picked the newest. The 4.6.2 is the newest we can get away with on the deployment without forcing more installations on the GP desktop, and risking breaking other stuff.

view this post on Zulip Brian Postlethwaite (Mar 26 2020 at 22:34):

Installers suck too. How'd it go?

view this post on Zulip Brian Postlethwaite (Mar 26 2020 at 22:35):

I've had quite a bit of experience with the MS one if we haven't already got something done.
Wix is the other good one.

view this post on Zulip James Berry (Mar 26 2020 at 22:35):

So can we only use 4.6.2 - change those references?

view this post on Zulip James Berry (Mar 26 2020 at 23:05):

@Brian Postlethwaite
ClinicArrivals\Test.Models\Test.Models.csproj
<RootNamespace>Test.Models</RootNamespace>
<AssemblyName>Test.Models</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
ClinicArrivals\ClinicArrivals.Server\ClinicArrivals.Server.csproj
<RootNamespace>ClincArrivals.Server</RootNamespace>
<AssemblyName>ClincArrivals.Server</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
also note the namespace mispelling of ClincArrivals.Server - searching through the other files in the solution I find references to ClinicArrivals.Server so that missing 'i' isn't just cosmetic

view this post on Zulip Brett Esler (Mar 27 2020 at 01:32):

there is no admin needed here right? if we can avoid calling the IT department it is big plus in GP land

view this post on Zulip Grahame Grieve (Mar 27 2020 at 01:38):

well... that very much depends.

view this post on Zulip Grahame Grieve (Mar 27 2020 at 01:39):

typical PCs are locked down to the point of not having write access to %appData%\roaming\*

view this post on Zulip Grahame Grieve (Mar 27 2020 at 02:49):

@Vadim Peretokin / @James Berry can we get notifications of commits to appear in this stream?

view this post on Zulip James Berry (Mar 27 2020 at 02:54):

should be possible using the send message api https://chat.fhir.org/api/send-message or email

view this post on Zulip Grahame Grieve (Mar 27 2020 at 02:58):

there's a Zulip bot for github that you use to send github commits to a zulip stream, but I don't know how to do that for the build framework so that the notifications happen at the end of the build / test and include those outcomes. I expect it's possible though

view this post on Zulip James Berry (Mar 27 2020 at 03:17):

you mean https://github.com/zulip/zulipbot?

view this post on Zulip Grahame Grieve (Mar 27 2020 at 03:18):

something like that.

view this post on Zulip Vadim Peretokin (Mar 27 2020 at 03:30):

I'll work on the release automation today, @James Berry did you want to continue with the notifications?

view this post on Zulip Vadim Peretokin (Mar 27 2020 at 03:31):

@Brian Postlethwaite don't have an installer yet - what would you recommend? I've used Squirrel before - it's great and dead-easy - but it can't make two launch shortcuts per app

view this post on Zulip James Berry (Mar 27 2020 at 03:31):

Vadim Peretokin said:

I'll work on the release automation today, James Berry did you want to continue with the notifications?

yes please

view this post on Zulip Brian Postlethwaite (Mar 27 2020 at 04:31):

I thought that was the one place that apps that are installed are able to write.
%appData%\roaming\*

view this post on Zulip Brian Postlethwaite (Mar 27 2020 at 04:33):

According to the docs:
The directory that serves as a common repository for application-specific data for the current roaming user.
So this should be fine, and why I picked it.
If you're having troubles, the only change is to the call in GetFolder() in the ArrivalsFileSystemStorage class, unless you've had other stuff too.

view this post on Zulip Vadim Peretokin (Mar 27 2020 at 04:44):

I have an idea. We can still use squirrel, and create the additional simulator start/desktop shortcut at runtime

view this post on Zulip Vadim Peretokin (Mar 27 2020 at 04:58):

Another thing - if we don't already, can we do something about people screwing templates up by accident? You know how you see those emails every now and then and they clearly messed up a variable

view this post on Zulip Vadim Peretokin (Mar 27 2020 at 04:58):

So perhaps some heuristics for detecting { {Patient.name}} (extra space by accident) and things like that.

view this post on Zulip Brian Postlethwaite (Mar 27 2020 at 05:24):

Yeah, that would be good to have some validation on that.
Grahame did some validation somewhere, don't recall in which area.

view this post on Zulip Grahame Grieve (Mar 27 2020 at 07:06):

the templates are fully validated as much as I can, though there's things you can get I can't decide about. For instance: {{ something } } is wrong, because you open and didn't close. but { { something }} - how would I decide that this is not correct?

view this post on Zulip Vadim Peretokin (Mar 27 2020 at 07:07):

I'd still give a warning so it flags some attention, just with a substring search for { {

view this post on Zulip Grahame Grieve (Mar 27 2020 at 07:08):

I don't know how to do a warning. I found the whole WPF thing really hard to do UI validation in

view this post on Zulip James Berry (Mar 30 2020 at 04:30):

Vadim Peretokin said:

I'll work on the release automation today, James Berry did you want to continue with the notifications?

Hi Vadim, can you help out with the notifications? I've sent you a PM on what I was looking at doing. Also I added status badges to README.md today - currently the Publish release is failing. And I'm not seeing the installer produce a win.exe

view this post on Zulip Vadim Peretokin (Mar 30 2020 at 05:07):

@James Berry Sure. Release build didn't work, because it expects a #.#.# tag (as documented). We'd like to use v#.#.# - so I'll adjust it to that.

view this post on Zulip James Berry (Mar 30 2020 at 05:34):

yay, test release 0.1.2 https://github.com/grahamegrieve/ClinicArrivals/releases/tag/v0.1.2 worked and the program opens straight up without any scary warnings

view this post on Zulip Vadim Peretokin (Mar 30 2020 at 05:35):

Excellent! Let's do the real one now.

view this post on Zulip Grahame Grieve (Mar 30 2020 at 05:37):

done (well, in progress)

view this post on Zulip Grahame Grieve (Mar 30 2020 at 05:37):

this is great

view this post on Zulip Vadim Peretokin (Mar 30 2020 at 05:38):

Yep, this kind of automation is fantastic

view this post on Zulip Vadim Peretokin (Mar 30 2020 at 05:39):

I have 2 things on my plate now: 1) adding a shortcut for simulator mode 2) adding self-update functionality

view this post on Zulip Vadim Peretokin (Mar 30 2020 at 05:39):

https://github.com/grahamegrieve/ClinicArrivals/releases/download/v0.2.0/ClinicArrivals-v0.2.0-win.exe

view this post on Zulip James Berry (Mar 30 2020 at 05:42):

both badges are green
https://github.com/grahamegrieve/ClinicArrivals/workflows/Build%20ClinicArrivals/badge.svg
https://github.com/grahamegrieve/ClinicArrivals/workflows/Publish%20release/badge.svg

view this post on Zulip Grahame Grieve (Mar 30 2020 at 05:49):

self update


Last updated: Apr 12 2022 at 19:14 UTC