Reading QuAAC¶
A QuAAC document is a record of QA data and can be written in different Formats. These formats are meant to be human-readable. Even without a library, you can often read the data in a text editor. This is useful for transparency, debugging, and being language-agnostic. That being said, a QuAAC library is provided to help read and write these files in a programmatic way. See Python Library.
Reading a YAML QuAAC file¶
The following code snippet shows how to read a YAML QuAAC file into a
Python dictionary. Assume we have a file called qa_data.yaml with the
following content. This represents a single QA datapoint on a TrueBeam
using a CatPhan 504 phantom.
version: '1'
datapoints:
- name: Center Uniformity
perform datetime: '2024-02-20T14:48:33.894431'
measurement_value: 38
measurement_unit: HU
reference_value: 40
description: ''
procedure: ''
performer: 00a5823df7e34298664b8ee8a79e43b2
performer_comment: ''
primary_equipment: 5e766755c7692fd477a61f24e8c896ad
reviewer: 00a5823df7e34298664b8ee8a79e43b2
parameters:
kVp: 120
mAs: 20
ancillary_equipment:
- ce820ce095b7937449ed3105d0261283
attachments: []
hash: 558f83e110647c2c945a26a22a735dc7
hash: 4a52df5e9cc5d6ce651eb9e3066b5ea4
equipment:
- name: TrueBeam 1
type: Linac
serial_number: '12345'
manufacturer: Varian
model: TrueBeam
hash: 5e766755c7692fd477a61f24e8c896ad
- name: CatPhan 504
type: Phantom
serial_number: A4321
manufacturer: Image Laboratory
model: '504'
hash: ce820ce095b7937449ed3105d0261283
users:
- name: John Doe
email: john@clinic.com
hash: 00a5823df7e34298664b8ee8a79e43b2
attachments: []
We can then load that file like so:
from quaac import Document
doc = Document.from_yaml_file('qa_data.yaml')
The quaac_data variable will now contain a dictionary with all
the data from the QuAAC file that can be referenced, written elsewhere to disk,
loaded into a database, etc.