How can I express an array of objects in a defition.
Here's the sample json
{ "resourceType": "Patient", "extension": [{ "url": "http://hl7.org/fhir/StructureDefinition/us-core-race", "extension": [{ "url": "ombCategory", "valueCoding": { "system": "http://hl7.org/fhir/v3/Race", "code": "2106-3", "display": "White" } }] }, { "url": "http://hl7.org/fhir/StructureDefinition/us-core-ethnicity", "extension": [{ "url": "ombCategory", "valueCoding": { "system": "http://hl7.org/fhir/v3/Ethnicity", "code": "2135-2", "display": "Hispanic or Latino" } }] } ] }
Solved! Go to Solution.
extension: type: array items: oneOf: - $ref: '#/definitions/Race' - ...
Please follow https://swagger.io/docs/specification/data-models/data-types/#array for information on how to define arrays.
I'm almost there.
extension: type: array items: type: object properties: race: $ref: '#/definitions/Race' ethnicity: $ref: '#/definitions/Ethnicity' sex: $ref: '#/definitions/Sex'
This includes an extraneous key before each definition
"extension": [{ "race": { "url": "http://hl7.org/fhir/StructureDefinition/us-core-race", "extension": { "url": "ombCategory", "valueCoding": { "system": "http://hl7.org/fhir/v3/Race", "code": "2106-3", "display": "White" } } }, "ethnicity": { "url": "http://hl7.org/fhir/StructureDefinition/us-core-ethnicity", "extension": { "url": "ombCategory", "valueCoding": { "system": "http://hl7.org/fhir/v3/Ethnicity", "code": "2135-2", "display": "Hispanic or Latino" } } }, "sex": { "url": "http://hl7.org/fhir/StructureDefinition/us-core-birthsex", "valueCode": "M" } }]
But I need it to look like this:
"extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/us-core-race", "extension": { "url": "ombCategory", "valueCoding": { "system": "http://hl7.org/fhir/v3/Race", "code": "2106-3", "display": "White" } } }, { "url": "http://hl7.org/fhir/StructureDefinition/us-core-ethnicity", "extension": { "url": "ombCategory", "valueCoding": { "system": "http://hl7.org/fhir/v3/Ethnicity", "code": "2135-2", "display": "Hispanic or Latino" } } }, { "url": "http://hl7.org/fhir/StructureDefinition/us-core-birthsex", "valueCode": "M" } ]
Thanks @RonRatovsky for any additional help you might be able to offer.
Instead of defining the array as an object containing the three properties, try defining the array value as 'oneOf' the three objects.
extension: type: array items: oneOf: - $ref: '#/definitions/Race' - ...
Subject | Author | Latest Post |
---|---|---|