-
Notifications
You must be signed in to change notification settings - Fork 1
Inconsistency in patient file import
Synthea generated patient file: Synthea-Luigi346_Quitzon246_bd63337a-ea66-952d-b02d-4a79db2ca530.json
A few modifications were made to the above patient file such that only the Patient resourceType is present in the Bundle. Also, this Patient resource is not wrapped into the resource field within the entry field in the Bundle.
Luigi346_Quitzon246_bd63337a-ea66-952d-b02d-4a79db2ca530.json
For this file, when we tried to import it into Iris, IBM, and VistA. They returned an error and a Patient entry could not be created. But in case of HAPI and Blaze, the file could be successfully imported. Ideally, this patient file should be rejected according to the FHIR standard for Bundle (https://build.fhir.org/document-example-dischargesummary.json.html).
For Blaze:
curl -w "\nHTTP Status: %{http_code}\n" -X POST "http://localhost:8006/fhir/Bundle" -H "Content-Type: application/fhir+json" -H "Accept: application/fhir+json" --data @tests/test_files/test.json{"meta":{"versionId":"20","lastUpdated":"2024-10-26T00:15:16.545Z","source":"#iPPhGqCcZEO1bzuT"},"type":"collection","resourceType":"Bundle","id":"DEWGFVSDT72V74JB","entry":[{"multipleBirthBoolean":false,"address":[{"city":"Somerset","state":"Massachusetts","extension":[{"extension":[{"valueDecimal":41.777141058411324,"url":"latitude"},{"valueDecimal":-71.13123849523227,"url":"longitude"}],"url":"http://hl7.org/fhir/StructureDefinition/geolocation"}],"line":["360 Luettgen Run"],"postalCode":"02725","country":"US"}],"meta":{"versionId":"1","lastUpdated":"2024-10-17T18:27:13Z"},"name":[{"given":["Frankie174"],"family":"Jast432","use":"official","prefix":["Mr."]}],"birthDate":"1975-08-12","resourceType":"Patient","extension":[{"extension":[{"url":"ombCategory","valueCoding":{"system":"urn:oid:2.16.840.1.113883.6.238","code":"2106-3","display":"White"}},{"url":"text","valueString":"White"}],"url":"http://hl7.org/fhir/us/core/StructureDefinition/us-core-race"},{"extension":[{"url":"ombCategory","valueCoding":{"system":"urn:oid:2.16.840.1.113883.6.238","code":"2186-5","display":"Not Hispanic or Latino"}},{"url":"text","valueString":"Not Hispanic or Latino"}],"url":"http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity"},{"url":"http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName","valueString":"Delfina519 Dietrich576"},{"url":"http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex","valueCode":"M"},{"url":"http://hl7.org/fhir/StructureDefinition/patient-birthPlace","valueAddress":{"city":"Rowley","state":"Massachusetts","country":"US"}},{"url":"http://synthetichealth.github.io/synthea/disability-adjusted-life-years","valueDecimal":0.0},{"url":"http://synthetichealth.github.io/synthea/quality-adjusted-life-years","valueDecimal":44.0}],"communication":[{"language":{"coding":[{"system":"urn:ietf:bcp:47","code":"en-US","display":"English"}],"text":"English"}}],"id":"3","identifier":[{"system":"https://github.com/synthetichealth/synthea","value":"a5b737fb-1f94-4767-802b-1112051f5101"},{"system":"http://hospital.smarthealthit.org","value":"a5b737fb-1f94-4767-802b-1112051f5101","type":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0203","code":"MR","display":"Medical Record Number"}],"text":"Medical Record Number"}},{"system":"http://hl7.org/fhir/sid/us-ssn","value":"999-16-6498","type":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0203","code":"SS","display":"Social Security Number"}],"text":"Social Security Number"}},{"system":"urn:oid:2.16.840.1.113883.4.3.25","value":"S99950276","type":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0203","code":"DL","display":"Driver's License"}],"text":"Driver's License"}},{"system":"http://standardhealthrecord.org/fhir/StructureDefinition/passportNumber","value":"X39628570X","type":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v2-0203","code":"PPN","display":"Passport Number"}],"text":"Passport Number"}}],"telecom":[{"system":"phone","use":"home","value":"555-769-8353"}],"gender":"male","maritalStatus":{"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v3-MaritalStatus","code":"M","display":"M"}],"text":"M"},"text":{"div":"<div xmlns=\"http://www.w3.org/1999/xhtml\">Generated by <a href=\"https://github.com/synthetichealth/synthea\">Synthea</a>.Version identifier: 65d0325\n . Person seed: 2346613998840497628 Population seed: 1596649671047</div>","status":"generated"}}]}
HTTP Status: 201
For Iris:
curl -w "\nHTTP Status: %{http_code}\n" -X POST "http://localhost:8007/fhir/r4/Bundle" -H "Content-Type: application/fhir+json" -H "Accept: application/fhir+json" --data @tests/test_files/test.json {"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'resourceType' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]},{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'text' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]},{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'identifier' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]},{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'name' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]},{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'telecom' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]},{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'gender' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]},{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'birthDate' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]},{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'address' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]},{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'maritalStatus' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]},{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'multipleBirthBoolean' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]},{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'communication' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]},{"severity":"error","code":"invalid","diagnostics":"<HSFHIRErr>UnexpectedPropertyName","details":{"text":"The property name 'meta' is not valid for type 'Bundle.entry'"},"expression":["Bundle.entry[0]"]}]} HTTP Status: 400
This is an inconsistency noted in the FHIR Servers.