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)
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
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)
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')
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)
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)