Serves as the master file segment for synchronizing the institution's charge description master (chargemaster), carrying the charge code, description, department, procedure codes, and revenue codes. It is used in MFN messages sent by the patient accounting or financial system to synchronize charge items with ordering systems, departmental systems, and billing applications.
from zato.hl7v2.v2_9 import CDM
from zato.hl7v2.v2_9 import CWE
cdm = CDM()
cdm.primary_key_value_cdm = CWE(
identifier='WELLVIS',
text='Wellness visit',
name_of_coding_system='C4',
)
cdm.charge_description_short = 'Wellness visit'How to construct and work with real-world CDM segments.
Full CDM row with CPT procedure, contract CX, org XON, and room-fee flag
from zato.hl7v2.v2_9 import CDM
from zato.hl7v2.v2_9 import CWE, CX, CNE, XON
cdm = CDM()
cdm.primary_key_value_cdm = CWE(
identifier='WELLVIS',
text='Wellness visit',
name_of_coding_system='C4',
)
cdm.charge_code_alias = CWE(
identifier='WV1',
text='Visit alias',
name_of_coding_system='HL70132'
)
cdm.charge_description_short = 'Wellness visit'
cdm.charge_description_long = 'Office preventive visit'
cdm.description_override_indicator = CWE(
identifier='N',
text='Standard text',
name_of_coding_system='HL70268',
)
cdm.exploding_charges = CWE(
identifier='BUNDLE',
text='Bundle',
name_of_coding_system='HL70132'
)
cdm.procedure_code = [
CNE(
identifier='99397',
text='Preventive visit',
name_of_coding_system='CPT',
),
]
cdm.active_inactive_flag = 'A'
cdm.inventory_number = CWE(
identifier='INV01',
text='Supplies',
name_of_coding_system='HL70463',
)
cdm.resource_load = '45'
cdm.contract_number = [
CX(
id_number='CNTR01',
assigning_authority='FAC',
),
]
cdm.contract_organization = XON(
organization_name='WELCO',
id_number='Wellness Partners'
)
cdm.room_fee_indicator = 'N'Minimal required fields plus short label for a coaching session
from zato.hl7v2.v2_9 import CDM
from zato.hl7v2.v2_9 import CWE
cdm = CDM()
cdm.primary_key_value_cdm = CWE(
identifier='NUTCOACH',
text='Nutrition coaching',
name_of_coding_system='C4',
)
cdm.charge_description_short = 'Coaching session'Active flag, inventory tag, and no contract rows for a movement screening item
from zato.hl7v2.v2_9 import CDM
from zato.hl7v2.v2_9 import CWE
cdm = CDM()
cdm.primary_key_value_cdm = CWE(
identifier='FITMOVE',
text='Movement screen',
name_of_coding_system='C4',
)
cdm.charge_description_short = 'Movement screen'
cdm.charge_description_long = 'Studio mobility check'
cdm.description_override_indicator = CWE(
identifier='N',
text='Standard text',
name_of_coding_system='HL70268',
)
cdm.active_inactive_flag = 'A'
cdm.inventory_number = CWE(
identifier='KIT01',
text='Sensor kit',
name_of_coding_system='HL70463',
)
cdm.resource_load = '30'
cdm.room_fee_indicator = 'Y'Step-by-step guides for working with HL7 v2 in Zato.
CDM defines catalog rows that FT1 or downstream billing segments reference by code. Keeping descriptions aligned avoids mismatches when posting wellness or fitness visit revenue.
Use CWE so the charge key carries both a mnemonic identifier and human-readable text, typically with a local coding system such as C4 for facility-defined keys.
Use a list of CNE rows when procedure links repeat:
from zato.hl7v2.v2_9 import CDM
from zato.hl7v2.v2_9 import CNE
cdm = CDM()
cdm.procedure_code = [
CNE(
identifier='99397',
text='Preventive visit',
name_of_coding_system='CPT',
),
]Populate it when one CDM line expands into bundled child charges, for example a wellness panel that explodes into separate nutrition and coaching components.
Field 13 marks whether a room or space fee applies on top of the professional charge, using HL70136 so front desk staff see the pricing pattern clearly.
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.
Complete list of fields in the CDM segment, HL7 v2.9.
| # | Python name | Datatype | Usage | Repeatable | Table |
|---|---|---|---|---|---|
| 1 | primary_key_value_cdm | CWE | Required | No | - |
| 2 | charge_code_alias | CWE | Optional | Yes | HL70132 |
| 3 | charge_description_short | ST | Required | No | - |
| 4 | charge_description_long | ST | Optional | No | - |
| 5 | description_override_indicator | CWE | Optional | No | HL70268 |
| 6 | exploding_charges | CWE | Optional | Yes | HL70132 |
| 7 | procedure_code | CNE | Optional | Yes | HL70088 |
| 8 | active_inactive_flag | ID | Optional | No | HL70183 |
| 9 | inventory_number | CWE | Optional | Yes | HL70463 |
| 10 | resource_load | NM | Optional | No | - |
| 11 | contract_number | CX | Optional | Yes | - |
| 12 | contract_organization | XON | Optional | Yes | - |
| 13 | room_fee_indicator | ID | Optional | No | HL70136 |
Get started with Zato and connect your systems in minutes.