Patient Consent

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)
>>> 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_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 #

Field NameType
idUUID
dbidInteger
patientPatient
categoryPatientConsentCoding
statePatientConsentStatus
effective_dateDateTime
expired_dateDateTime
rejection_reasonPatientConsentRejectionCoding
originatorCanvasUser

PatientConsentCoding #

Field NameType
dbidInteger
systemString
versionString
codeString
displayString
user_selectedBoolean
expiration_rulePatientConsentExpirationRule
is_mandatoryBoolean
is_proof_requiredBoolean
show_in_patient_portalBoolean
summaryString

PatientConsentRejectionCoding #

Field NameType
dbidInteger
systemString
versionString
codeString
displayString
user_selectedBoolean

Enumeration types #

PatientConsentStatus #

ValueLabel
acceptedAccepted
accepted_via_patient_portalAccepted Via Patient Portal
rejectedRejected
rejected_via_patient_portalRejected Via Patient Portal

PatientConsentExpirationRule #

ValueLabel
neverNever
in_one_yearIn one year
end_of_yearEnd of year