Comments (6)
This seems is a very good idea 💡 and also I think this will open up to support for XML. For me, I could try after the holiday season ends (after the new year) but anyone welcomes to try now.
Related pydantic issues
from fhir.resources.
@Healthedata1 what should be the proper mime type for YAML? some folk suggest text/yml` or `application/x-yaml` https://stackoverflow.com/questions/332129/yaml-media-type I don't find any definition inside python's built-in module
mimetypes``
from fhir.resources.
I don't have an opinion. It seems from the pydantic CRs that just using the yaml dump and load methods is the preferred choice.
e.g.
Testing out fhir.resources
start with fhirstring class...
from fhir.resources.patient import Patient as P
from yaml import dump as y_dump, load as y_load
import datetime
p = P()
p.json()
'{"resourceType": "Patient"}'
print(y_dump(p.dict()))
resourceType: Patient
my_patient = {'id': 'subject1',
'meta': {'profile': ['http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|4.0.0']},
'active': True,
'address': [{'city': 'Anytown',
'country': 'USA',
'line': ['100 Main St'],
'postalCode': '99999',
'state': 'CA',
'text': '100 Main St\nAnytown, CA 99999\nUSA'}],
'birthDate': datetime.date(1964, 6, 19),
'communication': [{'language': {'coding': [{'code': 'en',
'display': 'English',
'system': 'urn:ietf:bcp:47'}],
'text': 'English'}}],
'gender': 'male',
'identifier': [{'system': 'http://example.org/pids', 'value': '1234'}],
'name': [{'family': 'Doe', 'given': ['John', 'M']}],
'resourceType': 'Patient'}
p = P(**my_patient)
print(y_dump(p.dict()))
active: true
address:
- city: Anytown
country: USA
line:
- 100 Main St
postalCode: '99999'
state: CA
text: '100 Main St
Anytown, CA 99999
USA'
birthDate: 1964-06-19
communication:
- language:
coding:
- code: en
display: English
system: urn:ietf:bcp:47
text: English
gender: male
id: subject1
identifier:
- system: http://example.org/pids
value: '1234'
meta:
profile:
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|4.0.0
name:
- family: Doe
given:
- John
- M
resourceType: Patient
p_yaml = '''
active: true
address:
- city: Anytown
country: USA
line:
- 100 Main St
postalCode: '99999'
state: CA
text: '100 Main St
Anytown, CA 99999
USA'
birthDate: 1964-06-19
communication:
- language:
coding:
- code: en
display: English
system: urn:ietf:bcp:47
text: English
gender: male
id: subject1
identifier:
- system: http://example.org/pids
value: '1234'
meta:
profile:
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|4.0.0
name:
- family: Doe
given:
- John
- M
resourceType: Patient
'''
y = y_load(p_yaml)
y
c:\users\administrator\appdata\local\programs\python\python37-32\lib\site-packages\ipykernel_launcher.py:1: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
"""Entry point for launching an IPython kernel.
{'active': True,
'address': [{'city': 'Anytown',
'country': 'USA',
'line': ['100 Main St'],
'postalCode': '99999',
'state': 'CA',
'text': '100 Main St\nAnytown, CA 99999\nUSA'}],
'birthDate': datetime.date(1964, 6, 19),
'communication': [{'language': {'coding': [{'code': 'en',
'display': 'English',
'system': 'urn:ietf:bcp:47'}],
'text': 'English'}}],
'gender': 'male',
'id': 'subject1',
'identifier': [{'system': 'http://example.org/pids', 'value': '1234'}],
'meta': {'profile': ['http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|4.0.0']},
'name': [{'family': 'Doe', 'given': ['John', 'M']}],
'resourceType': 'Patient'}
p = P(**y)
print(y_dump(p.dict()))
active: true
address:
- city: Anytown
country: USA
line:
- 100 Main St
postalCode: '99999'
state: CA
text: '100 Main St
Anytown, CA 99999
USA'
birthDate: 1964-06-19
communication:
- language:
coding:
- code: en
display: English
system: urn:ietf:bcp:47
text: English
gender: male
id: subject1
identifier:
- system: http://example.org/pids
value: '1234'
meta:
profile:
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient|4.0.0
name:
- family: Doe
given:
- John
- M
resourceType: Patient
from fhir.resources.
@Healthedata1 did you try the latest beta release yet?
from fhir.resources.
from fhir.resources.
used it and it works great. many thanks
from fhir.resources.
Related Issues (20)
- 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
- Incorrect validation of Task HOT 1
- parsing yaml instructions HOT 2
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.