Bonus Article #4: Understanding the FHIR Patient Resource with a Focus on Identifiers, CodeableConcept, Flags, and Cardinality
Michael Planchart
Healthcare Chief Architect and Data Engineer| Databricks | HL7, FHIR | AI/ML | NLP, NLU, BERT, T5, GPT, LLAMA
FHIR (Fast Healthcare Interoperability Resources) is an essential standard for healthcare data exchange, and the Patient resource is one of the most widely used resources in the standard. It serves as the foundation for managing demographic and administrative data about individuals receiving healthcare. This article delves deep into the Patient resource, with a special emphasis on identifiers, CodeableConcept, flags, and cardinality, while providing practical examples and use cases to illustrate their importance.
What is the Patient Resource?
The Patient resource is a representation of a person who is receiving or may receive healthcare services. It captures critical demographic details such as name, date of birth, gender, address, contact information, and administrative data like medical record numbers and national identifiers. It is the backbone for most healthcare systems and interoperability workflows, connecting multiple domains like billing, clinical care, and insurance.
Key Elements of the Patient Resource
1. Identifiers
Identifiers are critical for uniquely identifying a patient within specific contexts or systems. They ensure that patient data can be accurately retrieved and linked across multiple healthcare systems or organizations.
Structure of an Identifier
Example
A patient might have identifiers for different systems:
"identifier": [
{
"use": "official",
"type": {
"coding": [
{
"system": "https://terminology.hl7.org/CodeSystem/v2-0203",
"code": "MR",
"display": "Medical Record Number"
}
]
},
"system": "https://hospital-a.org/mrn",
"value": "A123456",
"period": {
"start": "2015-06-01"
}
},
{
"use": "official",
"type": {
"coding": [
{
"system": "https://terminology.hl7.org/CodeSystem/v2-0203",
"code": "MR",
"display": "Medical Record Number"
}
]
},
"system": "https://hospital-b.org/mrn",
"value": "B789101",
"period": {
"start": "2018-01-01"
}
}
]
Use Case: A Patient with Multiple Identifiers
Consider a patient who has received care at two different hospitals:
2. CodeableConcept
The CodeableConcept data type provides a standardized way to represent codes while also including human-readable text. This flexibility is crucial for ensuring both machine-readability and human interpretability.
Structure of a CodeableConcept
Example
For marital status:
"maritalStatus": {
"coding": [
{
"system": "https://terminology.hl7.org/CodeSystem/v3-MaritalStatus",
"code": "M",
"display": "Married"
}
],
"text": "Married"
}
Use Case: CodeableConcept in Action
Imagine a scenario where a patient’s marital status is represented as "M" in one system (coded), while another system only processes textual descriptions like "Married." CodeableConcept ensures both systems can understand the data.
3. Flags
Flags are Boolean attributes or properties that indicate specific conditions or states about the patient. They provide high-level information and help systems make quick decisions.
Common Flags in the Patient Resource
Example
"active": true,
"deceasedBoolean": false
Use Case: Flags in Action
A health information exchange (HIE) system can use the active flag to exclude inactive patient records from being returned during queries, reducing unnecessary data processing.
4. Cardinality
Cardinality defines how many times an element can appear in a resource. It ensures data consistency and specifies whether an element is optional, required, or can repeat.
Key Cardinality Values
Examples in the Patient Resource
Use Case: Multiple Names
For a patient with both a maiden name and a legal name:
"name": [
{
"use": "official",
"family": "Smith",
"given": ["Jane"]
},
{
"use": "maiden",
"family": "Doe",
"given": ["Jane"]
}
]
Comprehensive Example of a Patient Resource
{
"resourceType": "Patient",
"id": "example",
"identifier": [
{
"use": "official",
"type": {
"coding": [
{
"system": "https://terminology.hl7.org/CodeSystem/v2-0203",
"code": "MR",
"display": "Medical Record Number"
}
]
},
"system": "https://hospital-a.org/mrn",
"value": "A123456",
"period": {
"start": "2015-06-01"
}
}
],
"active": true,
"name": [
{
"use": "official",
"family": "Smith",
"given": ["John", "Andrew"]
}
],
"gender": "male",
"birthDate": "1980-01-01",
"maritalStatus": {
"coding": [
{
"system": "https://terminology.hl7.org/CodeSystem/v3-MaritalStatus",
"code": "M",
"display": "Married"
}
],
"text": "Married"
},
"deceasedBoolean": false
}
Here is a detailed explanation of each system field in the provided FHIR Patient resource, explaining its purpose and context:
Identifier: system
Field:
"system": "https://hospital.org/mrn"
Explanation:
领英推荐
Example Use Case:
A patient receives care at two hospitals:
When querying or exchanging data, the system ensures the identifier’s context is clear, avoiding confusion between the two hospitals' identifiers.
Type Coding: system
Field:
"system": "https://terminology.hl7.org/CodeSystem/v2-0203"
Explanation:
Use Case:
The system ensures that the type of identifier is unambiguous. For example:
Context of Use:
HL7 v2-0203 is a widely recognized code system in healthcare IT, making it suitable for interoperability between systems.
Marital Status Coding: system
Field:
"system": "https://terminology.hl7.org/CodeSystem/v3-MaritalStatus"
Explanation:
Example Use Case:
Two systems exchange patient data:
Importance:
Using a standardized system ensures that the marital status is interpreted correctly, regardless of language or local conventions.
General Significance of system Fields
The system field is critical in FHIR for several reasons:
General Significance of system Fields
The system field is critical in FHIR for several reasons:
It provides a unique context for the value of a field. For example, two hospitals may both use the value 123456 for a Medical Record Number, but the system differentiates them.
Systems exchanging FHIR data can map and interpret fields correctly if the system is known and standardized.
By referencing global standards like HL7 code systems, the system ensures that the meaning of coded values (like MR or M) is unambiguous.
The same value can appear in different contexts (e.g., different hospitals or identifiers), but the system guarantees they remain distinct.
Contextual Summary for Each Field
Links the identifier to the issuing organization (e.g., a hospital’s MRN system).
Provides context for the identifier value (123456).
Defines the type of identifier using a global standard (HL7 v2-0203).
Ensures the code (MR) is interpreted universally as a Medical Record Number.
Uses the HL7 v3 code system to represent marital status consistently.
Ensures that the code (M) and display value (Married) are understood across systems.
By incorporating these system fields, the resource adheres to FHIR’s goal of enabling seamless and accurate interoperability in healthcare.
Key Takeaways
By mastering these concepts, you will be able to confidently work with the Patient resource and apply similar principles to other FHIR resources.