Schedule a demo
Segment

Problem detail

Carries clinical problem and diagnosis details, including the problem code (such as ICD or NANDA), onset date, status (active, resolved, or inactive), ranking, and certainty. It is used in PPR (Patient Problem) messages exchanged between EHRs, point-of-care applications, and clinical data repositories to maintain and synchronize a patient's problem list.

28fields
4required
v2.9HL7 version
prb.py
from zato.hl7v2.v2_9 import PRB
from zato.hl7v2.v2_9 import CWE, EI, DTM

prb = PRB()
prb.action_code = 'AD'
prb.problem_id = CWE(
    identifier='OBESITY',
    text='Obesity'
)

Build PRB segments in Python

How to construct and work with real-world PRB segments.

1

Adding a fitness goal to the problem list

Adds an active lifestyle goal to the patient problem list with priority and established date for wellness tracking

from zato.hl7v2.v2_9 import PRB
from zato.hl7v2.v2_9 import CWE, EI

prb = PRB()
prb.action_code = 'AD'
prb.action_date_time = '20240601090000'
prb.problem_id = CWE(
    identifier='FITGOAL',
    text='Active Lifestyle Goal',
    name_of_coding_system='L'
)
prb.problem_instance_id = EI(
    entity_identifier='FIT-1001',
    namespace_id='WellnessApp'
)
prb.episode_of_care_id = EI(
    entity_identifier='WC-2024-01',
    namespace_id='WellnessApp'
)
prb.problem_list_priority = '1'
prb.problem_established_date_time = '20240601090000'
2

Updating a nutrition tracking entry

Updates an existing nutritional balance tracking entry with an anticipated resolution date for the wellness program milestone

from zato.hl7v2.v2_9 import PRB
from zato.hl7v2.v2_9 import CWE, EI

prb = PRB()
prb.action_code = 'UP'
prb.action_date_time = '20240715100000'
prb.problem_id = CWE(
    identifier='NUTRBAL',
    text='Nutritional Balance Tracking',
    name_of_coding_system='L'
)
prb.problem_instance_id = EI(
    entity_identifier='NUT-2050',
    namespace_id='WellnessApp'
)
prb.problem_list_priority = '2'
prb.problem_established_date_time = '20240501100000'
prb.anticipated_problem_resolution_date_time = '20241231'
3

Wellness milestone with lifecycle status and onset date

Records a fitness milestone entry with lifecycle status, onset date, and problem date of onset for progress tracking

from zato.hl7v2.v2_9 import PRB
from zato.hl7v2.v2_9 import CWE, EI

prb = PRB()
prb.action_code = 'AD'
prb.action_date_time = '20240901080000'
prb.problem_id = CWE(
    identifier='FITMILE',
    text='Fitness Milestone',
    name_of_coding_system='L'
)
prb.problem_instance_id = EI(
    entity_identifier='MILE-3001',
    namespace_id='WellnessApp'
)
prb.problem_list_priority = '3'
prb.problem_established_date_time = '20240301'
prb.problem_life_cycle_status = CWE(
    identifier='AC',
    text='Active',
    name_of_coding_system='HL70287'
)
prb.problem_date_of_onset = '20240301'

Learn by building

Step-by-step guides for working with HL7 v2 in Zato.

Frequently asked questions

PRB contains problem detail information including problem identifiers, status, onset dates, and severity for tracking wellness health issues.

Common action codes include AD (add), UP (update), and DE (delete). These track changes to wellness problems over time.

Use problem_severity field with CWE datatype:

prb.problem_severity = CWE(
    identifier='M',
    text='Moderate'
)

PRB contains problems while GOL contains goals. Goals are often created to address specific problems in wellness programs.

Zato connects to any system that speaks HL7v2 over MLLP or FHIR over REST. This includes Epic, Cerner, Meditech, Allscripts, and other EHR platforms.

Yes, Zato has built-in MLLP support for sending and receiving HL7v2 messages. MLLP channels handle the framing protocol automatically.

Zato supports HL7 v2.9, which is backward compatible with earlier versions including v2.3, v2.5, and v2.7. Standard segments and datatypes are available as typed Python classes.

Yes. Zato handles both HL7v2 and FHIR natively, so you can parse v2 messages and build FHIR resources with IG-specific extensions in the same service. Typed Python classes are available for both protocols, including extensions from US Core, UK Core, Da Vinci, and other Implementation Guides.

PRB field reference

Complete list of fields in the PRB segment, HL7 v2.9.

#Python nameDatatypeUsageRepeatableTable
1action_codeIDRequiredNo-
2action_date_timeDTMRequiredNo-
3problem_idCWERequiredNo-
4problem_instance_idEIRequiredNo-
5episode_of_care_idEIOptionalNo-
6problem_list_priorityNMOptionalNo-
7problem_established_date_timeDTMOptionalNo-
8anticipated_problem_resolution_date_timeDTMOptionalNo-
9actual_problem_resolution_date_timeDTMOptionalNo-
10problem_classificationCWEOptionalNo-
11problem_management_disciplineCWEOptionalYes-
12problem_persistenceCWEOptionalNo-
13problem_confirmation_statusCWEOptionalNo-
14problem_life_cycle_statusCWEOptionalNo-
15problem_life_cycle_status_date_timeDTMOptionalNo-
16problem_date_of_onsetDTMOptionalNo-
17problem_onset_textSTOptionalNo-
18problem_rankingCWEOptionalNo-
19certainty_of_problemCWEOptionalNo-
20probability_of_problem_0_1NMOptionalNo-
21individual_awareness_of_problemCWEOptionalNo-
22problem_prognosisCWEOptionalNo-
23individual_awareness_of_prognosisCWEOptionalNo-
24family_significant_other_awareness_of_problem_prognosisSTOptionalNo-
25security_sensitivityCWEOptionalNo-
26problem_severityCWEOptionalNoHL70836
27problem_perspectiveCWEOptionalNoHL70838
28mood_codeCNEOptionalNoHL70725

Ready to build integrations?

Get started with Zato and connect your systems in minutes.

Open source In Python