Modding tutorial - Database - Surgeries
+2
bredabanaan
igor.oxymoron
6 posters
- igor.oxymorondeveloper
- Posts : 347
Reputation : 25
Join date : 2018-03-23
Location : Czech republic
Modding tutorial - Database - Surgeries
Tue Jul 30, 2019 9:42 am
Surgeries
Surgeries are a special type of treatments. We recommend moving to this step after having created a few other new items in the database first (a diagnosis, symptoms, treatments etc).
All prerequisites can be found in https://projecthospital.forumotion.com/t1940-modding-tutorial-medical-database#7286
ID - TRT_... -again must be unique
<AbbreviationLocID> - localization
<DiscomfortLevel> - None/Low/Medium/High
<StaffSelectionRules> - set to DEFAULT_ROOMS
<RequiredSkillsToPrescribe> - doctor's skills to prescribe this surgery
<RequiredDoctorQualificationList> - list of all doctor's skills involved in performing surgery
<RequiredDoctorRoles> - list of all doctor's roles involved in performing surgery
<RequiredNurseQualificationList> - list of all nurses' skills involved in performing surgery (2 nurses with the same skill = 2x ref)
<RequiredNurseRoles> - list of all nurses' roles involved in performing surgery
<RequiredRoomTags> - room type tag (has to be <Tag>operating_room</Tag>)
<BedPositionsStaff> - positions of personnel around the operating table (more in the example)
<Complications> - contains possible post-op complications (symptoms) with their corresponding parameters (more in the example)
<RequiredEquipmentList> - complete list of all needed equipment (more in the example)
<ProcedureScript>
- ProcedureScriptTreatmentSurgery
- ProcedureScriptTreatmentSurgeryFracture
- ProcedureScriptTreatmentSurgeryFractureLegs
- ProcedureScriptTreatmentSurgeryLaparoEndo - with only 2 surgeons
- ProcedureScriptTreatmentSurgeryLigiCauterization - with only 2 surgeons
- ProcedureScriptTreatmentSurgeryNeurology
<EquipmentFromAnyDepartment>true</EquipmentFromAnyDepartment> - allows to surgical team from department A use operating theatre from department B
<TreatmentType>SURGERY</TreatmentType> - unique treatment type for surgeries
<HospitalizationTreatmentRef> - hospitalization level that is chosen for patient after surgery
Example - better than 1000 words:
- Code:
<GameDBTreatment ID="TRT_ABDOMINAL_SURGERY">
<AbbreviationLocID>TRT_ABDOMINAL_SURGERY_DESCRIPTION</AbbreviationLocID>
<DiscomfortLevel>High</DiscomfortLevel>
<Procedure>
<StaffSelectionRules>DEFAULT_ROOMS</StaffSelectionRules>
<RequiredSkillsToPrescribe>
<SkillRef>SKILL_DOC_SPEC_GENERAL_SURGERY</SkillRef>
</RequiredSkillsToPrescribe>
<RequiredDoctorQualificationList>
<SkillRef>SKILL_DOC_SPEC_OPERATIVE_SURGERY</SkillRef>
<SkillRef>SKILL_DOC_SPEC_ANESTHESIOLOGY</SkillRef>
<!-- needs to be last so the anesthesiologist doesn't get selected as assistant-->
<SkillRef>SKILL_DOC_SPEC_GENERAL_SURGERY</SkillRef>
</RequiredDoctorQualificationList>
<RequiredDoctorRoles>
<RoleRef>EMPL_ROLE_SURGERY</RoleRef>
<RoleRef>EMPL_ROLE_SURGERY_ANESTHESIOLOGY</RoleRef>
<RoleRef>EMPL_ROLE_SURGERY_ASSIST</RoleRef>
</RequiredDoctorRoles>
<RequiredNurseQualificationList>
<SkillRef>SKILL_NURSE_SPEC_MEDICAL_SURGERY</SkillRef>
<SkillRef>SKILL_NURSE_SPEC_MEDICAL_SURGERY</SkillRef>
</RequiredNurseQualificationList>
<RequiredNurseRoles>
<RoleRef>EMPL_ROLE_SURGERY_NURSE</RoleRef>
<RoleRef>EMPL_ROLE_SURGERY_NURSE</RoleRef>
</RequiredNurseRoles>
<RequiredRoomTags>
<Tag>operating_room</Tag>
</RequiredRoomTags>
<BedPositionsStaff>
<MainSurgeonPosition>BODY_LEFT</MainSurgeonPosition>
<SurgeonAsistantPosition>BODY_RIGHT</SurgeonAsistantPosition>
<AnesthesiologistPosition>NONE</AnesthesiologistPosition>
<SurgeryNursePosition>FEET_LEFT</SurgeryNursePosition>
<AssistantNursePosition>FEET_RIGHT</AssistantNursePosition>
</BedPositionsStaff>
<Complications>
<Complication>
<SymptomRef>SYM_ABSCESS</SymptomRef>
<ProbabilityPercent>10</ProbabilityPercent>
</Complication>
<Complication>
<SymptomRef>SYM_WOUND_INFECTION</SymptomRef>
<ProbabilityPercent>10</ProbabilityPercent>
</Complication>
<Complication>
<SymptomRef>SYM_ALVEOLAR_COLLAPSE</SymptomRef>
<ProbabilityPercent>10</ProbabilityPercent>
</Complication>
<Complication>
<SymptomRef>SYM_SEPSIS</SymptomRef>
<ProbabilityPercent>10</ProbabilityPercent>
</Complication>
</Complications>
<RequiredEquipmentList>
<RequiredEquipment>
<Tag>operating_table_head</Tag><!--0-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>operating_table_legs</Tag><!--1-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>scrubbing_sink</Tag><!--2-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>scrubbing_sink</Tag><!--3-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>scrubbing_sink</Tag><!--4-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>scrubs_shelf</Tag><!--5-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>scrubs_shelf</Tag><!--6-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>scrubs_shelf</Tag><!--7-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>warming_cabinet</Tag><!--8-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>doc_equipment</Tag><!--9-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>surgery_instruments</Tag><!--10-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>electrocautery_machine</Tag><!--11-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>stool</Tag><!--12-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>anesthetic_machine</Tag><!--13-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>defibrillator</Tag><!--14-->
</RequiredEquipment>
<RequiredEquipment>
<Tag>succion_machine</Tag><!--15-->
</RequiredEquipment>
</RequiredEquipmentList>
<ProcedureScript>ProcedureScriptTreatmentSurgery</ProcedureScript>
<SpeechBubbleRef>BUBBLE_PLACEHOLDER</SpeechBubbleRef>
<EquipmentFromAnyDepartment>true</EquipmentFromAnyDepartment>
</Procedure>
<TreatmentType>SURGERY</TreatmentType>
<Cost>100</Cost>
<IconIndex>1945</IconIndex>
<HospitalizationTreatmentRef>TRT_HOSPITALIZATION_HIGH_PRIORITY</HospitalizationTreatmentRef>
</GameDBTreatment>
- bredabanaanmedic
- Posts : 2
Reputation : 0
Join date : 2019-11-05
Re: Modding tutorial - Database - Surgeries
Tue Nov 05, 2019 12:49 pm
Is it possible to enter multiple parameters in the <RequiredSkillsToPrescribe> Tag. If when that is the case and it is an OR-OR relationship it would be possible for instance to make anesthesiologists work at different derpartments (or create an anesthesiology department).
Also would it be possible to create a surgery that would be used as diagnostic purpose. So after the surgery a sample would for example be analyzed in the histology lab
Also would it be possible to create a surgery that would be used as diagnostic purpose. So after the surgery a sample would for example be analyzed in the histology lab
- igor.oxymorondeveloper
- Posts : 347
Reputation : 25
Join date : 2018-03-23
Location : Czech republic
Re: Modding tutorial - Database - Surgeries
Thu Nov 07, 2019 9:50 am
Hello!
1.) yes, indeed it is possible to enter multiple specializations in the <RequiredSkillsToPrescribe>, because it only determines who is able to prescribe some procedure (if you will put there "general medicine" skill it will be allowed for everyone)
2.) in game it is working a system of shared rooms, but no system of shared personel at this time, so anesthesiologist or any doctor can not work at 2 or more active departments.
3.) well during various development stages we have discussed this opportunity, but it is too complicated to fit this type of feature in actual gameplay, so sadly this is not possible.
1.) yes, indeed it is possible to enter multiple specializations in the <RequiredSkillsToPrescribe>, because it only determines who is able to prescribe some procedure (if you will put there "general medicine" skill it will be allowed for everyone)
2.) in game it is working a system of shared rooms, but no system of shared personel at this time, so anesthesiologist or any doctor can not work at 2 or more active departments.
3.) well during various development stages we have discussed this opportunity, but it is too complicated to fit this type of feature in actual gameplay, so sadly this is not possible.
- MRPENGUINEresident
- Posts : 19
Reputation : -5
Join date : 2019-07-25
surgery script
Sun Mar 22, 2020 3:42 pm
where is the surgery procedure script btw? is it possible to make a double or a transplant surgey?
- jan.oxymorondeveloper
- Posts : 2309
Reputation : 336
Join date : 2018-03-23
Re: Modding tutorial - Database - Surgeries
Mon Mar 23, 2020 10:55 am
Hi, the actual surgery scripts are written in C# and are technically part of the game code. In either case, a surgery with two patients would be a very complicated feature even for us to implement and would require a lot of support from the other systems in the game (reservation of objects, coordination and priorities for the different patients, in the case of transplants a whole system of donors etc.), so I'm afraid this is not something that can be realistically modded in.
- MRPENGUINEresident
- Posts : 19
Reputation : -5
Join date : 2019-07-25
Re: Modding tutorial - Database - Surgeries
Tue Oct 20, 2020 11:02 am
how change to instant surgeries, without hospitalizations, especially the critical ones arriving from ambulance - first without having to wait on the lists?
- DocDesastrospecialist
- Posts : 150
Reputation : 13
Join date : 2019-09-07
Location : Germany
Re: Modding tutorial - Database - Surgeries
Mon Jan 24, 2022 11:25 pm
Is it possible to assign a surgery to more than one symptom? I am thinking about the possibility of creating a surgery for traumatology patients that come with more than one symptom needing surgery - and most likely, they are blinking, too. So basically saying a thoratic trauma can be treated with a thoratic surgery AND the new surgery called 'polytrauma surgery' curing all symptoms needing surgery at once. So basically, I might choose between both treatments for curing the symptom. The reasoning is, that patients in critical state are shipped back and forth from ward to operating theater until treatments are done with rising chance of collapsing because untreated symptoms will cause complications later on.
- jan.oxymorondeveloper
- Posts : 2309
Reputation : 336
Join date : 2018-03-23
Re: Modding tutorial - Database - Surgeries
Tue Jan 25, 2022 10:47 am
Hi, from the top of my head yes, this should be possible - for each symptom you can fill in multiple treatments, so feel free to try to set up your surgery and add it to the matching symptoms. One more quick note, I think the AI doctors will be ordering the first treatment in the list of the given symptom, so that's something to bear in mind (but if your idea is to have the polytrauma surgery as something that the players will have to their disposal to use when it fits the situation, that should work pretty well).
- frcalabmedic
- Posts : 1
Reputation : 0
Join date : 2022-04-19
Re: Modding tutorial - Database - Surgeries
Wed May 25, 2022 5:51 am
Is there any way to make a mod so that a surgery can pull nurses from the ICU to help out with surgery, similar to how they pull anesthesiologist from ICU if there is not one available in the department of the surgery? I believe this is accomplished via the <FallbackDoctorDepartments> in xmls. Is there an equivalent <FallbackNurseDepartments> ? I have been able to enable the surgery nurse role for ICU nurses but can't find a way to have them actually be selected for any surgeries.
- jan.oxymorondeveloper
- Posts : 2309
Reputation : 336
Join date : 2018-03-23
Re: Modding tutorial - Database - Surgeries
Wed May 25, 2022 10:00 am
frcalab wrote:Is there any way to make a mod so that a surgery can pull nurses from the ICU to help out with surgery, similar to how they pull anesthesiologist from ICU if there is not one available in the department of the surgery? I believe this is accomplished via the <FallbackDoctorDepartments> in xmls. Is there an equivalent <FallbackNurseDepartments> ? I have been able to enable the surgery nurse role for ICU nurses but can't find a way to have them actually be selected for any surgeries.
Hi, this is an interesting idea, but unfortunately no. There's a lot of special paths in code to handle the 'borrowing' of anesthesiologists from the ICU, so a similar system would have to be coded for nurses and from what I remember, this would be way too complicated for me to suggest to try to add it via code modding.
Permissions in this forum:
You cannot reply to topics in this forum