Comments (12)
@nazrulworld Yeah go ahead. I think it will be a little while before my team and I can dedicate any more time to this.
from fhir.resources.
@nazrulworld @mmabey I have some time over the weekend and next week. Can I get like a before and after of the completed DSTU2 resources so that I can try to help out with the remaining items?
from fhir.resources.
@iatechicken Take a look at #21. There are a bunch of resources checked off in the main issue description. The resources that I've done that aren't checked off yet are:
- EnrollmentResponse
- EpisodeOfCare
- ExplanationOfBenefit
- DataElement
- HealthcareService
- ImagingObjectSelection
So any of the other resources listed (that aren't checked off) would be a good place to start.
@nazrulworld I think I haven't submitted all the resources my team and I have written (sorry about that!). I'll submit a PR on Monday for your review.
from fhir.resources.
@mmabey thank you so much for the opinion.
Reason Why DSTU 2
is not part-of.
- You will find that everything kind of rewritten to comply with pedantic (support modern python), however, you also know that we used a generator to create all classes as well as tests. The limitation there (the generator) it cannot work FHIR DSTU 2.
- My limited knowledge, I thought DSTU 2 would be obsolete soon! (my bad), besides also though it will make package size a little bit larger!
Solution
- we will keep developing, support DSTU2 at 5.X.X branch.
- I fully agree with you, we should keep continuing to support DSTU 2 on the new release, in that case, we have to copy manually all files into DSTU2 folder and make compatible with the new style. There, of course, will need a contribution from you (especially testing part, because we can make unittest for that, it would be nice if you can tests manually ).
The plan could be like, I will make structures of DSTU2 package, then will invite you to help.
Let me know your opinion.
Thanks 🙏
Also thanks a lot for your pull request, please comment there.
from fhir.resources.
Another side note, which python version is used in your running projects?
from fhir.resources.
Thank you for your encouraging response! One of the reason we're using the fhir.resources
library over other options is the ability to use multiple versions of the FHIR spec simultaneously (since my company may need to interface with systems that support different versions of the FHIR spec). So thank you! The added size of the library is worth it to us.
You're not wrong about DSTU 2 being obsolete soon. There was recent legislation in the US regarding this that makes R4 the standard, but I think it will still be another year (or three) before EHR vendors fully support R4, and it may be even more years before all providers and insurance companies upgrade their systems. So I think the effort to support DSTU 2 for a while longer is worth it for now. And I'm happy to do tests on our system as necessary.
We're currently running version Python 3.6.9, but in the next couple weeks we'll be upgrading to Python 3.8.x 🎉
By the way, I'm excited about the addition of pydantic to the library. I think that's a great direction to take things! 👍
from fhir.resources.
@mmabey which FHIR resources are you using mostly in your system? I am asking because I may make tests only for those specific resources as it would be hard for me to make tests for all resources by me.
from fhir.resources.
As you can see, it's quite the list... I've copy/pasted the distinct import statements so you can see the specific objects I'm using. I assume you're only interested in the DSTU 2 elements, but just in case it's helpful I've included both DSTU 2 and R4 elements.
# DSTU 2
from fhir.resources.DSTU2.address import Address
from fhir.resources.DSTU2.allergyintolerance import AllergyIntolerance
from fhir.resources.DSTU2.annotation import Annotation
from fhir.resources.DSTU2.attachment import Attachment
from fhir.resources.DSTU2.bundle import Bundle
from fhir.resources.DSTU2.careplan import CarePlan
from fhir.resources.DSTU2.codeableconcept import CodeableConcept
from fhir.resources.DSTU2.coding import Coding
from fhir.resources.DSTU2.composition import Composition
from fhir.resources.DSTU2.condition import Condition
from fhir.resources.DSTU2.device import Device
from fhir.resources.DSTU2.diagnosticreport import DiagnosticReport
from fhir.resources.DSTU2.domainresource import DomainResource
from fhir.resources.DSTU2.element import Element
from fhir.resources.DSTU2.encounter import Encounter
from fhir.resources.DSTU2.fhirabstractbase import FHIRValidationError
from fhir.resources.DSTU2.fhirdate import FHIRDate
from fhir.resources.DSTU2.fhirelementfactory import FHIRElementFactory
from fhir.resources.DSTU2.goal import Goal
from fhir.resources.DSTU2.group import Group
from fhir.resources.DSTU2.humanname import HumanName
from fhir.resources.DSTU2.identifier import Identifier
from fhir.resources.DSTU2.immunization import Immunization
from fhir.resources.DSTU2.location import Location
from fhir.resources.DSTU2.medicationadministration import MedicationAdministration
from fhir.resources.DSTU2.medicationstatement import MedicationStatement
from fhir.resources.DSTU2.observation import Observation
from fhir.resources.DSTU2.operationoutcome import OperationOutcome
from fhir.resources.DSTU2.organization import Organization
from fhir.resources.DSTU2.patient import Patient
from fhir.resources.DSTU2.period import Period
from fhir.resources.DSTU2.person import Person
from fhir.resources.DSTU2.practitioner import Practitioner
from fhir.resources.DSTU2.procedure import Procedure
from fhir.resources.DSTU2.procedurerequest import ProcedureRequest
from fhir.resources.DSTU2.range import Range
from fhir.resources.DSTU2.relatedperson import RelatedPerson
from fhir.resources.DSTU2.resource import Resource
from fhir.resources.DSTU2.timing import Timing
# R4
from fhir.resources.address import Address
from fhir.resources.annotation import Annotation
from fhir.resources.attachment import Attachment
from fhir.resources.bundle import Bundle
from fhir.resources.careplan import CarePlan
from fhir.resources.careteam import CareTeam
from fhir.resources.codeableconcept import CodeableConcept
from fhir.resources.coding import Coding
from fhir.resources.condition import Condition
from fhir.resources.device import Device
from fhir.resources.domainresource import DomainResource
from fhir.resources.encounter import Encounter
from fhir.resources.fhirdate import FHIRDate
from fhir.resources.group import Group
from fhir.resources.humanname import HumanName
from fhir.resources.identifier import Identifier
from fhir.resources.insuranceplan import InsurancePlan
from fhir.resources.location import Location
from fhir.resources.organization import Organization
from fhir.resources.patient import Patient
from fhir.resources.period import Period
from fhir.resources.person import Person
from fhir.resources.practitioner import Practitioner
from fhir.resources.practitionerrole import PractitionerRole
from fhir.resources.range import Range
from fhir.resources.relatedperson import RelatedPerson
from fhir.resources.resource import Resource
from fhir.resources.timing import Timing
from fhir.resources.
@mmabey I think all your listed FHIR resources are available under DSTU2 with some tests (hope you already did manual test)
The idea now is like, we will go-ahead of first beta release 6.0.0b1 as soon as possible despite missing many of DSTU2 resources.
- we will get immediate feedback for R4 and STU3
- we will continue adding DSTU2 resources alongside fixing bugs and adding features.
- I can promise a stable version will have all DSTU2 resources.
I am taking this decision because adding resources manually taking so many times.
from fhir.resources.
@mmabey should I make another intermediary beta release, or wait until more DTSU2 resources from you?
from fhir.resources.
@iatechicken you are more than welcome to try with remaining items.
I will wait for your PR until next release.
from fhir.resources.
@mmabey great to hear 💯 about that, anyway added support for orjson
, hopefully now JSON serialization/deserialization would way faster!
you are welcome to test that flavor (R4 and STU3 only but we can add for that DSTU2 as well later.)
from fhir.resources.
Related Issues (20)
- Transition to R5 HOT 2
- `pkg_resources.declare_namespace` deprecation HOT 1
- urn not supported in Url
- FHIR resource as pydantic request model in FastAPI
- Pydantic 2.0 Migration Plan HOT 17
- Restrict Pydantic to <2.0.0 HOT 3
- Sample code execution error HOT 3
- Use warnings.warn() instead of logging the warning about the ignored extra parameters passed to json() and dict()
- Improve documentation of orjson HOT 1
- Parsing XML byte string MESH acknowledgment response HOT 2
- Instant on DocumentReference not properly output on json HOT 1
- Resource / element to be json-serializable HOT 2
- How to override validation HOT 2
- Handling FHIR Versions
- Error in ID length on EPIC Sandbox data HOT 4
- A way to get list of all resources and their inner elements, help needed in getting sub elements of inner elements HOT 1
- Security vulnerability in orjson package: CVE-2024-27454
- AllergyIntolerance object gives "Extra fields not permitted" error for reaction object.
- Update pydantic version for FHIR R4 or fhir.resources == 6.4.0
- Parsing error for StructureDefinitions with type slicing in R4B HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fhir.resources.