Giter Club home page Giter Club logo

Comments (12)

mmabey avatar mmabey commented on August 20, 2024 1

@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.

iatechicken avatar iatechicken commented on August 20, 2024 1

@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.

mmabey avatar mmabey commented on August 20, 2024 1

@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.

nazrulworld avatar nazrulworld commented on August 20, 2024

@mmabey thank you so much for the opinion.

Reason Why DSTU 2 is not part-of.

  1. 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.
  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

  1. we will keep developing, support DSTU2 at 5.X.X branch.
  2. 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.

nazrulworld avatar nazrulworld commented on August 20, 2024

Another side note, which python version is used in your running projects?

from fhir.resources.

mmabey avatar mmabey commented on August 20, 2024

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.

nazrulworld avatar nazrulworld commented on August 20, 2024

@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.

mmabey avatar mmabey commented on August 20, 2024

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.

nazrulworld avatar nazrulworld commented on August 20, 2024

@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.

  1. we will get immediate feedback for R4 and STU3
  2. we will continue adding DSTU2 resources alongside fixing bugs and adding features.
  3. 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.

nazrulworld avatar nazrulworld commented on August 20, 2024

@mmabey should I make another intermediary beta release, or wait until more DTSU2 resources from you?

from fhir.resources.

nazrulworld avatar nazrulworld commented on August 20, 2024

@iatechicken you are more than welcome to try with remaining items.
I will wait for your PR until next release.

from fhir.resources.

nazrulworld avatar nazrulworld commented on August 20, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.