Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider cleaning up our ISourceNode+ITypedElement XML ppipeline #2782

Open
ewoutkramer opened this issue May 3, 2024 · 1 comment
Open
Labels
breaking change This issue/commit causes a breaking change, and requires a major version upgrade

Comments

@ewoutkramer
Copy link
Member

Our XML pipeline is flexible enough to parse non-FHIR formats like CDA and even others. This can be controlled by the StructureDefinition.

Although this is fine in theory, we have not yet really encountered a real use for this, and even for CDA we might want to generate POCO's and use the faster POCO parsers in the end. On the other hand, the flexibility we have causes extra complexity in our Class/Property mappings, ISourceNode parser (it needs to allow almost anything) and ITypedElement parser (it needs to understand XML annotations on the source node), it requires CDA specific attributes like default types etc.

I suggest we take this flexibility out, making our parsers faster and easier to understand. We can then also align the error messages better with the json/xml parsers, since the same things will be wrong in all (less flexibility allowed). This will also allow us to clean up metadata and thus attributes in our generated C# - which will make handwriting custom poco's easier.

@ewoutkramer ewoutkramer added enhancement breaking change This issue/commit causes a breaking change, and requires a major version upgrade labels May 3, 2024
@brianpos
Copy link
Collaborator

brianpos commented May 3, 2024

What are you considering retiring here?
I may be using it in my mapping language engine
https://github.com/brianpos/fhir-net-mappinglanguage
(ported from the Java engine)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change This issue/commit causes a breaking change, and requires a major version upgrade
Projects
None yet
Development

No branches or pull requests

3 participants