PatientConsent Last updated: 24 Sep 2025
Introduction # The PatientConsent
model represents documented patient consents in Canvas that ensure legal compliance and protect patient rights. Each PatientConsent
is linked to a Patient
, has a category (which is a PatientConsentCoding
), and optionally a rejection reason (which is a PatientConsentRejectionCoding
).
Usage # The PatientConsent
model can be used to find all of the patient consents for a given patient and organization:
>>> from canvas_sdk.v1.data import PatientConsent , Patient , Organization
>>> patient_1 = Patient . objects . get ( id = "aebe4d3f5d18410388dc69c4b5169fc3" )
>>> organization_1 = Organization . objects . first ()
>>> patient_1_consents = PatientConsent . objects . filter ( patient = patient_1 , organization = organization_1 )
>>> print ([ consent . category . display for consent in patient_1_consents ])
[ 'Surgical Consent Form' , 'Telehealth' , 'HIPAA' ]
You can also access a patient’s consents from the Patient
model:
>>> from canvas_sdk.v1.data import PatientConsent , Patient
>>> patient_1 = Patient . objects . get ( id = "aebe4d3f5d18410388dc69c4b5169fc3" )
>>> patient_1_consents = patient_1 . patient_consent . all ()
>>> print ([ consent . category . display for consent in patient_1_consents ])
[ 'Surgical Consent Form' , 'Telehealth' , 'HIPAA' ]
And you can also access all of the PatientConsents for a given PatientConsentCoding (aka category):
>>> from canvas_sdk.v1.data import PatientConsentCoding
>>> coding = PatientConsentCoding . objects . get ( code = '59284-0' , system = 'LOINC' )
>>> consents = coding . patient_consent . all ()
>>> print ([ consent . state for consent in consents ])
[ 'accepted' , 'accepted_via_patient_portal' , 'rejected' ]
Attributes # PatientConsent # PatientConsentCoding # Field Name Type dbid Integer system String version String code String display String user_selected Boolean expiration_rule PatientConsentExpirationRule is_mandatory Boolean is_proof_required Boolean show_in_patient_portal Boolean summary String
PatientConsentRejectionCoding # Field Name Type dbid Integer system String version String code String display String user_selected Boolean
Enumeration types # PatientConsentStatus # Value Label accepted Accepted accepted_via_patient_portal Accepted Via Patient Portal rejected Rejected rejected_via_patient_portal Rejected Via Patient Portal
PatientConsentExpirationRule # Value Label never Never in_one_year In one year end_of_year End of year