FHIR field for Plone
Project description
Background (plone.app.fhirfield)
FHIR (Fast Healthcare Interoperability Resources) is the standard for Healthcare system. Our intend to implemnt FHIR based system using Plone! plone.app.fhirfield will make life easier to create, manage content for FHIR resources.
Features
Plone restapi support
Widget: z3cform support
plone.supermodel support
plone.rfc822 marshaler field support
Available Options
This field has got all standard options (i.e title, required, desciption and so on) with additionally options for the purpose of either validation or constraint those are related to FHIR.
- resource_type
Required: No
Default: None
Type: String
The name of FHIR resource can be used as constraint, meaning that we can restricted only accept certain resource. If FHIR json is provided that contains other resource type, would raise validation error. Example: FhirResource(….,resource_type=’Patient’)
- model
Required: No
Default: None
Type: String + full python path (dotted) of the model class.
Like resource_type option, it can be used as constraint, however additionally this option enable us to use custom model class other than fhirclient’s model. Example: FhirResource(….,model=’fhirclient.models.patient.Patient’)
- model_interface
Required: No
Default: None
Type: String + full python path (dotted) of the model class.
Unlike model option, this option has more versatile goal although you can use it for single resource restriction. The advanced usecase like, the field could accept muiltiple resources types those model class implements the provided interface. For example you made a interface called IMedicalService and (Organization, Patient, Practitioner) models those are implementing IMedicalService. So when you provides this option value, actually three types of fhir json can now be accepted by this field. Example: FhirResource(….,model=’plone.app.interfaces.IFhirResourceModel’)
Roadmaps
- indexing: we have plan to support json index like elastic search model. Ofcourse performance will be main issue. bellows are some libraries, I found. You are welcome to suggest me any better library for json search.
elastic search support
Installation
Install plone.app.fhirfield by adding it to your buildout:
[buildout] ... eggs = plone.app.fhirfield
and then running bin/buildout
Links
Code repository:
Continuous Integration:
Issue Tracker:
License
The project is licensed under the GPLv2.
Contributors
Md Nazrul Islam (Author), email2nazrul@gmail.com
Changelog
1.0.0a10 (2018-03-12)
fix(bug) Issue-3: resource_type constraint don’t raise exception from validator.
1.0.0a9 (2018-03-08)
There is no restriction/limit over fhir resources, all available models are supported.
1.0.0a8 (2018-01-22)
fix(bug) Issue-: Empty string value raise json validation error #2:https://github.com/nazrulworld/plone.app.fhirfield/issues/2
1.0.0a7 (2018-01-21)
fix(bug) Issue-1: _RuntimeError: maximum recursion depth exceeded while calling a Python object at form view. #1:https://github.com/nazrulworld/plone.app.fhirfield/issues/1
1.0.0a6 (2018-01-14)
missing HealthcareService fhir model is added as supported model.
1.0.0a5 (2018-01-14)
Person fhir model added in whitelist.
1.0.0a4 (2018-01-14)
IFhirResource.model_interface field type changed to DottedName from InterfaceField.
1.0.0a3 (2017-12-22)
FHIR Patch support added. Now patching fhir resource is more easy to manage.
plone.supermodel support is confirmed.[nazrulworld]
plone.rfc822 marshaler field support.[nazrulworld]
1.0.0a2 (2017-12-10)
FhirResourceWidget is made working state. From now it is possible to adapt FhirResourceWidget` with z3c.form [nazrulworld]
1.0.0a1 (2017-12-05)
Initial release. [nazrulworld]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for plone.app.fhirfield-1.0.0a10.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec13185697950d0560ff184c7554235b729d89c42b132a28f4045f98780d4f91 |
|
MD5 | e84ab156181c2552786511e27662abf9 |
|
BLAKE2b-256 | ff06356ae1f3e82d93d403f53848768ec307001998c3cb3c5129517426c8f568 |