Skip to content

20190304 Community Meeting Minutes

Ewout Kramer edited this page Apr 30, 2024 · 1 revision

Time: 19:00-20:00 UTC (20:00-21:00 CET, 14:00-15:00 EST, 06:00-07:00 AEDT) Location: Join Zoom Meeting https://zoom.us/j/573322038

See https://youtu.be/dcUSUVSP7z8 for the recording of this meeting

R4/1.2-beta

  • We will remain in beta phase for a bit, ironing out performance and bugs.
  • Working on stabilizing POCO-less parsing
  • Will need to make sure validation of decimals pre-R4 picks up on the (back then) unsupported exponention notation, see https://github.com/FirelyTeam/fhir-net-api/issues/898.

1.3 plans

  • Rewrite of the FhirPath engine. FHIRPath->Linq.Expression. Compile().
  • Performance improvements. Patient.a.b.c.d.e.f(g.h.i) is particularly bad, re-running the focus as IEnumerable on every step.
  • Making configuring validation errors more fine-grained (as discussed before)
  • George is working on isolating poco-dependent code/"common" code base, so we have more shared code across branches.
    • We can use the Resource class across all the versions. Yes!!!
    • George created Roslyn codeanalyzers to signal features that are incompatible with the fhir version chosen.
    • E.g. if you are in DSTU2 and you use Resource.meta.source, you get a warning.
    • This is scheduled for 2.x
    • Generating IStructureDefinitionSummaryProvider is a nice solution too. Would fix the problem of the order/insummary changes per fhir version

NET 4.x

  • Luke is on the call to plead his case for .NET4 support
  • It's simple to add a new target, but compilation times suffer. We should have a DEBUG/RELEASE config for TargetFrameworks
  • Luke will try to see if the PR for the new FhirClient is doable in 4.x
  • Rediscuss on april 1st.

FhirPath plans

  • % and EvaluationContext - add a way to add your own variables
  • Working being done is around rewriting the expression tree to flag lambdas (like where), and adding support for lambdas:
    • FP N1: substing(4) where(\this => family = 'xxxxxx' and $this > 'b')
    • aggregate(($this,$index,$total) => )
    • define new functions! 'let $elevenProof = ($a) => ................. '
  • Also, we can pull more stuff done currently at runtime into static analysis phase, like resolving $focus.
  • Decided to keep the current tree returned by FhirPathCompiler.Parse() unchanged. Tree rewriting is done before compilation.

Validation fine grained control

  • We decided to stick with just PermissiveParsing true/false for 1.2, a proper solution takes more time. Don't want to introduce temporary fixes which we'd need to keep on supporting.
  • Not before summer

Special enum value for unknown codes in required valuesets

  • BP will do an experimental run.

Action items

  • We moved the FHIR .NET API to https://github.com/FirelyTeam/fhir-net-api
  • Brian will do an experimental run on code generation of an "unknown code" in all enums.
  • Brian has started to pull out the Web.Api stuff from the repo to new repo https://github.com/brianpos/fhir-net-web-api
  • Luke will try to see if the PR for the new FhirClient is doable in 4.x
  • Ewout to set up a targeted meeting to discuss these different interfaces for WebApi
  • Ewout to schedule a meeting to show proposed changes to the internals of the validator [DELAYED until further notice]
Clone this wiki locally