nazrulworld / fhir.resources

FHIR Resources https://www.hl7.org/fhir/resourcelist.html
https://pypi.org/project/fhir.resources/
Other
365 stars 104 forks source link

Fix #101 ElementDefinition.id typing is incorrect also on R4B package #143

Open kupsum opened 9 months ago

kupsum commented 9 months ago

This add fix in https://github.com/nazrulworld/fhir.resources/issues/101 also R4B package.

nazrulworld commented 9 months ago

Hi @kupsum First of all thanks a lot for your PR. Unfortunately I can't accept this PR for now, because I am little bit confused about the correct Element.id type. According to FHIR specification, bellow is the definition of the property ´id´

{'id': 'Element.id',
 'isModifier': False,
 'isSummary': False,
 'mapping': [{'identity': 'rim', 'map': 'n/a'}],
 'max': '1',
 'min': 0,
 'path': 'Element.id',
 'representation': ['xmlAttr'],
 'short': 'Unique id for inter-element referencing',
 'type': [{'code': 'http://hl7.org/fhirpath/System.String',
           'extension': [{'url': 'http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type',
                          'valueUrl': 'id'}]}]}

You can see that an extension 'https://hl7.org/fhir/extensions/StructureDefinition-structuredefinition-fhir-type.html' is used, which clearly indicates that value type should be FHIR primitive type ´id´.

But still you can confirm me about the correct type, I am happy to accept this PR. Happy coding!

NB: it is possible ask relevant question here https://chat.fhir.org

kupsum commented 9 months ago

Hi @nazruworld!

I'm referencing this document about Element in this PR which states id as string.

Element.id -- Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Short Display | Unique id for inter-element referencing Cardinality | 0..1 Type | string

Also, the R5 codebase already has this Element.id specified as fhirtypes.String. See https://github.com/nazrulworld/fhir.resources/blob/main/fhir/resources/element.py#L43

nazrulworld commented 9 months ago

Hi @nazruworld!

I'm referencing this document about Element in this PR which states id as string.

Element.id

Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. Short Display | Unique id for inter-element referencing Cardinality | 0..1 Type | string

The reference you mentioned, is for R5.

kupsum commented 9 months ago

Here is link to R4B. The Element.Id is also string in R4B.