Stream: tooling
Topic: Simplifier
Martijn Harthoorn (Sep 28 2018 at 12:53):
Today we deployed our FHIR package server. You can now create and install packages from Simplifier.
My blog:
https://simplifier.net/organization/firely/news/56
You can use our free command line tool to install packages and all its dependencies.
https://simplifier.net/downloads
This is the FHIR package draft specification: http://wiki.hl7.org/index.php?title=FHIR_NPM_Package_Spec
Grahame Grieve (Sep 28 2018 at 12:56):
what does the package server do? where's the doco?
Martijn Harthoorn (Sep 28 2018 at 12:58):
You can create a package from any project in Simplifier. And the package server will serve the package under the NPM protocol.
An example of a package: https://simplifier.net/packages/simplifier.core.stu3
Martijn Harthoorn (Sep 28 2018 at 13:00):
It also can find packages containing a specific canonical URL for you. -- and addition you and I discussed that npm does not have.
Grahame Grieve (Sep 28 2018 at 13:18):
is there specific definition about how to use this?
Grahame Grieve (Sep 28 2018 at 13:18):
and... can we upload packages to the server?
Martijn Harthoorn (Sep 28 2018 at 13:31):
There is a description on how to create a package from a Simplifier project here:
https://simplifier.net/organization/firely/news/55/
Martijn Harthoorn (Sep 28 2018 at 13:31):
But it's fairly self explanatory.
Martijn Harthoorn (Sep 28 2018 at 13:32):
And there is a more detailed explanation on how to consume packages with Torinox here:
https://simplifier.net/organization/firely/news/56
Grahame Grieve (Sep 28 2018 at 13:32):
that's not an answer to my question
Martijn Harthoorn (Sep 28 2018 at 13:33):
You can not directly upload packages to Simplifier yet. We're still discussing internally if we should - because we want a QA check first. But you can upload conformance resources to your project and directly create a package from there.
Grahame Grieve (Sep 28 2018 at 13:37):
what QA can you not do based on the package?
Martijn Harthoorn (Sep 28 2018 at 13:52):
In our current mindset a project in Simplifier is going to equate a package. So we're definitely going to build an upload of package to a project. But Simplifier is firstly for people who are not used to the command line. So we want to give them the editing and publishing experience there.
Martijn Harthoorn (Sep 28 2018 at 13:52):
Including the QA. We do of course plan to build an 'upload package to project'
Grahame Grieve (Sep 28 2018 at 13:53):
we will talk about this in Baltimore
Martijn Harthoorn (Sep 28 2018 at 13:53):
Won't be there myself, but I've given Ewout some topics.
Grahame Grieve (Sep 28 2018 at 13:54):
ok
Richard Kavanagh (Oct 01 2018 at 17:59):
A very interesting area. Within the NHS in England, we got halfway here by producing manifests of the FHIR assets used within our "Messaging" solutions. We did this by extending the MessageDefinition resource which we publish here : https://fhir.nhs.uk/MessageDefinition
It's a small step to move past this to build a "package" as all of our assets are published online. Currently, there is a tool that creates a ZIP file a little like the npm package - but aligning to npm us defintely of interest.
Ewout Kramer (Oct 01 2018 at 21:03):
@Richard Kavanagh - we did a demo of the current state of affairs at the connectathon and there's more discussion planned (on versioning of packages) during wed Q3 FHIR-I session. If you'd like to sit down and get a demo of what we showed during the Bof at the connectathon, we can do that too.
Grahame Grieve (May 12 2020 at 13:50):
@Ward Weistra it'd be really magic if the Simplifier json view actually presented valid json
Grahame Grieve (May 12 2020 at 13:51):
it doesn't actually escape correctly
Grahame Grieve (May 12 2020 at 13:53):
and yes, I'm listening to you ;-)
Ward Weistra (May 12 2020 at 13:59):
@Grahame Grieve Haha, I'm honored! I guess it's the showing integers as strings?
Grahame Grieve (May 12 2020 at 18:58):
no/ mostly escaping strings - \r\n \\ \"
Grahame Grieve (May 13 2020 at 07:43):
Also, @Martijn Harthoorn , the following packages on simplifier have no FHIR version information:
SliceBugTest#1.0.2
Furoretestproject#3.1.0
Simplifier.Core.Stu3.DataTypes#3.0.1
Simplifier.Core.STU3.ValueSets#3.0.2
Simplifier.Core.STU3.CodeSystems#3.0.1
Simplifier.Core.STU3.Extensions#3.0.1
Simplifier.Core.STU3#3.0.3
Demo.National.PatientCare#1.0.0
Demo.Regional.PatientCare#1.0.2
gefyra.sandbox#0.0.4
dummy.first#1.0.2
ProvincialClientRegi.core#1.0.1
PGO.02#1.02.1
irrs.pkg#1.0.0
cihi.irrs.pkg#1.0.0
cihi.irrs#1.0.0
private.package.test#1.1.0
test.my.first.package#1.0.1
TestProjekt2.test#0.0.2
Simplifier.Others.Stu3#3.0.1
Simplifier.Core.STU3.Resources#3.0.3
Simplifier.Core.STU3.ProfilesOthers#3.0.2
HL7Norway.STU3.no.basis#1.0.3
simplifier.core.r4.v2tables#4.0.0
simplifier.core.r4.v3codesystems#4.0.0
simplifier.core.r4.valuesets#4.0.0
simplifier.core.r4.conceptmaps#4.0.0
simplifier.core.r4.tx#4.0.0
simplifier.core.r4.types#4.0.0
simplifier.core.r4.resources#4.0.1
simplifier.core.r4.profiles#4.0.0
simplifier.core.r4.extensions#4.0.0
simplifier.core.r4.searchparameters#4.0.0
simplifier.core.r4.base#4.0.1
simplifier.core.r4#4.0.2
kbv.fhir.vos#1.30.1
eReferralOntario.core#0.9.2
Ward Weistra (May 13 2020 at 07:45):
@Grahame Grieve Yes, we recently broke that, will fix soon!
Escaping strings: Do you have an example? I'll look into it regardless.
Grahame Grieve (May 13 2020 at 07:48):
https://simplifier.net/NictizSTU3-Zib2017/nl-core-address/~json
Ward Weistra (May 14 2020 at 13:35):
We'll take up the escaping of strings!
And the issue of empty fhirVersions
has been resolved for newly created packages with yesterday's release.
Ward Weistra (May 14 2020 at 14:58):
Also, until then you use Download
> Copy to clipboard as JSON
and Download as JSON
on each resource on Simplifier which gives you nicely valid JSON to work with.
Grahame Grieve (May 14 2020 at 18:26):
so the existing packages can't be fixed or re-released?
Ward Weistra (May 15 2020 at 12:34):
We shouldn't change published packages, even when there's an error in them. There will always be smaller and larger errors in them and people already using them should be able to trust they remain unchanged.
They can be unlisted by the owner though, and I'll reach out to the owners requesting them to bring out a fixed version and unlisting the non-compliant one.
Grahame Grieve (May 15 2020 at 17:38):
can you ask the owners of the non-serious packages to delist them? I'm considering introducing a filter in my code to manually hide the ones I think are not proper packages that simplifier publishes
Ward Weistra (May 15 2020 at 20:27):
I can at least provide a contact button on those packages where the owner is from Simplifier, so anyone can make requests like that...
Where does your tool show them, do you have a UI drop down somewhere?
Grahame Grieve (May 15 2020 at 20:28):
here's one place:
Ward Weistra (May 15 2020 at 21:00):
I understand that doesn't look good like this...
Every package registry (https://www.npmjs.com/search?q=dummy, https://www.nuget.org/packages?q=dummy, https://simplifier.net/packages?Text=dummy) have low quality dummy/test packages in there. How they solve this is by sorting them based on popularity and quality. If the package registry would provide numbers like that, you could order them by that or hide the ones on the bottom of that list behind an extra click. Could that work?
Grahame Grieve (May 15 2020 at 22:48):
we could do that, yes. we'd have to extend the package api for that
Grahame Grieve (May 15 2020 at 22:49):
I track download counts on my package registry, though right now, the download counts are dominated by the QA checker I wrote to check all the packages (probably the same on yours ;-)
Grahame Grieve (May 15 2020 at 22:59):
how would we rate quality?
Ward Weistra (May 15 2020 at 23:08):
:thinking: Being valid is of course the lowest bar (and invalid should be prevented). Filling 'nice' optional fields like keywords could help. Being an IG package.
Grahame Grieve (May 16 2020 at 20:34):
is it conceivable that we could come up with a standard scoring approach for quality? 0-5 stars? n/10? Is it concievable that we could have a common algorithm?
Ward Weistra (May 18 2020 at 15:12):
I'd applaud that. Similarly, a common set of formalized rules for a valid (IG) package would be great, I think we need those anyway.
Last updated: Apr 12 2022 at 19:14 UTC