- Switch to Apache Software License v2
Improvement
BundleWrapper
is providing two optional methods,calculate_fhir_base_url
andresolve_absolute_uri
and is now also taking optional parameterbase_url
.
Fixes
- fixes ElasticSearchDialect.create_term
[Kartik Sayani]
- fixes
EngineResult.extract_references
. [Jason Paumier] - fixes how composite search params are parsed. [Jason Paumier]
- Issue#28 Nested GroupTerm search returns no matches
- fixes
SearchContext.normalize_param
for composite search params [nazrulworld]
- fixes
FHIRAbstractModel
comparing atutils
module for BundleWrapper. fallback_callable
helper function is available atutils
module.
Improvements
- More helper functions (
get_local_timezone
,timestamp_utc
,timestamp_utc
) are created. initial_bundle_data
method is now available in Base Elasticsearch engine class, meaning that it is possible construct Bundle initial data into the derived class, so more flexibility.
Bugfixes
- Default bundle initial data was constructed
meta.lastUpdated
value with utc now time but without timezone offset, so during json serialization, timezone info was missed as a result reverse construct of Bundle complains validation error.
Improvements
orjson
is no longer required.json_dumps
andjson_loads
now dynamically supports orjson and simplejson.
Bugfixes
Connection.raw_connection
was wrongly wrapped byAsyncElasticsearchConnection/ElasticsearchConnection.from_url()
with self, instead ofelasticsearch.AsyncElasticsearch/elasticsearch.Elasticsearch
's instance.
Improvements
- Introducing AsyncElasticsearchConnection` and
AsyncElasticsearchEngine
the asyncio based connection and engine for Elasticsearch. See Using Asyncio with Elasticsearch - Added
orjson
based json serializer for Elasticsearch by default (when connection is made from connection factory). - Added support for _summary=text|data|count|true|false. [arkhn]
- Added support for _elements search parameter. [arkhn]
Breaking
async_result
parameter is no longer needed for SearchContext, Search and Query (included async version) as from now all engine contains that information (engine_class.is_async()
).
- Added supports for
_format
and_pretty
params, now there should no complain for those, instead of simply ignored. [nazrulworld]
- Handle
:identifier
modifier for reference search parameters [simonvadee] - fixes BundleWrapper` as_json mode, now includes with
resourceType
value. [nazrulworld] Dict
response option has bee added infhirpath.search.fhir_search
[nazrulworld]- Ignore empty search params #21 [simonvadee]
- Just for performance optimization issue minimum required
zope.interface
version is5.1.2
.
- Disable pydantic validation for Bundle in fhirpath.utils.BundleWrapper [simonvadee]
- Two helper functions
json_dumps
andjson_loads
are now available under utils module [nazrulworld] - Only apply search prefix on affected types #17 [simonvadee]
Improvements
- add supports for some important FHIR search parameters (
_has
,_include
and_revinclude
) [simonvadee] - enable search on several resource types (_type search param) [Jasopaum]
- Issue #8 Add search support for without any params or query string if context has resource type [nazrulworld]
- Issue #9 multiple negative not working [nazrulworld]
Breaking
fhirpath.search.SearchContext.resource_name
has been changedfhirpath.search.SearchContext.resource_type
and now datatype is List instead of string. Please check your API. [Jasopaum]- For case of
Elasticsearch
based engine, you should use custom analyzer (fhir_reference_analyzer
) for FHIR Reference type. For details see readme.
- added missing
isodate
package dependency.
Improvements
- Issue#5: Now
ElasticsearchEngine::get_index_name
takes one optional parameterresource_type
. - Add supports for python version 3.6.
Breaking
- Make full capability with fhir.resources version
6.x.x
, please have a look of revolutionary changes offhir.resources
.
fhirspec
andfhir.resources
versions are pinned.
A must update release (from 0.6.0
)!
Bugfixes
- fix: issues, those arieses due to fix bellow issue.
- fix:
fhirpath.storage.FHIR_RESOURCE_CLASS_STORAGE
,fhirpath.storage.PATH_INFO_STORAGE
,fhirpath.storage.SEARCH_PARAMETERS_STORAGE
andfhirpath.storage.FHIR_RESOURCE_SPEC_STORAGE
took wrong FHIR release as keys.
Breaking
- Hard dependency on fhirspec.
- Minimum python version 3.7 is required.
- Minimum required
fhir.resources
version is now5.1.0
meaning FHIR R4 4.0.1 and STU3 3.0.2. Please follow changes log https://pypi.org/project/fhir.resources/5.1.0/.
New features
__main__
module has been created, now possible to see version and/or initiated required FHIR versions. For examplepython -m "fhirpath" --version
,python -m "fhirpath" --init-setup
[nazrulworld]
Improvements
- Updated fix version of elasticsearch mappings.
New Features
FHIRPath
(Normative Release) support available. A dedicated class is now available`fhirpath.FHIRPath
, although it is working in progress (meaning that many methods/functions are yet to do complete.)
Improvements
- Add support for important FHIR search modifier
:contains
. See #1 - Add support for
:above``FHIR search modifier and `èb
prefix. See #2 - Add support for
:bellow
FHIR search modifier andsa
prefix. See #2
Bugfixes
- Upgrade to this version is recommended as it includes couples of major bug fixes.
Breaking
- The
fhirpath.navigator
module has been removed and introduced new modulefhirpath.model
.fhirpath.utils.Model
has been moved to fhirpath.model`.
Bugfixes
fhirpath.search.Search.parse_query_string
now returningMuliDict``(what is expected) instead of ``MultiDictProxy
.
Improvements
- Now full
select
features are accepted, meaning that you can provide multiple path inselect
section. for exampleselect(Patient.name, Patient.gender)
. - FHIRPath
count()
andempty()
functions are supported. - Supports path navigation with index and functions inside
select
. Example[index]
,last()
,first()
,Skip()
,Take()
,count()
.
Breakings
QueryResult.first
andQueryResult.single
are no longer return FHIR Model instance instead returningfhirpath.engine.EngineResultRow
.QueryResult.fetchall
returning list offhirpath.engine.EngineResultRow
instead of FHIR JSON.QueryResult
iteration returning list of FHIR Model instance on condition (if select is *), other than returning list offhirpath.engine.EngineResultRow
.
Improvements
- Add support for search parameter expression that contains with space+as (
MedicationRequest.medication as CodeableConcept
)
Bugfixes
not
modifier is now working forCoding
andCodeableConcept
.- "ignore_unmapped" now always True in case of nested query.
- "unmapped_type" now set explicitly long value. See related issue https://stackoverflow.com/questions/17051709/no-mapping-found-for-field-in-order-to-sort-on-in-elasticsearch
Improvements
- Supports multiple AND values for same search parameter!.
- Add support FHIR version
STU3
compability for Money type search.[nazrulworld] - IN Query support added.[nazrulworld]
- Support PathElement that contains string path with .as(), thus suports for Search also.
- Supports
Duration
type in Search. - Add support
composite
type search param.
Bugfixes
- Multiple search values (IN search)
- Missing
text
for HumanName and Address search.
Breakings:
- Built-in providers (
guillotina_app
andplone_app
) have been wiped as both becoming separate pypi project. queries
module has been moved fromfql
sub-package to fhirpath package and also renamed asquery
.
Improvements:
- There are so many improvements made for almost all most modules.
- FhirSearch coverages are increased.
- Sort, Limit facilities added in Query as well in FhirSearch.
Bugfixes:
- numbers of bugs fixed.
- First working version has been released. Of-course not full featured.
- First release on PyPI.(Just register purpose, not usable at all, next release coming soon)