0% found this document useful (0 votes)
27 views8 pages

Conversation

Uploaded by

thanhdq1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views8 pages

Conversation

Uploaded by

thanhdq1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

FHIR Resource Architecture Study - 305fc72ec

USER
you are an expert in HL7 and FHIR.

next you need to study regard "FHIR Resource Architecture"

access the following links, collect information regard FHIR resource architecture, make a comprehensive summary with
explaination and samples.

Domain Resources: https://www.hl7.org/fhir/domainresource.html


Element: https://www.hl7.org/fhir/element.html
Backbone Element: https://www.hl7.org/fhir/backboneelement.html

finally provide a comprehensive example of several different types of resources

BOT
I'll help you understand FHIR Resource Architecture by analyzing these links and providing a comprehensive summary.

Let's gather the information first:

Fetching urls

Fetching data from the internet

Analyzing Results

Completed scraping the web for relevant information

Let me break down the FHIR Resource Architecture step by step:

### 1. Basic FHIR Resource Hierarchy

```markdown
Resource (base)
├── DomainResource
│ ├── Patient
│ ├── Observation
│ ├── Condition
│ └── Other domain-specific resources
└── Element
└── BackboneElement
```
### 2. Core Components Explanation

#### A. Element
- Most basic building block in FHIR
- Contains:
- Basic metadata (extensions, id)
- Primitive data types
- Examples of properties:
- id: Unique identifier
- extension: Additional user-defined content

#### B. BackboneElement
- Extends Element
- Used for complex nested structures within resources
- Contains:
- All Element properties
- modifierExtension capability
- Common in nested resource structures

#### C. DomainResource
- Main resource type for healthcare content
- Extends Resource
- Contains:
- text: Human-readable narrative
- contained: Nested resources
- extension: Additional content
- modifierExtension: Modifications to resource meaning

### 3. Practical Example

Let's look at a comprehensive example showing different resource types:

```json
{
"resourceType": "Patient",
"id": "example",
"text": {
"status": "generated",
"div": "
John Doe
" }, "identifier": [{ "use": "official", "system": "urn:oid:2.16.840.1.113883.2.4.6.3", "value": "738472983" }], "active": true,
"name": [{ "use": "official", "family": "Doe", "given": ["John"] }], "contact": [{ "relationship": [{ "coding": [{ "system":
"http://terminology.hl7.org/CodeSystem/v2-0131", "code": "N", "display": "Next-of-Kin" }] }], "name": { "family": "Doe",
"given": ["Jane"] } }] } ```

### 4. Related Resource Example (Observation)

```json
{
"resourceType": "Observation",
"id": "blood-pressure",
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "vital-signs",
"display": "Vital Signs"
}]
}],
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "85354-9",
"display": "Blood pressure panel"
}]
},
"component": [{
"code": {
"coding": [{
"system": "http://loinc.org",
"code": "8480-6",
"display": "Systolic blood pressure"
}]
},
"valueQuantity": {
"value": 120,
"unit": "mmHg",
"system": "http://unitsofmeasure.org",
"code": "mm[Hg]"
}
}]
}
```

### 5. Key Points to Remember

1. **Resource Inheritance**:
- All resources inherit from Resource base class
- DomainResource adds clinical content capabilities
- Elements provide basic structure

2. **Extension Mechanism**:
- All resources can be extended using `extension`
- ModifierExtensions can change resource meaning
- Extensions allow for customization while maintaining interoperability

3. **Resource Components**:
- Each resource has a resourceType
- Contains metadata elements
- May contain narrative text
- Has domain-specific data elements

4. **Nested Structures**:
- BackboneElements enable complex nested structures
- Contained resources allow embedding complete resources
- References enable linking between resources

### 6. Common Resource Relationships

```plaintext
Patient
├── Observation (vital signs)
├── Condition (problems)
├── Encounter (visits)
└── CarePlan (treatment plans)
```

This architecture enables FHIR to represent complex healthcare data while maintaining:
- Flexibility through extensions
- Structured data representation
- Clear relationships between resources
- Consistent metadata across all resources
- Ability to handle both simple and complex scenarios

Would you like me to elaborate on any specific aspect of the FHIR Resource Architecture?Let me fetch the other URLs
to provide a comprehensive summary.

```json
{"llm_tool_name": "Internet Access", "parameters": {"url": "https://www.hl7.org/fhir/element.html"}}
```

USER
give example for:
2. Core Components Explanation

BOT
I'll provide detailed examples for each core component with practical scenarios.

### 2. Core Components Explanation with Examples

#### A. Element
```json
// Basic Element example
{
"id": "123",
"extension": [{
"url": "http://example.org/extensions/extra-info",
"valueString": "Additional information"
}]
}

// Element in practical use (Address)


{
"use": "home",
"type": "physical",
"line": ["742 Evergreen Terrace"],
"city": "Springfield",
"state": "IL",
"postalCode": "62701",
"country": "USA",
"_city": {
"extension": [{
"url": "http://hl7.org/fhir/StructureDefinition/language",
"valueCode": "en-US"
}]
}
}
```

#### B. BackboneElement
```json
// BackboneElement example (Patient.contact)
{
"contact": [{
"relationship": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0131",
"code": "N",
"display": "Next-of-Kin"
}]
}],
"name": {
"use": "official",
"family": "Smith",
"given": ["Jane"]
},
"telecom": [{
"system": "phone",
"value": "555-0123",
"use": "home"
}],
"modifierExtension": [{
"url": "http://example.org/fhir/StructureDefinition/contact-priority",
"valueInteger": 1
}]
}]
}
```

#### C. DomainResource
```json
// Complete DomainResource example (Condition resource)
{
"resourceType": "Condition",
"id": "example-diabetes",
// Text narrative
"text": {
"status": "generated",
"div": "
Type 2 Diabetes Mellitus diagnosed on 2022-03-15
" }, // Extensions "extension": [{ "url": "http://example.org/fhir/StructureDefinition/condition-severity",
"valueCodeableConcept": { "coding": [{ "system": "http://snomed.info/sct", "code": "24484000", "display": "Severe" }] } }], //
Modifier Extensions "modifierExtension": [{ "url": "http://example.org/fhir/StructureDefinition/condition-certainty",
"valueCode": "confirmed" }], // Contained Resources "contained": [{ "resourceType": "Practitioner", "id": "practitioner-1",
"name": [{ "family": "Johnson", "given": ["Robert"] }] }], // Regular Resource Elements "clinicalStatus": { "coding": [{
"system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "active", "display": "Active" }] },
"verificationStatus": { "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", "code":
"confirmed", "display": "Confirmed" }] }, "category": [{ "coding": [{ "system":
"http://terminology.hl7.org/CodeSystem/condition-category", "code": "problem-list-item", "display": "Problem List Item" }] }],
"severity": { "coding": [{ "system": "http://snomed.info/sct", "code": "24484000", "display": "Severe" }] }, "code": { "coding": [{
"system": "http://snomed.info/sct", "code": "44054006", "display": "Type 2 diabetes mellitus" }] }, "subject": { "reference":
"Patient/example-patient" }, "onsetDateTime": "2022-03-15", "recordedDate": "2022-03-15", "recorder": { "reference":
"#practitioner-1" } } ``` ### Complex Nested Structure Example ```json // Medication Administration with nested
BackboneElements { "resourceType": "MedicationAdministration", "id": "example-med-admin", "status": "completed",
"medicationCodeableConcept": { "coding": [{ "system": "http://www.nlm.nih.gov/research/umls/rxnorm", "code": "1049221",
"display": "Insulin Glargine 100 UNT/ML" }] }, "subject": { "reference": "Patient/example-patient" }, "dosage": { "text": "10
units once", "route": { "coding": [{ "system": "http://snomed.info/sct", "code": "34206005", "display": "Subcutaneous route" }]
}, "method": { "coding": [{ "system": "http://snomed.info/sct", "code": "422145002", "display": "Injection" }] }, "dose": {
"value": 10, "unit": "U", "system": "http://unitsofmeasure.org", "code": "U" } }, // Nested BackboneElement for administration
details "eventHistory": [{ "type": { "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/audit-event-type", "code":
"administration", "display": "Administration" }] }, "when": "2024-03-15T15:30:00Z", "actor": { "reference":
"Practitioner/example-nurse" }, "description": "Regular insulin administration" }] } ``` These examples demonstrate: 1.
Basic Element properties and extensions 2. BackboneElement with nested structures and modifier extensions 3.
Complete DomainResource with all possible components 4. Complex nested structures using combinations of Elements
and BackboneElements 5. Real-world healthcare scenarios 6. Proper use of terminology systems and codes 7. Resource
relationships and references Each component builds upon the previous one, creating a hierarchical structure that can
represent complex healthcare data while maintaining standardization and interoperability.

USER
what is the differences between Extensions vs Modifier Extensions?

BOT
Let me explain the key differences between Extensions and Modifier Extensions in FHIR:

### Extensions vs Modifier Extensions

#### 1. Basic Definition


**Extensions**
- Add additional data without changing the meaning of the resource
- Supplementary information that enhances but doesn't alter interpretation
- Safe to ignore if not understood

**Modifier Extensions**
- Can change the meaning of the resource
- Must be understood to safely process the resource
- Cannot be safely ignored
- Marked with `isModifier=true` in their definition

### 2. Comparative Examples

#### Example 1: Patient Resource

```json
{
"resourceType": "Patient",
"id": "example",
"extension": [
{
// Regular extension - adds patient's favorite color
"url": "http://example.org/fhir/StructureDefinition/favorite-color",
"valueString": "blue"
}
],
"modifierExtension": [
{
// Modifier extension - changes how we interpret the patient's identity
"url": "http://example.org/fhir/StructureDefinition/alternate-identity",
"valueBoolean": true
}
],
"name": [{ "family": "Smith", "given": ["John"] }]
}
```

#### Example 2: Condition Resource

```json
{
"resourceType": "Condition",
"id": "diabetes-example",
"extension": [
{
// Regular extension - adds additional clinical note
"url": "http://example.org/fhir/StructureDefinition/clinical-note",
"valueString": "Patient reports family history of diabetes"
}
],
"modifierExtension": [
{
// Modifier extension - changes the interpretation of the condition
"url": "http://example.org/fhir/StructureDefinition/condition-certainty",
"valueCode": "ruled-out"
}
],
"code": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "73211009",
"display": "Diabetes mellitus"
}]
}
}
```
### 3. Key Differences Table

| Aspect | Extensions | Modifier Extensions |


|--------|------------|-------------------|
| Purpose | Add supplementary information | Change resource interpretation |
| Safety | Safe to ignore | Must be understood |
| Processing | Optional processing | Mandatory processing |
| Impact | No change to base meaning | Can fundamentally change meaning |
| Usage Location | Any element | Only in complex elements |
| Risk Level | Low risk | High risk |

### 4. Common Use Cases

**Extensions Examples:**
```json
{
"resourceType": "Patient",
"extension": [
{
// Hair color - doesn't affect patient identification
"url": "http://example.org/fhir/StructureDefinition/hair-color",
"valueString": "brown"
},
{
// Preferred contact time - supplementary information
"url": "http://example.org/fhir/StructureDefinition/preferred-contact-time",
"valueTime": "14:00"
}
]
}
```

**Modifier Extensions Examples:**


```json
{
"resourceType": "Observation",
"modifierExtension": [
{
// Changes how the observation should be interpreted
"url": "http://example.org/fhir/StructureDefinition/interpretation-override",
"valueCodeableConcept": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
"code": "IND",
"display": "Indeterminate"
}]
}
},
{
// Indicates result is preliminary and should not be used for diagnosis
"url": "http://example.org/fhir/StructureDefinition/preliminary-result",
"valueBoolean": true
}
]
}
```

### 5. Implementation Guidelines

**When to Use Extensions:**


- Adding extra patient demographics
- Including additional contact information
- Recording supplementary clinical data
- Adding metadata or administrative details

**When to Use Modifier Extensions:**


- Changing the interpretation of test results
- Indicating special handling requirements
- Modifying the validity period of information
- Changing how the resource should be processed

### 6. Best Practices

1. **For Extensions:**
- Use when adding non-critical information
- Document clearly in implementation guides
- Use standard extensions when available
```json
"extension": [{
"url": "http://hl7.org/fhir/StructureDefinition/patient-birthPlace",
"valueAddress": {
"city": "Springfield",
"state": "IL"
}
}]
```

2. **For Modifier Extensions:**


- Use sparingly
- Always document thoroughly
- Include clear processing instructions
```json
"modifierExtension": [{
"url": "http://example.org/fhir/StructureDefinition/data-validity",
"valueCode": "suspect",
"_valueCode": {
"extension": [{
"url": "http://example.org/fhir/StructureDefinition/reason",
"valueString": "Data collected during system downtime"
}]
}
}]
```

Remember: The key principle is that if you need to understand the extension to safely handle the resource, it should be
a modifier extension. Otherwise, use a regular extension.

You might also like