SlideShare a Scribd company logo
1 of 23
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Cynefin Framework by Dave Snowden. Sketch by Edwin Stoop
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Strategies to Learn Complex Domains
Mufrid Krilic, Senior Software Developer/Coach DIPS AS, Norway
Experiences from Developing Enterprise Software for Healthcare
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Ignited curiosity about Domain Driven Design and Event Storming
 Lessons learned when dealing with complexity in healthcare
Takeaways
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Definition of Complexity
– “the state of having many parts and being difficult to understand or find an
answer to”
• Cambridge Dictionary
 How to recognize complexity in a domain?
– Complexity on strategic level
– Complexity on tactical level
About complex domains
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Many-to-many relationships between domain terms
 Matrix-like relationships
– Use case: Admission Letters sent from Hospital
Complexity on Tactical Level
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Letter template depending on required treatment
– Level of Care
• Outpatient or hospitalization?
– What department?
– What is the health issue?
• Related to the field of discipline within each department
– Each discipline is related to a set of coded diagnoses that patient’s health issue fall within
• Is patient entitled to health care provided by the state?
 In total 5 parameters
Complexity in Healthcare - Admission Letters
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Letter template depending on a stage in admittance process
– Referral Reception Letter
• When hospital initially receives referral from patient’s GP
– Referral Evaluation Result Letter
• When hospital decides to either refer patient to another hospital or decline health care
for a valid reason
– Appointment Notice Letter
• When hospital schedules patient for a visit
– Without fixed appointment time
– With tentative time
– With fixed appointment time
 In total 6 parameters
Complexity in Healthcare - Admission Letters
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 The matrix of parameters respectively related to required treatment
and stage of admission process yields the letter template
 Precedence between parameters on the left-hand side
 Orthogonal complexity
– Letter to next of kin, GP. Printed letter or electronic message. Cross-
department letter templates.
Complexity Revealed
Referral received
Referral rejected
Referred to another hospital
Appointment w/o fixed time
Appointment w/ tentative time
Appointment w/ fixed time
Level of care
Department
Discipline
Diagnosis
Healthcare entitlement
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 The complexity matrix should be explicitly modeled in code
– Preferably not mixed with technological concerns
• UI framework
• Persistency technology
 Why?
– Reducing accidental complexity introduced by technology choices
– Expose inherent complexity in business rules
• Rules described in previous slides are there regardless of technology
Complexity Exposed
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Use Case: Referral Flow in Norwegian Hospitals
– Basic flow
• GP creates referral on behalf of patient and sends it to a relevant hospital
• Pre-sorting of received referrals followed by referral reception in each department
• Referral made ready for evaluation by a supervising physician
• Referral is evaluated by a physician
– Accepted i.e. patient is entitled for public healthcare in a hospital
– Or rejected on some formal or clinical basis
• Patient is scheduled for admittance
– Significant alternative flows
• Patient is referred to another department for supplementary treatment
• Patient is referred to another hospital for more specialized or extensive treatment
– The flow involves multiple roles and takes time to complete
Complexity on Strategic Level
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 The complexity in the overall business process should be visible early
in the project
– Without time-consuming studies and extensive documentation
 Why?
– Can we reduce complexity on the strategic level by aligning teams with
inherent subdomains in the problem space?
• to enable teams to be efficient in dealing with complexity on tactical level
– Establishing common language between developers and the business
– Investing heavily in learning early on
• A.K.A. «Knowledge Crunching»
Complexity Exposed
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 What is DDD?
– My personal definition or why I value DDD:
• DDD is an approach for dealing with complex problems with emphasis on learning the
domain in a close collaboration with domain experts in order to focus on the most
important problems to solve.
 The term coined by Eric Evans in 2004
– The “Blue Book”
• Tackling Complexity in the Heart of Software
About Domain Driven Design (DDD)
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Ubiquitous Language
– Develop domain model based on domain terms
 Bounded Context
– tackle complexity by splitting application via inherent subdomain boundaries
– The boundaries are primarily linguistic per the Ubiquitous Language
• If a domain term has different meaning in different use-cases it is an indication of
separate bounded contexts
– Example: Patient
» Patient as a subject of care
» Patient as a customer paying the bill after visiting the clinic
– Bounded Contexts are defined by the semantics of the Ubiquitous Language!
The Two Pillars of DDD
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Knowledge Crunching technique
– The term introduced by Eric Evans in the Blue Book
 Event Storming
– Introduced to community by Alberto Brandolini in 2013
– Discovery and collaboration with domain experts put in practice
• People with questions meet people with answers
– Massive learning and sharing of different perspectives
– Making the most important problems visible
– Unlimited modelling space
 Multiple levels
– Big picture, process modelling or software design
About Event Storming
E N A B L I N G E F F I C I E N T H E A L T H C A R E
– Use Case: Referral flow in Norwegian hospitals
Big Picture Event Storming
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Domain Event
– Orange sticky note
– Verb at past tense
– Relevant for domain experts
Big Picture Event Storming
Referral
received
from
patient’s GP
Referral for
evaluation
sent to
attending
physician
Referral
accepted
Medical
consultant
Attending
physician
How is attending
physician notified
when GP sends a
reminder on non-
evaluated referral?
Will GP send another
referral (duplicate) if
GP wants to remind
hospital about non-
evaluated referral?
 User/Actor/Persona
– Yellow sticky note
 Hot Spots
– Pink sticky note
– This is where
interesting discovery
happens
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Complexity Revealed:
Referral From GP to Hospital
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Complexity Revealed:
Referral Evaluation in Hospital
E N A B L I N G E F F I C I E N T H E A L T H C A R E
Complexity Revealed:
In-Hospital and Inter-Hospital Referral
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Strong hints about Bounded Contexts
– Suddenly visible when taking time into account!
• One-way communication and work hand-off between roles and tasks
– Identifying different roles in the business process
• Medical consultant makes sure received referral is ready for evaluation
• Attending physician evaluates the referral
• Planning consultant schedules patience for admittance
– Same role with different tasks at different points in time
• Attending physician evaluates received referral
• Patient is admitted but the treatment requires services from another hospital
• Attending physician refers patient to another hospital by creating new referral
 Bounded Contexts emerged only in aftermath
Lessons Learned - Big Picture Event Storming
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Assert perceived Bounded Contexts against the Ubiquitous Language
– Referral with different meaning in different stages of the business process
• Referral as in received referral
• Referral as in evaluated referral
• Referral as in referral to another department or hospital
 Perceived Bounded Contexts should be challenged throughout the
development process
– Learning is an iterative process, after all…..
Lessons Learned – Bounded Contexts Assertions
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Respect, embrace and expose inherent complexity in the domain
 Reveal complexity by applying Knowledge Crunching methods
– Event Storming, Domain Storytelling
– Get an overview of the business process in a quick and efficient way
 Assess inherent subdomains and establish Bounded Contexts
– Input for modularization in the application
 For multiple teams project align teams with subdomains and
Bounded Contexts
 Apply appropriate technology on each problem within a Bounded
Context
Lessons Learned while Applying DDD
E N A B L I N G E F F I C I E N T H E A L T H C A R E
 Eric Evans
– «Tackling Complexity in the Heart of Software»
• «The Blue Book»
 Vaughn Vernon
– «Implementing Domain Driven Design»
• «The Red Book»
– «Domain Driven Design Distilled»
• «The Green Book»
 Alberto Brandolini
– «Introducing EventStorming – an Act of Deliberate Collective Learning»
• Book on LeanPub
Further Reading

More Related Content

Similar to Strategies to learn complex domains - Experiences from Developing Enterprise Software for Healthcare

EKowalenko_CrossCulturalStrategiesForSuccess
EKowalenko_CrossCulturalStrategiesForSuccessEKowalenko_CrossCulturalStrategiesForSuccess
EKowalenko_CrossCulturalStrategiesForSuccessEmma Kowalenko
 
Transforming the workforce l horton
Transforming the workforce l hortonTransforming the workforce l horton
Transforming the workforce l hortonDepartment of Health
 
Can Service Design Restore a World in Crisis?
Can Service Design Restore a World in Crisis?Can Service Design Restore a World in Crisis?
Can Service Design Restore a World in Crisis?Oleg Koss
 
Business Cases and Presentations notes.pptx
Business Cases and Presentations notes.pptxBusiness Cases and Presentations notes.pptx
Business Cases and Presentations notes.pptxJamakala Obaiah
 
QuickFix: Cover letter. Dec 2019.
QuickFix: Cover letter. Dec 2019.QuickFix: Cover letter. Dec 2019.
QuickFix: Cover letter. Dec 2019.Irina Filonova, PhD
 
Real time knowledge capture and feedback in design
Real time knowledge capture and feedback in designReal time knowledge capture and feedback in design
Real time knowledge capture and feedback in designShehbajSingh1
 
How Virtual is Virtual: Designing for Distributed Work in Innovation
How Virtual is Virtual: Designing for Distributed Work in InnovationHow Virtual is Virtual: Designing for Distributed Work in Innovation
How Virtual is Virtual: Designing for Distributed Work in InnovationSociotechnical Roundtable
 
Technical competency dictionary for it
Technical competency dictionary for itTechnical competency dictionary for it
Technical competency dictionary for itConfidential
 
7. using planning & decision aids
7. using planning & decision aids 7. using planning & decision aids
7. using planning & decision aids Sudhir Upadhyay
 
PA2557_SQM_Lecture1 - Course Introduction.pdf
PA2557_SQM_Lecture1 - Course Introduction.pdfPA2557_SQM_Lecture1 - Course Introduction.pdf
PA2557_SQM_Lecture1 - Course Introduction.pdfhulk smash
 
John Fodeh - Spend Wisely, Test Well
John Fodeh - Spend Wisely, Test WellJohn Fodeh - Spend Wisely, Test Well
John Fodeh - Spend Wisely, Test WellTEST Huddle
 
Requirements Management Part 1 - Management and Elicitation
Requirements Management Part 1 - Management and ElicitationRequirements Management Part 1 - Management and Elicitation
Requirements Management Part 1 - Management and ElicitationMohamed Shaaban
 
Thesis Concept Km V0.1
Thesis Concept Km V0.1Thesis Concept Km V0.1
Thesis Concept Km V0.1Amber Krishan
 
Omni Tech Medical -- The Art & Science of International Pharma Sales Training
Omni Tech Medical -- The Art & Science of International Pharma Sales TrainingOmni Tech Medical -- The Art & Science of International Pharma Sales Training
Omni Tech Medical -- The Art & Science of International Pharma Sales TrainingRon Barksdale
 
Omni Tech Medical - The Art & Science of International Pharma Sales Training
Omni Tech Medical - The Art & Science of International Pharma Sales TrainingOmni Tech Medical - The Art & Science of International Pharma Sales Training
Omni Tech Medical - The Art & Science of International Pharma Sales TrainingVictor Warners - President and CEO
 
Next generation family diagnostic analysers
Next generation family diagnostic analysersNext generation family diagnostic analysers
Next generation family diagnostic analysersSylwia Borawska
 
Internships by the Numbers
Internships by the NumbersInternships by the Numbers
Internships by the NumbersNAFCareerAcads
 
Identifying and managing resistance to change
Identifying and managing resistance to change Identifying and managing resistance to change
Identifying and managing resistance to change ILX Group
 

Similar to Strategies to learn complex domains - Experiences from Developing Enterprise Software for Healthcare (20)

EKowalenko_CrossCulturalStrategiesForSuccess
EKowalenko_CrossCulturalStrategiesForSuccessEKowalenko_CrossCulturalStrategiesForSuccess
EKowalenko_CrossCulturalStrategiesForSuccess
 
Transforming the workforce l horton
Transforming the workforce l hortonTransforming the workforce l horton
Transforming the workforce l horton
 
Can Service Design Restore a World in Crisis?
Can Service Design Restore a World in Crisis?Can Service Design Restore a World in Crisis?
Can Service Design Restore a World in Crisis?
 
Business Cases and Presentations notes.pptx
Business Cases and Presentations notes.pptxBusiness Cases and Presentations notes.pptx
Business Cases and Presentations notes.pptx
 
QuickFix: Cover letter. Dec 2019.
QuickFix: Cover letter. Dec 2019.QuickFix: Cover letter. Dec 2019.
QuickFix: Cover letter. Dec 2019.
 
Real time knowledge capture and feedback in design
Real time knowledge capture and feedback in designReal time knowledge capture and feedback in design
Real time knowledge capture and feedback in design
 
Tp and uo c pp webinar
Tp and uo c pp webinarTp and uo c pp webinar
Tp and uo c pp webinar
 
How Virtual is Virtual: Designing for Distributed Work in Innovation
How Virtual is Virtual: Designing for Distributed Work in InnovationHow Virtual is Virtual: Designing for Distributed Work in Innovation
How Virtual is Virtual: Designing for Distributed Work in Innovation
 
Technical competency dictionary for it
Technical competency dictionary for itTechnical competency dictionary for it
Technical competency dictionary for it
 
7. using planning & decision aids
7. using planning & decision aids 7. using planning & decision aids
7. using planning & decision aids
 
PA2557_SQM_Lecture1 - Course Introduction.pdf
PA2557_SQM_Lecture1 - Course Introduction.pdfPA2557_SQM_Lecture1 - Course Introduction.pdf
PA2557_SQM_Lecture1 - Course Introduction.pdf
 
John Fodeh - Spend Wisely, Test Well
John Fodeh - Spend Wisely, Test WellJohn Fodeh - Spend Wisely, Test Well
John Fodeh - Spend Wisely, Test Well
 
Requirements Management Part 1 - Management and Elicitation
Requirements Management Part 1 - Management and ElicitationRequirements Management Part 1 - Management and Elicitation
Requirements Management Part 1 - Management and Elicitation
 
Thesis Concept Km V0.1
Thesis Concept Km V0.1Thesis Concept Km V0.1
Thesis Concept Km V0.1
 
Omni Tech Medical -- The Art & Science of International Pharma Sales Training
Omni Tech Medical -- The Art & Science of International Pharma Sales TrainingOmni Tech Medical -- The Art & Science of International Pharma Sales Training
Omni Tech Medical -- The Art & Science of International Pharma Sales Training
 
Omni Tech Medical - The Art & Science of International Pharma Sales Training
Omni Tech Medical - The Art & Science of International Pharma Sales TrainingOmni Tech Medical - The Art & Science of International Pharma Sales Training
Omni Tech Medical - The Art & Science of International Pharma Sales Training
 
Next generation family diagnostic analysers
Next generation family diagnostic analysersNext generation family diagnostic analysers
Next generation family diagnostic analysers
 
Internships by the Numbers
Internships by the NumbersInternships by the Numbers
Internships by the Numbers
 
Identifying and managing resistance to change
Identifying and managing resistance to change Identifying and managing resistance to change
Identifying and managing resistance to change
 
NCIHC Panel Webinar Managing Interpreter Services in Pandemic part 2 01 27-20...
NCIHC Panel Webinar Managing Interpreter Services in Pandemic part 2 01 27-20...NCIHC Panel Webinar Managing Interpreter Services in Pandemic part 2 01 27-20...
NCIHC Panel Webinar Managing Interpreter Services in Pandemic part 2 01 27-20...
 

More from Mufrid Krilic

Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...Mufrid Krilic
 
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...Mufrid Krilic
 
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021Mufrid Krilic
 
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...Mufrid Krilic
 
Building Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking QuestionsBuilding Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking QuestionsMufrid Krilic
 
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018Mufrid Krilic
 

More from Mufrid Krilic (6)

Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
Multiple Models with Multiple Perspectives in a Cross-Functional Team - KanDD...
 
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
Dataeierskap som grunnlag for applikasjonsutvikling - Make Data Smart Trondhe...
 
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
Aligning Bounded Contexts with Subdomains in Legacy Code - NDC Oslo 2021
 
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
Building Quality in Legacy Systems - The Art of Asking Questions, JavaZone VR...
 
Building Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking QuestionsBuilding Quality in Legacy Systems - The Art of Asking Questions
Building Quality in Legacy Systems - The Art of Asking Questions
 
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
Motivate! Do Not Teach - FIRST Championship Conferences Detroit 2018
 

Recently uploaded

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 

Recently uploaded (20)

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 

Strategies to learn complex domains - Experiences from Developing Enterprise Software for Healthcare

  • 1. E N A B L I N G E F F I C I E N T H E A L T H C A R E Cynefin Framework by Dave Snowden. Sketch by Edwin Stoop
  • 2. E N A B L I N G E F F I C I E N T H E A L T H C A R E Strategies to Learn Complex Domains Mufrid Krilic, Senior Software Developer/Coach DIPS AS, Norway Experiences from Developing Enterprise Software for Healthcare
  • 3. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Ignited curiosity about Domain Driven Design and Event Storming  Lessons learned when dealing with complexity in healthcare Takeaways
  • 4. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Definition of Complexity – “the state of having many parts and being difficult to understand or find an answer to” • Cambridge Dictionary  How to recognize complexity in a domain? – Complexity on strategic level – Complexity on tactical level About complex domains
  • 5. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Many-to-many relationships between domain terms  Matrix-like relationships – Use case: Admission Letters sent from Hospital Complexity on Tactical Level
  • 6. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Letter template depending on required treatment – Level of Care • Outpatient or hospitalization? – What department? – What is the health issue? • Related to the field of discipline within each department – Each discipline is related to a set of coded diagnoses that patient’s health issue fall within • Is patient entitled to health care provided by the state?  In total 5 parameters Complexity in Healthcare - Admission Letters
  • 7. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Letter template depending on a stage in admittance process – Referral Reception Letter • When hospital initially receives referral from patient’s GP – Referral Evaluation Result Letter • When hospital decides to either refer patient to another hospital or decline health care for a valid reason – Appointment Notice Letter • When hospital schedules patient for a visit – Without fixed appointment time – With tentative time – With fixed appointment time  In total 6 parameters Complexity in Healthcare - Admission Letters
  • 8. E N A B L I N G E F F I C I E N T H E A L T H C A R E  The matrix of parameters respectively related to required treatment and stage of admission process yields the letter template  Precedence between parameters on the left-hand side  Orthogonal complexity – Letter to next of kin, GP. Printed letter or electronic message. Cross- department letter templates. Complexity Revealed Referral received Referral rejected Referred to another hospital Appointment w/o fixed time Appointment w/ tentative time Appointment w/ fixed time Level of care Department Discipline Diagnosis Healthcare entitlement
  • 9. E N A B L I N G E F F I C I E N T H E A L T H C A R E  The complexity matrix should be explicitly modeled in code – Preferably not mixed with technological concerns • UI framework • Persistency technology  Why? – Reducing accidental complexity introduced by technology choices – Expose inherent complexity in business rules • Rules described in previous slides are there regardless of technology Complexity Exposed
  • 10. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Use Case: Referral Flow in Norwegian Hospitals – Basic flow • GP creates referral on behalf of patient and sends it to a relevant hospital • Pre-sorting of received referrals followed by referral reception in each department • Referral made ready for evaluation by a supervising physician • Referral is evaluated by a physician – Accepted i.e. patient is entitled for public healthcare in a hospital – Or rejected on some formal or clinical basis • Patient is scheduled for admittance – Significant alternative flows • Patient is referred to another department for supplementary treatment • Patient is referred to another hospital for more specialized or extensive treatment – The flow involves multiple roles and takes time to complete Complexity on Strategic Level
  • 11. E N A B L I N G E F F I C I E N T H E A L T H C A R E  The complexity in the overall business process should be visible early in the project – Without time-consuming studies and extensive documentation  Why? – Can we reduce complexity on the strategic level by aligning teams with inherent subdomains in the problem space? • to enable teams to be efficient in dealing with complexity on tactical level – Establishing common language between developers and the business – Investing heavily in learning early on • A.K.A. «Knowledge Crunching» Complexity Exposed
  • 12. E N A B L I N G E F F I C I E N T H E A L T H C A R E  What is DDD? – My personal definition or why I value DDD: • DDD is an approach for dealing with complex problems with emphasis on learning the domain in a close collaboration with domain experts in order to focus on the most important problems to solve.  The term coined by Eric Evans in 2004 – The “Blue Book” • Tackling Complexity in the Heart of Software About Domain Driven Design (DDD)
  • 13. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Ubiquitous Language – Develop domain model based on domain terms  Bounded Context – tackle complexity by splitting application via inherent subdomain boundaries – The boundaries are primarily linguistic per the Ubiquitous Language • If a domain term has different meaning in different use-cases it is an indication of separate bounded contexts – Example: Patient » Patient as a subject of care » Patient as a customer paying the bill after visiting the clinic – Bounded Contexts are defined by the semantics of the Ubiquitous Language! The Two Pillars of DDD
  • 14. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Knowledge Crunching technique – The term introduced by Eric Evans in the Blue Book  Event Storming – Introduced to community by Alberto Brandolini in 2013 – Discovery and collaboration with domain experts put in practice • People with questions meet people with answers – Massive learning and sharing of different perspectives – Making the most important problems visible – Unlimited modelling space  Multiple levels – Big picture, process modelling or software design About Event Storming
  • 15. E N A B L I N G E F F I C I E N T H E A L T H C A R E – Use Case: Referral flow in Norwegian hospitals Big Picture Event Storming
  • 16. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Domain Event – Orange sticky note – Verb at past tense – Relevant for domain experts Big Picture Event Storming Referral received from patient’s GP Referral for evaluation sent to attending physician Referral accepted Medical consultant Attending physician How is attending physician notified when GP sends a reminder on non- evaluated referral? Will GP send another referral (duplicate) if GP wants to remind hospital about non- evaluated referral?  User/Actor/Persona – Yellow sticky note  Hot Spots – Pink sticky note – This is where interesting discovery happens
  • 17. E N A B L I N G E F F I C I E N T H E A L T H C A R E Complexity Revealed: Referral From GP to Hospital
  • 18. E N A B L I N G E F F I C I E N T H E A L T H C A R E Complexity Revealed: Referral Evaluation in Hospital
  • 19. E N A B L I N G E F F I C I E N T H E A L T H C A R E Complexity Revealed: In-Hospital and Inter-Hospital Referral
  • 20. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Strong hints about Bounded Contexts – Suddenly visible when taking time into account! • One-way communication and work hand-off between roles and tasks – Identifying different roles in the business process • Medical consultant makes sure received referral is ready for evaluation • Attending physician evaluates the referral • Planning consultant schedules patience for admittance – Same role with different tasks at different points in time • Attending physician evaluates received referral • Patient is admitted but the treatment requires services from another hospital • Attending physician refers patient to another hospital by creating new referral  Bounded Contexts emerged only in aftermath Lessons Learned - Big Picture Event Storming
  • 21. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Assert perceived Bounded Contexts against the Ubiquitous Language – Referral with different meaning in different stages of the business process • Referral as in received referral • Referral as in evaluated referral • Referral as in referral to another department or hospital  Perceived Bounded Contexts should be challenged throughout the development process – Learning is an iterative process, after all….. Lessons Learned – Bounded Contexts Assertions
  • 22. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Respect, embrace and expose inherent complexity in the domain  Reveal complexity by applying Knowledge Crunching methods – Event Storming, Domain Storytelling – Get an overview of the business process in a quick and efficient way  Assess inherent subdomains and establish Bounded Contexts – Input for modularization in the application  For multiple teams project align teams with subdomains and Bounded Contexts  Apply appropriate technology on each problem within a Bounded Context Lessons Learned while Applying DDD
  • 23. E N A B L I N G E F F I C I E N T H E A L T H C A R E  Eric Evans – «Tackling Complexity in the Heart of Software» • «The Blue Book»  Vaughn Vernon – «Implementing Domain Driven Design» • «The Red Book» – «Domain Driven Design Distilled» • «The Green Book»  Alberto Brandolini – «Introducing EventStorming – an Act of Deliberate Collective Learning» • Book on LeanPub Further Reading