From 0f51307d48dc67d04d459a868165c817bfa8c0a5 Mon Sep 17 00:00:00 2001 From: Abhishek Dasgupta Date: Mon, 5 Feb 2024 12:04:38 +0000 Subject: [PATCH] fhirflat: add Patient --- schemas/fhirflat/r5/README.md | 24 ++++++++++ schemas/fhirflat/r5/patient.schema.json | 59 +++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 schemas/fhirflat/r5/README.md create mode 100644 schemas/fhirflat/r5/patient.schema.json diff --git a/schemas/fhirflat/r5/README.md b/schemas/fhirflat/r5/README.md new file mode 100644 index 0000000..55178a3 --- /dev/null +++ b/schemas/fhirflat/r5/README.md @@ -0,0 +1,24 @@ +# FHIRFlat schemas + +This specifies deviations in FHIRFlat from the FHIR r5 specification. + +Attributes marked with (PII) were removed due to having personally identifiable information + +## Patient + +Dropped attributes: + +* `identifier` - We use `id`, `identifier` can store other identifiers for a Patient +* `active` - Whether this patient's record is in active use, not required by us +* `name` - patient name (PII) +* `telecom` - contact details of patient (PII) +* `address` - address details of patient (PII) +* `photo` - photo of patient (PII) +* `contact` - contact party for the patient (PII) +* `communication` - language which may be used to communicate with the patient about his or her health +* `link` - link to a patient that concerns the same actual individual + +Changed attributes: + +* `gender` - we do not store the terminology URL as the ValueSet is unlikely to change +* `maritalStatus` - codeable concepts merge terminology URL and the code diff --git a/schemas/fhirflat/r5/patient.schema.json b/schemas/fhirflat/r5/patient.schema.json new file mode 100644 index 0000000..40c812c --- /dev/null +++ b/schemas/fhirflat/r5/patient.schema.json @@ -0,0 +1,59 @@ +{ + "$schema": "https://json-schema.org/draft-07/schema", + "title": "FHIR Patient", + "required": [ + "id", + "gender" + ], + "properties": { + "id": { + "type": "string" + }, + "gender": { + "enum": [ + "male", + "female", + "other", + "unknown" + ] + }, + "birthDate": { + "type": "string" + }, + "deceasedBoolean": { + "type": "boolean" + }, + "deceasedDateTime": { + "type": "string" + }, + "maritalStatus": { + "enum": [ + "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/A", + "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/D", + "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/I", + "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/L", + "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/M", + "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/C", + "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/P", + "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/T", + "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/U", + "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/S", + "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/W", + "http://terminology.hl7.org/CodeSystem/v3-NullFlavor" + ] + }, + "multipleBirthBoolean": { + "type": "boolean" + }, + "multipleBirthInteger": { + "type": "integer", + "minimum": 1 + }, + "generalPractitioner": { + "type": "string" + }, + "managingOrganization": { + "type": "string" + } + } +} \ No newline at end of file