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

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
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
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
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.
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
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...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
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 ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

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