Esempio n. 1
0
    def testAdvancedPermissionsThreePatients(self):
        """
        Create a multitude of patients where a provider has varying actor roles (provider, none, etc)
        """
        patients = []
        for i in range(3):
            patients.append(generator.get_or_create_patient())

        role_options = ['caregiver', 'provider', None]
        user = self._createUser()
        for i in range(3):
            patient = patients[i]
            role = role_options[i]
            if role != None:
                actor = generator.generate_role(user, role)
                patient.add_actor(actor)

        for i in range(0,3):
            patient = patients[i]
            if i == 0: #caregiver
                self.assertEqual(Actor.permissions.get_roles(patient, user)[0].role_type.model_class(), Caregiver)
            elif i == 1: #provider:
                self.assertNotEqual(Actor.permissions.get_roles(patient, user)[0].role_type.model_class(), Caregiver)
                role_type = Actor.permissions.get_roles(patient, user)[0].role_type.model_class()
                if role_type == Doctor or role_type == TriageNurse:
                    pass
                else:
                    self.fail("Not a known role type")
            if i == 2:
                self.assertEqual(Actor.permissions.get_roles(patient, user).count(), 0)
Esempio n. 2
0
    def testBusyProvider(self):
        """Create a single provider/user caring for many patients."""
        num_patients = 20
        my_patients = 5

        user = generator.get_or_create_user()
        actor = generator.generate_role(user, 'provider')

        patients = [generator.get_or_create_patient() for i in range(num_patients)]
        for i in range(my_patients):
            patients[i].add_actor(actor)
Esempio n. 3
0
    def testAdvancedPermissionsOnePatient(self):
        """
        Create a multitude of patients where a provider has varying roles (provider, none, etc)
        """
        patient = generator.get_or_create_patient()
        role_possibilities = ['caregiver', 'provider', None]
        for r in role_possibilities:
            user = self._createUser()
            if r != None:
                role = generator.generate_role(user, r)
                pal = CareTeamMember(patient=patient, role=role, active=True)
                pal.save()

            if r == 'caregiver':                
                self.assertEqual(Actor.permissions.get_roles(patient, user)[0].role_type.model_class(), Caregiver)
            elif r == 'provider':
                self.assertNotEqual(Actor.permissions.get_roles(patient, user)[0].role_type.model_class(), Caregiver)
            elif r == None:
                self.assertEqual(Actor.permissions.get_roles(patient, user).count(), 0)
Esempio n. 4
0
    def testCreateSingleCareTeamAPI(self):
        print "===========================\nCreating singular patient with careteam via API"
        pt = generator.get_or_create_patient()

        provrole = generator.generate_role(generator.get_or_create_user(), 'provider')
        pt.add_provider(provoler)
        provrole = generator.generate_role(generator.get_or_create_user(), 'provider')
        pt.add_provider(provoler)
        provrole = generator.generate_role(generator.get_or_create_user(), 'provider')
        pt.add_provider(provoler)

        cgrole = generator.generate_role(generator.get_or_create_user(), 'caregiver')
        pt.add_caregiver(cgoler)
        cgrole = generator.generate_role(generator.get_or_create_user(), 'caregiver')
        pt.add_caregiver(cgoler)

        #next, verify single careteam exists via the patient access API.
        cg_pull = pt.get_caregivers()
        prov_pull = pt.get_providers()

        self.assertEqual(2, cg_pull.count())
        self.assertEqual(3, prov_pull.count())