Example #1
0
    def createConnectionsBetweenElements(internalId, protocol, type,
                                         elementData):
        '''
        Creates the connections between the protocol elements
        '''
        from protocol_element.models import PEInquiry, PEAction, PEDecision

        if type != None:
            # History todo
            if type == ProtocolElement.INQUIRY:
                PEInquiry.addNextElement(
                    id=internalId,
                    protocol=protocol,
                    nextElementId=elementData["nextElement"])
            if type == ProtocolElement.DECISION:
                PEDecision.addNextElements(
                    id=internalId,
                    protocol=protocol,
                    nextElements=PEDecision.dealWithOptions(
                        conditionString=elementData["nextElement"],
                        conditionType=elementData["condition"]))
            if type == ProtocolElement.ACTION:
                PEAction.addNextElement(
                    id=internalId,
                    protocol=protocol,
                    nextElementId=elementData["nextElement"])
    def create_protocol(self):
        protocol = Protocol.objects.create(
            title="Diabetic Inpatients",
            description=
            "It should be applied to inpatients with type two diabetes")
        protocol.save()

        #todo
        PEAction.new(id=1, action="In progress", protocol=protocol)
    def create_protocol(self):
        protocol = Protocol.objects.create(
            title="Surgical Diabetic Inpatient",
            description=
            "It should be applied to the surgical diabetic inpatient")
        protocol.save()

        #todo
        PEAction.new(id=1, action="In progress", protocol=protocol)
    def create_protocol(self):
        protocol = Protocol.objects.create(
            title="Continuous Intravenous Infusion",
            description=
            "This protocol is intended to be used in hyperglycemic adult patients in the intensive care unit"
        )
        protocol.save()

        #todo
        PEAction.new(id=1, action="In progress", protocol=protocol)
Example #5
0
    def get(internalId, protocol, type=None):
        '''
        Returns a protocol element
        '''
        from protocol_element.models import PEInquiry, PEAction, PEDecision

        tmpAll = None
        if type:
            if type == ProtocolElement.INQUIRY:
                tmpAll = PEInquiry.all().filter(removed=False,
                                                internalId=internalId,
                                                protocol=protocol)
            if type == ProtocolElement.ACTION:
                tmpAll = PEAction.all().filter(removed=False,
                                               internalId=internalId,
                                               protocol=protocol)
            if type == ProtocolElement.DECISION:
                tmpAll = PEDecision.all().filter(removed=False,
                                                 internalId=internalId,
                                                 protocol=protocol)
        else:
            tmpAll = ProtocolElement.all(protocol=protocol).filter(
                internalId=internalId)

        if len(tmpAll) == 1:
            return tmpAll.first()
        return None
Example #6
0
    def new(internalId, protocol, type, elementData):
        '''
        Creates a new protocol element depending of its type
        '''
        from protocol_element.models import PEInquiry, PEAction, PEDecision

        if type != None:
            # History todo
            if type == ProtocolElement.INQUIRY:
                PEInquiry.new(id=internalId,
                              clinicalVariable=elementData["clinicalVariable"]
                              ["variable"],
                              protocol=protocol)
            if type == ProtocolElement.DECISION:
                PEDecision.new(id=internalId,
                               clinicalVariable=elementData["clinicalVariable"]
                               ["variable"],
                               condition=elementData["condition"],
                               protocol=protocol)
            if type == ProtocolElement.ACTION:
                PEAction.new(id=internalId,
                             action=elementData["action"],
                             protocol=protocol)
Example #7
0
    def all(protocol=None, type=None):
        '''
        Returns all protocol elements
        '''
        from protocol_element.models import PEInquiry, PEAction, PEDecision

        if type != None:
            if type == ProtocolElement.INQUIRY:
                tmpAll = PEInquiry.all()
            if type == ProtocolElement.ACTION:
                tmpAll = PEAction.all()
            if type == ProtocolElement.DECISION:
                tmpAll = PEDecision.all()
        else:
            tmpAll = ProtocolElement.objects.all()

        tmpAll = tmpAll.filter(removed=False)

        if protocol != None:
            tmpAll = tmpAll.filter(protocol=protocol)

        return tmpAll.order_by('internalId')
Example #8
0
    def create_protocol(self):
        protocol = Protocol.objects.create(
            title="Hypoglycemia", description="Performance in hypoglycemia")
        protocol.save()

        PEInquiry.new(id=1,
                      clinicalVariable="Blood Glucose",
                      protocol=protocol)
        PEInquiry.new(id=2, clinicalVariable="Diet", protocol=protocol)
        PEDecision.new(id=3,
                       clinicalVariable="Blood Glucose",
                       condition="<50",
                       protocol=protocol)
        PEDecision.new(id=4,
                       clinicalVariable="Diet",
                       condition="=zero",
                       protocol=protocol)
        PEAction.new(
            id=5,
            action=
            "Given half of a 30% IV glucose ampoule and glucose serum 5%",
            protocol=protocol)
        PEAction.new(id=6,
                     action="Given two sugar package to the patient",
                     protocol=protocol)
        PEDecision.new(id=7,
                       clinicalVariable="Blood Glucose",
                       condition="<70",
                       protocol=protocol)
        PEDecision.new(id=8,
                       clinicalVariable="Diet",
                       condition="=zero",
                       protocol=protocol)
        PEAction.new(
            id=9,
            action="Give one 30% IV glucose ampoule and glucose serum 5%",
            protocol=protocol)
        PEAction.new(id=10,
                     action="Given one sugar package to the patient",
                     protocol=protocol)
        PEAction.new(id=11, action="Inform Endocrinologist", protocol=protocol)

        PEDecision.addNextElements(id=8,
                                   protocol=protocol,
                                   nextElements={
                                       True: 9,
                                       False: 10
                                   })
        PEDecision.addNextElements(id=7,
                                   protocol=protocol,
                                   nextElements={
                                       True: 8,
                                       False: 11
                                   })
        PEDecision.addNextElements(id=4,
                                   protocol=protocol,
                                   nextElements={
                                       True: 5,
                                       False: 6
                                   })
        PEDecision.addNextElements(id=3,
                                   protocol=protocol,
                                   nextElements={
                                       True: 4,
                                       False: 7
                                   })
        PEInquiry.addNextElement(id=2, protocol=protocol, nextElementId=3)
        PEInquiry.addNextElement(id=1, protocol=protocol, nextElementId=2)
Example #9
0
    def create_hipoglicemia(self):
        CVGroup(title="Endocrinological data",
                description="Patient endocrinological data",
                index_representation=5).save()
        ClinicalVariable(
            group=CVGroup.objects.get(title="Endocrinological data"),
            variable="Blood Glucose",
            description="Patient Blood Glucose",
            index_representation=1).save()
        ClinicalVariable(
            group=CVGroup.objects.get(title="Endocrinological data"),
            variable="Diet",
            description="Patient Diet",
            index_representation=5).save()

        protocol = Protocol.objects.create(
            title="Hypoglycemia", description="Performance in hypoglycemia")
        protocol.save()

        PEInquiry.new(id=1,
                      clinicalVariable="Blood Glucose",
                      protocol=protocol)
        PEInquiry.new(id=2, clinicalVariable="Diet", protocol=protocol)
        PEDecision.new(id=3,
                       clinicalVariable="Blood Glucose",
                       condition="<50",
                       protocol=protocol)
        PEDecision.new(id=4,
                       clinicalVariable="Diet",
                       condition="=zero",
                       protocol=protocol)
        PEAction.new(
            id=5,
            action=
            "Given half of a 30% IV glucose ampoule and glucose serum 5%",
            protocol=protocol)
        PEAction.new(id=6,
                     action="Given two sugar package to the patient",
                     protocol=protocol)
        PEDecision.new(id=7,
                       clinicalVariable="Blood Glucose",
                       condition="<70",
                       protocol=protocol)
        PEDecision.new(id=8,
                       clinicalVariable="Diet",
                       condition="=zero",
                       protocol=protocol)
        PEAction.new(
            id=9,
            action="Give one 30% IV glucose ampoule and glucose serum 5%",
            protocol=protocol)
        PEAction.new(id=10,
                     action="Given one sugar package to the patient",
                     protocol=protocol)
        PEAction.new(id=11, action="Inform Endocrinologist", protocol=protocol)

        PEDecision.addNextElements(id=8, nextElements={True: 9, False: 10})
        PEDecision.addNextElements(id=7, nextElements={True: 8, False: 11})
        PEDecision.addNextElements(id=4, nextElements={True: 5, False: 6})
        PEDecision.addNextElements(id=3, nextElements={True: 4, False: 7})
        PEInquiry.addNextElement(id=2, nextElementId=3)
        PEInquiry.addNextElement(id=1, nextElementId=2)